El descenso de gradiente y la tasa de aprendizaje

Todo sistema que aprende a partir de datos lo hace dando pequeños pasos cuesta abajo. La única pregunta real es qué tamaño debe tener cada paso. La respuesta resulta más extraña que un simple «lo más grande que te atrevas»: existe una tasa con la que llegas en un solo movimiento, y otra a partir de la cual el sistema jamás alcanza la meta.

Cargando simulación interactiva...

Lección

La teoría — El descenso de gradiente y la tasa de aprendizaje

El descenso de gradiente consiste en repetir una sola línea: sitúate en un punto, mide la pendiente y desciende en proporción a ella. x ← x − η f′(x). El tamaño de paso η no forma parte del problema en sí. La curva de pérdida viene dada y el gradiente se calcula; η es el único número que tú decides. En una función cuadrática de curvatura a, la aritmética tiene solución exacta. Por eso esta página utiliza una. Cualquier afirmación posterior sobre las tasas de aprendizaje es, en realidad, una afirmación sobre 1 − ηa.

Qué significa cada símbolo

η
la tasa de aprendizaje, lo único que tú eliges
a
la curvatura de la pérdida, que te impone el problema
Supone
Una variable, un tamaño de paso fijo y un gradiente conocido con exactitud. El entrenamiento real rompe estas tres condiciones de golpe con millones de parámetros, un tamaño de paso programado y un gradiente estimado mediante un lote pequeño. Lo único que sobrevive intacto es la frontera en 2/a. Este límite surge de la curvatura en una sola dirección, y una superficie de pérdida real posee una por cada vector propio.

El límite pertenece a la superficie, no a tu ejecución 🖖

Arrastra el punto de partida a donde quieras, hasta 10 o cruzando al otro lado del valle, y verás que 2/a no se mueve. Tampoco le importa cuántos pasos des. El umbral viene fijado únicamente por la curvatura, ya que el multiplicador de paso r = 1 − aη no contiene x₀ ni ningún recuento de pasos. Toda la ejecución consiste en multiplicar x₀ por r la cantidad de veces que hayas pedido, por lo que su reducción depende exclusivamente de r. Empezar más cerca del fondo no te da ninguna ventaja. Solo retrasa el momento en que se hace evidente el fracaso de una tasa condenada. Ajusta la curvatura a 1,6 y la tasa a 1,3, luego desplaza el punto de partida por todo su rango: la tabla indicará Diverge en cada posición, incluso en aquellas a media unidad del mínimo.

Pasarse de largo no cuesta nada por sí solo 🖖

Ajusta la curvatura a 1, lo que sitúa la tasa de un paso en η = 1. Ahora prueba con 0,9 y luego con 1,1. Ambas logran que |x| baje de 10⁻⁶ en siete pasos. Una de ellas desciende arrastrándose por una sola pared del valle. La otra salta limpiamente el fondo en cada paso y aterriza en lados alternos. Cuestan lo mismo porque el multiplicador es 1 − aη en un caso y su negativo en el otro. Un multiplicador negativo reduce un número exactamente al mismo ritmo que su gemelo positivo. Y esta simetría no es aproximada. Prueba con 0,5 y 1,5: veintidós pasos en cada caso. Así que una trayectoria en zigzag te dice de qué lado de la tasa ideal te encuentras, pero no te revela absolutamente nada sobre si has ido demasiado lejos. Para saberlo, el único número que importa es 2/a.

Por qué las tasas de aprendizaje reales se siguen adivinando 🖖

Esta página tiene una sola curvatura porque tiene una sola dimensión. Una red real tiene millones de parámetros y su superficie de pérdida se curva de forma distinta en cada dirección. Sin embargo, el razonamiento se mantiene si sustituyes a por la mayor curvatura de toda la superficie, el autovalor principal del hessiano. Una misma tasa de aprendizaje debe ser segura en todas las direcciones a la vez, así que la dirección más escarpada decide en qué momento estalla todo. La dirección más plana decide cuánto tiempo tendrás que esperar, ya que el avance por ella está gobernado por su propia curvatura minúscula. La proporción entre ambas es el número de condición, lo que explica por qué una tasa ajustada para un problema se traslada tan mal al siguiente. Nada en la pérdida te anuncia ninguno de los autovalores de antemano. Por otro lado, calcular el mayor de ellos para cien millones de parámetros no es algo que nadie haga antes de desayunar. El momento, junto con métodos por parámetro como Adam, existen para ampliar la brecha entre lo que es estable y lo que es rápido.

Problema resuelto al detalle

  1. Tu tasa de aprendizaje de 0,4 está funcionando. Encuentra la curvatura exacta en la que deja de hacerlo y describe el aspecto que tiene el fallo a ambos lados de ese punto. Empieza configurando la herramienta con η = 0,4, a = 1 y x₀ = 8, donde la fila Multiplicador de paso indica 0,6000 y la trayectoria baja tranquilamente por una pared.

    Abre este problema en la herramienta

    1. Cada pregunta de esta página es en realidad una pregunta sobre |r| < 1, donde r = 1 − aη. La tasa está fija en 0,4 y la curvatura es lo que puedes mover. Por lo tanto, escribe la condición en función de a en lugar de η.

    2. |1 − 0,4a| < 1 se despliega como −1 < 1 − 0,4a < 1, y luego en 0 < 0,4a < 2, con lo que resulta a < 5. La tasa sobrevive a cualquier curvatura inferior a 5 y a ninguna por encima de ella. Esta es la conocida η < 2/a leída al revés, como a < 2/η. Se trata de la misma desigualdad, y la segunda forma es la que responde a lo que se ha preguntado.

    3. Ajusta a = 5 exactamente y lee la tabla. r = −1,0000, y Posición tras 20 pasos imprime 8,000, el número con el que empezó. La fracción de la pérdida inicial es 1,000. Este es el límite mismo. Cada paso cae a la misma distancia del mínimo que el anterior, en el lado opuesto, por lo que la trayectoria rebota entre 8 y −8 todo el tiempo que la dejes correr.

    4. Ahora súbelo un poco a a = 5,1. r = −1,0400, y después de veinte pasos x vale 17,529 en lugar de 8. Eso es divergencia real, y vale la pena ver lo inofensiva que parece al principio: veinte pasos apenas han duplicado la distancia. Una ejecución justo a este lado del límite puede pasar por simple ruido durante mucho tiempo antes de que los números se vuelvan absurdos de forma evidente.

    5. En la dirección opuesta, a = 4,9 todavía converge. r = −0,9600, |r| es menor que 1, y la tabla dice Se pasa y converge. Pero Pasos para que |x| baje de 10⁻⁶ marca ahora 390, frente a los 32 que daba con a = 4. Ser casi estable es prácticamente inútil.

    Respuesta

    a = 5, que equivale a 2/η. Por debajo la tasa converge, ahí la pérdida nunca cambia y por encima la pérdida crece sin límite. La parte costosa es la aproximación. Cerca del límite, |r| es 1 − a·g, llamando g a la brecha 2/a − η. Por lo tanto, log|r| ≈ −a·g y el recuento de pasos es aproximadamente log(|x₀|/tolerancia) dividido por a·g. Avanza en proporción inversa a la distancia al límite: reduce la brecha a la mitad y duplicarás el trabajo. Con a = 5 desde x₀ = 8, brechas de 0,05, 0,025 y 0,0125 necesitan 56, 120 y 247 pasos. Multiplicar cada recuento por su respectiva brecha da 2,8, 3,0 y 3,1, acercándose a log(8 × 10⁶)/5 = 3,18. Por eso una tasa de aprendizaje bien ajustada nunca se sitúa en el límite de la estabilidad. Esa última franja segura antes de la frontera es también uno de los terrenos más lentos de todo el eje. La tasa más rápida de todas es la que se encuentra en el medio, en 1/a.

Ruta de aprendizaje

Ajuste de una recta a los datos

Referencias (3)