Understanding the difficulty of training deep feedforward neural networks

Mila > Publication > Understanding the difficulty of training deep feedforward neural networks
Mar 2010

Understanding the difficulty of training deep feedforward neural networks

Mar 2010

Alors qu’avant 2006, il semblait que les réseaux de neurones multicouches profonds n’avaient pas été formés avec succès, plusieurs algorithmes se sont avérés efficaces, avec des résultats expérimentaux montrant la supériorité des architectures plus profondes par rapport aux architectures moins profondes. Tous ces résultats expérimentaux ont été obtenus avec de nouveaux mécanismes d’initialisation ou de formation. Notre objectif ici est de mieux comprendre pourquoi la descente de gradient standard à partir d’initialisation aléatoire fonctionne si mal avec des réseaux de neurones profonds, de mieux comprendre ces récents succès relatifs et d’aider à concevoir de meilleurs algorithmes dans le futur. Nous observons d’abord l’influence des fonctions d’activation non linéaires. Nous trouvons que l’activation logistique sigmoïde n’est pas adaptée aux réseaux profonds à initialisation aléatoire en raison de sa valeur moyenne, ce qui peut amener notamment la couche cachée supérieure à saturation. De manière surprenante, nous constatons que les unités saturées peuvent sortir de la saturation par elles-mêmes, bien que lentement, et expliquer les plateaux parfois observés lors de la formation de réseaux de neurones. Nous constatons qu’une nouvelle non-linéarité saturant moins peut souvent être bénéfique. Enfin, nous étudions comment les activations et les gradients varient d’une couche à l’autre et au cours de la formation, l’idée étant que la formation peut être plus difficile lorsque les valeurs singulières du Jacobien associées à chaque couche sont éloignées de 1. Basé sur les considérations précédentes, nous proposons un nouveau schéma d’initialisation permettant une convergence beaucoup plus rapide.

Reference

PDF

Linked Profiles

array(1) { ["wp-wpml_current_language"]=> string(2) "fr" }