Actualmente estoy un poco desconcertado por cómo el descenso de gradiente de mini lotes puede quedar atrapado en un punto de silla de montar.
La solución puede ser demasiado trivial que no la entiendo.
Obtiene una nueva muestra cada época, y calcula un nuevo error basado en un nuevo lote, por lo que la función de costo es solo estática para cada lote, lo que significa que el gradiente también debería cambiar para cada mini lote ... pero de acuerdo con esto debería una implementación de vainilla tiene problemas con los puntos de silla?
Otro desafío clave de minimizar las funciones de error altamente no convexas comunes para las redes neuronales es evitar quedar atrapado en sus numerosos mínimos locales subóptimos. Dauphin y col. [19] argumentan que la dificultad surge, de hecho, no de mínimos locales sino de puntos de silla de montar, es decir, puntos donde una dimensión se inclina hacia arriba y otra se inclina hacia abajo. Estos puntos de silla generalmente están rodeados por una meseta del mismo error, lo que hace que sea muy difícil para SGD escapar, ya que el gradiente está cerca de cero en todas las dimensiones.
Quiero decir que especialmente el SGD tendría una clara ventaja frente a los puntos de silla de montar, ya que fluctúa hacia su convergencia ... Las fluctuaciones y el muestreo aleatorio, y la función de costo que es diferente para cada época deberían ser razones suficientes para no quedar atrapado en una.
Para el gradiente de lote completo decente, tiene sentido que pueda quedar atrapado en el punto de silla de montar, ya que la función de error es constante.
Estoy un poco confundido en las otras dos partes.
fuente
Respuestas:
Echa un vistazo a la imagen a continuación de Off Convex . En una función convexa (imagen situada más a la izquierda), solo hay un mínimo local, que también es el mínimo global. Pero en una función no convexa (imagen de la derecha), puede haber múltiples mínimos locales y, a menudo, unir dos mínimos locales es un punto de silla de montar. Si se aproxima desde un punto más alto, el gradiente es relativamente más plano y corre el riesgo de quedarse atascado allí, especialmente si se mueve solo en una dirección.
Ahora la cuestión es si está optimizando el uso de mini-loteo descenso de gradiente estocástico, la función subyacente no convexa es la misma, y el gradiente es una propiedad de esta función. Cuando se hace un mini lote, considera muchas muestras a la vez y toma el paso de gradiente promediado sobre todas ellas. Esto reduce la varianza. Pero si la dirección de gradiente promedio sigue apuntando en la misma dirección que el punto de silla de montar, entonces aún corre el riesgo de quedarse atascado allí. La analogía es que si estás dando 2 pasos hacia adelante y 1 paso atrás, promediando esos, finalmente terminas dando 1 paso hacia adelante. Si en su lugar realiza SGD, sigue todos los pasos uno tras otro, pero si todavía se mueve en una sola dirección, puede alcanzar el punto de silla de montar y descubrir que el gradiente en todos los lados es bastante plano y el tamaño del paso es demasiado pequeño para pasar por esta parte plana. Esto no
Echa un vistazo a la visualización aquí . Incluso con SGD, si las fluctuaciones ocurren solo a lo largo de una dimensión, con los pasos cada vez más pequeños, convergerían en el punto de apoyo. En este caso, el método de mini lotes simplemente reduciría la cantidad de fluctuación pero no podría cambiar la dirección del gradiente.
SGD a veces puede salir de simples puntos de silla de montar, si las fluctuaciones son a lo largo de otras direcciones, y si el tamaño del escalón es lo suficientemente grande como para superar la planitud. Pero a veces las regiones de silla pueden ser bastante complejas, como en la imagen a continuación.
La forma en que métodos como momentum, ADAGRAD, Adam, etc. pueden salir de esto, es considerando los gradientes pasados. Considera el impulso,
fuente
No debería.
[ 1 ] ha demostrado que el descenso de gradiente con una inicialización aleatoria y un tamaño de paso constante apropiado no convergen en un punto de silla de montar. Es una discusión larga pero para darle una idea de por qué vea el siguiente ejemplo:
fuente
Si va al documento al que se hace referencia (también muestran de forma emperica cómo su enfoque sin silla de montar realmente mejora con el SGD de mini lotes), afirman:
También notan la presencia de "mesetas" cerca de los puntos de la silla de montar (en otras palabras, la silla de montar no es empinada); en estos casos, dar pasos demasiado pequeños podría resultar en una convergencia prematura antes de haber escapado de la región de la silla de montar. Como se trata de una optimización no convexa, la convergencia de la tasa de aprendizaje empeoraría esto.
Parece posible que uno pueda probar un enfoque iterativo, donde uno reinicia el SGD de mini-lote una vez que se completa (es decir, restableciendo la tasa de aprendizaje) para ver si uno puede escapar de la región problemática.
fuente
Creo que el problema es que al acercarse a un punto de silla de montar ingresa a una meseta, es decir, un área con gradientes bajos (en valor absoluto). Especialmente cuando te acercas desde la cresta. Entonces su algoritmo disminuye el tamaño del paso. Con un tamaño de paso reducido, ahora todos los gradientes (en todas las direcciones) tienen un valor absoluto pequeño. Entonces el algoritmo se detiene, pensando que es el mínimo.
Si no disminuye los pasos, saltará por encima del mínimo y los perderá mucho. Debe disminuir el tamaño del paso de alguna manera.
fuente