9

MetaDE: arquitetura aninhada de algoritmos que otimizam algoritmos

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

Na lição anterior, os sistemas evolutivos acumulavam capacidade continuamente por meio do ciclo fechado de "geração—avaliação—seleção—herança". Nesta lição, levamos essa ideia um nível mais para dentro: não se trata apenas de usar algoritmos para resolver problemas, mas de usar algoritmos para aperfeiçoar algoritmos.MetaDE é exatamente uma arquitetura evolutiva aninhada desse tipo — ela divide a Evolução Diferencial (DE) em duas camadas, interna e externa, tornando a "otimização de algoritmos por algoritmos" um processo computacional executável.

I. Divisão de papéis entre as duas camadas: quem resolve, quem evolui

O MetaDE organiza a DE em duas camadas, interna e externa, cujos objetos de trabalho são completamente distintos:

  • DE interna (camada de tarefa): voltada para tarefas reais de otimização, mantém uma população de soluções candidatas e executa repetidamente mutação, cruzamento e seleção, aproximando-se gradualmente de boas soluções para a tarefa. Ela responde à pergunta "como está indo a resolução deste problema".
  • DE externa (camada meta): voltada para o próprio algoritmo, cada indivíduo da população não é uma solução da tarefa, mas sim um conjunto completo de configurações de "estratégia de mutação + parâmetros", como qual modo de mutação adotar e quais valores usar para o fator de escala e a probabilidade de cruzamento. Ela responde à pergunta "esta configuração de algoritmo funciona bem".

Portanto, a camada externa não otimiza diretamente as variáveis da tarefa; estas são sempre tratadas pela camada interna. A camada externa muda apenas o "manual de trabalho" da camada interna.

Arquitetura evolutiva aninhada do MetaDEDE externa (camada meta): evolui as configurações de "estratégia de mutação + parâmetros" do algoritmo da camada internaConfiguração AEstratégia de mutação + parâmetrosConfiguração BEstratégia de mutação + parâmetrosConfiguração CEstratégia de mutação + parâmetrosCada indivíduo = um conjunto de configurações; com base no feedback da tarefa, retêm-se e recombinam-se as configurações melhoresEnvio da configuração do algoritmoRetorno do desempenho na tarefaAcoplamento em ciclo fechadoDE interna (camada de tarefa): itera soluções candidatas em uma tarefa específicaPopulação de soluções candidatasSoluçãoSoluçãoSoluçãoSolução candidataSolução candidataSolução candidataMutação → Cruzamento → SeleçãoSolução candidata → avaliação da função objetivoDesempenho na tarefa → retorno à camada externaAceleração paralela com GPUVários conjuntos de configurações da camada interna avaliados simultaneamenteO paralelismo reduz o tempo de busca da camada metaA avaliação aninhada multiplica o custoO paralelismo é premissa para viabilidade de engenhariaAvaliação simultânea em várias GPUsO paralelismo encurta o tempo de relógio de parede,mas não reduz o volume total de computação.Com orçamento limitado: priorize reduzir a escala da camada externaAlgoritmos otimizando algoritmos: a camada externa evolui configurações, a interna resolve a tarefaA camada externa gera configurações → a interna executa e devolve o desempenho → a externa atualiza as configurações (ciclo fechado)

II. Ciclo fechado de interação: envio de configurações e retorno de desempenho

As duas camadas estão acopladas por um canal bidirecional, formando um ciclo fechado: a camada externa primeiro gera um conjunto de configurações do algoritmo e o envia (→) à camada interna; a camada interna executa a tarefa conforme essa configuração e, ao terminar, devolve o desempenho na tarefa (→) à camada externa; com base nisso, a camada externa retém e recombina as configurações de melhor desempenho e gera a configuração da rodada seguinte. Todo o fluxo pode ser resumido assim: configuração externa → resolução interna → desempenho na tarefa → atualização externa, repetindo-se continuamente.

Esse ciclo fechado traz uma propriedade fundamental: a estratégia de mutação e os parâmetros do algoritmo da camada interna deixam de ser definidos uma única vez pelo ser humano e mantidos fixos; passam a ser continuamente reescritos conforme a busca da camada externa, e o algoritmo ganha assim um canal de autoaperfeiçoamento.

III. Premissas de execução: paralelismo e trade-off de custo

A estrutura aninhada não é isenta de custos. A cada avaliação da camada externa, é preciso executar integralmente um conjunto de configurações na tarefa, o que amplia bastante o custo de avaliação; quanto maior a população externa, maior o custo total. É justamente por isso que o MetaDE depende do paralelismo em GPU: vários conjuntos de configurações da camada interna podem ser avaliados ao mesmo tempo, o tempo necessário para uma única iteração da camada externa é bastante reduzido, e só assim a meta-evolução aninhada se torna executável em termos de engenharia. Por outro lado, se os recursos paralelos disponíveis forem insuficientes, reduzir a escala da camada externa ou diminuir a precisão da avaliação interna costuma ser mais realista do que ampliar a busca às cegas.

Mal-entendido comum
Equiparar o MetaDE a "ajuste manual de parâmetros" não é preciso. O ajuste manual é uma tentativa e erro pontual, feita de fora do ciclo, enquanto o MetaDE incorpora a própria configuração ao ciclo evolutivo: as configurações são repetidamente geradas, avaliadas e recombinadas, e o objeto de busca é a combinação de "estratégia de mutação + parâmetros", e não apenas alguns valores numéricos.