comprender la normalización de lotes


8

En el documento Normalización de lotes: aceleración de la capacitación en redes profundas mediante la reducción del cambio de covariable interno ( aquí ) Antes de explicar el proceso de normalización de lotes, el documento intenta explicar los problemas relacionados con (no entiendo cuál es el problema exacto que se aborda aquí) .

Extracto de la sección 2, párrafo 2:

Podríamos considerar las activaciones de blanqueamiento en cada paso del entrenamiento o en algún intervalo, ya sea modificando la red directamente o cambiando los parámetros del algoritmo de optimización para depender de los valores de activación de la red (Wiesler et al., 2014; Raiko et al., 2012 ; Povey et al., 2014; Desjardins & Kavukcuoglu). Sin embargo, si estas modificaciones se intercalan con los pasos de optimización, entonces el paso de descenso de gradiente puede intentar actualizar los parámetros de una manera que requiera que se actualice la normalización, lo que reduce el efecto del paso de gradiente. Por ejemplo, considere una capa con la entrada u que agrega el sesgo aprendido , y normaliza el resultado restando la media de la activación calculada sobre los datos de entrenamiento:bx^=xE[x]donde es el conjunto de valores de sobre el conjunto de entrenamiento, y .x=u+b,X=x1...NxE[x]=1N(i=1nxi)

Si un paso de descenso de gradiente ignora la dependencia de E [x] en b, actualizará , donde ∆b ​​∝ - \ partial l / \ partial \ hat x . Entonces u + (b + ∆b) - E [u + (b + ∆b)] = u + b - E [u + b] \ tag 1 .bb+bbl/x^

(1)u+(b+b)E[u+(b+b)]=u+bE[u+b]

Por lo tanto, la combinación de la actualización a by el cambio posterior en la normalización no condujo a ningún cambio en la salida de la capa ni, en consecuencia, a la pérdida. A medida que el entrenamiento continúa, b crecerá indefinidamente mientras la pérdida permanece fija. Este problema puede empeorar si la normalización no solo se centra sino que también escala las activaciones.

Aquí está mi comprensión de la literatura:

  1. Tenemos un lote de tamaño N (un lote de entrenamiento)

  2. Deje que haya dos capas ocultas arbitrarias conectadas entre sí (L1 y L2) conectadas por los parámetros yWb

  3. la salida que sale de L1 es x1

  4. u=x1W (aquí es donde comienza la literatura anterior. la dimensión de u es MxN) (M es el número de unidades en L2)

  5. x=u+b (dimensión b = dimensión x = dimensión u = MxN)

  6. Ahora, antes de alimentar x en L2, lo centramos restando la media de de cada entrada en ( )xxx^=xE[x]

  7. Calculamos la pérdida y retropropagamos el gradiente y actualizamos solo la capa esta capa para darle una prueba de cordura. Nuevo =bbb+Δb

  8. Lo ejecutamos nuevamente en el mismo lote con actualizadob

  9. repetir 3 y 4

  10. xnew=u+b+Δb (dimensión b, = dimensión x = dimensión u = MxN)Δb

  11. Ahora, antes de alimentar x en L2, lo centramos restando la media de de cada entrada en ( ). que es lo mismo que se calculó antes de actualizar b y, por lo tanto, la actualización b tuvo que afectar la capacitaciónxxx^=x+ΔbE[x+Δb]=xE[x]

Mi pregunta es con esta parte del extracto:

"Si un paso de descenso de gradiente ignora la dependencia de E [x] en b, entonces actualizará , donde . Entonces ".bb+bbl/x^

(1)u+(b+b)E[u+(b+b)]=u+bE[u+b]

Por que es

" ". depende de lo que viene antes? ¿Cuál es el punto de ese bit? Tenga en cuenta también el uso de la palabra "Entonces" (en negrita) que implica que la declaración necesariamente extrae causalidad de lo que precede

(1)u+(b+b)E[u+(b+b)]=u+bE[u+b]

Respuestas:


3

Supongamos que está tratando de minimizar la siguiente pérdida para una tarea determinada, dondees la distancia euclediana, y la salida prevista es por simplicidad. Los gradientes se pueden calcular de la siguiente manera:

(y,y^)=12yy^2,
y^=x^

Δb=x^x^b,Δω=x^x^ω

Ahora, el gradiente de con respecto al sesgo esx^b

x^b=b(xE[x])=b((u+b)E[(u+b)])=1bE[(u+b)]

Ignorar el hecho de que depende de hace que el gradiente anterior sea igual a 1 y, por lo tanto, sigue actualizando el sesgo de la siguiente manera:E(x)b

x^b=1bE[x]=10=1
y luego

Δb=x^(1),bb+Δb

De lo contrario, si desea considerar esta dependencia, el gradiente se convierte en 0 y, por lo tanto, no se actualiza de la siguiente manera:

x^b=1bE[u+b]=1(bE[u]+bE[b])=1(0+1)=0
y luego
Δb=x^(0),bb+0

En ambos casos, independientemente de la actualización de sesgo, la función de pérdida permanecerá fija,

u+(b+Δb)E[u+(b+b)]=u+bE[u+b],

sin embargo, en el primer caso, el sesgo crecerá indefinidamente.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.