Tenga en cuenta que la dirección opuesta al gradiente a menudo no apunta en la dirección del mínimo (véase, por ejemplo, la función Rosenbrock o la función ‘valle en forma de plátano’).
Para los métodos de gradiente estocástico (como los que menciona), es aún peor: seguir la dirección del gradiente negativo a menudo parece una caminata aleatoria a pequeña escala (imagen de los Actualizadores Deeplearning4j explicados):
- ¿Cuáles son algunas aplicaciones de aprendizaje automático para el comportamiento del usuario?
- Además del aprendizaje profundo, ¿qué otras herramientas de extracción de funciones están funcionando o son prometedoras para el aprendizaje automático?
- ¿Cuáles son algunas preguntas abiertas relacionadas con bandidos multibrazos?
- ¿Qué sucede si hacemos que la forma de una función de activación sea diferente en cada capa, permitiendo que también se aprenda su forma, si las capas superiores tienen menos unidades, haciéndolas más no lineales?
- ¿Qué biblioteca / framework AI es el mejor, OpenAI, OpenNN o TensorFlow?
Para AdaGrad , los derivados individuales se dividen por la norma L2 del historial (reciente) de derivados para un parámetro dado. La sección Wikipedia de AdaGrad señala que ” las actualizaciones extremas de parámetros se amortiguan , mientras que los parámetros que reciben pocas o pequeñas actualizaciones reciben mayores tasas de aprendizaje”.
Pascanu, Mikolov y Bengio mostraron en este artículo un ejemplo de una función de pérdida que puede conducir a gradientes ‘extremos’ (‘explosión de gradiente’):
Verá que cuando se acerca al ‘muro vertical’, el método rebota la próxima iteración bastante lejos si el gradiente no se amortigua. En este ejemplo, consideraron un modelo de unidad oculta simple y, por lo tanto, solo tienen dos parámetros para aprender. Pero, en general, tales situaciones pueden surgir para cualquier subconjunto de los parámetros a aprender .
Para Adam , las actualizaciones de parámetros tienen un término en el que el componente de gradiente se divide por un término que involucra el segundo momento del historial del gradiente.
Esto puede estar motivado por el hecho de que cuando estás cerca del mínimo y tu tasa de aprendizaje es demasiado alta , superarás el mínimo todo el tiempo (salta al mínimo). También notará que la “dispersión” en los valores de derivada (de ahí el uso del segundo momento de la historia de las derivadas) es relativamente grande en comparación con su magnitud (de hecho, cada vez que se sobrepasa el mínimo, el signo de la derivada cambia) . Intuitivamente, por lo tanto, tiene sentido dividir las actualizaciones de gradiente por la propagación en valores de gradiente recientes.
Por otro lado, cuando está lejos del mínimo y los gradientes recientes muestran la misma tendencia en la dirección (para todos o un subconjunto de parámetros), la extensión de estos es relativamente pequeña, en su mayoría coinciden en la dirección en la que paso debe ser.