Tutorial Interactivo: Backpropagation Paso a Paso
Introducción
Backpropagation es el algoritmo fundamental que permite a las redes neuronales aprender. Es la forma en que los errores en la salida se propagan hacia atrás a través de la red, indicando a cada peso exactamente cuánto contribuyó al error y cómo ajustarse.
Actividad
Tutorial de Backpropagation
Cómo explorarlo
- 🔢 Verás una red simple con pesos iniciales aleatorios.
- 📥 Se presenta un ejemplo de entrenamiento (entrada-salida).
- ➡️ Calculas la propagación hacia adelante paso a paso.
- 📊 Calculas el error en la salida.
- ⬅️ Propagas los gradientes hacia atrás usando la regla de la cadena.
- 🔄 Actualizas los pesos usando descenso de gradiente.
- 🎯 ¡Observa cómo la red mejora con cada pasada!
Demostración Interactiva
Entrenador de Backpropagation Paso a Paso
Paso 1
Guía rápida: En cada paso registramos la expresión y el resultado correcto.
- $z_j^{(k)} = \sum_i a_i^{(k-1)} w_{ij}^{(k)}$
- $a_j^{(k)} = \sigma(z_j^{(k)})$
- $\sigma(z) = \frac{1}{1 + e^{-z}}$
Conceptos Fundamentales
Las Dos Fases de Backpropagation
Entrenar una red neuronal implica dos fases alternantes:
- Propagación hacia adelante: La entrada fluye a través de la red, capa por capa, produciendo una salida
- Propagación hacia atrás: El error en la salida fluye hacia atrás, calculando gradientes para cada peso
- Actualización de pesos: Cada peso se ajusta en la dirección que reduce el error
Este proceso se repite para muchos ejemplos de entrenamiento hasta que la red aprende el comportamiento deseado.
La Regla de la Cadena es la Clave
La magia de backpropagation está en la regla de la cadena del cálculo:
$$\frac{\partial E}{\partial w} = \frac{\partial E}{\partial o} \cdot \frac{\partial o}{\partial net} \cdot \frac{\partial net}{\partial w}$$Esto nos dice: "¿Cómo cambia el error cuando cambiamos este peso?" descomponiéndolo en pasos más simples.
- $\frac{\partial E}{\partial o}$: Cómo cambia el error con la salida
- $\frac{\partial o}{\partial net}$: Cómo cambia la salida con la suma ponderada (derivada de activación)
- $\frac{\partial net}{\partial w}$: Cómo cambia la suma ponderada con el peso (¡simplemente la entrada!)
La Función de Activación
En este tutorial, usamos la función de activación sigmoide:
$$\sigma(x) = \frac{1}{1 + e^{-x}}$$Su derivada tiene una propiedad hermosa:
$$\sigma'(x) = \sigma(x) \cdot (1 - \sigma(x))$$¡Esto significa que si conoces la salida, puedes calcular fácilmente la derivada!
Tasa de Aprendizaje
La tasa de aprendizaje ($\eta$) controla qué tan grande es cada actualización de peso:
$$w_{nuevo} = w_{anterior} - \eta \cdot \frac{\partial E}{\partial w}$$- Muy grande: La red puede sobrepasar y nunca converger
- Muy pequeña: El aprendizaje es muy lento
- Justa: Convergencia suave hacia buenas soluciones
En este tutorial, usamos $\eta = 0.5$ para actualizaciones claras y visibles.