Inicio · Parte 15 — Matemática de Deep Learning
MLP: f(x) = W₂·σ(W₁x + b₁) + b₂
sin σ: W₂(W₁x + b₁) + b₂ = W'x + b'
XOR: 2 → 4 (tanh) → 1 (sigmoid)
Un perceptrón multicapa apila transformaciones lineales con una función no lineal entre ellas. La no linealidad no es un adorno: es lo único que hace que la profundidad importe. Componer dos transformaciones lineales da otra transformación lineal, y por tanto una red sin activaciones, por profunda que sea, no puede hacer más que un modelo lineal de una capa.
Con no linealidad, la capa oculta hace algo cualitativamente distinto: transforma el espacio. Las neuronas ocultas no clasifican; construyen una nueva representación de la entrada en la que el problema original se vuelve separable, y la capa de salida se limita a trazar el hiperplano en ese espacio nuevo.
XOR es la demostración mínima. En el espacio original no hay recta que sirva; tras pasar por cuatro neuronas tanh, los cuatro puntos ocupan posiciones en las que sí la hay. Con 17 parámetros y unas cientos de épocas, el problema que hundió el campo en 1969 se resuelve.
El teorema de aproximación universal garantiza que una sola capa oculta suficientemente ancha aproxima cualquier función continua con la precisión que se quiera. Conviene leer con cuidado lo que no dice: no dice cuántas neuronas hacen falta —pueden ser exponencialmente muchas—, ni que el entrenamiento vaya a encontrarlas. Es un resultado de existencia, no de aprendibilidad, y la profundidad resulta ser mucho más eficiente en parámetros que la anchura.
MLP resolviendo XOR con 17 parámetros.
arquitectura: 2 → 4 (tanh) → 1 (sigmoid)
parámetros: 17
época pérdida
1 1,0765723
100 0,0249xxx
500 0,00xxxxx
predicciones finales:
(0,0) → 0,000049 esperado 0 ✓
(0,1) → 0,999856 esperado 1 ✓
(1,0) → 0,999829 esperado 1 ✓
(1,1) → 0,000xxx esperado 0 ✓
Sin tanh entre las capas, el modelo colapsaría a
una única transformación lineal y fallaría igual
que el perceptrón.
MLP resolviendo XOR: la capa oculta crea una representación separable.
python classes/part-15-matematica-de-deep-learning/302-mlp-como-composicion-de-funciones/lab.py
compmath run 302
arquitecturaparametroshistorialprediccionestodas_correctassin_no_linealidadsemilla{
"arquitectura": "2 → 4 (tanh) → 1 (sigmoid)",
"parametros": 17,
"historial": [
{
"epoca": 1,
"perdida": 1.0765723
},
{
"epoca": 100,
"perdida": 0.02492169
},
{
"epoca": 1000,
"perdida": 0.00071603
},
{
"epoca": 4000,
"perdida": 0.00014183
}
],
"predicciones": {
"[0.0, 0.0]": 4.9e-05,
"[0.0, 1.0]": 0.999856,
"[1.0, 0.0]": 0.999829,
"[1.0, 1.0]": 0.000202
},
"todas_correctas": true,
"sin_no_linealidad": "el modelo colapsaría a una única transformación lineal"
}
Bloque básico de toda arquitectura moderna, capas feed-forward de los Transformers, cabezas de clasificación y aproximación de funciones.
Toda arquitectura moderna, incluido el Transformer, se construye sobre estos bloques y sobre este mismo mecanismo de derivación.
10.1038/323533a0 verificado en Crossref (2026-08-19).10.1007/bf02551274 verificado en Crossref (2026-08-19).