01 — Neurona 02 — Activación 03 — Arquitectura 04 — Pérdida 05 — Backprop 06 — Descenso 07 — Caja Negra 08 — Autoencoders 09 — Referencias
by Cristian Candia, Ph.D.
— Fundamentos teóricos y computacionales —

Redes
Neuronales

Desde la neurona individual hasta autoencoders overcomplete y el problema de la caja negra. Material animado e interactivo con foco didáctico: combina formulaciones exactas con algunas simplificaciones pedagógicas.

PerceptrónActivación Forward PassBackprop Descenso gradienteCaja negra AE estándarAE denoising AE overcomplete+sparse
desplázate
01 — La Neurona Artificial

De la biología
a las matemáticas

El punto de partida es la neurona. McCulloch y Pitts (1943) propusieron el primer modelo formal: una unidad que recibe señales, las pondera y produce una salida binaria. El perceptrón de Rosenblatt (1958) añadió pesos adaptables. Hoy la neurona artificial conserva esta estructura básica pero dentro de un marco diferenciable.

Neurona biológica
x₁ x₂ x₃ Σ soma dendritas axón
Neurona artificial
x₁ x₂ x₃ w₁ w₂ w₃ Σ σ w·x+b a=σ(z) b (bias)
// Paso 1 — combinación lineal (pre-activación)
z = wx + b = Σᵢ wᵢxᵢ + b

// Paso 2 — función de activación (no linealidad)
a = σ(z)
Perceptrón interactivo — ajusta pesos, entradas y función de activación
ENTRADAS
x₁1.50
x₂0.80
PARÁMETROS
w₁0.80
w₂-0.50
b0.30
ACTIVACIÓN
CONTRIBUCIONES wᵢxᵢ vs. SESGO b
02 — Funciones de Activación

La fuente de
la no linealidad

Sin σ no lineal, cualquier red profunda colapsa a una sola transformación afín. Trabajos clásicos como Hornik (1991) establecieron que la no linealidad--no la profundidad per se--es el ingrediente esencial para la aproximación universal.

Sigmoid — σ(z)
σ(z) = 1/(1+e⁻ᶻ)   Rango: (0,1)
σ'(z) = σ(z)(1−σ(z))   max σ'= 0.25

Vanishing gradient en saturación (z≪0 o z≫0). Glorot & Bengio (2010) cuantificaron formalmente este problema.

ReLU — max(0,z)
ReLU(z) = max(0,z)   Rango: [0,+∞)
ReLU'(z) = 1[z>0]   (gradiente constante en activo)

ReLU se volvió central en deep learning moderno porque atenúa varios problemas de entrenamiento asociados a activaciones saturantes. Un riesgo conocido es el de neuronas muertas cuando z permanece ≤0 durante el entrenamiento.

Tanh
tanh(z) = (eᶻ−e⁻ᶻ)/(eᶻ+e⁻ᶻ)   Rango: (−1,1)
tanh'(z) = 1−tanh²(z)   centrado en cero

Al estar centrada en cero, tanh suele facilitar la optimización más que sigmoid en muchos contextos. Aun así, sigue siendo una activación saturante y puede sufrir vanishing gradients.

Leaky ReLU / ELU
LReLU(z) = max(αz,z), α≪1
ELU(z) = z si z>0; α(eᶻ−1) si z≤0

Corrigen neuronas muertas manteniendo gradiente pequeño α para z<0. ELU produce salidas de media cercana a cero.

Plotter — funciones y derivadas
Vanishing gradient — propagación a través de L capas

Como intuición, el gradiente hacia capas tempranas depende de productos sucesivos de derivadas locales y matrices de pesos. En activaciones saturantes como sigmoid, esos productos pueden volverse muy pequeños al aumentar la profundidad, especialmente si la inicialización o la escala de activaciones no están bien controladas.

Capas L 6

Nota: este esquema ilustra la intuición del problema, pero en redes reales también importan la inicialización, la normalización y el espectro de las matrices de pesos. ReLU suele atenuar el vanishing gradient, no eliminarlo por completo.

03 — Arquitectura y Forward Pass

Redes de capas:
feedforward

Apilando neuronas en capas obtenemos una red profunda. La notación matricial permite calcular toda una capa en una sola multiplicación. Cada capa puede aprender representaciones progresivamente más útiles o abstractas de la anterior--de píxeles a bordes, a formas, a conceptos.

// Capa l — notación matricial (m ejemplos en paralelo)
Z[l] = W[l] · A[l-1] + b[l]
A[l] = σ[l](Z[l])

W[l] ∈ ℝnˡ×nˡ⁻¹   b[l] ∈ ℝ   A[0] = x
Forward pass animado — valores propagándose capa a capa
Presiona para ver la propagación.

Teorema de Aproximación Universal (Cybenko 1989; Hornik 1991): bajo hipótesis estándar, una red con una sola capa oculta suficientemente ancha puede aproximar cualquier función continua sobre un compacto. En la práctica, la profundidad suele aportar representaciones más eficientes y composicionales, además de ventajas expresivas bajo restricciones realistas de ancho, datos y parámetros.

04 — Funciones de Pérdida

Qué optimizamos

La pérdida cuantifica la distancia entre predicciones y valores reales. Su elección está dictada por la tarea (regresión vs. clasificación) y la distribución asumida sobre los errores.

MSE — Regresión
L=(1/m)Σ(y−ŷ)²
∂L/∂ŷ=−2(y−ŷ)/m

Maximiza la verosimilitud bajo ruido gaussiano. Sensible a outliers por penalización cuadrática.

BCE — Clasificación binaria
L=−(1/m)Σ[y·log(ŷ)+(1−y)·log(1−ŷ)]
∂L/∂ŷ=(ŷ−y)/(ŷ(1−ŷ))

Equivale a la log-verosimilitud negativa para una salida Bernoulli y está estrechamente relacionada con la divergencia KL: con la distribución objetivo fija, minimizar la entropía cruzada equivale a minimizar KL hasta una constante.

CCE + Softmax — Multiclase
L=−(1/m)ΣΣ yc·log(ŷc)
ŷc=eᶻᶜ/Σⱼeᶻʲ

Se usa típicamente junto con softmax en clasificación multiclase. Con la distribución objetivo fija, minimizar la entropía cruzada equivale a minimizar la divergencia KL salvo una constante independiente del modelo.

MAE — Robustez a outliers
L=(1/m)Σ|y−ŷ|
∂L/∂ŷ=−sign(y−ŷ)/m

Gradiente constante (no escala con el error). Corresponde a maximizar verosimilitud bajo distribución Laplace.

BCE vs MSE — superficie de pérdida interactiva
ŷ (pred)0.70
y (real)1
05 — Retropropagación

Cómo aprende
la red

Rumelhart, Hinton & Williams (1986) popularizaron el algoritmo que calcula ∂L/∂θ para todos los parámetros en tiempo O(|θ|), igual que un forward pass. La clave es la regla de la cadena aplicada en orden inverso, reutilizando cada cálculo intermedio exactamente una vez.

// Delta capa de salida L:
δ⁽ᴸ⁾ = ∇AL ⊙ σ'(Z⁽ᴸ⁾)

// Delta capa l (propagación hacia atrás):
δ⁽ˡ⁾ = (W⁽ˡ⁺¹⁾ᵀ · δ⁽ˡ⁺¹⁾) ⊙ σ'(Z⁽ˡ⁾)

// Gradientes de parámetros:
∂L/∂W⁽ˡ⁾ = δ⁽ˡ⁾·(A⁽ˡ⁻¹⁾)ᵀ    ∂L/∂b⁽ˡ⁾ = δ⁽ˡ⁾
Grafo computacional — forward (teal) → backward (rose)
Presiona para ver el flujo de gradientes.
1

Forward pass

Propagar x, almacenar Z⁽ˡ⁾ y A⁽ˡ⁾ en cada capa. Calcular L.

2

Gradiente en la salida

δ⁽ᴸ⁾ = ∇L · σ'(Z⁽ᴸ⁾). Punto de partida del backward.

3

Propagación hacia atrás

Para l = L−1,…,1: δ⁽ˡ⁾ = (W⁽ˡ⁺¹⁾ᵀ δ⁽ˡ⁺¹⁾) ⊙ σ'(Z⁽ˡ⁾).

4

Actualización

θ ← θ − η · ∇L. La complejidad total es O(2|θ|): un forward + un backward.

06 — Descenso de Gradiente

Navegando el
espacio de pérdida

Con los gradientes disponibles, el optimizador actualiza iterativamente los parámetros. Kingma & Ba (2014) propusieron Adam, que combina estimaciones adaptativas de primer y segundo momento con corrección de sesgo; hoy es uno de los optimizadores más usados en la práctica, aunque no siempre es la mejor opción para todos los problemas.

θ ← θ − η · ∇θL(θ)   // GD completo (batch)
θ ← θ − η · ∇L(θ;x⁽ⁱ⁾,y⁽ⁱ⁾)   // SGD (un ejemplo)
θ ← θ − η · (1/|B|)Σi∈B∇L   // Mini-batch
Superficie de pérdida 1D — descenso animado + historial de convergencia
η (lr)0.10
θ₀3.50
GUÍA
η pequeño → lento pero estable
η grande → puede divergir
Multimodal → mínimos locales
Meseta → ∇L ≈ 0 temporalmente
OptimizadorIdea claveRegla de actualización
SGD+MomentumAcumula velocidad pasadav←βv−η∇L; θ←θ+v
AdaGradEscala η por parámetroθ←θ−(η/√G+ε)∇L
RMSpropEMA del gradiente²E[g²]←ρE[g²]+(1-ρ)g²
Adam ★Momentum + RMSprop + bias correctionm̂←m/(1−β₁ᵗ); v̂←v/(1−β₂ᵗ)
07 — El Problema de la Caja Negra

Capacidad sin
comprensión

Una red neuronal profunda es localmente interpretable (cada neurona realiza una suma ponderada) pero globalmente opaca: millones de parámetros interactúan no linealmente produciendo comportamientos emergentes que no pueden rastrearse manualmente.

La caja negra — entradas, salidas, interior inaccesible

Raíces de la opacidad

Composición no lineal

L capas de σ(Wx+b) producen una función sin forma analítica cerrada.

Alta dimensionalidad

Parámetros θ ∈ ℝ⁹ a ℝ¹⁷⁵ᴮ: sin intuición geométrica posible.

Representaciones distribuidas

Un concepto vive en patrones de activación de miles de neuronas simultáneas, no en una sola.

Emergencia

Capacidades no programadas emergen de la optimización. No hay regla explícita que las explique.

Explosión de parámetros en modelos reales — escala logarítmica
Jerarquía de representaciones por capa

Interpretabilidad (XAI)

Métodos locales

LIME: aproxima la red con un modelo lineal en vecindad de x.
SHAP: atribuye la predicción a cada feature usando valores de Shapley (teoría de juegos).
Saliency maps: |∂ŷ/∂x| revela qué dimensiones de la entrada más afectan la salida.

Métodos globales

Grad-CAM: mapas de calor sobre activaciones convolucionales.
Probing: clasificadores lineales sobre representaciones internas.
Dictionary learning: Bricken et al. (2023) usaron SAE overcomplete sobre activaciones de LLMs para identificar features monosemánticas.

Los métodos actuales de XAI suelen ofrecer explicaciones parciales, locales o dependientes del modelo, y existe un debate activo sobre qué tan fieles son respecto del mecanismo real del modelo. La opacidad sigue siendo un problema abierto en seguridad y alineamiento de IA, una de las motivaciones para estudiar representaciones más descomponibles como las obtenidas con autoencoders sparse overcomplete.

08 — Autoencoders

Aprender representaciones
sin supervisión

Un autoencoder aprende a comprimir la entrada a un espacio latente de menor dimensión y reconstruirla. No requiere etiquetas: la señal de aprendizaje es la propia reconstrucción. Hinton & Salakhutdinov (2006) mostraron que este tipo de entrenamiento contribuía de manera importante al renovado interés en deep learning en esa etapa.

// Encoder — comprime x al espacio latente
z = fθ(x)    z ∈ ℝd

// Decoder — reconstruye desde z
= gφ(z)

// Pérdida de reconstrucción (MSE):
L(θ,φ) = (1/n)||x − gφ(fθ(x))||²

// Objetivo: minθ,φ 𝔼x~p(x)[L]

§8.1 Autoencoder Estándar (Undercomplete)

El caso estándar tiene d < dim(x) (bottleneck compresivo). El cuello de botella fuerza a la red a retener solo parte de la información de entrada. En el caso lineal con pérdida cuadrática, esto se conecta estrechamente con PCA; en el caso no lineal, puede aprender representaciones más flexibles, pero no es equivalente a PCA en general.

Arquitectura encoder → bottleneck → decoder
Presiona para animar.
Demo de compresión — reconstrucción vs. dimensión latente d

Comprimimos una señal de 16 valores a d dimensiones usando una base ortogonal fija (DCT) como demostración pedagógica de compresión y reconstrucción. Esto ilustra la lógica de un bottleneck, aunque no equivale al entrenamiento general de un autoencoder aprendido sobre datos.

d3

§8.2 Autoencoder Denoising

Vincent et al. (2008) propusieron corromper deliberadamente la entrada antes de pasarla al encoder. La red debe reconstruir x limpio desde x̃ corrupto, lo que la obliga a aprender representaciones más robustas. Formalmente, minimiza:

// Entrada corrompida: aplicar corrupción estocástica q(x̃|x)
= x + ε, ε ~ 𝒩(0, σ²I)   // ruido gaussiano

// Objetivo del denoising AE:
LDAE(θ,φ) = 𝔼x~p(x) 𝔼x̃~q(x̃|x)[||x − gφ(fθ(x̃))||²]

// La corrupción hace la tarea más difícil → representaciones más generales

Trabajos clásicos mostraron que, bajo ciertos regímenes y para niveles pequeños de corrupción, los denoising autoencoders se conectan teóricamente con la estimación del score functionx log p(x). Esa conexión ayuda a entender por qué esta familia de ideas es relevante para modelos generativos modernos.

Denoising AE — ajusta el nivel de ruido y ve la reconstrucción

La señal original x (teal) se corrompe con ruido gaussiano σ (rose). La reconstrucción x̂ (gold) se obtiene aquí mediante umbralización suave en el espacio DCT como una aproximación didáctica inspirada en ideas de denoising y sparsity, no como una implementación literal de un autoencoder entrenado end-to-end.

σ ruido0.15
d latente8

§8.3 Autoencoder Overcomplete + Sparse

Un AE overcomplete tiene d > dim(x): más dimensiones latentes que la entrada. Sin restricciones adicionales, la red aprende trivialmente la identidad. La restricción de esparsidad hace el problema no trivial y útil: fuerza que solo unas pocas unidades estén activas para cada entrada.

// Pérdida AE sparse overcomplete:
L(θ,φ) = ||x − gφ(fθ(x))||² + λ||z||₁

// z ∈ ℝᵈ con d > dim(x) (overcomplete)
// La penalización L1 induce esparsidad: ||z||₀ ≪ d

// Solución via ISTA (Iterative Shrinkage-Thresholding):
zSλ/L(z − (1/L)·Dᵀ(Dz−x))
Sτ(u) = sign(u)·max(|u|−τ, 0)   // umbral suave

Olshausen & Field (1997) mostraron que un diccionario overcomplete+sparse aprende filtros tipo Gabor, cualitativamente similares a receptivos observados en la corteza visual primaria V1. Esto sugiere que principios de sparse coding pueden capturar regularidades relevantes de señales naturales.

Trabajos recientes (Bricken et al. (2023) en Anthropic) han usado sparse autoencoders overcomplete sobre activaciones internas de modelos de lenguaje para descomponer representaciones distribuidas en features más interpretables y menos polisemánticos. Es una línea prometedora para mecanistic interpretability, aunque sigue siendo un área activa y lejos de estar resuelta.

Overcomplete + Sparse — ISTA en tiempo real

Diccionario D ∈ ℝ16×32 (2× overcomplete). ISTA encuentra z ∈ ℝ32 mínimamente sparse que reconstruye x. Observa cómo λ controla cuántos átomos están activos.

λ (sparse)0.10

Resumen comparativo

Varianted vs dim(x)Restricción extraAprendeReferencia
AE estándard < dim(x)NingunaCompresión no supervisada; conexión con PCA en el caso linealHinton & Salakhutdinov 2006
AE Denoisingd < dim(x)Corrupción q(x̃|x)Representaciones robustas; conexión teórica con score matching bajo ciertos regímenesVincent et al. 2008
AE Overcomplete+Sparsed > dim(x)λ||z||₁Diccionario overcomplete; features más interpretablesOlshausen & Field 1997
VAEd < dim(x)KL(q(z|x)||p(z))Espacio latente estructurado; generaciónKingma & Welling 2013
09 — Referencias

Literatura
fundamental

Selección de los trabajos seminales que sustentan el contenido de este documento.