LECCIÓN 10

Descenso de gradiente

El destino de todo el curso. Si el gradiente apunta hacia arriba, para bajar al fondo del valle solo hay que ir al revés, paso a paso. Esto es, literalmente, cómo aprende una red neuronal.

Recuerda de la lección anterior: el gradiente ∇f es la lista de derivadas parciales — en el valle x²+y² es (2x, 2y). Apunta hacia la subida más empinada. Su negativo apunta hacia la bajada más rápida — hacia el fondo. Hoy usamos eso para bajar al fondo sistemáticamente.

1. La idea: bajar a ciegas, sintiendo la pendiente

Estás en la ladera del valle (x²+y²) y quieres llegar al fondo (el mínimo), pero con los ojos vendados. Solo puedes sentir la pendiente bajo tus pies — o sea, el gradiente. La estrategia, una vez que la ves, es clara: da un paso en la dirección contraria al gradiente (cuesta abajo) y repite.

El gradiente apunta a la subida más empinada. Su negativo apunta a la bajada más empinada. Así que para minimizar: nueva posición = posición − (tamaño de paso) · gradiente. Repitiéndolo, te deslizas hasta el fondo.
nueva posición = posición − lr · gradiente

El lr viene del inglés learning rate (tasa de aprendizaje), pero en la práctica es simplemente el tamaño del paso. Si lr = 0.1, avanzas el 10% del gradiente — pequeño y cauteloso. Si lr = 1.0, avanzas el 100% del gradiente — un salto enorme, que puede pasarse de largo. Lo eliges tú: demasiado pequeño = lento; demasiado grande = inestable.

2. Lo seguimos a mano (desde el punto (3, 2), lr = 0.1)

✍️ Gradiente = (2x, 2y). Regla: pos − 0.1·gradiente
PASO 0:  (x,y)=(3.000, 2.000)   altura=13.000
   gradiente = (2·3, 2·2) = (6, 4)
   x = 3 − 0.1·6 = 2.4     y = 2 − 0.1·4 = 1.6

PASO 1:  (x,y)=(2.400, 1.600)   altura=8.320
   gradiente = (4.8, 3.2)
   x = 2.4 − 0.1·4.8 = 1.92    y = 1.6 − 0.1·3.2 = 1.28

PASO 2:  (x,y)=(1.920, 1.280)   altura=5.325   (misma regla: x=2.4−0.1·4.8=1.92, etc.)
PASO 3:  (x,y)=(1.536, 1.024)   altura=3.408
PASO 4:  (x,y)=(1.229, 0.819)   altura=2.181
   ... y así, acercándose cada vez más al fondo (0,0, altura 0)

La altura baja en cada paso: 13 → 8.3 → 5.3 → 3.4 → 2.2 → … El valor que minimizamos (la altura) disminuye. ¡Está "aprendiendo" a llegar al fondo!

🎮 Haz rodar la pelota hasta el fondo

Cambia el paso (lr) y observa. ¿Baja suave? ¿Rebota? ¿Se sale del valle? Ese es el arte de elegir el learning rate.

0.10

Prueba un lr grande (ej. 1.0): verás a la pelota rebotar o incluso alejarse — el paso es tan grande que se pasa de largo. Eso es un learning rate mal elegido.

3. Esto ES entrenar una red

Cambia "altura del terreno" por "error de la red" (lo mal que predice) y "posición (x, y)" por "los pesos" (los números ajustables de la red), y tienes exactamente el entrenamiento: calcular el gradiente del error respecto a los pesos, y mover cada peso un pasito en contra del gradiente. Repetir miles de veces hasta llegar al fondo (error mínimo). La regla es siempre la misma: peso_nuevo = peso_actual − lr · gradiente. ¡Eso es el corazón del aprendizaje automático!

Y queda una pregunta: ¿cómo calcula la red el gradiente del error cuando tiene muchas capas encadenadas? Eso es la regla de la cadena — la próxima lección.

4. Lo que aprendiste

Lo que aprendiste hoy: el descenso de gradiente es la regla para bajar al mínimo de cualquier función — da pasos en la dirección contraria al gradiente, ajustando el tamaño del paso con lr. Para el valle x²+y²: empezando en (3,2) con lr=0.1, la altura baja de 13 a casi 0 en pocas decenas de pasos. En una red neuronal, la "altura" es el error y las "posiciones" son los pesos — eso es entrenar.