9

MetaDE: l'architettura annidata degli algoritmi che ottimizzano algoritmi

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

Nella lezione precedente, il sistema evolutivo accumulava capacità grazie al ciclo chiuso "generazione — valutazione — selezione — ereditarietà". In questa lezione spingiamo questo principio un livello più a fondo: non si tratta solo di far risolvere problemi agli algoritmi, ma di far migliorare gli algoritmi da altri algoritmi.MetaDE è proprio un'architettura evolutiva annidata di questo tipo: scompone l'evoluzione differenziale (DE) in due livelli, uno interno e uno esterno, rendendo l'"algoritmo che ottimizza algoritmi" un processo di calcolo effettivamente eseguibile.

1. La divisione dei compiti tra i due livelli: chi risolve, chi evolve

MetaDE organizza la DE su due livelli, interno ed esterno, che operano su oggetti completamente diversi:

  • DE interna (livello del compito): è orientata al compito di ottimizzazione reale, mantiene una popolazione di soluzioni candidate, esegue ripetutamente mutazione, crossover e selezione, avvicinandosi progressivamente a soluzioni di alta qualità per il compito. Risponde alla domanda "come sta andando la risoluzione di questo problema".
  • DE esterna (livello meta): è orientata all'algoritmo stesso; ogni individuo della popolazione non è una soluzione al compito, ma un insieme completo di configurazioni di "strategia di mutazione + parametri", ad esempio quale tipo di mutazione adottare e quali valori assegnare al fattore di scala e alla probabilità di crossover. Risponde alla domanda "questa configurazione dell'algoritmo è efficace".

Il livello esterno, quindi, non ottimizza direttamente le variabili del compito: queste restano sempre in carico al livello interno. Ciò che il livello esterno modifica è soltanto il "manuale operativo" del livello interno.

Architettura evolutiva annidata di MetaDEDE esterna (livello meta): evolve le configurazioni di "strategia di mutazione + parametri" dell'algoritmo internoConfigurazione AStrategia di mutazione + parametriConfigurazione BStrategia di mutazione + parametriConfigurazione CStrategia di mutazione + parametriOgni individuo = una configurazione; in base al feedback del compito si conservano e ricombinano le configurazioni miglioriInvio della configurazione dell'algoritmoRestituzione delle prestazioni sul compitoAccoppiamento a ciclo chiusoDE interna (livello del compito): itera le soluzioni candidate sul compito specificoPopolazione di soluzioni candidateSoluzioneSoluzioneSoluzioneSoluzione candidataSoluzione candidataSoluzione candidataMutazione → Crossover → SelezioneSoluzione candidata → valutazione della funzione obiettivoPrestazioni sul compito → restituzione al livello esternoAccelerazione parallela su GPUValutazione simultanea di più configurazioni interneIl parallelismo riduce i tempi di ricerca del livello metaLa valutazione annidata moltiplica i costiIl parallelismo è il prerequisito per l'usabilità ingegneristicaValutazione simultanea su più GPUIl parallelismo riduce il tempo effettivo (wall-clock),ma non diminuisce il volume totale di calcolo.Con budget limitato: ridurre prima la scala del livello esternoL'algoritmo che ottimizza algoritmi: il livello esterno evolve le configurazioni, il livello interno risolve il compitoIl livello esterno produce le configurazioni → il livello interno esegue e restituisce le prestazioni → il livello esterno aggiorna le configurazioni (ciclo chiuso)

2. Il ciclo chiuso di interazione: invio delle configurazioni e restituzione delle prestazioni

I due livelli sono accoppiati da un canale bidirezionale che forma un ciclo chiuso: il livello esterno produce prima una configurazione dell'algoritmo e la invia (→) al livello interno; il livello interno esegue il compito secondo tale configurazione e, al termine, restituisce le prestazioni ottenute (→) al livello esterno; su questa base il livello esterno conserva e ricombina le configurazioni migliori, generando la configurazione del ciclo successivo. L'intero processo si può riassumere così: configurazione esterna → risoluzione interna → prestazioni sul compito → aggiornamento esterno, in un ciclo continuo.

Questo ciclo chiuso introduce una proprietà chiave: la strategia di mutazione e i parametri dell'algoritmo interno non vengono più impostati una volta per tutte dall'uomo e mantenuti fissi, ma vengono continuamente riscritti dalla ricerca del livello esterno; l'algoritmo acquisisce così un canale di auto-miglioramento.

3. Il prerequisito per l'esecuzione: parallelismo e compromesso sui costi

La struttura annidata non è priva di costi. Ogni valutazione del livello esterno richiede di eseguire completamente una configurazione sul compito, amplificando notevolmente il costo di valutazione; più grande è la popolazione esterna, maggiore è il costo complessivo. È proprio per questo che MetaDE si basa sul parallelismo delle GPU: più configurazioni interne possono essere valutate simultaneamente, il tempo necessario per una singola iterazione esterna viene ridotto in modo significativo, e la meta-evoluzione annidata diventa ingegneristicamente eseguibile. Al contrario, se le risorse di parallelismo disponibili sono insufficienti, ridurre la scala del livello esterno o abbassare la precisione di valutazione interna è spesso più realistico che ampliare ciecamente la ricerca.

Equivoco comune
Identificare MetaDE con la "taratura manuale dei parametri" non è corretto. La taratura manuale è un tentativo per prova ed errore, una tantum, compiuto dall'uomo al di fuori del ciclo; MetaDE invece inserisce la configurazione stessa nel ciclo evolutivo: le configurazioni vengono generate, valutate e ricombinate ripetutamente, e l'oggetto della ricerca è la combinazione "strategia di mutazione + parametri", non soltanto alcuni valori numerici.