Un réseau à motifs compositionnels (CPPN) est un type de réseau de neurones artificiels conçu pour produire des motifs complexes et structurés à partir d'un petit ensemble de coordonnées d'entrée. Contrairement aux réseaux de neurones conventionnels qui sont entraînés pour mapper des entrées vers des sorties pour une tâche spécifique, les CPPN sont généralement évolués ou optimisés pour générer des sorties présentant une régularité spatiale, une symétrie et une répétition. Ils constituent un composant clé dans le calcul évolutionnaire et la génération procédurale de contenu, où ils peuvent créer des images, des formes 3D et d'autres artefacts sans données d'entraînement explicites.
Le concept a été introduit par Kenneth O. Stanley en 2007 dans le cadre du cadre NeuroEvolution of Augmenting Topologies (NEAT). Les CPPN se distinguent par leur utilisation de fonctions d'activation souvent géométriques ou périodiques, telles que les fonctions sinus, cosinus, gaussienne et sigmoïde. Ces fonctions permettent au réseau de composer des motifs simples en sorties complexes, souvent symétriques. La topologie du réseau est évoluée, non fixe, ce qui signifie que les connexions et les nœuds peuvent changer au fil du temps pour produire des motifs de plus en plus complexes.
Architecture et Fonction
Un CPPN prend en entrée un ensemble de coordonnées, généralement dans un espace multidimensionnel, et produit une ou plusieurs valeurs qui peuvent être interprétées comme des couleurs de pixels, des propriétés de forme ou d'autres attributs. Par exemple, pour générer une image 2D, le réseau reçoit les coordonnées x et y et produit des valeurs rouge, vert et bleu. La structure interne du réseau se compose de nœuds avec des fonctions d'activation et des connexions pondérées, similaire à un réseau de neurones standard. Cependant, la différence clé est que la topologie est évoluée à l'aide d'algorithmes comme NEAT, qui peuvent ajouter des nœuds et des connexions pour augmenter la complexité.
Les fonctions d'activation dans un CPPN sont choisies pour encourager les motifs. Par exemple, une fonction sinus peut produire des rayures répétitives, tandis qu'une fonction gaussienne peut créer des taches localisées. En combinant ces fonctions de manière compositionnelle, le réseau peut générer des motifs à la fois réguliers et variés, comme les formes symétriques et organiques observées dans le projet Picbreeder, qui utilisait des CPPN pour évoluer des images.
Optimisation Évolutionnaire
Les CPPN sont généralement optimisés à l'aide d'algorithmes évolutionnaires, en particulier NEAT. Dans ce processus, une population de CPPN est générée aléatoirement, et chacun est évalué en fonction d'une fonction de fitness qui mesure dans quelle mesure il répond à un critère souhaité, comme produire une image cible ou une forme spécifique. Les réseaux les plus performants sont sélectionnés, mutés et croisés pour produire la génération suivante. Les mutations peuvent modifier les poids des connexions, ajouter de nouveaux nœuds ou changer les fonctions d'activation. Ce processus permet au réseau d'explorer un vaste espace de motifs possibles, découvrant souvent des solutions qui ne sont pas évidentes pour les concepteurs humains.
Une application notable est dans le domaine de l'art génératif, où les CPPN ont été utilisés pour créer des images esthétiquement plaisantes. La plateforme Picbreeder, lancée en 2007, permettait aux utilisateurs d'évoluer des images en sélectionnant leurs préférées, qui étaient ensuite utilisées comme parents pour la génération suivante. Cette évolution interactive a démontré la capacité des CPPN à produire des visuels diversifiés et complexes.
Applications
Au-delà de l'art, les CPPN ont été appliqués dans divers domaines. En robotique, ils ont été utilisés pour générer des allures pour des robots à pattes, où le réseau produit des angles articulaires au fil du temps. Dans la conception de jeux, les CPPN peuvent générer des niveaux, des textures et d'autres contenus de manière procédurale. Par exemple, le jeu Galactic Arms Race utilisait des CPPN pour évoluer des systèmes d'armes et leurs effets visuels. Dans la recherche en apprentissage automatique, les CPPN ont été utilisés pour générer eux-mêmes des architectures de réseaux de neurones, un concept connu sous le nom de HyperNEAT, qui évolue des CPPN pour produire les poids d'un réseau plus grand.
Les CPPN ont également été explorés pour générer des formes 3D et des animations. En prenant des coordonnées 3D en entrée, un CPPN peut produire des propriétés comme la densité ou la couleur, permettant la création de structures volumétriques complexes. Cela a des applications potentielles dans l'infographie et la réalité virtuelle.
Relation avec d'Autres Réseaux de Neurones
Les CPPN diffèrent des réseaux de neurones standard en ce qu'ils ne sont pas entraînés via la rétropropagation ou la descente de gradient. Au lieu de cela, ils reposent sur la recherche évolutionnaire, ce qui peut être avantageux dans des problèmes où les gradients ne sont pas disponibles ou où l'espace de recherche est hautement trompeur. Ils sont également distincts des modèles génératifs comme les grands modèles de langage ou les transformeurs, qui sont entraînés sur de grands ensembles de données pour générer du texte ou des images. Les CPPN sont plus proches de générateurs procéduraux, produisant des sorties basées sur des fonctions mathématiques plutôt que sur des motifs statistiques appris.
Malgré leurs différences, les CPPN partagent certaines similitudes conceptuelles avec d'autres types de réseaux. Par exemple, ils peuvent être considérés comme une forme de réseau résiduel en ce qu'ils utilisent souvent des connexions de saut, permettant à l'information de circuler à travers les couches. Cependant, l'approche évolutionnaire de la topologie et des poids les distingue.
Limitations et Directions Futures
Une limitation des CPPN est qu'ils sont principalement utilisés dans des contextes évolutionnaires, ce qui peut être coûteux en calcul pour des tâches complexes. L'espace de recherche des réseaux possibles est vaste, et l'évaluation de la fitness peut nécessiter de nombreuses générations. De plus, les CPPN ne sont pas facilement évolutifs vers des entrées de haute dimension, comme des séquences vidéo complètes, en raison de la malédiction de la dimensionnalité.
La recherche continue d'explorer des moyens de combiner les CPPN avec d'autres techniques. Par exemple, certaines études ont intégré les CPPN avec des méthodes de apprentissage profond, les utilisant comme générateurs dans des cadres adversariaux ou comme initialisateurs pour des réseaux de neurones. Les principes de compositionnalité et de génération de motifs ont également influencé d'autres domaines, comme la conception de fonctions d'activation dans les réseaux modernes.
En résumé, les réseaux à motifs compositionnels offrent une approche unique pour générer des motifs structurés par évolution. Leur capacité à créer des sorties complexes, symétriques et régulières à partir d'entrées simples en a fait un outil précieux dans le calcul évolutionnaire et la génération procédurale de contenu, avec un potentiel continu pour de nouvelles applications.