Optimisation de l'architecture neuronale

La conception automatique d'architectures neuronales a démontré son potentiel dans la découverte d'architectures de réseaux neuronaux puissantes. Les méthodes existantes, qu'elles soient basées sur l'apprentissage par renforcement ou sur les algorithmes évolutionnistes (EA), effectuent des recherches d'architecture dans un espace discret, ce qui est extrêmement inefficace. Dans cet article, nous proposons une méthode simple et efficace pour la conception automatique d'architectures neuronales basée sur l'optimisation continue. Nous appelons cette nouvelle approche l'optimisation d'architecture neuronale (NAO). Notre approche proposée repose sur trois composants clés : (1) Un encodeur plonge/carte les architectures de réseaux neuronaux dans un espace continu. (2) Un prédicteur prend en entrée la représentation continue d'un réseau et prédit sa précision. (3) Un décodeur mappe une représentation continue d'un réseau à son architecture. Le prédicteur de performance et l'encodeur nous permettent d'effectuer une optimisation basée sur le gradient dans l'espace continu pour trouver le plongement d'une nouvelle architecture potentiellement plus précise. Une telle meilleure représentation est ensuite décodée en un réseau par le décodeur. Les expériences montrent que l'architecture découverte par notre méthode est très compétitive pour la tâche de classification d'images sur CIFAR-10 et pour la tâche de modélisation de langage sur PTB, surpassant ou égalant les meilleurs résultats des méthodes précédentes de recherche d'architecture avec une réduction significative des ressources informatiques. Plus précisément, nous obtenons un taux d'erreur de 1,93 % sur l'ensemble de test pour la tâche de classification d'images CIFAR-10 et une perplexité de 56,0 sur l'ensemble de test pour la tâche de modélisation de langage PTB. De plus, combinée au mécanisme récemment proposé de partage des poids, nous découvrons des architectures puissantes sur CIFAR-10 (avec un taux d'erreur de 2,93 %) et sur PTB (avec une perplexité de 56,6 sur l'ensemble de test), avec des ressources informatiques très limitées (moins de 10 heures GPU) pour les deux tâches.