7

Implementação da evolução de métodos típicos: arquitetura MetaDE

AI999第5课:方法演化:从优化解到优化算法本身
00:00

A evolução diferencial (DE) tradicional deixa a estratégia de mutação e os principais parâmetros de controle a cargo do pesquisador, que os define previamente e os mantém inalterados durante todo o processo de busca. A mudança central do MetaDE é:tratar a própria configuração do algoritmo como objeto de evolução——a evolução externa busca no espaço de algoritmos, enquanto a camada interna avalia o desempenho no espaço de soluções, convertendo o "como evoluir" de uma definição manual em uma busca adaptativa.

Estrutura de evolução de dois níveis do MetaDEMelhorar algoritmos evolutivos com algoritmos evolutivosCamada de evolução externa · Espaço de algoritmosObjeto de otimização: configuração do algoritmo1Estratégia de mutação: rand/1Cruzamento binomialF=0.5CR=0.92Estratégia de mutação: best/1Cruzamento exponencialF=0.8CR=0.43Estratégia de mutação: current-to-best/1Cruzamento binomialF=0.3CR=0.7Operações de evolução externa: seleção · cruzamento · mutação · eliminação → geração da próxima geração de configuraçõesAs diferenças entre indivíduos correspondem a tendências de comportamento da mesma família de algoritmos sob diferentes características do problemaEnvio da configuração candidata→ Tarefa originalRetorno do desempenho real→ Aptidão da camada externaCiclo fechado de verificaçãoGeração de configuração → Verificação da tarefa → Decisão por feedbackA aptidão só pode vir de resultados de execução reaisCamada de tarefas interna · Espaço de soluçõesObjeto de otimização: solução do problemaTarefa de otimização originalInstância de problema fornecidaMesma configuração executada independentemente várias vezesRepetição 10 vezesEstatística de aptidão realMédia usada como aptidão do indivíduo da camada externaCanal de verificação: cada configuração candidata precisa ser executada de fato uma vez na tarefa originalA camada externa otimiza a configuração do algoritmo; a interna otimiza a solução do problema; as duas camadas são conectadas pelo canal de verificação de "executar de fato uma vez"

Estrutura de dois níveis: a camada externa busca algoritmos, a interna resolve problemas

  • Camada interna: o processo convencional de resolução da evolução diferencial na tarefa de otimização original, responsável por fornecer o desempenho real da tarefa.
  • Camada externa: cada configuração do algoritmo DE é um indivíduo, e sobre o espaço de configurações aplicam-se seleção, cruzamento, mutação e eliminação.

As responsabilidades das duas camadas não podem ser confundidas: o objeto de otimização da camada externa éa configuração do algoritmo, e o objeto de otimização da camada interna éa solução do problema. O primeiro decide "como buscar"; o segundo, "quão bem se busca".

O que a evolução externa evolui

Um indivíduo da camada externa não codifica apenas alguns números, mas todo um conjunto de comportamentos do algoritmo: estratégia de mutação (rand/1, best/1, current-to-best/1, etc.), modo de cruzamento (binomial, exponencial) e parâmetros de controle como fator de escala F, probabilidade de cruzamento CR e tamanho da população. As diferenças entre indivíduos correspondem justamente às diferentes tendências de comportamento da mesma família de algoritmos sob diferentes características do problema.

Ciclo fechado de verificação: a configuração candidata precisa ser executada de fato uma vez

Nenhuma configuração candidata pode ser aceita ou descartada apenas com base em meta-métricas ou julgamentos a priori; ela precisa ser enviada à tarefa original para execução real e submetida à verificação do desempenho verdadeiro. Em seguida, a camada externa realiza seleção, eliminação e retenção com base na aptidão fornecida pela camada interna, decidindo quais configurações são herdadas e propagadas. Forma-se assim um ciclo fechado iterativo de "geração de configuração → verificação da tarefa → decisão por feedback", no qual a aptidão da camada externa só pode vir dos resultados reais de execução da camada interna.

Diferenças em relação ao DE fixo

No DE tradicional, a estratégia e os parâmetros são previamente definidos pelo pesquisador e mantidos fixos durante todo o processo; o MetaDE transfere essa decisão para a evolução externa, conferindo ao algoritmo capacidade de adaptação às características do problema — por exemplo, preferir o rand/1, mais exploratório, com F maior no início da busca, e migrar para o best/1, de convergência mais rápida, com F menor nas fases finais.

Custo e pré-requisitos

Cada configuração candidata precisa executar integralmente uma vez a tarefa da camada interna (normalmente também são necessárias várias execuções independentes para tirar a média e suprimir a aleatoriedade), e o custo de avaliação cresce exponencialmente com o tamanho da população da camada externa e o número de gerações. Por isso, o MetaDE depende fortemente de bases de engenharia como paralelização, tensorização e agendamento em tempo de execução — exatamente a razão de engenharia pela qual ele precisa ser construído sobre um Runtime tensorizado.

Exemplo executável mínimo
Tomemos como exemplo um conjunto de tarefas de otimização contínua: um indivíduo da população da camada externa é codificado como "rand/1 + cruzamento binomial + F=0.5, CR=0.9"; essa configuração é enviada à tarefa da camada interna e executada várias vezes de forma independente, tomando-se a aptidão média como a aptidão do indivíduo da camada externa; com base nisso, a camada externa seleciona, muta e retém configurações melhores, formando o ciclo fechado iterativo de "geração de configuração — verificação da tarefa — decisão por feedback". Esse passo é a forma executável mínima de "melhorar algoritmos evolutivos com algoritmos evolutivos".

Posicionamento: o MetaDE é a concretização da "evolução de dois níveis, interna e externa, com mecanismo adaptativo", levando-a da ideia a uma arquitetura implementável, e também fornece um paradigma metodológico para a evolução posterior da estrutura de algoritmos (AutoPSO, EvoGO).