Quand utiliser (il ou Glorot) l'initialisation normale par rapport à l'init uniforme? Et quels sont ses effets avec la normalisation par lots?

51

Je savais que Residual Network (ResNet) rendait populaire l’initialisation normale. Dans ResNet, l'initialisation normale He est utilisée , tandis que la première couche utilise l'initialisation uniforme He.

J'ai parcouru les papiers ResNet et "Delving Deep into Rectifiers" (papier d'initialisation He), mais je n'ai trouvé aucune mention sur init normal ou uniforme.

Aussi:

La normalisation par lots nous permet d’utiliser des vitesses d’apprentissage beaucoup plus élevées et d’être moins prudent lors de l’initialisation.

Dans le résumé de l'article sur la normalisation par lots, il est dit que la normalisation par lots nous permet de faire moins attention à l'initialisation.

ResNet lui-même reste attentif quant au moment d'utiliser init normal par rapport à init uniforme (plutôt que de simplement utiliser l'uniforme init).

Alors:

  • Quand utiliser (He ou Glorot) l'initialisation distribuée normale par rapport à l'initialisation uniforme?
  • Que sont les effets d'initialisation à distribution normale avec la normalisation par lots?

Notes à part:

  • Cela rime d'utiliser normal init avec Batch Normalization, mais je n'ai trouvé aucun papier pour confirmer ce fait.
  • Je savais que ResNet utilisait He init sur Glorot init car He init réussissait mieux sur un réseau profond.
  • J'ai compris Glorot init vs He init .
  • Ma question concerne Normal vs Uniform init.
rilut
la source

Réponses:

34

Le début normal vs uniforme semble être assez peu clair en fait.

Si nous nous référons uniquement aux documents d'initialisation de Glorot et de He , ils utilisent tous deux une analyse théorique similaire: ils trouvent une bonne variance pour la distribution à partir de laquelle les paramètres initiaux sont extraits. Cette variance est adaptée à la fonction d'activation utilisée et est dérivée sans considérer explicitement le type de la distribution. En tant que telles, leurs conclusions théoriques valent pour tout type de distribution de la variance déterminée. En fait, dans le papier Glorot, on utilise une distribution uniforme, alors que dans le papier He, on choisit une distribution gaussienne. La seule "explication" donnée pour ce choix dans le document He est:

Les CNN profonds récents sont principalement initialisés par des poids aléatoires tirés de distributions gaussiennes.

avec une référence au papier AlexNet . Il a bien été publié un peu plus tard que l’initialisation de Glorot, mais il n’existe aucune justification quant à l’utilisation d’une distribution normale.

En fait, dans une discussion sur le traqueur de problèmes Keras , ils semblent aussi un peu confus et fondamentalement, cela ne pouvait être qu'une question de préférence ... (c’est-à-dire que Bengio préférerait une distribution uniforme alors que Hinton préfèrerait une distribution normale ...) Au cours de la discussion, il existe un petit repère comparant l'initialisation de Glorot à l'aide d'une distribution uniforme et d'une distribution gaussienne. En fin de compte, il semble que l'uniforme gagne mais ce n'est pas vraiment clair.

Dans le document ResNet original , il était uniquement indiqué qu'ils utilisaient un He init gaussien pour toutes les couches. Je n'ai pas pu trouver où il est écrit qu'ils utilisaient l'uniforme He init pour la première couche. (Peut-être pourriez-vous partager une référence à cela?)

En ce qui concerne l'utilisation de gaussian init avec Batch Normalization, eh bien, avec BN, le processus d'optimisation est moins sensible à l'initialisation; il ne s'agit donc que d'une convention, je dirais.

tlorieul
la source
J'ai mal lu. Vous avez raison de dire que ResNet n'utilise aucune initialisation uniforme. Je me suis trompé.
Rilut
0

Veuillez prendre une lecture hyper-paramètres en action! Partie II - Initialiseurs de poids

Rockyne
la source
1
S'il vous plaît, évitez de poster uniquement des liens. Tout lien peut devenir mort au bout d'un moment et les nouveaux lecteurs ne pourront pas vérifier la réponse. Vous pouvez poster un lien, mais ajoutez toujours un résumé de la partie la plus importante sous forme de texte également.
Tasos
Commentaire de @Tasos bien noté. Il y avait trop d’informations à résumer et c’est la raison pour laquelle j’ai posté le lien à la place et j’ai compris ce que vous pensiez sur les liens rompus. Merci.
rocksyne