6.2 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

Backpropagation combina la regla de la cadena del cálculo diferencial con computación eficiente para entrenar redes neuronales. Este tutorial lo descompone en pasos manejables.

Cómo explorarlo

  1. 🔢 Verás una red simple con pesos iniciales aleatorios.
  2. 📥 Se presenta un ejemplo de entrenamiento (entrada-salida).
  3. ➡️ Calculas la propagación hacia adelante paso a paso.
  4. 📊 Calculas el error en la salida.
  5. ⬅️ Propagas los gradientes hacia atrás usando la regla de la cadena.
  6. 🔄 Actualizas los pesos usando descenso de gradiente.
  7. 🎯 ¡Observa cómo la red mejora con cada pasada!
Qué observar: Cada ejemplo de entrenamiento fluye a través de la red (propagación hacia adelante), produce un error, y ese error fluye hacia atrás (propagación hacia atrás) para actualizar cada peso. Tú realizarás estos cálculos.

Demostración Interactiva

Entrenador de Backpropagation Paso a Paso

Dificultad: Época 1
1 Forward
2 Error
3 Backward
4 Actualizar
Red Neuronal
Pesos Actuales
Ejemplo
x₁ -
y₁ -
η = 0.5

Paso 1

📐 Fórmula:
Cuaderno de Cálculos
Aquí se van registrando solo los cálculos correctos, organizados por fase.

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:

  1. Propagación hacia adelante: La entrada fluye a través de la red, capa por capa, produciendo una salida
  2. Propagación hacia atrás: El error en la salida fluye hacia atrás, calculando gradientes para cada peso
  3. 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.

23 ene. 2024