Command Palette
Search for a command to run...
GradInit : Apprendre à initialiser les réseaux de neurones pour une entraînement stable et efficace
GradInit : Apprendre à initialiser les réseaux de neurones pour une entraînement stable et efficace
Chen Zhu Renkun Ni Zheng Xu Kezhi Kong W. Ronny Huang Tom Goldstein
Résumé
Les innovations dans les architectures neuronales ont permis des progrès significatifs en modélisation du langage et en vision par ordinateur. Malheureusement, les nouvelles architectures entraînent souvent des choix difficiles de hyperparamètres et une instabilité d’entraînement si les paramètres du réseau ne sont pas correctement initialisés. Plusieurs méthodes d’initialisation spécifiques aux architectures ont été proposées, mais celles-ci ne sont pas toujours transférables à de nouvelles architectures. Ce papier présente GradInit, une méthode automatisée et indépendante de l’architecture pour l’initialisation des réseaux de neurones. GradInit repose sur une heuristique simple : la norme de chaque couche du réseau est ajustée de manière à ce qu’une seule étape de descente de gradient stochastique (SGD) ou d’Adam, avec des hyperparamètres prédéfinis, entraîne la perte minimale possible. Cet ajustement est réalisé en introduisant une variable scalaire multipliant chaque bloc de paramètres, puis en optimisant ces variables à l’aide d’un schéma numérique simple. GradInit accélère la convergence et améliore les performances sur les jeux de tests pour de nombreuses architectures convolutionnelles, qu’elles incluent ou non des connexions bypass (skip connections), et même en l’absence de couches de normalisation. Il améliore également la stabilité de l’architecture Transformer originale pour la traduction automatique, permettant son entraînement sans préchauffage du taux d’apprentissage, que ce soit avec Adam ou SGD, sur une large gamme de taux d’apprentissage et de coefficients de momentum. Le code est disponible à l’adresse suivante : https://github.com/zhuchen03/gradinit.