Skip to content

English · Español

03 — Entropía cruzada y MLE: la derivación central

🇪🇸 Esta es la pieza central de la fase. Demuestra que la "cross-entropy loss" no es una elección caprichosa — es lo que sale forzosamente cuando aplicas máxima verosimilitud a una distribución categórica.

Entropía cruzada: definición

La entropía cruzada (cross-entropy) entre dos distribuciones \(p, q\) sobre el mismo soporte es:

\[H(p, q) := -\sum_i p_i \log q_i.\]

(Nota la asimetría: \(H(p, q) \ne H(q, p)\) en general.)

La identidad de descomposición

Por álgebra directa:

\[H(p, q) = -\sum_i p_i \log q_i = -\sum_i p_i \log p_i + \sum_i p_i \log \frac{p_i}{q_i} = H(p) + D_{\text{KL}}(p \,\|\, q).\]

Esta es la identidad más importante de la fase. Léela de tres formas:

  1. La entropía cruzada es entropía + divergencia-desde-el-modelo.
  2. Cuando \(p = q\), \(H(p, q) = H(p)\) (la CE se satura en la entropía cuando el modelo coincide con la verdad).
  3. La única manera de bajar la CE por debajo de \(H(p)\) es hacer \(D_{\text{KL}}(p \,\|\, q) < 0\), lo cual la desigualdad de Gibbs descarta. Por tanto \(H(p, q) \ge H(p)\) siempre, con igualdad si y sólo si \(p = q\).

Ejemplo trabajado

Reutilizando el ejemplo previo: \(p = (1, 0, 0, 0, 0)\), \(q = (0.6, 0.1, 0.1, 0.1, 0.1)\).

  • \(H(p) = 0\) (masa puntual).
  • \(D_{\text{KL}}(p \,\|\, q) = \log(5/3) \approx 0.511\).
  • \(H(p, q) = -\log 0.6 \approx 0.511\).

Comprobación: \(H(p, q) = H(p) + D_{\text{KL}}(p \,\|\, q) = 0 + 0.511\). ✓

Observa que con \(p\) una masa puntual, \(H(p, q)\) se reduce a \(-\log q_{y^*}\) donde \(y^*\) es la etiqueta verdadera — la log-verosimilitud negativa de la etiqueta verdadera. Esta es la entropía cruzada como pérdida que conectaremos en el autograd de la Fase 07 y el training loop de la Fase 18.

Estimación por máxima verosimilitud (MLE)

Dadas \(N\) observaciones \(\{y^{(n)}\}_{n=1}^N\) extraídas i.i.d. de una familia paramétrica \(\{q_\theta\}\), el MLE es:

\[\theta^{\text{MLE}} = \arg\max_\theta \prod_n q_\theta(y^{(n)}) = \arg\max_\theta \sum_n \log q_\theta(y^{(n)}).\]

De forma equivalente — y esta es la forma que queremos — usando la distribución empírica \(\widehat{p}(y) = \frac{1}{N} \sum_n \mathbb{1}[y^{(n)} = y]\):

\[\sum_n \log q_\theta(y^{(n)}) = \sum_y N \cdot \widehat{p}(y) \log q_\theta(y) = -N \cdot H(\widehat{p}, q_\theta).\]

Por tanto el MLE es exactamente minimización de entropía cruzada empírica:

\[\theta^{\text{MLE}} = \arg\min_\theta H(\widehat{p}, q_\theta).\]

Versión condicional (el objetivo real de entrenamiento)

Para aprendizaje supervisado con entradas \(x^{(n)}\) y etiquetas \(y^{(n)}\) de la conjunta \(p^*(x, y)\):

\[\theta^{\text{MLE}} = \arg\max_\theta \sum_n \log q_\theta(y^{(n)} \mid x^{(n)}).\]

Por el mismo álgebra, esto equivale a minimizar la entropía cruzada empírica condicional promediada sobre las entradas:

\[\theta^{\text{MLE}} = \arg\min_\theta \frac{1}{N} \sum_n -\log q_\theta(y^{(n)} \mid x^{(n)}).\]

El lado derecho es exactamente lo que calcula F.cross_entropy(logits, labels) en PyTorch (y lo que implementaremos en NumPy en la Fase 07).

El argumento asintótico

¿A qué converge este mínimo cuando \(N \to \infty\)?

Por la ley de los grandes números, la media empírica converge a la esperanza verdadera:

\[\frac{1}{N} \sum_n -\log q_\theta(y^{(n)} \mid x^{(n)}) \xrightarrow{p} \mathbb{E}_{(x,y) \sim p^*}[-\log q_\theta(y \mid x)] = \mathbb{E}_x[H(p^*(\cdot \mid x), q_\theta(\cdot \mid x))].\]

Por la identidad de descomposición:

\[\mathbb{E}_x[H(p^*(\cdot \mid x), q_\theta(\cdot \mid x))] = \mathbb{E}_x[H(p^*(\cdot \mid x))] + \mathbb{E}_x[D_{\text{KL}}(p^*(\cdot \mid x) \,\|\, q_\theta(\cdot \mid x))].\]

El primer término no depende de \(\theta\) — es la entropía irreducible del proceso de etiquetado verdadero. El segundo es la KL esperada entre verdad y modelo.

Conclusión: en el límite de datos infinitos, el MLE minimiza la KL esperada entre verdad y modelo. Esta es la justificación más limpia posible para la entropía cruzada como pérdida.

🇪🇸 Esto es lo que tienes que poder explicar después de la fase 05: la cross-entropy loss es la única elección consistente bajo máxima verosimilitud para una distribución categórica. No es heurística; es matemática.

Entropía cruzada por token en modelos de lenguaje

Para un modelo de secuencia sobre una secuencia \(y_{1:T}\):

\[\mathcal{L} = -\sum_{t=1}^T \log q_\theta(y_t \mid y_{<t}).\]

Por token, la entropía cruzada media es \(\mathcal{L} / T\). La perplejidad es \(\exp(\mathcal{L}/T)\) — la media geométrica de la probabilidad inversa asignada al siguiente token. El mini-GPT de la Fase 17 emite este objeto; el training loop de la Fase 18 lo minimiza.

Para nuestro corpus §A13, un modelo no entrenado tiene CE por token \(\approx \log V \approx \log 600 \approx 6.4\) nats (salida uniforme). Un modelo perfectamente entrenado en el límite alcanza la entropía por token del condicional verdadero, que para una tarea de conjugación determinista es 0 si el prefijo determina la forma unívocamente. Para prefijos ambiguos (p. ej., "Yesterday" seguido por un sujeto desconocido), el suelo de entropía es no nulo.

Conexiones hacia delante

  • Fase 07: implementa cross_entropy(logits, label) en el autograd escalar. Deriva el gradiente \(\partial \mathcal{L} / \partial z_i = q_i - \mathbb{1}[i = y^*]\) desde primeros principios.
  • Fase 18: la pérdida del training loop es exactamente esta. La curva CE-vs-paso es lo que monitorizamos.
  • Fase 20: las métricas de evaluación se derivan de esto — perplejidad, top-k accuracy, calibración (siguiente archivo).
  • Fase 26: la cuantización introduce pequeños desplazamientos distribucionales; los medimos en KL.

Lo que este archivo NO cubre

  • Alternativas bayesianas (MAP, inferencia variacional).
  • Regularización encuadrada como un prior sobre \(\theta\) (vale la pena conocerla; diferida).
  • La relación con el algoritmo EM (fuera de alcance para el escenario supervisado).

Siguiente: 04-log-sum-exp-and-stability.md