Comment et pourquoi la normalisation par lots utilise-t-elle des moyennes mobiles pour suivre la précision du modèle pendant son entraînement?

21

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

Pinocchio
la source
Êtes-vous satisfait de la réponse votée? Ce n'est pas du tout une "réponse", si vous me demandez; si elle est toujours pertinente, je peux fournir une meilleure réponse.
OverLordGoldDragon
@OverLordGoldDragon fournit votre propre réponse :)
Pinocchio

Réponses:

8

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 .

  1. Dans la formation, nous devons calculer la moyenne du mini-lot afin de normaliser le lot

  2. 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

running_mean = momentum * running_mean + (1 - momentum) * sample_mean
running_var = momentum * running_var + (1 - momentum) * sample_var
Shamane Siriwardhana
la source
Cela ne répond absolument pas à la question; "pourquoi" et "comment" a été demandé, et un "quoi" superficiel a été donné. Cela ne devrait pas être voté.
OverLordGoldDragon
1

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

À l'aide de moyennes mobiles, nous suivons la précision du modèle au fur et à mesure de son entraînement.

rien à voir avec l'utilisation littérale des moyens de fonctionnement comme mesure des performances du réseau neuronal.

seanv507
la source