Neuroévolution - Neuroevolution

La neuroévolution , ou neuro-évolution , est une forme d' intelligence artificielle qui utilise des algorithmes évolutifs pour générer des réseaux de neurones artificiels (ANN), des paramètres, une topologie et des règles. Il est le plus couramment appliqué dans la vie artificielle , le jeu général et la robotique évolutive . Le principal avantage est que la neuroévolution peut être appliquée plus largement que les algorithmes d'apprentissage supervisé , qui nécessitent un programme de paires d'entrée-sortie correctes. En revanche, la neuroévolution ne nécessite qu'une mesure des performances d'un réseau à une tâche. Par exemple, le résultat d'un jeu (c'est-à-dire si un joueur a gagné ou perdu) peut être facilement mesuré sans fournir d'exemples étiquetés de stratégies souhaitées. La neuroévolution est couramment utilisée dans le cadre du paradigme d' apprentissage par renforcement , et elle peut être comparée aux techniques d'apprentissage en profondeur conventionnelles qui utilisent la descente de gradient sur un réseau de neurones avec une topologie fixe.

Caractéristiques

De nombreux algorithmes de neuroévolution ont été définis. Une distinction commune est entre les algorithmes qui n'évoluent que la force des poids de connexion pour une topologie de réseau fixe (parfois appelée neuroévolution conventionnelle), par opposition à ceux qui font évoluer à la fois la topologie du réseau et ses poids (appelés TWEANNs, pour Topology and Weight Évolution des algorithmes de réseau neuronal artificiel).

Une distinction distincte peut être faite entre les méthodes qui font évoluer la structure des RNA parallèlement à ses paramètres (celles appliquant des algorithmes évolutifs standard) et celles qui les développent séparément (via des algorithmes mémétiques ).

Comparaison avec la descente en gradient

La plupart des réseaux de neurones utilisent la descente de gradient plutôt que la neuroévolution. Cependant, vers 2017, des chercheurs d' Uber ont déclaré qu'ils avaient découvert que de simples algorithmes de neuroévolution structurelle étaient compétitifs avec des algorithmes d' apprentissage en profondeur de descente de gradient modernes et sophistiqués , en partie parce que la neuroévolution était moins susceptible de rester bloquée dans les minima locaux. Dans Science , le journaliste Matthew Hutson a émis l'hypothèse qu'une partie de la raison pour laquelle la neuroévolution réussit là où elle avait échoué auparavant est due à la puissance de calcul accrue disponible dans les années 2010.

Encodage direct et indirect

Les algorithmes évolutifs opèrent sur une population de génotypes (également appelés génomes ). Dans la neuroévolution, un génotype est mappé à un phénotype de réseau neuronal qui est évalué sur une tâche pour en déduire son aptitude .

Dans les schémas de codage direct , le génotype correspond directement au phénotype. Autrement dit, chaque neurone et connexion dans le réseau neuronal est spécifié directement et explicitement dans le génotype. En revanche, dans les schémas de codage indirect , le génotype spécifie indirectement comment ce réseau doit être généré.

Les encodages indirects sont souvent utilisés pour atteindre plusieurs objectifs:

  • modularité et autres régularités;
  • compression du phénotype en un génotype plus petit, offrant un espace de recherche plus petit;
  • mapper l'espace de recherche (génome) au domaine du problème.

Taxonomie des systèmes embryogènes pour le codage indirect

Traditionnellement, les codages indirects qui emploient l' embryogénie artificielle (également connue sous le nom de développement artificiel ) ont été classés selon une approche grammaticale par rapport à une approche de chimie cellulaire . Le premier fait évoluer des ensembles de règles sous la forme de systèmes de réécriture grammaticale. Ce dernier tente d'imiter comment les structures physiques émergent en biologie par l'expression génique. Les systèmes de codage indirect utilisent souvent des aspects des deux approches.

Stanley et Miikkulainen proposent une taxonomie des systèmes embryogènes qui vise à refléter leurs propriétés sous-jacentes. La taxonomie identifie cinq dimensions continues, le long desquelles tout système embryogène peut être placé:

  • Destin de la cellule (neurone) : les caractéristiques finales et le rôle de la cellule dans le phénotype mature. Cette dimension compte le nombre de méthodes utilisées pour déterminer le sort d'une cellule.
  • Ciblage : méthode par laquelle les connexions sont dirigées des cellules sources vers les cellules cibles. Cela va du ciblage spécifique (la source et la cible sont explicitement identifiées) au ciblage relatif (par exemple basé sur l'emplacement des cellules les unes par rapport aux autres).
  • Hétérochronie : le moment et l'ordre des événements au cours de l'embryogénie. Compte le nombre de mécanismes permettant de modifier le calendrier des événements.
  • Canalisation : la tolérance du génome aux mutations (fragilité). Cela va de la demande d'instructions génotypiques précises à une tolérance élevée à une mutation imprécise.
  • Complexification : la capacité du système (y compris l'algorithme évolutif et la cartographie du génotype au phénotype) à permettre la complexification du génome (et donc du phénotype) au fil du temps. Cela va de l’autorisation de génomes de taille fixe uniquement à l’autorisation de génomes de longueur très variable.

Exemples

Exemples de méthodes de neuroévolution (celles avec des codages directs sont nécessairement non embryogènes):

Méthode Codage Algorithme évolutif Aspects évolués
Évolution neuro-génétique par E. Ronald, 1994 Direct Algorithme génétique Poids du réseau
Encodage cellulaire (CE) par F. Gruau, 1994 Indirect, embryogène (arbre de grammaire utilisant des expressions S ) Programmation génétique Structure et paramètres (simultané, complexification)
GNARL par Angeline et al., 1994 Direct Programmation évolutive Structure et paramètres (simultané, complexification)
EPNet par Yao et Liu, 1997 Direct Programmation évolutive (combinée à la rétropropagation et au recuit simulé ) Structure et paramètres (mixtes, complexification et simplification)
NeuroEvolution of Augmenting Topologies (NEAT) par Stanley et Miikkulainen, 2002 Direct Algorithme génétique . Suit les gènes avec des marquages ​​historiques pour permettre le croisement entre différentes topologies, protège l'innovation via la spéciation. Structure et paramètres
NeuroEvolution of Augmenting Topologies (HyperNEAT) basée sur l'hypercube par Stanley, D'Ambrosio, Gauci, 2008 Indirect, non embryogène (les modèles spatiaux générés par un réseau de production de modèles de composition (CPPN) dans un hypercube sont interprétés comme des modèles de connectivité dans un espace de dimension inférieure) Algorithme génétique . L'algorithme NEAT (ci-dessus) est utilisé pour faire évoluer le CPPN. Paramètres, structure fixe (fonctionnellement entièrement connecté)
NeuroEvolution of Augmenting Topologies (ES-HyperNEAT) basée sur l'hypercube de substrat évolutif (ES-HyperNEAT) par Risi, Stanley 2012 Indirect, non embryogène (les modèles spatiaux générés par un réseau de production de modèles de composition (CPPN) dans un hypercube sont interprétés comme des modèles de connectivité dans un espace de dimension inférieure) Algorithme génétique . L'algorithme NEAT (ci-dessus) est utilisé pour faire évoluer le CPPN. Paramètres et structure du réseau
Acquisition évolutive de topologies neuronales (EANT / EANT2) par Kassahun et Sommer, 2005 / Siebel et Sommer, 2007 Direct et indirect, potentiellement embryogène (codage génétique commun) Programmation évolutive / Stratégies d'évolution Structure et paramètres (séparément, complexification)
Neuro-Évolution Interactivement Contrainte (ICONE) par Rempis, 2012 Direct, inclut des masques de contrainte pour restreindre la recherche à des variétés de topologie / paramètres spécifiques. Algorithme évolutif . Utilise des masques de contrainte pour réduire considérablement l'espace de recherche en exploitant la connaissance du domaine . Structure et paramètres (séparément, complexification, interactif)
Réseau de neurones Deus Ex (DXNN) par Gene Sher, 2012 Direct / Indirect, inclut les contraintes, le réglage local et permet une évolution pour intégrer de nouveaux capteurs et actionneurs. Algorithme mémétique . Fait évoluer la structure et les paramètres du réseau à différentes échelles de temps. Structure et paramètres (séparément, complexification, interactif)
Architecture de neuroévolution unifiée à spectre diversifié (SUNA) par Danilo Vasconcellos Vargas, Junichi Murata ( code à télécharger ) Direct, introduit la représentation neuronale unifiée (représentation intégrant la plupart des fonctionnalités du réseau neuronal de la littérature). L'algorithme génétique avec un mécanisme de préservation de la diversité appelé Spectrum-Diversity qui s'adapte bien à la taille du chromosome, est indépendant du problème et se concentre davantage sur l'obtention de la diversité des comportements / approches de haut niveau. Pour atteindre cette diversité, le concept de spectre chromosomique est introduit et utilisé avec une population de cartes de nouveauté . Structure et paramètres (mixtes, complexification et simplification)
Modular Agent-Based Evolver (MABE) par Clifford Bohm, Arend Hintze et autres. ( Télécharger le code ) Codage direct ou indirect des réseaux de Markov, des réseaux de neurones, de la programmation génétique et d'autres contrôleurs arbitrairement personnalisables. Fournit des algorithmes évolutifs, des algorithmes de programmation génétique et permet des algorithmes personnalisés, ainsi que la spécification de contraintes arbitraires. Les aspects évolutifs incluent le modèle neuronal et permettent, entre autres, l'évolution de la morphologie et de la sélection sexuelle.
Adaptation de la matrice de covariance avec l'algorithme de grille adaptative triée par hypervolume (CMA-HAGA) par Shahin Rostami, et d'autres., Direct, comprend une fonction d' atavisme qui permet aux traits de disparaître et de réapparaître à différentes générations. Stratégie d'évolution multi-objectifs avec articulation de préférence ( pilotage informatique ) Structure, poids et biais.

Voir également

Les références

Liens externes