web-dev-qa-db-fra.com

Est-il normal d’utiliser la normalisation par lots dans RNN/lstm RNN?

Je suis un débutant en apprentissage en profondeur. Je sais que dans les réseaux neuronaux classiques, les personnes utilisent la norme de traitement par lots avant l'activation, ce qui réduira le recours à une bonne initialisation du poids. Je me demande si cela ferait la même chose pour RNN/lstm RNN quand je l’utilise. Quelqu'un at-il une expérience avec cela? Je vous remercie.

4
Peter Deng

La normalisation par lots appliquée aux RNN est similaire à la normalisation par lots appliquée aux CNN: vous calculez les statistiques de manière à ce que les propriétés récurrentes/convolutionnelles de la couche soient conservées après l'application de BN.

Pour les CNN, cela signifie que les statistiques pertinentes doivent être calculées non seulement sur le mini-lot, mais également sur les deux dimensions spatiales; autrement dit, la normalisation est appliquée sur la dimension des canaux. 

Pour les RNN, cela signifie le calcul des statistiques pertinentes sur le mini-lot et la dimension temps/pas, de sorte que la normalisation est appliquée uniquement sur les profondeurs de vecteur. Cela signifie également que vous ne normalisez que l'entrée transformée par lot (donc dans les directions verticales, par exemple BN(W_x * x). Désolé, vous ne pouvez pas comprendre comment ajouter LaTeX ...) car les connexions horizontales (sur le temps) dépendent du temps et ne devraient pas Ne faites pas simplement la moyenne.

2
velocirabbit

Il n’est pas couramment utilisé, bien que j’ai trouvé ce document de 2017 montre un moyen d’utiliser la normalisation par lots dans les transformations entre entrées masquées et cachées d’entraîner plus rapidement et de mieux généraliser certains problèmes.

Consultez également Stack Exchange Cross Validated pour une session de questions-réponses plus orientée vers l’apprentissage automatique.

2
David Ariel

Non, vous ne pouvez pas utiliser la normalisation par lots sur un réseau de neurones récurrent. Les statistiques étant calculées par lot, la partie récurrente du réseau n'est pas prise en compte. Les poids sont partagés dans un RNN et la réponse d'activation pour chaque "boucle récurrente" peut avoir des propriétés statistiques complètement différentes.

D'autres techniques similaires à la normalisation par lots prenant en compte ces limitations ont été développées, par exemple Layer Normalization .

1
Matias Valdenegro