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.
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.
dL/dw (se lee "de-L sobre de-w") y es la derivada de L respecto a w.
El gradiente está hecho de derivadas. La derivada dL/dw responde:
"si muevo este peso un poquito, ¿cuánto cambia la pérdida?".
w sube la pérdida → hay que bajar w.w baja la pérdida → hay que subir w.En ambos casos la regla es la misma: muévete en sentido contrario a la derivada.
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."
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):
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?
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.
Falta una pieza: ¿cómo se calculan esas derivadas en una red con capas? Eso es backpropagation — la lección 7.