Juntamos todo: forward, pérdida, backprop y actualización forman UN ciclo. Repetirlo miles de veces es, literalmente, entrenar. Y veremos a XOR aprender de verdad.
Una "época" de entrenamiento es repetir estos cuatro pasos (ya los conoces todos):
Tomamos los gradientes que calculamos para x = (1, 0) y aplicamos la regla
w = w − lr·gradiente con learning rate 0.5. Veamos los pesos de
salida:
Regla: w_nuevo = w - lr·gradiente (lr = 0.5). Lo hacemos en 2 pasos. W₂ peso de a₁ (w=0.50, grad=-0.059533): lr·grad = 0.5 · (-0.059533) = -0.029767 w - eso = 0.50 - (-0.029767) = 0.529767 W₂ peso de a₂ (w=-0.40, grad=-0.053868): lr·grad = 0.5 · (-0.053868) = -0.026934 w - eso = -0.40 - (-0.026934) = -0.373066 b₂ (b=0.10, grad=-0.113401): lr·grad = 0.5 · (-0.113401) = -0.056701 b - eso = 0.10 - (-0.056701) = 0.156701
Y los pesos de entrada (recuerda: los de x₂ no cambian porque su gradiente era 0):
W₁ peso de x₁→h₁ (w=0.20, grad=-0.014140): lr·grad = 0.5 · (-0.014140) = -0.007070 w - eso = 0.20 - (-0.007070) = 0.207070 W₁ peso de x₁→h₂ (w=-0.30, grad=0.011312): lr·grad = 0.5 · (0.011312) = 0.005656 w - eso = -0.30 - 0.005656 = -0.305656 W₁ pesos de x₂ (grad=0, no cambian): 0.40 → 0.40 0.10 → 0.10 b₁ de h₁ (b=-0.10, grad=-0.014140): -0.10 - 0.5·(-0.014140) = -0.10 - (-0.007070) = -0.092930 b₁ de h₂ (b=0.20, grad=0.011312): 0.20 - 0.5·(0.011312) = 0.20 - 0.005656 = 0.194344
ŷ pérdida L ANTES: 0.543014 0.104418 DESPUÉS: 0.564765 0.094715 ← ŷ más cerca de 1, pérdida más baja ✅
Si repetimos el ciclo sobre los 4 ejemplos durante 20.000 épocas (promediando los gradientes de todos, lo que se llama batch), la pérdida total evoluciona así:
| Época | 0 | 1.000 | 5.000 | 10.000 | 20.000 |
|---|---|---|---|---|---|
| Pérdida | 0.1258 | 0.1250 | 0.0744 | 0.0076 | 0.0004 |
Tras el entrenamiento, las predicciones pasan de "todas ~0.5" a separar limpiamente 0 de 1:
| x | target | ŷ sin entrenar | ŷ entrenada |
|---|---|---|---|
| (0,0) | 0 | 0.5294 | 0.0310 |
| (0,1) | 1 | 0.5393 | 0.9729 |
| (1,0) | 1 | 0.5430 | 0.9725 |
| (1,1) | 0 | 0.5526 | 0.0288 |