Los pasos de gradiente simples tratan cada iteración por separado, así que hacen zigzag en valles estrechos y se arrastran por los planos. El momento guarda una velocidad, suma acumulada de gradientes pasados: v←βv+g, w←w−ηv. Los gradientes que apuntan igual se suman y los que cambian de signo se cancelan. Con gradiente constante la velocidad crece hacia 1/(1−β) veces el gradiente, así que β=0.9 acaba dando pasos diez veces mayores que el descenso simple.
v←βv+g,w←w−ηv,v∞=1−βg(1)
RMSProp corrige otro problema, el de los parámetros con escalas distintas. Sigue un promedio móvil s del cuadrado del gradiente de cada coordenada y divide el paso entre s, de modo que una coordenada con gradiente grande y ruidoso da pasos pequeños y una con gradiente pequeño da pasos mayores. Adam combina ambas ideas: promedia el gradiente (m, la parte de momento) y el gradiente al cuadrado (v, la parte RMSProp). Ambos promedios parten de cero, lo que los deja demasiado pequeños al principio, así que Adam divide entre 1−βt para corregir ese sesgo. Los valores habituales son β1=0.9, β2=0.999 y η=10−3.
Tres actualizaciones a manoMomento con β=0.9, η=0.1 y gradiente constante g=1: v1=1, v2=1.9, v3=2.71, así que el tercer paso mide 0.271 frente a 0.1 del descenso simple. RMSProp con ρ=0.9 y g=2: s1=0.1⋅4=0.4 y g/s1=3.16, un paso amplificado unas 3.16 veces. Adam en t=1 con g=2: m=0.2, v=0.004, luego m^=2, v^=4 y el paso es η⋅2/2=η, sea cual sea el tamaño de g.
Momento: suaviza el zigzag y acelera en direcciones consistentes.
RMSProp: divide cada coordenada entre la raíz de la media cuadrática móvil de su gradiente.
Adam: ambos, más una corrección de sesgo porque los promedios parten de cero.
Adam es un valor por defecto, no una garantíaComo el paso de Adam es de unos η por coordenada sea cual sea el tamaño del gradiente, η pasa a ser el principal mando de ajuste: si es demasiado grande la pérdida rebota, si es demasiado pequeño el entrenamiento se arrastra. Reduzca η con el tiempo en problemas ruidosos y compare con un SGD con momento bien ajustado antes de fiarse del resultado de Adam, pues ambos pueden asentarse en mínimos distintos.
Lab: qué se califica
Velocidad del momento15 pts
La amplificación a largo plazo15 pts
Promedio de RMSProp10 pts
La escala del paso de RMSProp15 pts
El primer paso de Adam15 pts
Emparejar método e idea15 pts
Por qué ayuda la escala por coordenada15 pts
0/ 7 respondidos
1Respuesta numérica15 ptsSin responder
Con β=0.9 y gradiente constante g=1, desde v0=0, ¿cuál es la velocidad v3 tras tres actualizaciones v←βv+g?
v3=aceptado: ± 0.01
2Respuesta numérica15 ptsSin responder
Con gradiente constante, la velocidad tiende a g/(1−β). ¿Por qué factor acaba multiplicando β=0.9 el paso respecto del descenso simple?
amp=aceptado: ± 0.05
3Respuesta numérica10 ptsSin responder
RMSProp con ρ=0.9, desde s0=0, ve el gradiente g=2. ¿Cuánto vale s1=ρs0+(1−ρ)g2?
s1=aceptado: ± 0.005
4Respuesta numérica15 ptsSin responder
El paso de RMSProp es ηg/s1. Para g=2 y s1=0.4, ¿cuánto vale g/s1? Dé dos decimales.
scale=aceptado: ± 0.02
5Respuesta numérica15 ptsSin responder
Adam en t=1 con β1=0.9, β2=0.999 y g=2 tiene m=0.2 y v=0.004. Tras la corrección de sesgo su paso es ηm^/v^. ¿Cuántas veces η se mueve?
adam1=aceptado: ± 0.01
6Emparejar15 ptsSin responder
Empareje cada método con su idea principal.
Elige la pareja de cada elemento de la izquierda.
Momento
RMSProp
Adam
Corrección de sesgo
7Explicar con palabras15 ptsSin responder
En una o dos frases, diga por qué dividir el paso de cada coordenada entre el tamaño de sus gradientes recientes ayuda cuando los parámetros tienen escalas muy distintas.
Modo matemáticasEntrada por teclado o LaTeXEjercicio 1 de 7 · Ctrl ⏎ para comprobar