8

Auto-miglioramento dei metodi risolutivi ed evoluzione algoritmica

AI999第1课:智能演化的源流与 EvoX 的诞生背景
00:00

Gli algoritmi evolutivi hanno un'impostazione predefinita facile da trascurare:ciò che evolve sono le soluzioni candidate, mentre il metodo che le genera resta invariato. In altre parole,gli algoritmi evolutivi tradizionali mantengono di norma fisso il metodo di ricerca e lasciano variare solo le soluzioni candidate nel corso delle iterazioni— nell'intero processo di ricerca ciò che "si muove" sono le soluzioni, mentre ciò che "resta fermo" sono le regole. Questa pagina introduce una prospettiva alternativa a tale impostazione: far entrare il metodo risolutivo stesso nel processo di ricerca e miglioramento.

Auto-miglioramento dei metodi risolutivi ed evoluzione algoritmicaConfronto tra paradigma predefinito ed evoluzione algoritmicaRisoluzione con algoritmo fissoParadigma predefinitoLivello del metodo · Bloccato in esecuzioneBloccatoStrategia di mutazioneModalità di crossoverIperparametriGenerazioneLivello delle soluzioni · Iterazioni ripetuteSoluzione candidataSoluzione candidataSoluzione candidataGenerazione → Valutazione → Selezione → EreditarietàIl livello del metodo resta invariato, si aggiornano solo le soluzioniL'algoritmo partecipa alla ricercaEvoluzione algoritmicaLivello del metodo · Entra nella ricercaCandidabileStrategia di mutazioneModalità di crossoverIperparametriGenerazione della soluzione candidataLivello delle soluzioni · Iterazione ordinariaGenerazione → Valutazione → Selezione → EreditarietàSoluzione candidataSoluzione candidataSoluzione candidataValutazioneValutazione delle prestazioni risolutiveConserva i migliori · Sostituisci i peggioriIl metodo si aggiorna di conseguenzaAggiornamento del metodoAggiornamento del livello delle soluzioniAggiornamento del livello del metodo

Paradigma predefinito: metodo bloccato, soluzioni in evoluzione

Nell'approccio tradizionale, la modalità di crossover, la strategia di mutazione e gli iperparametri vengono di solito scelti una volta per tutte prima dell'esecuzione e poi non vengono più modificati per l'intera ricerca. Essi determinano direttamente il meccanismo di generazione delle soluzioni candidate e influenzano in modo significativo i risultati: che il compito vada bene o male, il metodo resta al suo posto.

  • Livello delle soluzioniin movimento: soluzione candidata → valutazione → selezione → ereditarietà, iterazione dopo iterazione.
  • Livello del metodofermo: strategia di mutazione, modalità di crossover e iperparametri sono preimpostati e bloccati.
  • Conseguenza: basandosi solo su preimpostazioni e tuning manuale, il metodo risolutivo non evolve in modo continuativo in base al feedback del compito; il miglioramento dipende soprattutto dall'esperienza umana e dal tuning manuale, la cui velocità spesso non tiene il passo con i cambiamenti del compito.

Evoluzione algoritmica: rendere ricercabile anche il metodo

L'approccio dell'evoluzione algoritmica consiste nel non trattare più la modalità di crossover, la strategia di mutazione e gli iperparametri come configurazioni fisse, ma come oggetti che possono esserecandidati, valutati e sostituiti, sottoposti insieme alle soluzioni candidate alla verifica delle prestazioni risolutive — in altre parole, far entrare l'algoritmo risolutivo stesso nel processo di ricerca e miglioramento, rendendo anche il "metodo" un oggetto evolvibile. Si aggiunge così, oltre all'iterazione originaria del livello delle soluzioni, un secondo circuito di feedback: non solo le soluzioni migliorano, ma migliora anche il metodo.

I due circuiti si possono riassumere con una semplice sequenza di frecce:Elementi del metodo → Generazione della soluzione candidata → Valutazione delle prestazioni risolutive → Conservazione o sostituzione → Aggiornamento del metodo; nel frattempo, all'interno delle soluzioni candidate continua a svolgersi l'iterazione ordinaria "generazione → valutazione → selezione → ereditarietà". Il primo circuito cambia "come cercare", il secondo cambia "che cosa si è trovato".

Svolta chiave
Dal "trovare soluzioni migliori con un algoritmo fisso" all'"aiutare l'algoritmo a migliorare se stesso durante la risoluzione". Per stabilire se un sistema pratica davvero l'evoluzione algoritmica, basta vedere se gli elementi del metodo vengono inclusi nella ricerca e se è la prestazione risolutiva a decretarne la sopravvivenza, invece di essere fissati dall'uomo una volta per tutte.