Transfert d'architecture neuronale

La recherche d'architecture neuronale (NAS, Neural Architecture Search) s'est imposée comme une voie prometteuse pour concevoir automatiquement des réseaux neuronaux spécifiques aux tâches. Les approches NAS existantes exigent une recherche complète pour chaque spécification de déploiement en matière de matériel ou d'objectif. Cette contrainte s'avère informatiquement irréaliste compte tenu du nombre potentiellement élevé de scénarios d'application. Dans cet article, nous proposons une méthode appelée Transfert d'Architecture Neuronale (NAT, Neural Architecture Transfer) afin de surmonter cette limitation. Le NAT est conçu pour générer efficacement des modèles personnalisés spécifiques à une tâche, performants face à plusieurs objectifs concurrents. Pour atteindre cet objectif, nous apprenons des super-réseaux spécifiques à la tâche à partir desquels des sous-réseaux spécialisés peuvent être échantillonnés sans nécessiter d'entraînement supplémentaire. Le point clé de notre approche réside dans une procédure intégrée combinant apprentissage par transfert en ligne et recherche évolutive multi-objectifs. Un super-réseau pré-entraîné est itérativement adapté tout en cherchant simultanément des sous-réseaux spécifiques à la tâche. Nous démontrons l'efficacité du NAT sur 11 tâches classiques de classification d'images, allant de jeux de données à grande échelle multi-classes à des jeux de données à petite échelle et à granularité fine. Dans tous les cas, y compris sur ImageNet, les NATNets surpassent l'état de l'art dans des conditions mobiles (≤ 600 M d'opérations de multiplication-ajout). De manière surprenante, les jeux de données à petite échelle et à granularité fine tirent le plus parti du NAT. Par ailleurs, la recherche d'architecture et le transfert sont d'un ordre de grandeur plus efficaces que les méthodes NAS existantes. Globalement, les évaluations expérimentales montrent que, sur une variété de tâches de classification d'images et d'objectifs computationnels, le NAT constitue une alternative nettement plus efficace que les approches traditionnelles de transfert d'apprentissage basées sur le fine-tuning des poids d'une architecture préalablement apprise sur des jeux de données standards. Le code est disponible à l'adresse suivante : https://github.com/human-analysis/neural-architecture-transfer