Recherche rapide d'architectures neuronales de modèles compacts de segmentation sémantique via des cellules auxiliaires

La conception automatisée d'architectures de réseaux neuronaux adaptées à une tâche spécifique est une voie extrêmement prometteuse, bien que par nature difficile à explorer. Bien que la plupart des résultats dans ce domaine aient été obtenus sur des problèmes de classification d'images et de modélisation de langage, nous nous concentrons ici sur les tâches denses par pixel, en particulier la segmentation sémantique d'images à l'aide de réseaux entièrement convolutionnels. Contrairement aux domaines mentionnés précédemment, les choix de conception d'un réseau entièrement convolutionnel nécessitent plusieurs modifications, allant du type d'opérations à utiliser (par exemple, convolutions dilatées) à la résolution d'un problème d'optimisation plus complexe. Dans cette étude, nous sommes particulièrement intéressés par la recherche d'architectures de segmentation compactes et performantes, capables de fonctionner en temps réel avec des ressources limitées. Pour y parvenir, nous surparamétrons intentionnellement l'architecture pendant la phase d'entraînement grâce à un ensemble de cellules auxiliaires qui fournissent un signal de supervision intermédiaire et peuvent être omises lors de la phase d'évaluation. La conception des cellules auxiliaires est générée par un contrôleur, un réseau neuronal à structure fixe entraîné par apprentissage par renforcement. Plus crucialement, nous démontrons comment rechercher efficacement ces architectures dans des délais et des budgets informatiques limités. En particulier, nous nous appuyons sur une stratégie progressive qui élimine les architectures peu prometteuses avant qu'elles ne soient davantage entraînées, ainsi que sur le moyennage Polyak couplé au distillation de connaissances pour accélérer la convergence. Quantitativement, notre approche découvre en 8 jours GPU un ensemble d'architectures dont les performances sont comparables aux meilleurs modèles compacts actuels pour les tâches de segmentation sémantique, estimation de pose et prédiction de profondeur. Le code sera rendu disponible ici : https://github.com/drsleep/nas-segm-pytorch