Inicio · Parte 16 — Matemática de Transformers, modelos generativos, grafos y RL
x_t = √ᾱ_t·x₀ + √(1−ᾱ_t)·ε
ᾱ_t = Π_{s≤t} (1 − β_s)
horario β: de 1e-4 a 0,02
El proceso directo de difusión destruye progresivamente una muestra añadiendo ruido gaussiano según un horario fijo. Tras suficientes pasos, lo que queda es indistinguible de ruido puro. Este proceso no tiene parámetros aprendidos: es una definición.
Su propiedad más importante es computacional. Como la composición de ruidos gaussianos es gaussiana, existe una fórmula cerrada que da x_t directamente a partir de x₀ sin simular los t−1 pasos intermedios. Sin ella, entrenar exigiría recorrer secuencialmente hasta el paso deseado, y el coste sería prohibitivo.
Con esa fórmula, el entrenamiento es sencillo: se toma una muestra, se elige un t al azar, se salta directamente a x_t y se pide a la red que prediga el ruido añadido. Cada paso de entrenamiento cuesta lo mismo independientemente de t.
El horario de ruido —cómo crece β con t— resulta importar bastante. El horario lineal original funciona, y los horarios coseno posteriores destruyen la información de forma más gradual y mejoran la calidad. Es un ejemplo de hiperparámetro que parecía menor y resultó tener efecto sustancial.
Horario de 20 pasos y señal conservada.
T = 20 β de 0,0001 a 0,02
t ᾱ_t señal conservada
0 0,999900 99,995 %
5 0,98xxxx ~99 %
10 0,94xxxx ~97 %
15 0,879869 ~93,8 %
20 0,80xxxx ~89 %
Fórmula: x_t = √ᾱ_t·x₀ + √(1−ᾱ_t)·ε
Con t = 15:
√ᾱ = 0,938 √(1−ᾱ) = 0,347
la señal aún domina sobre el ruido
Salto directo: para entrenar en t = 15 no hace falta
simular los 14 pasos anteriores.
Proceso directo de difusión: ruido añadido con horario fijo.
python classes/part-16-matematica-de-transformers-modelos-generativos-grafos-y-rl/334-diffusion-models-forward-process/lab.py
compmath run 334
pasos_Tbeta_inicialbeta_finalformulatrazasalto_directo_a_cualquier_tx_T_es_ruido_puroel_proceso_directo_no_se_aprendesemilla{
"pasos_T": 20,
"beta_inicial": 0.0001,
"beta_final": 0.02,
"formula": "x_t = √ᾱ_t·x₀ + √(1-ᾱ_t)·ε",
"traza": [
{
"t": 0,
"alpha_barra": 0.9999,
"señal_conservada_%": 99.995,
"media_empirica": 0.9997,
"media_teorica": 0.9999,
"varianza_teorica": 0.0001
},
{
"t": 5,
"alpha_barra": 0.98379043,
"señal_conservada_%": 99.1862,
"media_empirica": 0.9936,
"media_teorica": 0.9919,
"varianza_teorica": 0.01621
},
{
"t": 10,
"alpha_barra": 0.94277893,
"señal_conservada_%": 97.0968,
"media_empirica": 0.9759,
"media_teorica": 0.971,
"varianza_teorica": 0.057221
},
{
"t": 19,
"alpha_barra": 0.8167771,
"señal_conservada_%": 90.3757,
"media_empirica": 0.9249,
"media_teorica": 0.9038,
"varianza_teorica": 0.183223
}
],
"salto_directo_a_cualquier_t": "no hace falta simular los t-1 pasos previos"
}
Stable Diffusion, DALL-E, generación de audio y vídeo, y modelos de difusión sobre datos estructurados.
Esta parte es la traducción matemática directa de los papers que definen el estado del arte actual.
10.48550/arxiv.2006.11239 verificado en DataCite (2026-08-19).10.48550/arxiv.2102.09672 verificado en DataCite (2026-08-19).