Descenso de gradiente, gradiente conjugado y Adam/AdamW resuelven, en el fondo, la misma pregunta:¿en qué dirección y con qué tamaño de paso muevo θ?Aquí están las tres derivaciones completas, una tras otra, y al final una comparación directa de las tres.

Parte I

Descenso de Gradiente

La regla parece trivial hasta que se escribe como un sistema dinámico lineal: entonces su velocidad de convergencia deja de ser un misterio y se convierte en una pregunta sobre los autovalores de una matriz.

SímboloSignificado
Vector de parámetros en el paso
Matriz de diseño y objetivos, ejemplos
Hessiana de la pérdida cuadrática (constante)
Autovalores de
Número de condición de
Tasa de aprendizaje
Error respecto al mínimo

01. Planteamiento general

Los parámetros viven en un vector, la pérdida es un escalar, y el gradiente apunta en la dirección de mayor crecimiento. El descenso de gradiente clásico —también llamado batch, porque usa el conjunto de entrenamiento completo en cada paso— simplemente retrocede en esa dirección:

Sin más estructura, esta regla no dice nada sobre cuántos pasos hacen falta ni qué tan grande puede ser . Para responder eso hace falta un caso donde la pérdida tenga forma matricial explícita.

02. El caso cuadrático: mínimos cuadrados

El ejemplo clásico —regresión lineal— da a la pérdida una forma completamente matricial. Con matriz de diseño y objetivos :

Su gradiente y su Hessiana se obtienen derivando esa norma:

A es constante: no depende de θ. Es la razón por la que este caso se resuelve exactamente.

03. La iteración como sistema dinámico lineal

Sustituyendo el gradiente en la regla de actualización, y restando el minimizador (que satisface ), toda la trayectoria queda descrita por una recurrencia lineal sobre el error:

La convergencia del descenso de gradiente en este caso se reduce, literalmente, a estudiar las potencias de una matriz.

04. Diagonalizando la convergencia

Como es simétrica semidefinida positiva, se diagonaliza en una base ortonormal: , con . Cambiando a esa base, , la recurrencia se desacopla en ecuaciones escalares independientes:

Cada dirección propia de converge a su propio ritmo geométrico , totalmente ajeno a las demás direcciones. Las direcciones con grande colapsan casi de inmediato; las de pequeño apenas se mueven.

05. La condición de convergencia y el número de condición

Para que todas las direcciones converjan hace falta simultáneamente, lo que fija el rango válido de la tasa de aprendizaje a partir del autovalor más grande:

Por qué importa

queda acotado por la dirección más curvada (), pero la velocidad real de convergencia la dicta la dirección más plana (). Cuando el cociente —el número de condición— es grande, el paso que la dirección curvada tolera es demasiado pequeño para que la dirección plana avance rápido: de ahí el zig-zag característico del descenso de gradiente en valles alargados.

06. Tasa óptima y comparación con Newton y Adam

Minimizando el peor ritmo de convergencia entre las dos direcciones extremas se obtiene la tasa óptima para el caso cuadrático, y con ella la tasa de contracción que realmente se alcanza:

κ = 1 (bien condicionado) → ρ* = 0, converge en un paso · κ ≫ 1 → ρ* ≈ 1, convergencia muy lenta

Todo esto es consecuencia de que el descenso de gradiente precondiciona con la identidad — no corrige la geometría de en absoluto.

07. Descenso de gradiente, paso a paso

Con el conjunto de entrenamiento completo, en cada iteración t = 0, 1, 2, …

  1. Calcular el gradiente sobre todos los N ejemplos:
  2. Dar el paso:
  3. Detener cuando , o tras un número fijo de iteraciones

Precondicionador (ninguno)

Tasa (caso cuadrático)

Coste extra / pasoNinguno

Parte II

Gradiente Conjugado

El descenso de gradiente zigzaguea porque reutiliza la misma noción de “perpendicular” en cada paso. El gradiente conjugado cambia la métrica: exige que cada nueva dirección sea perpendicular según A a todas las anteriores, y con eso resuelve el sistema cuadrático en a lo sumo pasos exactos.

SímboloSignificado
Matriz simétrica definida positiva (la Hessiana de )
Residuo — coincide con
Dirección de búsqueda en el paso
Longitud de paso óptima (búsqueda de línea exacta)
Coeficiente de conjugación entre direcciones sucesivas
Producto interno inducido por
Número de condición de

01. El mismo problema cuadrático

Se parte de la misma forma cuadrática del descenso de gradiente clásico: minimizar equivale a resolver el sistema lineal .

La diferencia con el descenso de gradiente no está en el problema, sino en cómo se eligen las direcciones de bajada.

02. El límite del descenso de gradiente: una sola métrica

El descenso de gradiente siempre baja en la dirección , la más pronunciada según la métrica euclídea. El problema es que esa dirección puede deshacer parte del avance logrado en pasos anteriores cuando el paisaje está mal condicionado — es exactamente el zig-zag que aparece cuando es grande. Lo que hace falta es una noción de “perpendicular” que respete la curvatura de , no la del espacio euclídeo.

03. Por qué basta con direcciones A-conjugadas

Si se dispone de direcciones mutuamente A-conjugadas que generan , la forma cuadrática se desacopla exactamente igual que en la base de autovectores de la Parte I — solo que ahora la base no necesita diagonalizar explícitamente. Minimizar a lo largo de cada dirección, una vez y con paso exacto, basta para llegar al mínimo global.

Optimalidad de Krylov

El gradiente conjugado construye esas direcciones sobre la marcha, dentro del espacio de Krylov . Se puede demostrar que minimiza sobre todo — no solo sobre la última dirección — sin necesidad de guardar ni recalcular las direcciones anteriores.

04. La recurrencia de tres términos

Lo notable es que mantener esa propiedad de conjugación cuesta casi nada: basta una recurrencia corta, sin necesidad de ortogonalizar explícitamente contra todo el historial.

Solo se necesita guardar θ_t, r_t y p_t — nunca A⁻¹ ni una base completa

La demostración de que esto genera residuos mutuamente ortogonales () y direcciones mutuamente A-conjugadas (, para ) es puramente algebraica: es una consecuencia de que cada nuevo residuo ya vive en un espacio de Krylov una dimensión más grande que el anterior.

05. Convergencia: exacta y, en la práctica, rápida

Como solo admite direcciones mutuamente A-conjugadas, el método debe terminar en, como mucho, pasos en aritmética exacta:

ó

Pero el resultado que de verdad importa en la práctica es la cota de convergencia antes de llegar a ese límite, expresada también en función de :

Por qué importa

El descenso de gradiente converge a ritmo ; el gradiente conjugado, a ritmo . Para un problema con , eso es la diferencia entre una tasa de contracción de ≈0.98 y una de ≈0.82 por paso — el gradiente conjugado hereda el mismo problema de condicionamiento, pero lo sufre a través de , no de .

06. Precondicionamiento: el puente hacia Newton

El gradiente conjugado nunca forma ni invierte —solo necesita productos , tan baratos como un gradiente— y aun así hereda buena parte de la velocidad de Newton. Si además se dispone de una matriz fácil de invertir, el gradiente conjugado precondicionado (PCG) sustituye por , acercándose aún más al caso ideal sin pagar el costo de .

07. Gradiente conjugado, paso a paso

Inicializando θ₀, r₀ = b − Aθ₀, p₀ = r₀

  1. Calcular el paso óptimo:
  2. Avanzar la solución:
  3. Actualizar el residuo:
  4. Si es suficientemente pequeño, detener
  5. Calcular el coeficiente de conjugación:
  6. Construir la siguiente dirección:
  7. Repetir desde el paso 1 — como mucho, p veces

PrecondicionadorImplícito, vía Krylov

Tasa (caso cuadrático)

Coste extra / pasoGuardar ,

Parte III

Adam y AdamW en forma matricial

Las mismas actualizaciones de siempre — momentos, corrección de sesgo, la razón — reescritas como álgebra sobre matrices de pesos, y leídas como lo que en el fondo son: un descenso con precondicionador diagonal.

SímboloSignificado
Matriz de pesos de una capa en el paso
Gradiente , misma forma que
Primer y segundo momento acumulados (matrices, misma forma que )
Producto y división de Hadamard (elemento a elemento)
Tasas de decaimiento de los momentos (típ. 0.9 y 0.999)
Tasa de aprendizaje, estabilizador numérico, coeficiente de weight decay
Precondicionador diagonal, construido a partir de

01. Planteamiento

Cada capa aporta una matriz de pesos, no un escalar. Optimizar significa mover esa matriz completa en la dirección que reduce la pérdida:

Todo lo que sigue se aplica igual a un vector de sesgos o a cualquier tensor de parámetros — basta tratarlo como una matriz de la forma correspondiente.

02. Momentos como matrices

Adam mantiene dos acumuladores, del mismo tamaño que : una media móvil del gradiente y una media móvil de su magnitud al cuadrado.

M₀ = 0

V₀ = 0 · ⊙ es producto de Hadamard, no producto matricial

La entrada sólo acumula el historial de : nunca se mezcla con ninguna otra entrada de la matriz. Cada parámetro evoluciona de forma completamente independiente.

03. Corrección de sesgo

Como , las primeras iteraciones subestiman ambos momentos. Se corrige con un reescalado escalar, entrada a entrada:

04. Actualización de Adam

El paso final divide el momento corregido entre la raíz del segundo momento corregido, elemento a elemento:

J: matriz de unos, misma forma que W — reparte ε en cada entrada

05. La lectura matricial real: precondicionador diagonal

Aquí el punto de vista matricial se vuelve interesante. Vectorizando y definiendo una matriz diagonal a partir de :

la actualización de Adam es, exactamente, un descenso de gradiente precondicionado:

Por qué importa

sustituye a la identidad implícita de SGD. Bajo condiciones estadísticas razonables, converge a la diagonal de la matriz de información de Fisher empírica — así que Adam no es una heurística arbitraria, sino una aproximación barata de un método de segundo orden que descarta todo lo que no está en la diagonal.

Métodos como K-FAC o Shampoo ocupan el hueco intermedio: mantienen precondicionadores realmente matriciales (por bloques de Kronecker) en vez de una diagonal, capturando correlaciones entre parámetros a cambio de mucho más cómputo.

06. Estructura de bloques para toda la red

Concatenando los parámetros de todas las capas en un único vector, el precondicionador global resulta diagonal por bloques — y cada bloque es, a su vez, diagonal:

En todo el espacio de parámetros de la red, Adam nunca introduce un término fuera de la diagonal.

07. AdamW: la diferencia matricial exacta con Adam

Con L2 clásico, el decaimiento se mezcla dentro del gradiente antes de calcular los momentos (), así que termina distorsionado por la división entre . AdamW lo desacopla: calcula y con el gradiente puro, y suma el decaimiento fuera del precondicionador.

En forma vectorizada, la diferencia queda explícita:

Lectura

AdamW aplica un encogimiento multiplicativo uniforme sobre todo el vector de parámetros, independiente de . Adam + L2 clásico, en cambio, deja que ese decaimiento varíe entrada a entrada según el historial de gradiente de cada parámetro — no es lo que weight decay pretende hacer.

08. AdamW, paso a paso

Por cada matriz de parámetros W, en cada iteración t = 1, 2, …

  1. Calcular el gradiente:
  2. Actualizar el primer momento:
  3. Actualizar el segundo momento:
  4. Corregir el sesgo: ,
  5. Construir el precondicionador diagonal:
  6. Actualizar con decaimiento desacoplado:

Precondicionador, diagonal adaptativo

Tasa (caso cuadrático)Mejora parcial vs. κ

Coste extra / pasoGuardar ,

Parte IV

Comparación final

Los tres resuelven, en su versión cuadrática, el mismo sistema . La diferencia real está en qué información de usan, cuánto cuesta usarla, y — la más importante en la práctica — bajo qué supuestos sobre el gradiente siguen siendo válidos.

MétodoQué usa de APrecondicionadorMemoria extraTasa (κ grande)
Descenso de gradienteNada — solo Ninguna — lenta
Gradiente conjugadoProductos , nunca explícitaImplícito (Krylov)Dos vectores () — rápida
Adam / AdamWVarianza estocástica del gradiente, por eje, diagonalDos tensores ()Depende del eje; sin corregir correlaciones
Newton (referencia) completaMatriz 1 paso — ideal, pero

El matiz que decide cuál se usa en la práctica

Las cotas de convergencia de GD y CG se demuestran para una fija y un gradiente exacto — el escenario de mínimos cuadrados con dataset completo. Adam nace para el escenario contrario: gradientes calculados sobre mini-lotes distintos en cada paso, ruidosos, sobre una pérdida no convexa donde ni siquiera existe una fija. Por eso el gradiente conjugado clásico casi no se usa para entrenar redes profundas a pesar de su tasa superior — pierde sus garantías en cuanto el gradiente deja de ser determinista —, mientras que Adam está construido, desde sus medias móviles hasta su corrección de sesgo, específicamente para tolerar ese ruido.

Vistos en conjunto, los tres ocupan un mismo espectro: cuánta curvatura de la pérdida se está dispuesto a explotar y a qué precio. El descenso de gradiente la ignora por completo y paga con una convergencia que se degrada linealmente con . El gradiente conjugado la explota por completo sin llegar a formarla, y a cambio exige un gradiente exacto y una constante. Adam renuncia a esa exactitud a propósito, se conforma con una aproximación diagonal y barata, y así es el único de los tres que sobrevive al ruido de un mini-lote — que es, precisamente, la condición de trabajo real de una red neuronal.

Cauchy (1847) · Hestenes & Stiefel (1952) · Kingma & Ba (2014) · Loshchilov & Hutter (2019) κ = λmax/λmin