Neuroévolution

De CA-VA CLUB
Aller à : navigation, rechercher


Pour vous donner une idée de ce dont on parle ....

_____________________________


Neuroévolution, ou neuroévolution, est une forme d'intelligence artificielle qui utilise des algorithmes évolutionnaires pour générer des réseaux neuronaux artificiels (RNA), des paramètres, une topologie et des règles.

Il est le plus souvent 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é | d'apprentissage supervisé, qui nécessitent un programme de paires d'entrées-sorties 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 contrastée avec les techniques classiques d'apprentissage en profondeur 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 courante 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 Algorithmes évolutifs du réseau de neurones artificiels).

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

Comparaison avec descente de 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 les algorithmes de neuroévolution structurelle simples étaient compétitifs avec les algorithmes d'apprentissage en profondeur à descente en gradient modernes et sophistiqués, en partie parce que la neuroévolution était moins susceptible de rester coincée dans les minima locaux. Dans Science (magazine) | 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 à l'augmentation de la puissance de calcul disponible dans les années 2010.

Encodage direct et indirect

Les algorithmes évolutionnaires opèrent sur une population de génotypes (également appelés génomes). En neuroévolution, un génotype est mappé sur un phénotype de réseau neuronal qui est évalué sur une tâche pour en déduire sa fonction de fitness | fitness.

Dans les schémas de codage `` directs , 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 «indirects», 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;
  • cartographie de l'espace de recherche (génome) avec le domaine problématique.

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

Traditionnellement, les codages indirects qui utilisent l'embryologie artificielle | l'embryogenèse (également connu sous le nom de développement artificiel) ont été classés selon les principes d'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 la façon dont les structures physiques émergent en biologie par l'expression des gènes. Les systèmes de codage indirect utilisent souvent des aspects des deux approches.

Stanley et Miikkulainen proposer une taxonomie des systèmes embryogéniques destinée à refléter leurs propriétés sous-jacentes. La taxonomie identifie cinq dimensions continues, le long desquelles tout système embryogénique peut être placé:

  • Destin des cellules (neurones) : 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 : la méthode par laquelle les connexions sont dirigées des cellules source 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 : la synchronisation et l'ordre des événements pendant l'embryogenèse. Compte le nombre de mécanismes permettant de modifier le moment des événements.
  • Canalisation : la tolérance du génome aux mutations (fragilité). Cela va de l'exigence d'instructions génotypiques précises à une tolérance élevée aux mutations imprécises.
  • Complexification : la capacité du système (y compris l'algorithme évolutif et la cartographie du génotype au phénotype) de permettre la complexification du génome (et donc du phénotype) au fil du temps. Cela va de ne permettre que des génomes de taille fixe à des génomes de longueur très variable.

Exemples

Exemples de méthodes de neuroévolution (celles à codage direct sont nécessairement non embryogènes):

Méthode Codage Algorithme évolutif Les aspects ont évolué
Evolution neuro-génétique par E. Ronald, 1994 Direct Algorithme génétique Poids du réseau
Encodage cellulaire (CE) par F. Gruau, 1994 Indirecte, embryogénique (arbre de grammaire utilisant des expressions S) Programmation génétique Structure et paramètres (simultanés, complexification)
GNARL par Angeline et al., 1994 Direct Programmation évolutive Structure et paramètres (simultanés, complexification)
EPNet par Yao et Liu, 1997 Direct Programmation évolutive (combinée avec rétropropagation et 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 des Topologies Augmentantes basée sur Hypercube (HyperNEAT) par Stanley, D'Ambrosio, Gauci, 2008 Indirecte, non embryogène (les motifs spatiaux générés par un réseau producteur de motifs compositionnels (CPPN) dans un hypercube sont interprétés comme des motifs 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és)
NeuroEvolution des Topologies Augmentantes (ES-HyperNEAT) basé sur des substrats solubles à base d'hypercubes par Risi, Stanley 2012 Indirecte, non embryogène (les motifs spatiaux générés par un réseau producteur de motifs compositionnels (CPPN) dans un hypercube sont interprétés comme des motifs 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 des topologies neurales (EANT / EANT2) par Kassahun et Sommer, 2005 / Siebel et Sommer, 2007 Direct et indirect, potentiellement embryogénique (Common Genetic Encoding Programmation évolutive / Stratégies d'évolution Structure et paramètres (séparément, complexification)
Neuro-évolution à contrainte interactive (ICONE) par Rempis, 2012 Direct, inclut des masques de contrainte pour limiter la recherche à des variétés de topologie / paramètres spécifiques. Algorithme évolutif. Utilise des masques de contraintes pour réduire considérablement l'espace de recherche en exploitant les connaissances du domaine. Structure et paramètres (séparément, complexification, interactif)
Réseau neuronal Deus Ex (DXNN) par Gene Sher, 2012 Direct / Indirect, inclut les contraintes, le réglage local et permet à l'évolution d'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 diversifiée (SUNA) par Danilo Vasconcellos Vargas, Junichi Murata

(Télécharger le code)

Direct, présente la représentation neuronale unifiée (représentation intégrant la plupart des caractéristiques du réseau neuronal de la littérature). L'algorithme génétique avec un mécanisme de préservation de la diversité appelé diversité du spectre qui s'adapte bien à la taille des chromosomes, 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 carte 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) Encodage 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 l'évolution de la morphologie et de la sélection sexuelle entre autres.
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 avec articulation des préférences

Structure, poids et biais.

Voir aussi

  • Apprentissage automatique automatisé (AutoML)
  • Calcul évolutif
  • Adaptation de la matrice de covariance avec l'algorithme de grille adaptative triée par hypervolume (CMA-HAGA)
  • NeuroEvolution des Topologies Augmentées (NEAT)
  • Noogenèse
  • HyperNEAT (une version générative de NEAT)
  • ES-HyperNEAT (une version générative de NEAT qui détermine les paramètres et la structure du réseau)
  • Acquisition évolutive de topologies neuronales (EANT / EANT2)
  • Architecture de neuroévolution unifiée diversifiée (SUNA)


Liens externes

____