Je lisais le papier de normalisation par lots (BN) (1) et je ne comprenais pas la nécessité d'utiliser des moyennes mobiles pour suivre la précision du modèle et même si j'acceptais que c'était la bonne chose à faire, je ne comprends pas ce qu'ils font exactement.
À ma connaissance (ce qui peut être faux), le document mentionne qu'il utilise les statistiques de population plutôt que les mini-lots, statistiques une fois que le modèle a terminé sa formation. Après avoir discuté d'estimations impartiales (cela me semble tangentiel et je ne comprends pas pourquoi cela en parle), ils vont dire:
En utilisant des moyennes mobiles à la place, nous suivons la précision du modèle pendant son entraînement.
C'est la partie qui m'embrouille. Pourquoi font-ils des moyennes mobiles pour estimer la précision du modèle et sur quel ensemble de données?
Habituellement, ce que les gens font pour estimer la généralisation de leur modèle, ils ne font que suivre l'erreur de validation de leur modèle (et éventuellement arrêter tôt leur descente de gradient pour se régulariser). Cependant, il semble que la normalisation par lots fasse quelque chose de complètement différent. Quelqu'un peut-il clarifier quoi et pourquoi il fait quelque chose de différent?
1 : Ioffe S. et Szegedy C. (2015),
«Batch Normalisation: Accelerating Deep Network Training by Reducing Internal Covariate Shift»,
Actes de la 32e Conférence internationale sur l'apprentissage automatique , Lille, France, 2015.
Journal of Machine Learning Research: W&CP volume 37
la source
Réponses:
Lorsque vous utilisez batch_normalization, la première chose que nous devons comprendre est que cela fonctionne de deux manières différentes lors de la formation et des tests .
Dans la formation, nous devons calculer la moyenne du mini-lot afin de normaliser le lot
Dans l'inférence, nous appliquons simplement des statistiques de mini-lots pré-calculées
Donc, dans la 2ème chose, comment calculer cette mini statique de lot
Voici la moyenne mobile
la source
Ils parlent de normalisation des lots, qu'ils ont décrits pour la procédure de formation mais pas pour l'inférence.
Il s'agit d'un processus de normalisation des unités cachées à l'aide de moyens d'échantillonnage, etc.
Dans cette section, ils expliquent ce qu'il faut faire pour l'étape d'inférence, lorsque vous faites simplement des prédictions (c'est-à-dire une fois la formation terminée).
Cependant, dans la validation arrêtée, vous entrelacez la prédiction sur l'ensemble de validation avec la formation pour estimer votre erreur de validation.
Ainsi, pendant ce processus, vous n'avez pas de moyenne de population (les moyennes changent toujours au fur et à mesure que vous vous entraînez), vous utilisez donc une moyenne mobile pour calculer les paramètres de norme de lot pour calculer les performances sur l'ensemble de validation.
C’est en ce sens que
rien à voir avec l'utilisation littérale des moyens de fonctionnement comme mesure des performances du réseau neuronal.
la source