¿Cómo modifica una red neuronal su peso sin entrar en un efecto de ping-pong? La función de modificación de peso se basa en el error (l * e * o [1, 2]), por lo que los valores de error altos dan modificaciones de peso drásticas.

Esa es una buena pregunta, y una implementación ingenua del descenso de gradiente simple podría sufrir este tipo de efecto. Por lo tanto, una cosa que hacemos es introducir un parámetro de tasa de aprendizaje en nuestro procedimiento de capacitación. Este parámetro controla el tamaño del paso que daremos en la dirección del gradiente en cada iteración. El paso de entrenamiento se define como:

[matemáticas] \ theta ^ {(t)} = \ theta ^ {(t-1)} + \ eta ^ {(t)} \ nabla E (\ theta ^ {(t-1)}) [/ math]

donde [math] \ theta [/ math] son ​​los pesos de la red, [math] \ eta ^ {(t)} [/ math] es la tasa de aprendizaje en la iteración [math] t [/ math] y [math] E ( \ theta) [/ math] es nuestra función de optimización.

Es útil pensar en el equilibrio definido por nuestro parámetro de tasa de aprendizaje: si lo configuramos para que sea demasiado grande, sobrepasaremos el óptimo local y oscilaremos de un lado de la superficie de error al siguiente, y podríamos divergir. Por otro lado, establezca nuestro parámetro demasiado pequeño y nuestro procedimiento de entrenamiento puede tomar pasos innecesariamente pequeños y tomar demasiado tiempo para converger. Estas dos situaciones se ilustran en la siguiente visualización.

La solución a esto es introducir tasas de aprendizaje adaptativo. Estos son algoritmos que introducen variaciones en el descenso de gradiente (estocástico) que buscan automáticamente los tamaños de paso óptimos. Existe una vasta literatura sobre tales algoritmos, y han estado desempeñando un papel importante en los avances recientes en el aprendizaje profundo, así como en otras áreas de ML que necesitan optimizar funciones complejas (inferencia variacional [1], Bayes-by-backprop [2] , etc ‘). Algunos algoritmos muy potentes y populares son (sin ningún orden en particular) Adagrad [3], Adam [4], RMSprop [5] y Adadelta [6].

[1] – [1206.7051] Inferencia variacional estocástica

[2] – [1505.05424] Incertidumbre de peso en redes neuronales

[3] – http://www.jmlr.org/papers/v12/d…

[4] – Un método para la optimización estocástica

[5] – Lectura 6.5-rmsprop : Divide el gradiente por un promedio de su magnitud reciente (curso de Hinton Coursera)

[6] – Un método de tasa de aprendizaje adaptativo