Los métodos de segundo orden no miran solo la pendiente de la pérdida, sino también su curvatura. El descenso de gradiente clásico usa la primera derivada para saber hacia dónde bajar; los métodos de segundo orden añaden la segunda derivada, recogida en una matriz llamada hessiana, para saber además cuánto avanzar. El método de Newton es el representante puro de esta familia, y su fórmula $\mathbf{w} \leftarrow \mathbf{w}-\mathbf{H}^{-1}\nabla L$ promete una convergencia muchísimo más rápida. El problema es el precio. Esta guía explica la idea, por qué resulta impracticable en redes grandes y qué aproximaciones la rescatan. La misma explicación está disponible en inglés.

Fórmula clave $\mathbf{w} \leftarrow \mathbf{w}-\mathbf{H}^{-1}\nabla L$

Puntos clave

  • El método de Newton actualiza los pesos con $\mathbf{w} \leftarrow \mathbf{w}-\mathbf{H}^{-1}\nabla L$, donde $\mathbf{H}$ es la hessiana y $\nabla L$ el gradiente de la pérdida.
  • La hessiana es la matriz de todas las segundas derivadas: para una red con $n$ parámetros tiene $n\times n$ entradas.
  • Cerca de un mínimo, Newton converge de forma cuadrática, mucho más rápido que el descenso de gradiente, que avanza de forma lineal.
  • Construir e invertir la hessiana cuesta del orden de $n^3$ operaciones, inviable cuando $n$ son miles de millones de pesos.
  • Las aproximaciones cuasi-Newton como L-BFGS y los métodos de curvatura como K-FAC capturan parte de esa información a un coste asumible.

La información de segundo orden (la hessiana)

El gradiente $\nabla L$ responde a una pregunta: en qué dirección crece la pérdida más deprisa. Es información de primer orden, la pendiente. Pero una pendiente no dice si el terreno se curva suavemente o cae en picado, y esa curvatura es justo lo que decide cuánto conviene avanzar. Ahí entra la segunda derivada.

Cuando la pérdida depende de muchos pesos, no hay una sola segunda derivada, sino una para cada par de parámetros. Todas ellas se ordenan en la hessiana, una matriz cuadrada $\mathbf{H}$ donde la entrada de la fila $i$ y la columna $j$ es la derivada parcial de $L$ primero respecto al peso $i$ y luego respecto al peso $j$. La Wikipedia[1] la define con precisión como la matriz de las segundas derivadas parciales de una función escalar.

La hessiana amplía las ideas de las derivadas parciales y el gradiente: si el gradiente es un vector con $n$ componentes, la hessiana es una tabla de $n\times n$ números. Sus valores describen la forma local de la superficie de pérdida: si es un valle estrecho, un valle ancho o un punto de silla. Cuando la hessiana es definida positiva, la superficie se curva hacia arriba en todas las direcciones y estamos cerca de un mínimo.

El método de Newton

El método de Newton nace de una idea sencilla: aproximar la pérdida alrededor del punto actual por una parábola (un modelo cuadrático) y saltar directamente a su mínimo. Esa parábola usa el gradiente para la pendiente y la hessiana para la curvatura. Resolver dónde está su mínimo da la fórmula de la portada:

$$\mathbf{w} \leftarrow \mathbf{w}-\mathbf{H}^{-1}\nabla L$$

Ver la derivación

Aproximamos la pérdida cerca del punto actual con el desarrollo de Taylor de segundo orden $L(\mathbf{w}+\Delta)\approx L(\mathbf{w})+\nabla L^{\top}\Delta+\tfrac{1}{2}\Delta^{\top}\mathbf{H}\Delta$. Para encontrar el mínimo de esa parábola derivamos respecto al paso $\Delta$ y lo igualamos a cero: $\nabla L+\mathbf{H}\Delta=\mathbf{0}$. Despejando obtenemos $\Delta=-\mathbf{H}^{-1}\nabla L$, es decir la actualización $\mathbf{w} \leftarrow \mathbf{w}-\mathbf{H}^{-1}\nabla L$.

Comparado con el descenso de gradiente, $\mathbf{w} \leftarrow \mathbf{w}-\eta\nabla L$, el cambio es revelador: la tasa de aprendizaje $\eta$, un número fijo que elegimos a mano, se sustituye por $\mathbf{H}^{-1}$, la inversa de la hessiana. En lugar de dar el mismo paso en todas las direcciones, Newton estira o encoge el paso según la curvatura de cada eje. En un valle alargado, donde el descenso de gradiente zigzaguea, Newton apunta casi directamente al fondo.

La recompensa es la velocidad. Cerca de un mínimo, el método de Newton converge de forma cuadrática: el número de decimales correctos se duplica en cada iteración. El descenso de gradiente, en cambio, avanza de forma lineal. Por eso, con un buen punto de partida, Newton alcanza en pocas iteraciones una precisión que al gradiente le costaría cientos.

La inversa de la hessiana solo apunta hacia abajo si $\mathbf{H}$ es definida positiva, es decir, si la superficie se curva hacia arriba en todas las direcciones. Cuando hay curvatura negativa, el paso de Newton deja de ser un descenso y hay que corregirlo con regularización o amortiguación.

Esa promesa tiene una letra pequeña importante. Como advierten Goodfellow, Bengio y Courville en «Deep Learning», «el método de Newton solo es apropiado cuando el hessiano cercano es definido positivo». Si la hessiana tiene curvatura negativa, algo habitual en los puntos de silla de la superficie de pérdida, Newton puede saltar hacia arriba en lugar de bajar.

Por qué es caro en deep learning

Aquí es donde la teoría choca con la práctica. La hessiana de una red con $n$ parámetros tiene $n\times n$ entradas, y ese cuadrado escala fatal. Una red modesta con 1.000.000 de parámetros tendría una hessiana con 1.000.000.000.000 de números: guardarla en memoria ya es imposible, mucho antes de tocarla.

El problema no acaba en el almacenamiento. El método de Newton necesita $\mathbf{H}^{-1}$, y calcular la inversa de una matriz $n\times n$ cuesta del orden de $n^3$ operaciones. Aunque en la práctica no se invierte la matriz, sino que se resuelve un sistema lineal, el coste sigue siendo cúbico. Ese factor $n^3$ es el que hace que Newton sea espléndido para problemas con cientos de variables e impensable para modelos con millones o miles de millones.

Basta un ejemplo para ver la escala del muro. GPT-3 tiene 175.000 millones de parámetros. Su hessiana completa tendría del orden de $3\times10^{22}$ entradas, una cifra sin ningún sentido físico: no cabe en todos los discos duros del planeta juntos. Por eso el aprendizaje profundo se entrena casi siempre con métodos de primer orden como el descenso de gradiente y sus variantes, que solo necesitan el gradiente.

Hay un obstáculo añadido: el ruido. En deep learning la pérdida se estima sobre minilotes de datos, así que tanto el gradiente como la hessiana son estimaciones ruidosas. Una hessiana ruidosa e indefinida puede empujar el paso de Newton en la dirección equivocada, como resume el capítulo de optimización de Deep Learning[2].

Aproximaciones cuasi-Newton (L-BFGS) y K-FAC

Si la hessiana exacta es intocable, la salida es aproximarla. Los métodos cuasi-Newton construyen una estimación de $\mathbf{H}^{-1}$ a partir de los gradientes que ya se calculan en cada paso, sin formar la matriz. El más conocido es BFGS, de 1970, que mantiene una aproximación densa de la inversa y la mejora en cada iteración.

BFGS sigue guardando una matriz $n\times n$, así que para redes grandes se usa su versión de memoria limitada, L-BFGS. En lugar de la matriz completa, L-BFGS guarda solo entre 5 y 20 vectores del historial reciente de gradientes y posiciones, y con ellos reconstruye el efecto de $\mathbf{H}^{-1}$ sobre el gradiente. El coste por paso baja a algo proporcional a $n$, no a $n^2$. L-BFGS funciona muy bien cuando el gradiente es preciso (por ejemplo en lote completo), pero sufre con el ruido de los minilotes, según describe la propia Wikipedia sobre L-BFGS[3].

Para redes neuronales profundas la propuesta más influyente es K-FAC (Kronecker-Factored Approximate Curvature), presentado por James Martens y Roger Grosse en 2015. K-FAC no aproxima toda la hessiana, sino la matriz de información de Fisher, y supone que se puede factorizar por bloques como un producto de Kronecker de dos matrices pequeñas por capa. Ese truco convierte una inversión gigante en varias inversiones diminutas, y captura la curvatura entre pesos de una misma capa a un coste asumible. El artículo original está disponible en arXiv[4].

Ambas ideas comparten filosofía con el libro Mathematics for Machine Learning[5]: usar estructura para no pagar el precio completo del cálculo exacto.

Cuándo se usan

En el entrenamiento habitual de redes profundas, los métodos de segundo orden puros casi no aparecen. El campo se apoya en optimizadores de primer orden con curvatura implícita, como Adam, que adaptan el paso por parámetro usando estadísticas del gradiente sin construir ninguna hessiana. Son mucho más baratos y toleran mejor el ruido de los minilotes.

Aun así, la información de segundo orden tiene sus nichos. L-BFGS es una opción sólida cuando el problema es de tamaño moderado y el gradiente se calcula sobre todos los datos, algo frecuente en ajuste de modelos clásicos, en física computacional o en la reconstrucción de imágenes. K-FAC y sus descendientes se investigan para acelerar el entrenamiento de redes grandes y para el aprendizaje por refuerzo, donde una dirección de paso mejor compensa el cálculo extra.

La regla práctica es esta: si tienes millones de parámetros y datos ruidosos, empieza por un método de primer orden bien ajustado. Reserva los métodos de segundo orden para cuando la curvatura del problema sea el verdadero cuello de botella y puedas permitirte estimarla.

Preguntas frecuentes

¿En qué se diferencia el método de Newton del descenso de gradiente?

El descenso de gradiente usa solo la primera derivada y avanza con un paso fijo $\eta$ igual en todas las direcciones. El método de Newton añade la segunda derivada a través de la hessiana y ajusta el paso a la curvatura de cada dirección, sustituyendo $\eta$ por $\mathbf{H}^{-1}$. A cambio de convergir mucho más rápido cerca de un mínimo, paga un coste por iteración muy superior.

¿Por qué no se usa el método de Newton para entrenar redes neuronales grandes?

Porque la hessiana de una red con $n$ parámetros tiene $n\times n$ entradas e invertirla cuesta del orden de $n^3$ operaciones. Con millones o miles de millones de pesos, ni siquiera cabe en memoria. Además, la hessiana estimada sobre minilotes es ruidosa y puede no ser definida positiva, lo que enviaría el paso en la dirección equivocada.

¿Qué relación tienen L-BFGS y K-FAC con el método de Newton?

Ambos son aproximaciones. L-BFGS reconstruye el efecto de la inversa de la hessiana usando entre 5 y 20 vectores de gradientes pasados, con un coste proporcional a $n$. K-FAC aproxima la curvatura por bloques mediante productos de Kronecker por capa. Los dos buscan una parte del beneficio de Newton sin pagar el coste cúbico de la hessiana completa.

Conclusión

Los métodos de segundo orden aportan lo que le falta al gradiente: una idea de la curvatura de la pérdida. El método de Newton lleva esa idea al extremo con la fórmula $\mathbf{w} \leftarrow \mathbf{w}-\mathbf{H}^{-1}\nabla L$ y una convergencia cuadrática cerca del mínimo, pero el coste $n^3$ de la hessiana lo expulsa del entrenamiento a gran escala. Las aproximaciones cuasi-Newton y de curvatura, como L-BFGS y K-FAC, recuperan parte de esa información a un precio razonable. El siguiente paso natural es situar estas piezas dentro del mapa de las matemáticas de las redes neuronales.

Fuentes

  1. Wikipedia
  2. Deep Learning
  3. Wikipedia sobre L-BFGS
  4. arXiv
  5. Mathematics for Machine Learning

Ruta: Optimización avanzada de redes neuronales