LECCIÓN 6

Gradiente y descenso

Ya sabemos medir el error. Ahora: ¿cómo lo bajamos? Sin probar millones de combinaciones al azar. La respuesta es el gradiente, la herramienta más importante del aprendizaje automático.

Recuerda de la lección anterior: la función de pérdida mide el error de la red con un solo número. Con los pesos iniciales de XOR, la pérdida MSE promedio es 0.1258. Hoy: ¿cómo ajustamos los pesos para reducir ese número?

1. La pérdida es un paisaje, y queremos el valle

Imagina la pérdida como una colina: en el eje horizontal, el valor de un peso; en el vertical, cuánto error produce. Entrenar es llegar al fondo del valle (la pérdida mínima). El problema: estás vendado, no ves el paisaje completo. Solo puedes sentir la pendiente bajo tus pies.

El gradiente es exactamente esa pendiente: te dice en qué dirección sube la pérdida y qué tan empinada es. Si quieres bajar, das un paso en la dirección opuesta al gradiente. Repítelo y llegarás al valle. Eso es el descenso de gradiente. La pregunta concreta: "si muevo este peso un poquito, ¿cuánto cambia la pérdida?" — ese cociente se escribe dL/dw (se lee "de-L sobre de-w") y es la derivada de L respecto a w.

2. La derivada: la pendiente en un punto

El gradiente está hecho de derivadas. La derivada dL/dw responde: "si muevo este peso un poquito, ¿cuánto cambia la pérdida?".

En ambos casos la regla es la misma: muévete en sentido contrario a la derivada.

3. La regla de actualización (el corazón del entrenamiento)

wnuevo = wviejo − (learning rate) · (dL/dw)

Cada peso y cada bias de la red se actualizan con esta misma fórmula. En palabras:

"Nuevo peso = peso actual − un pasito en la dirección que reduce el error."

El learning rate (tasa de aprendizaje)

Es el tamaño del paso. Lo eliges tú antes de entrenar — en la jerga se llama hiperparámetro, que son las decisiones de diseño que tú tomas (a diferencia de los pesos, que los aprende la red sola):

  • Muy pequeño → bajas segurísimo pero lentísimo (miles de pasos).
  • Muy grande → das saltos enormes, rebotas por las paredes del valle y nunca te asientas (o explotas).
  • Justo → bajas rápido y estable. Encontrarlo es parte del arte.

🎮 La pelota que baja la colina

La curva es una pérdida de ejemplo. La pelota empieza arriba. Cada paso aplica w = w − lr · pendiente. Cambia el learning rate y observa: ¿baja suave, o rebota como loca?

0.30

4. Una red tiene MUCHOS pesos: el gradiente es un vector

Nuestra red XOR tiene 9 valores entrenables. Contémoslos: la capa oculta tiene 2 neuronas × 2 pesos cada una = 4 pesos, más 2 bias (uno por neurona) = 6 valores. La capa de salida tiene 1 neurona × 2 pesos (uno por cada neurona oculta) + 1 bias = 3 valores. Total: 6 + 3 = 9. La pérdida depende de los 9 a la vez. El gradiente es la lista de las 9 derivadas — una por cada peso — que juntas apuntan a la dirección de bajada en ese paisaje.

🤔 "Un paisaje de 9 dimensiones" es imposible de visualizar — y eso es completamente normal. Lo importante es que la idea es la misma que en la colina de una dimensión: bajar siguiendo la pendiente. Solo que ahora hay una pendiente por cada peso.

Lo que aprendiste hoy: el descenso de gradiente repite: calcular la pendiente de la pérdida respecto a cada peso (dL/dw, se lee "de-L sobre de-w"), y mover cada peso un pasito en sentido contrario. La regla: w_nuevo = w_viejo − lr × (dL/dw). El learning rate es el tamaño del paso — demasiado pequeño es lento, demasiado grande es inestable. La red XOR tiene 9 pesos entrenables, con un gradiente de 9 componentes.

Falta una pieza: ¿cómo se calculan esas derivadas en una red con capas? Eso es backpropagation — la lección 7.