7

Implémentation d'une méthode évolutionnaire typique : l'architecture MetaDE

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

L'évolution différentielle (ED) classique confie la stratégie de mutation et les principaux paramètres de contrôle au chercheur, qui les fixe au préalable et les maintient constants durant tout le processus de recherche. Le changement fondamental apporté par MetaDE est le suivant :considérer la configuration de l'algorithme lui-même comme un objet à faire évoluer— la couche externe explore l'espace des algorithmes, tandis que la couche interne évalue les performances dans l'espace des solutions, transformant ainsi le « comment évoluer » d'un réglage manuel en une recherche adaptative.

Structure évolutionnaire à deux niveaux de MetaDEAméliorer un algorithme évolutionnaire par un algorithme évolutionnaireCouche évolutionnaire externe · Espace des algorithmesObjet d'optimisation : configuration de l'algorithme1Stratégie de mutation : rand/1Croisement binomialF=0.5CR=0.92Stratégie de mutation : best/1Croisement exponentielF=0.8CR=0.43Stratégie de mutation : current-to-best/1Croisement binomialF=0.3CR=0.7Opérations évolutionnaires externes : sélection · croisement · mutation · élimination → génération de la configuration suivanteLes différences entre individus correspondent aux tendances comportementales d'une même famille d'algorithmes face à différentes caractéristiques de problèmesEnvoi des configurations candidates→ Tâche d'origineRetour des performances réelles→ Fitness de la couche externeBoucle de validationGénération de configuration → Validation par la tâche → Rétroaction et sélectionLe fitness ne peut provenir que des résultats d'exécution réelsCouche de tâches interne · Espace des solutionsObjet d'optimisation : solution du problèmeTâche d'optimisation d'origineInstance de problème donnéeExécutions indépendantes multiples de la même configurationRépétition 10 foisStatistiques de fitness réellesMoyenne utilisée comme fitness de l'individu externeCanal de validation : chaque configuration candidate doit être réellement exécutée une fois dans la tâche d'origineLa couche externe optimise la configuration de l'algorithme, la couche interne optimise la solution du problème ; les deux couches sont reliées par un canal de validation consistant à « exécuter réellement une fois »

Structure à deux niveaux : la couche externe cherche l'algorithme, la couche interne résout le problème

  • Couche interne: le processus de résolution conventionnel de l'évolution différentielle sur la tâche d'optimisation d'origine, chargé de fournir les performances réelles de la tâche.
  • Couche externe: une configuration d'algorithme ED constitue un individu, et la sélection, le croisement, la mutation et l'élimination sont appliqués à l'espace des configurations.

Les responsabilités des deux couches ne doivent pas être confondues : l'objet d'optimisation de la couche externe estla configuration de l'algorithme, et l'objet d'optimisation de la couche interne estla solution du problème. Le premier détermine « comment chercher », le second détermine « jusqu'à quel point chercher ».

Ce que fait évoluer la couche externe

Un individu de la couche externe n'encode pas quelques nombres, mais tout un comportement algorithmique : la stratégie de mutation (rand/1, best/1, current-to-best/1, etc.), le mode de croisement (croisement binomial, croisement exponentiel), ainsi que les paramètres de contrôle tels que le facteur d'échelle F, la probabilité de croisement CR et la taille de la population. Les différences entre individus correspondent précisément aux tendances comportementales d'une même famille d'algorithmes face à différentes caractéristiques de problèmes.

Boucle de validation : les configurations candidates doivent être réellement exécutées une fois

Aucune configuration candidate ne peut être retenue ou écartée sur la seule base de méta-indicateurs ou de jugements a priori : elle doit être soumise à l'exécution réelle de la tâche d'origine et se soumettre à l'épreuve des performances réelles. La couche externe procède ensuite à la sélection, à l'élimination et à la conservation en fonction du fitness renvoyé par la couche interne, déterminant quelles configurations sont héritées et propagées. Il se forme ainsi une boucle itérative « génération de configuration → validation par la tâche → rétroaction et sélection », où le fitness de la couche externe ne peut provenir que des résultats d'exécution réels de la couche interne.

Différences avec l'ED à paramètres fixes

Dans l'ED classique, la stratégie et les paramètres sont fixés au préalable par le chercheur et maintenus constants tout au long du processus ; MetaDE confie ce pouvoir de décision à l'évolution de la couche externe, dotant ainsi l'algorithme d'une capacité d'adaptation aux caractéristiques du problème — par exemple, préférer au début de la recherche la stratégie rand/1, plus exploratoire, avec un F plus grand, puis passer en phase ultérieure à best/1, plus rapide à converger, avec un F plus petit.

Coût et conditions préalables

Chaque configuration candidate doit exécuter intégralement une fois la tâche de la couche interne (il faut généralement aussi plusieurs exécutions indépendantes dont on prend la moyenne pour atténuer l'aléa), et le coût d'évaluation est multiplié par la taille de la population externe et le nombre de générations. MetaDE dépend donc fortement de fondations d'ingénierie telles que la parallélisation, la tensorisation et l'ordonnancement d'exécution — c'est précisément la raison technique pour laquelle il doit s'appuyer sur un Runtime tensorisé.

Exemple minimal exécutable
Prenons l'exemple d'un ensemble de tâches d'optimisation continue : un individu de la population externe est encodé par « rand/1 + croisement binomial + F=0.5, CR=0.9 » ; cette configuration est envoyée à la tâche de la couche interne pour plusieurs exécutions indépendantes, et la moyenne des fitness est prise comme fitness de l'individu externe ; la couche externe sélectionne, mute et conserve alors les meilleures configurations, formant une boucle itérative « génération de configuration — validation par la tâche — rétroaction et sélection ». Cette étape constitue la forme minimale exécutable de « l'amélioration d'un algorithme évolutionnaire par un algorithme évolutionnaire ».

Positionnement : MetaDE est la concrétisation du « mécanisme d'évolution et d'adaptation à deux niveaux interne et externe », passant de l'idée à une architecture réalisable, et fournit également un paradigme méthodologique pour l'évolution ultérieure des structures d'algorithmes (AutoPSO, EvoGO).