Inicio · Parte 17 — Frontera matemática para IA e investigación
score: s(x) = ∇ₓ log p(x)
log p(x) = log p̃(x) − log Z
∇ₓ log Z = 0, luego el score ignora Z
El score es el gradiente del logaritmo de la densidad respecto de la entrada. Apunta hacia las regiones de mayor densidad, y su magnitud indica cuán pronunciada es la subida. Es un campo vectorial que describe la distribución tan completamente como la densidad misma.
Su propiedad decisiva es que no depende de la constante de normalización. Como el logaritmo convierte el producto en suma y la constante no depende de x, su gradiente es cero y desaparece. Eso importa muchísimo porque Z es una integral sobre todo el espacio, intratable en cualquier modelo interesante, y es lo que bloqueaba históricamente el entrenamiento de modelos basados en energía.
La demostración numérica es directa: multiplicar la densidad por una constante arbitraria no cambia el score en ningún punto. Se puede modelar la distribución salvo un factor y aun así caracterizarla completamente.
Conocido el score, la dinámica de Langevin genera muestras: seguir el score con un poco de ruido converge a la distribución. Combinar esa idea con múltiples niveles de ruido es exactamente lo que hacen los modelos de difusión de la clase 335 —la red que predice el ruido está estimando el score— y esa equivalencia unifica dos líneas de trabajo que parecían distintas.
Score de una normal, con y sin constante arbitraria.
distribución: Normal(1,5 ; 0,7)
score analítico: −(x − μ)/σ²
x analítico numérico
0,0 3,061224 3,061224 ✓
1,5 0,000000 0,000000 ✓
2,5 −2,040816 −2,040816 ✓
Con la densidad multiplicada por una constante:
score en x = 1,0: 1,020408
idéntico al de la densidad normalizada ✓
El score en el máximo vale 0: es donde la densidad
deja de crecer.
Por eso importa: Z es una integral intratable,
y el score no la necesita.
Score matching: aprender ∇ log p sin conocer la constante de normalización.
python classes/part-17-frontera-matematica-para-ia-e-investigacion/353-score-matching/lab.py
compmath run 353
distribucionscorecomparacionscore_con_constante_arbitrariaes_el_mismopor_que_importamuestreo_de_Langevinrelacion_con_difusiondenoising_score_matchingreferencia{
"distribucion": "Normal(1.5, 0.7)",
"score": "∇ₓ log p(x)",
"comparacion": {
"x=0.0": {
"analitico": 3.061224,
"numerico": 3.061224
},
"x=1.5": {
"analitico": -0.0,
"numerico": 0.0
},
"x=3.0": {
"analitico": -3.061224,
"numerico": -3.061224
}
},
"score_con_constante_arbitraria": 1.020408,
"es_el_mismo": true,
"por_que_importa": "el score no necesita la constante de normalización Z"
}
Modelos de difusión, modelos basados en energía, dinámica de Langevin, estimación de densidad y generación de imágenes.
Score matching fundamenta los modelos de difusión; el transporte óptimo aparece en flow matching; la teoría estadística del aprendizaje explica el scaling.
10.48550/arxiv.1907.05600 verificado en DataCite (2026-08-19).