En la lección 4 vimos que la regresión logística es, en esencia, una sola neurona artificial: combina las entradas con pesos, suma un sesgo (bias) y aplica una función de activación no lineal (la sigmoide). Una red neuronal conecta muchas de estas neuronas en capas: una capa de entrada (los datos), una o más capas ocultas, y una capa de salida (la predicción).
a(l)=ϕ(W(l)a(l−1)+b(l))
Aquí a(l−1) es el vector de activaciones de la capa anterior, W(l) es la matriz de pesos de la capa l (una fila por neurona, con un peso por conexión entrante), b(l) es el vector de sesgos de esa capa, y ϕ es la función de activación — habitualmente tanh o sigmoide en capas ocultas, y sigmoide en la salida para problemas de clasificación binaria. Calcular a(l) para cada capa, de la entrada a la salida, se llama forward pass (propagación hacia adelante): es literalmente encadenar productos punto (lección 2) con no linealidades.
Por qué hacen falta capas ocultas
Una sola neurona (como la regresión logística) solo puede separar los datos con una frontera de decisión lineal — una recta en dos dimensiones. Hay problemas que ninguna recta puede resolver. El ejemplo clásico es XOR (or exclusivo): la salida es 1 solo cuando exactamente una de las dos entradas es 1.
x1
x2
XOR
0
0
0
0
1
1
1
0
1
1
1
0
Si dibujas estos cuatro puntos en un plano, no existe ninguna recta que separe los unos de los ceros — es precisamente el tipo de problema que hizo tropezar al perceptrón original (lección 1) y contribuyó a uno de los inviernos de la IA. Una red con al menos una capa oculta, en cambio, sí puede resolverlo: cada neurona oculta aprende una frontera lineal distinta, y la capa de salida combina esas fronteras en una región no lineal que sí separa correctamente las cuatro combinaciones.
Entrenamiento: el mismo descenso de gradiente, encadenado
Entrenar una red neuronal significa ajustar todos los pesos W(l) y sesgos b(l) de todas las capas para minimizar el error entre la predicción y el valor real, exactamente el mismo descenso de gradiente de la lección 2. La única diferencia práctica es cómo se calcula el gradiente de una red con varias capas: el algoritmo de retropropagación (backpropagation) aplica la regla de la cadena del cálculo diferencial para propagar el error desde la salida hacia atrás, capa por capa, y así saber cuánto debe cambiar cada peso individual.
Observa una red 2→H→1 (dos entradas, una capa oculta, una salida) aprendiendo XOR en vivo en tu navegador — pulsa "Entrenar" y observa cómo el grosor y el color de cada conexión cambian a medida que la pérdida (MSE) desciende época tras época:
Red neuronal entrenando en vivo · xor
Época 0 · Pérdida 0.0000
Fíjate en que, al principio, los pesos son aleatorios y la pérdida es alta; conforme avanzan las épocas, el descenso de gradiente mueve cada peso en la dirección que más reduce el error, igual que el punto que descendía por la parábola en la lección 2 — solo que aquí son decenas de pesos moviéndose a la vez, y el "terreno" que descienden tiene muchas más de dos dimensiones.