Dans l'article Batch Normalisation: Accelerating Deep Network Training b y Reducing Internal Covariate Shift ( ici ) Avant d'expliquer le processus de normalisation par lots, l'article essaie d'expliquer les problèmes liés à (je ne comprends pas quel est le problème exact abordé ici) .
extrait de l'article 2, paragraphe 2:
Nous pourrions envisager de blanchir les activations à chaque étape de la formation ou à un certain intervalle, soit en modifiant directement le réseau, soit en changeant les paramètres de l'algorithme d'optimisation en fonction des valeurs d'activation du réseau (Wiesler et al., 2014; Raiko et al., 2012 ; Povey et al., 2014; Desjardins et Kavukcuoglu). Cependant, si ces modifications sont entrecoupées des étapes d'optimisation, alors l'étape de descente de gradient peut tenter de mettre à jour les paramètres d'une manière qui nécessite la mise à jour de la normalisation, ce qui réduit l'effet de l'étape de gradient. Par exemple, considérons une couche avec l'entrée u qui ajoute le biais appris et normalise le résultat en soustrayant la moyenne de l'activation calculée sur les données d'apprentissage:où est l'ensemble des valeurs de sur l'ensemble d'apprentissage, et .
Si une étape de descente de gradient ignore la dépendance de E [x] sur b, alors elle mettra à jour , où ∆b ∝ - \ partial l / \ partial \ hat x . Alors u + (b + ∆b) - E [u + (b + ∆b)] = u + b - E [u + b] \ tag 1 .
Ainsi, la combinaison de la mise à jour de b et du changement ultérieur de normalisation n'a entraîné aucun changement dans la sortie de la couche ni, par conséquent, la perte. Au fur et à mesure de la formation, b augmentera indéfiniment tandis que la perte restera fixe. Ce problème peut s'aggraver si la normalisation non seulement centre mais met également à l'échelle les activations.
voici ma compréhension de la littérature:
Nous avons un lot de taille N (un lot de formation)
Soit deux couches cachées arbitraires connectées l'une à l'autre (L1 et L2) connectées par les paramètres et
la sortie sortant de L1 est x1
(c'est là que commence la littérature ci-dessus. la dimension de u est MxN) (M est le nombre d'unités dans L2)
(dimension b = dimension x = dimension u = MxN)
Maintenant, avant d'introduire x dans L2, nous le centrons en soustrayant la moyenne de de chaque entrée dans ( )
Nous calculons la perte et rétropropagons le gradient et mettons à jour uniquement le cette couche afin de lui donner un test d'intégrité. Nouveau =
Nous l'exécutons à nouveau sur le même lot avec mis à jour
répéter 3 et 4
(dimension b, = dimension x = dimension u = MxN)
Maintenant, avant d'introduire x dans L2, nous le centrons en soustrayant la moyenne de de chaque entrée dans ( ). qui est le même que ce qui était calculé avant la mise à jour de b et donc la mise à jour de b devait avoir un effet sur la formation
Ma question concerne cette partie de l'extrait:
"Si une étape de descente de gradient ignore la dépendance de E [x] sur b, alors elle mettra à jour , où . Alors "
Pourquoi est-ce
" " dépend de ce qui précède? Quel est même l'intérêt de ce morceau? Veuillez également noter l'utilisation du mot "Alors" (en gras) impliquant que la déclaration tire nécessairement la causalité de ce qui précède