Articulo de referencia

Modelo de difusión

En aprendizaje automático , los modelos de difusión , también conocidos como modelos generativos basados ​​en difusión o modelos generativos basados ​​en puntuación , son una cl...

En aprendizaje automático , los modelos de difusión , también conocidos como modelos generativos basados ​​en difusión o modelos generativos basados ​​en puntuación , son una clase de modelos generativos de variables latentes . Un modelo de difusión consta de dos componentes principales: el proceso de difusión hacia adelante y el proceso de muestreo inverso. El objetivo de los modelos de difusión es aprender un proceso de difusión para un conjunto de datos dado, de manera que el proceso pueda generar nuevos elementos que se distribuyan de forma similar al conjunto de datos original. Un modelo de difusión modela los datos como generados por un proceso de difusión, donde un nuevo dato realiza un paseo aleatorio con deriva a través del espacio de todos los datos posibles. [ 1 ] Un modelo de difusión entrenado puede muestrearse de muchas maneras, con diferente eficiencia y calidad.

Existen varios formalismos equivalentes, incluyendo cadenas de Markov , modelos probabilísticos de difusión de eliminación de ruido, redes de puntuación condicionadas al ruido y ecuaciones diferenciales estocásticas. [ 2 ] Suelen entrenarse mediante inferencia variacional . [ 3 ] El modelo responsable de la eliminación de ruido se denomina normalmente su " columna vertebral ". La columna vertebral puede ser de cualquier tipo, pero suelen ser U-nets o transformadores .

A partir de 2024Los modelos de difusión se utilizan principalmente para tareas de visión artificial , incluyendo la eliminación de ruido en imágenes , el relleno de imágenes , la superresolución , la generación de imágenes y la generación de vídeo. Estas tareas suelen implicar el entrenamiento de una red neuronal para eliminar secuencialmente el ruido de imágenes borrosas con ruido gaussiano . [ 1 ] [ 4 ] El modelo se entrena para revertir el proceso de añadir ruido a una imagen. Tras el entrenamiento hasta la convergencia, se puede utilizar para la generación de imágenes partiendo de una imagen compuesta de ruido aleatorio y aplicando la red iterativamente para eliminar el ruido de la imagen.

Los generadores de imágenes basados ​​en difusión han despertado un gran interés comercial, como Stable Diffusion y DALL-E . Estos modelos suelen combinar modelos de difusión con otros modelos, como codificadores de texto y módulos de atención cruzada, para permitir la generación condicionada por texto. [ 5 ]

Además de la visión por computadora, los modelos de difusión también han encontrado aplicaciones en el procesamiento del lenguaje natural [ 6 ] como la generación de texto [ 7 ] y el resumen , [ 8 ] la generación de sonido, [ 9 ] y el aprendizaje por refuerzo . [ 10 ] [ 11 ]

Modelo de difusión con eliminación de ruido

Termodinámica del no equilibrio

Los modelos de difusión se introdujeron en 2015 como un método para entrenar un modelo que puede muestrear a partir de una distribución de probabilidad altamente compleja. Utilizaron técnicas de la termodinámica del no equilibrio , especialmente la difusión . [ 12 ]

Consideremos, por ejemplo, cómo se podría modelar la distribución de todas las fotos que ocurren de forma natural. Cada imagen es un punto en el espacio de todas las imágenes, y la distribución de las fotos que ocurren de forma natural es una "nube" en el espacio que, al agregar ruido repetidamente a las imágenes, se difunde hacia el resto del espacio de imágenes, hasta que la nube se vuelve prácticamente indistinguible de una distribución gaussiana.norte(0,I){\displaystyle {\mathcal {N}}(0,I)}Un modelo que permita revertir aproximadamente la difusión puede utilizarse para muestrear la distribución original. Esto se estudia en la termodinámica del "no equilibrio", ya que la distribución inicial no se encuentra en equilibrio, a diferencia de la distribución final.

La distribución de equilibrio es la distribución gaussiana.norte(0,I){\displaystyle {\mathcal {N}}(0,I)}, con pdfρ(incógnita)mi12incógnita2{\displaystyle \rho (x)\propto e^{-{\frac {1}{2}}\|x\|^{2}}}Esta es simplemente la distribución de Maxwell-Boltzmann de partículas en un pozo de potencial .V(incógnita)=12incógnita2{\displaystyle V(x)={\frac {1}{2}}\|x\|^{2}}A temperatura 1, la distribución inicial, al estar muy alejada del equilibrio, se difundiría hacia la distribución de equilibrio, realizando pasos aleatorios sesgados que son una suma de pura aleatoriedad (como un caminante browniano ) y descenso de gradiente a través del pozo de potencial. La aleatoriedad es necesaria: si las partículas solo experimentaran descenso de gradiente, todas caerían al origen, colapsando la distribución.

Modelo probabilístico de difusión con eliminación de ruido (DDPM)

El artículo de 2020 propuso el Modelo Probabilístico de Difusión de Eliminación de Ruido (DDPM), que mejora el método anterior mediante inferencia variacional . [ 3 ] [ 13 ]

Difusión hacia adelante

Para presentar el modelo, se requiere cierta notación.

  • β1,...,βT(0,1){\displaystyle \beta _{1},...,\beta _{T}\in (0,1)}son constantes fijas.
  • αt:=1βt{\displaystyle \alpha _{t}:=1-\beta _{t}}
  • α¯t:=α1αt{\displaystyle {\bar {\alpha }}_{t}:=\alpha _{1}\cdots \alpha _{t}}
  • σt:=1α¯t{\displaystyle \sigma _{t}:={\sqrt {1-{\bar {\alpha }}_{t}}}}
  • σ~t:=σt1σtβt{\displaystyle {\tilde {\sigma }}_{t}:={\frac {\sigma _{t-1}}{\sigma _{t}}}{\sqrt {\beta _{t}}}}
  • μ~t(incógnitat,incógnita0):=αt(1α¯t1)incógnitat+α¯t1(1αt)incógnita0σt2{\displaystyle {\tilde {\mu }}_{t}(x_{t},x_{0}):={\frac {{\sqrt {\alpha _{t}}}(1-{\bar {\alpha }}_{t-1})x_{t}+{\sqrt {{\bar {\alpha }}_{t-1}}}(1-\alpha _{t})x_{0}}{\sigma _{t}^{2}}}}
  • norte(μ,Σ){\displaystyle {\mathcal {N}}(\mu,\Sigma)}es la distribución normal con mediaμ{\displaystyle \mu }y varianzaΣ{\displaystyle \Sigma }, ynorte(incógnita|μ,Σ){\displaystyle {\mathcal {N}}(x|\mu,\Sigma)}es la densidad de probabilidad enincógnita{\displaystyle x}.
  • Una barra vertical indica condicionamiento .

Un proceso de difusión hacia adelante comienza en algún punto de partida.incógnita0q{\displaystyle x_{0}\sim q}, dóndeq{\displaystyle q}es la distribución de probabilidad que se va a aprender, luego se le agrega ruido repetidamente medianteincógnitat=1βtincógnitat1+βtzt{\displaystyle x_{t}={\sqrt {1-\beta _{t}}}x_{t-1}+{\sqrt {\beta _{t}}}z_{t}}dóndez1,...,zT{\displaystyle z_{1},...,z_{T}}son IID ( variables aleatorias independientes e idénticamente distribuidas ) muestras denorte(0,I){\displaystyle {\mathcal {N}}(0,I)}. Los coeficientes1βt{\displaystyle {\sqrt {1-\beta _{t}}}}yβt{\displaystyle {\sqrt {\beta _{t}}}}asegurar queVar(incógnitat)=I{\displaystyle {\mbox{Var}}(X_{t})=I}suponiendo queVar(incógnita0)=I{\displaystyle {\mbox{Var}}(X_{0})=I}. Los valores deβt{\displaystyle \beta _{t}}se eligen de tal manera que para cualquier distribución inicial deincógnita0{\displaystyle x_{0}}, si tiene un segundo momento finito, entonceslímitetincógnitat|incógnita0{\displaystyle \lim _{t\to \infty }x_{t}|x_{0}}converge anorte(0,I){\displaystyle {\mathcal {N}}(0,I)}.

Todo el proceso de difusión satisface entoncesq(incógnita0:T)=q(incógnita0)q(incógnita1|incógnita0)q(incógnitaT|incógnitaT1)=q(incógnita0)norte(incógnita1|α1incógnita0,β1I)norte(incógnitaT|αTincógnitaT1,βTI){\displaystyle q(x_{0:T})=q(x_{0})q(x_{1}|x_{0})\cdots q(x_{T}|x_{T-1})=q(x_{0}){\mathcal {N}}(x_{1}|{\sqrt {\alpha _{1}}}x_{0},\beta _{1}I)\cdots {\mathcal {N}}(x_{T}|{\sqrt {\alpha _{T}}}x_{T-1},\beta _{T}I)}olnq(incógnita0:T)=lnq(incógnita0)t=1T12βtincógnitat1βtincógnitat12+do{\displaystyle \ln q(x_{0:T})=\ln q(x_{0})-\sum _{t=1}^{T}{\frac {1}{2\beta _{t}}}\|x_{t}-{\sqrt {1-\beta _{t}}}x_{t-1}\|^{2}+C}dóndedo{\displaystyle C}es una constante de normalización y a menudo se omite. En particular, observamos queincógnita1:T|incógnita0{\displaystyle x_{1:T}|x_{0}}es un proceso gaussiano , lo que nos brinda una libertad considerable en la reparametrización . Por ejemplo, mediante manipulación estándar con un proceso gaussiano,incógnitat|incógnita0norte(α¯tincógnita0,σt2I){\displaystyle x_{t}|x_{0}\sim N\left({\sqrt {{\bar {\alpha }}_{t}}}x_{0},\sigma _{t}^{2}I\right)}incógnitat1|incógnitat,incógnita0norte(μ~t(incógnitat,incógnita0),σ~t2I){\displaystyle x_{t-1}|x_{t},x_{0}\sim {\mathcal {N}}({\tilde {\mu }}_{t}(x_{t},x_{0}),{\tilde {\sigma }}_{t}^{2}I)}En particular, observe que para grandest{\displaystyle t}, la variableincógnitat|incógnita0norte(α¯tincógnita0,σt2I){\displaystyle x_{t}|x_{0}\sim N\left({\sqrt {{\bar {\alpha }}_{t}}}x_{0},\sigma _{t}^{2}I\right)}converge anorte(0,I){\displaystyle {\mathcal {N}}(0,I)}. Es decir, después de un proceso de difusión suficientemente largo, terminamos con algoincógnitaT{\displaystyle x_{T}}eso está muy cerca denorte(0,I){\displaystyle {\mathcal {N}}(0,I)}, con todos los rastros del originalincógnita0q{\displaystyle x_{0}\sim q}desaparecido.

Por ejemplo, dado queincógnitat|incógnita0norte(α¯tincógnita0,σt2I){\displaystyle x_{t}|x_{0}\sim N\left({\sqrt {{\bar {\alpha }}_{t}}}x_{0},\sigma _{t}^{2}I\right)}podemos hacer una muestraincógnitat|incógnita0{\displaystyle x_{t}|x_{0}}directamente "en un solo paso", en lugar de pasar por todos los pasos intermedios.incógnita1,incógnita2,...,incógnitat1{\displaystyle x_{1},x_{2},...,x_{t-1}}.

Derivación por reparametrización

Lo sabemosincógnitat1|incógnita0{\textstyle x_{t-1}|x_{0}}es una gaussiana yincógnitat|incógnitat1{\textstyle x_{t}|x_{t-1}}es otra gaussiana. También sabemos que son independientes. Por lo tanto, podemos realizar una reparametrización:incógnitat1=α¯t1incógnita0+1α¯t1z{\displaystyle x_{t-1}={\sqrt {{\bar {\alpha }}_{t-1}}}x_{0}+{\sqrt {1-{\bar {\alpha }}_{t-1}}}z}incógnitat=αtincógnitat1+1αtz{\displaystyle x_{t}={\sqrt {\alpha _{t}}}x_{t-1}+{\sqrt {1-\alpha _{t}}}z'}dóndez,z{\textstyle z,z'}son gaussianas IID.

Hay 5 variablesincógnita0,incógnitat1,incógnitat,z,z{\textstyle x_{0},x_{t-1},x_{t},z,z'}y dos ecuaciones lineales. Las dos fuentes de aleatoriedad son:z,z{\textstyle z,z'}, que puede ser reparametrizada por rotación, ya que la distribución gaussiana IID es simétrica rotacionalmente.

Sustituyendo las ecuaciones, podemos resolver la primera reparametrización:incógnitat=α¯tincógnita0+αtα¯tz+1αtz=σtz{\displaystyle x_{t}={\sqrt {{\bar {\alpha }}_{t}}}x_{0}+\underbrace {{\sqrt {\alpha _{t}-{\bar {\alpha }}_{t}}}z+{\sqrt {1-\alpha _{t}}}z'} _{=\sigma _{t}z''}}dóndez{\textstyle z''}es una distribución gaussiana con media cero y varianza uno.

Para hallar el segundo, completamos la matriz de rotación:[zz]=[αtα¯tσtβtσt¿¿][zz]{\displaystyle {\begin{bmatrix}z''\\z'''\end{bmatrix}}={\begin{bmatrix}{\frac {\sqrt {\alpha _{t}-{\bar {\alpha }}_{t}}}{\sigma _{t}}}&{\frac {\sqrt {\beta _{t}}}{\sigma _{t}}}\\?&?\end{bmatrix}}{\begin{bmatrix}z\\z'\end{bmatrix}}}

Dado que las matrices de rotación son todas de la forma[porqueθpecadoθpecadoθporqueθ]{\textstyle {\begin{bmatrix}\cos \theta &\sin \theta \\-\sin \theta &\cos \theta \end{bmatrix}}}, sabemos que la matriz debe ser[zz]=[αtα¯tσtβtσtβtσtαtα¯tσt][zz]{\displaystyle {\begin{bmatrix}z''\\z'''\end{bmatrix}}={\begin{bmatrix}{\frac {\sqrt {\alpha _{t}-{\bar {\alpha }}_{t}}}{\sigma _{t}}}&{\frac {\sqrt {\beta _{t}}}{\sigma _{t}}}\\-{\frac {\sqrt {\beta _{t}}}{\sigma _{t}}}&{\frac {\sqrt {\alpha _{t}-{\bar {\alpha }}_{t}}}{\sigma _{t}}}\end{bmatrix}}{\begin{bmatrix}z\\z'\end{bmatrix}}}y puesto que la inversa de una matriz de rotación es su transpuesta, [zz]=[αtα¯tσtβtσtβtσtαtα¯tσt][zz]{\displaystyle {\begin{bmatrix}z\\z'\end{bmatrix}}={\begin{bmatrix}{\frac {\sqrt {\alpha _{t}-{\bar {\alpha }}_{t}}}{\sigma _{t}}}&-{\frac {\sqrt {\beta _{t}}}{\sigma _{t}}}\\{\frac {\sqrt {\beta _{t}}}{\sigma _{t}}}&{\frac {\sqrt {\alpha _{t}-{\bar {\alpha }}_{t}}}{\sigma _{t}}}\end{bmatrix}}{\begin{bmatrix}z''\\z'''\end{bmatrix}}}

Volviendo a conectar y simplificando, tenemosincógnitat=α¯tincógnita0+σtz{\displaystyle x_{t}={\sqrt {{\bar {\alpha }}_{t}}}x_{0}+\sigma _{t}z''}incógnitat1=μ~t(incógnitat,incógnita0)σ~tz{\displaystyle x_{t-1}={\tilde {\mu }}_{t}(x_{t},x_{0})-{\tilde {\sigma }}_{t}z'''}

Difusión hacia atrás

La idea clave de DDPM es utilizar una red neuronal parametrizada porθ{\displaystyle \theta }La red recibe dos argumentos.incógnitat,t{\displaystyle x_{t},t}y genera un vectorμθ(incógnitat,t){\displaystyle \mu _{\theta }(x_{t},t)}y una matrizΣθ(incógnitat,t){\displaystyle \Sigma _{\theta }(x_{t},t)}, de tal manera que cada paso en el proceso de difusión hacia adelante puede ser aproximadamente deshecho porincógnitat1norte(μθ(incógnitat,t),Σθ(incógnitat,t)){\displaystyle x_{t-1}\sim {\mathcal {N}}(\mu _{\theta }(x_{t},t),\Sigma _{\theta }(x_{t},t))}Esto nos da entonces un proceso de difusión hacia atrás.pagθ{\displaystyle p_{\theta }}definido porpagθ(incógnitaT)=norte(incógnitaT|0,I){\displaystyle p_{\theta }(x_{T})={\mathcal {N}}(x_{T}|0,I)}pagθ(incógnitat1|incógnitat)=norte(incógnitat1|μθ(incógnitat,t),Σθ(incógnitat,t)){\displaystyle p_{\theta }(x_{t-1}|x_{t})={\mathcal {N}}(x_{t-1}|\mu _{\theta }(x_{t},t),\Sigma _{\theta }(x_{t},t))}El objetivo ahora es aprender los parámetros.θ{\displaystyle \theta }de tal manera quepagθ(incógnita0){\displaystyle p_{\theta }(x_{0})}es lo más cercano aq(incógnita0){\displaystyle q(x_{0})}en la medida de lo posible. Para ello, utilizamos la estimación de máxima verosimilitud con inferencia variacional.

Inferencia variacional

La desigualdad ELBO establece quelnpagθ(incógnita0)miincógnita1:Tq(|incógnita0)[lnpagθ(incógnita0:T)lnq(incógnita1:T|incógnita0)]{\displaystyle \ln p_{\theta }(x_{0})\geq E_{x_{1:T}\sim q(\cdot |x_{0})}[\ln p_{\theta }(x_{0:T})-\ln q(x_{1:T}|x_{0})]}y tomando una expectativa más, obtenemosmiincógnita0q[lnpagθ(incógnita0)]miincógnita0:Tq[lnpagθ(incógnita0:T)lnq(incógnita1:T|incógnita0)]{\displaystyle E_{x_{0}\sim q}[\ln p_{\theta }(x_{0})]\geq E_{x_{0:T}\sim q}[\ln p_{\theta }(x_{0:T})-\ln q(x_{1:T}|x_{0})]}Observamos que maximizar la cantidad de la derecha nos daría un límite inferior para la probabilidad de los datos observados. Esto nos permite realizar inferencia variacional.

Defina la función de pérdidaL(θ):=miincógnita0:Tq[lnpagθ(incógnita0:T)lnq(incógnita1:T|incógnita0)]{\displaystyle L(\theta ):=-E_{x_{0:T}\sim q}[\ln p_{\theta }(x_{0:T})-\ln q(x_{1:T}|x_{0})]}y ahora el objetivo es minimizar la pérdida mediante descenso de gradiente estocástico . La expresión se puede simplificar a [ 14 ].L(θ)=t=1Tmiincógnitat1,incógnitatq[lnpagθ(incógnitat1|incógnitat)]+miincógnita0q[DKL(q(incógnitaT|incógnita0)pagθ(incógnitaT))]+do{\displaystyle L(\theta )=\sum _{t=1}^{T}E_{x_{t-1},x_{t}\sim q}[-\ln p_{\theta }(x_{t-1}|x_{t})]+E_{x_{0}\sim q}[D_{KL}(q(x_{T}|x_{0})\|p_{\theta }(x_{T}))]+C}dóndedo{\displaystyle C}no depende del parámetro y, por lo tanto, puede ignorarse. Dado quepagθ(incógnitaT)=norte(incógnitaT|0,I){\displaystyle p_{\theta }(x_{T})={\mathcal {N}}(x_{T}|0,I)}tampoco depende del parámetro, el términomiincógnita0q[DKL(q(incógnitaT|incógnita0)pagθ(incógnitaT))]{\displaystyle E_{x_{0}\sim q}[D_{KL}(q(x_{T}|x_{0})\|p_{\theta }(x_{T}))]}También se puede ignorar. Esto deja soloL(θ)=t=1TLt{\displaystyle L(\theta )=\sum _{t=1}^{T}L_{t}}conLt=miincógnitat1,incógnitatq[lnpagθ(incógnitat1|incógnitat)]{\displaystyle L_{t}=E_{x_{t-1},x_{t}\sim q}[-\ln p_{\theta }(x_{t-1}|x_{t})]}ser minimizado.

Red de predicción de ruido

Desdeincógnitat1|incógnitat,incógnita0norte(μ~t(incógnitat,incógnita0),σ~t2I){\displaystyle x_{t-1}|x_{t},x_{0}\sim {\mathcal {N}}({\tilde {\mu }}_{t}(x_{t},x_{0}),{\tilde {\sigma }}_{t}^{2}I)}, esto sugiere que deberíamos usarμθ(incógnitat,t)=μ~t(incógnitat,incógnita0){\displaystyle \mu _{\theta }(x_{t},t)={\tilde {\mu }}_{t}(x_{t},x_{0})}; sin embargo, la red no tiene acceso aincógnita0{\displaystyle x_{0}}y por lo tanto tiene que estimarlo en su lugar. Ahora, dado queincógnitat|incógnita0norte(α¯tincógnita0,σt2I){\displaystyle x_{t}|x_{0}\sim N\left({\sqrt {{\bar {\alpha }}_{t}}}x_{0},\sigma _{t}^{2}I\right)}, podemos escribirincógnitat=α¯tincógnita0+σtz{\displaystyle x_{t}={\sqrt {{\bar {\alpha }}_{t}}}x_{0}+\sigma _{t}z}, dóndez{\displaystyle z}es algún ruido gaussiano desconocido. Ahora vemos que estimarincógnita0{\displaystyle x_{0}}es equivalente a estimarz{\displaystyle z}.

Por lo tanto, dejemos que la red genere un vector de ruido.ϵθ(incógnitat,t){\displaystyle \epsilon _{\theta }(x_{t},t)}y deja que predigaμθ(incógnitat,t)=μ~t(incógnitat,incógnitatσtϵθ(incógnitat,t)α¯t)=incógnitatϵθ(incógnitat,t)βt/σtαt{\displaystyle \mu _{\theta }(x_{t},t)={\tilde {\mu }}_{t}\left(x_{t},{\frac {x_{t}-\sigma _{t}\epsilon _{\theta }(x_{t},t)}{\sqrt {{\bar {\alpha }}_{t}}}}\right)={\frac {x_{t}-\epsilon _{\theta }(x_{t},t)\beta _{t}/\sigma _{t}}{\sqrt {\alpha _{t}}}}}Queda por diseñarΣθ(incógnitat,t){\displaystyle \Sigma _{\theta }(x_{t},t)}El documento DDPM sugería no aprenderlo (ya que resultaba en un "entrenamiento inestable y una peor calidad de la muestra"), sino fijarlo en algún valor.Σθ(incógnitat,t)=ζt2I{\displaystyle \Sigma _{\theta }(x_{t},t)=\zeta _{t}^{2}I}, donde o bienζt2=βt o σ~t2{\displaystyle \zeta _{t}^{2}=\beta _{t}{\text{ or }}{\tilde {\sigma }}_{t}^{2}}arrojaron un rendimiento similar.

Con esto, la pérdida se simplifica aLt=βt22αtσt2ζt2miincógnita0q;znorte(0,I)[ϵθ(incógnitat,t)z2]+do{\displaystyle L_{t}={\frac {\beta _{t}^{2}}{2\alpha _{t}\sigma _{t}^{2}\zeta _{t}^{2}}}E_{x_{0}\sim q;z\sim {\mathcal {N}}(0,I)}\left[\left\|\epsilon _{\theta }(x_{t},t)-z\right\|^{2}\right]+C}que puede minimizarse mediante descenso de gradiente estocástico. El artículo señaló empíricamente que una función de pérdida aún más simpleLsimetropaglmi,t=miincógnita0q;znorte(0,I)[ϵθ(incógnitat,t)z2]{\displaystyle L_{simple,t}=E_{x_{0}\sim q;z\sim {\mathcal {N}}(0,I)}\left[\left\|\epsilon _{\theta }(x_{t},t)-z\right\|^{2}\right]}dio como resultado mejores modelos.

Proceso de difusión inversa

Una vez entrenada una red de predicción de ruido, se puede utilizar para generar puntos de datos en la distribución original en un bucle de la siguiente manera:

  1. Calcular la estimación del ruidoϵϵθ(incógnitat,t){\displaystyle \epsilon \leftarrow \epsilon _{\theta }(x_{t},t)}
  2. Calcular la estimación de los datos originalesincógnita~0(incógnitatσtϵ)/α¯t{\displaystyle {\tilde {x}}_{0}\leftarrow (x_{t}-\sigma _{t}\epsilon )/{\sqrt {{\bar {\alpha }}_{t}}}}
  3. Muestra los datos anterioresincógnitat1norte(μ~t(incógnitat,incógnita~0),σ~t2I){\displaystyle x_{t-1}\sim {\mathcal {N}}({\tilde {\mu }}_{t}(x_{t},{\tilde {x}}_{0}),{\tilde {\sigma }}_{t}^{2}I)}
  4. Cambiar de horatt1{\displaystyle t\leftarrow t-1}

Modelo generativo basado en puntuación

El modelo generativo basado en puntuación es otra formulación del modelado de difusión. También se les denomina red de puntuación condicional de ruido (NCSN) o coincidencia de puntuación con dinámica de Langevin (SMLD). [ 15 ] [ 16 ] [ 17 ] [ 18 ]

Coincidencia de puntuación

La idea de las funciones de puntuación

Consideremos el problema de la generación de imágenes. Seaincógnita{\displaystyle x}representar una imagen, y dejarq(incógnita){\displaystyle q(x)}sea ​​la distribución de probabilidad sobre todas las imágenes posibles. Si tenemosq(incógnita){\displaystyle q(x)}Si analizamos esto por nosotros mismos, podemos determinar con certeza la probabilidad de una determinada imagen. Sin embargo, en general, esto resulta intratable.

Por lo general, no nos interesa conocer la probabilidad absoluta de una imagen determinada. En cambio, solemos estar interesados ​​en saber cuán probable es una imagen en comparación con sus vecinas inmediatas; por ejemplo, ¿cuánto más probable es una imagen de un gato en comparación con algunas variantes pequeñas del mismo? ¿Es más probable si la imagen contiene dos bigotes, tres o si se le ha añadido ruido gaussiano?

Por consiguiente, en realidad no nos interesa en absolutoq(incógnita){\displaystyle q(x)}sí mismo, sino más bien,incógnitalnq(incógnita){\displaystyle \nabla _{x}\ln q(x)}Esto tiene dos efectos principales:

  • Primero, ya no necesitamos normalizarq(incógnita){\displaystyle q(x)}pero puede utilizar cualquierq~(incógnita)=doq(incógnita){\displaystyle {\tilde {q}}(x)=Cq(x)}, dóndedo=q~(incógnita)dincógnita>0{\displaystyle C=\int {\tilde {q}}(x)dx>0}es cualquier constante desconocida que no nos concierne.
  • Dos, estamos comparandoq(incógnita){\displaystyle q(x)}vecinosq(incógnita+dincógnita){\displaystyle q(x+dx)}, porq(incógnita)q(incógnita+dincógnita)=miincógnitalnq,dincógnita{\displaystyle {\frac {q(x)}{q(x+dx)}}=e^{-\langle \nabla _{x}\ln q,dx\rangle }}

Sea la función de puntuacións(incógnita):=incógnitalnq(incógnita){\displaystyle s(x):=\nabla _{x}\ln q(x)}; luego consideremos qué podemos hacer cons(incógnita){\displaystyle s(x)}.

Resulta que,s(incógnita){\displaystyle s(x)}nos permite tomar muestras deq(incógnita){\displaystyle q(x)}utilizando la termodinámica. Específicamente, si tenemos una función de energía potencialU(incógnita)=lnq(incógnita){\displaystyle U(x)=-\ln q(x)}y hay muchas partículas en el pozo de potencial, entonces la distribución en equilibrio termodinámico es la distribución de Boltzmann.qU(incógnita)miU(incógnita)/kBT=q(incógnita)1/kBT{\displaystyle q_{U}(x)\propto e^{-U(x)/k_{B}T}=q(x)^{1/k_{B}T}}. A temperaturakBT=1{\displaystyle k_{B}T=1}, la distribución de Boltzmann es exactamenteq(incógnita){\displaystyle q(x)}.

Por lo tanto, para modelarq(incógnita){\displaystyle q(x)}Podemos comenzar con una partícula muestreada en cualquier distribución conveniente (como la distribución gaussiana estándar), y luego simular el movimiento de la partícula hacia adelante según la ecuación de Langevin.dincógnitat=incógnitatU(incógnitat)dt+dWt{\displaystyle dx_{t}=-\nabla _{x_{t}}U(x_{t})dt+dW_{t}} y la distribución de Boltzmann es, según la ecuación de Fokker-Planck, el único equilibrio termodinámico . Por lo tanto, no importa qué distribuciónincógnita0{\displaystyle x_{0}}tiene, la distribución deincógnitat{\displaystyle x_{t}}converge en distribución aq{\displaystyle q}comot{\displaystyle t\to \infty }.

Aprender la función de puntuación

Dada una densidadq{\displaystyle q}, deseamos aprender una aproximación de la función de puntuaciónFθlnq{\displaystyle f_{\theta }\approx \nabla \ln q}Esto es ajuste de puntuación . [ 19 ] Típicamente, el ajuste de puntuación se formaliza como la minimización de la función de divergencia de Fisher.miq[Fθ(incógnita)lnq(incógnita)2]{\displaystyle E_{q}[\|f_{\theta }(x)-\nabla \ln q(x)\|^{2}]}. Al expandir la integral y realizar una integración por partes ,miq[Fθ(incógnita)lnq(incógnita)2]=miq[Fθ2+2Fθ]+do{\displaystyle E_{q}[\|f_{\theta }(x)-\nabla \ln q(x)\|^{2}]=E_{q}[\|f_{\theta }\|^{2}+2\nabla \cdot f_{\theta }]+C}lo que nos proporciona una función de pérdida, también conocida como la regla de puntuación de Hyvärinen , que puede minimizarse mediante el descenso de gradiente estocástico.

Recocido de la función de puntuación

Supongamos que necesitamos modelar la distribución de imágenes y queremosincógnita0norte(0,I){\displaystyle x_{0}\sim {\mathcal {N}}(0,I)}, una imagen de ruido blanco. Ahora bien, la mayoría de las imágenes de ruido blanco no se parecen a las imágenes reales, por lo queq(incógnita0)0{\displaystyle q(x_{0})\approx 0}para grandes extensiones deincógnita0norte(0,I){\displaystyle x_{0}\sim {\mathcal {N}}(0,I)}Esto presenta un problema para aprender la función de puntuación, porque si no hay muestras alrededor de un punto determinado, entonces no podemos aprender la función de puntuación en ese punto. Si no conocemos la función de puntuaciónincógnitatlnq(incógnitat){\displaystyle \nabla _{x_{t}}\ln q(x_{t})}En ese punto, entonces no podemos imponer la ecuación de evolución temporal a una partícula:dincógnitat=incógnitatlnq(incógnitat)dt+dWt{\displaystyle dx_{t}=\nabla _{x_{t}}\ln q(x_{t})dt+dW_{t}}Para abordar este problema, realizamos un recocido . Siq{\displaystyle q}Si es demasiado diferente de una distribución de ruido blanco, entonces agregamos ruido progresivamente hasta que sea indistinguible de una. Es decir, realizamos una difusión hacia adelante, luego aprendemos la función de puntuación y luego usamos la función de puntuación para realizar una difusión hacia atrás.

procesos de difusión continua

Proceso de difusión hacia adelante

Consideremos nuevamente el proceso de difusión hacia adelante, pero esta vez en tiempo continuo:incógnitat=1βtincógnitat1+βtzt{\displaystyle x_{t}={\sqrt {1-\beta _{t}}}x_{t-1}+{\sqrt {\beta _{t}}}z_{t}}Al tomar elβtβ(t)dt,dtztdWt{\displaystyle \beta _{t}\to \beta (t)dt,{\sqrt {dt}}z_{t}\to dW_{t}}En el límite, obtenemos un proceso de difusión continuo, en forma de ecuación diferencial estocástica :dincógnitat=12β(t)incógnitatdt+β(t)dWt{\displaystyle dx_{t}=-{\frac {1}{2}}\beta (t)x_{t}dt+{\sqrt {\beta (t)}}dW_{t}}dóndeWt{\displaystyle W_{t}}es un proceso de Wiener (movimiento browniano multidimensional).

Ahora bien, la ecuación es precisamente un caso especial de la ecuación de Langevin sobreamortiguada.dincógnitat=DkBT(incógnitaU)dt+2DdWt{\displaystyle dx_{t}=-{\frac {D}{k_{B}T}}(\nabla _{x}U)dt+{\sqrt {2D}}dW_{t}}dóndeD{\displaystyle D}es el tensor de difusión,T{\displaystyle T}es la temperatura yU{\displaystyle U}es el campo de energía potencial. Si sustituimos enD=12β(t)I,kBT=1,U=12incógnita2{\displaystyle D={\frac {1}{2}}\beta (t)I,k_{B}T=1,U={\frac {1}{2}}\|x\|^{2}}Recuperamos la ecuación anterior. Esto explica por qué la expresión "dinámica de Langevin" se utiliza a veces en los modelos de difusión.

Ahora bien, la ecuación anterior es para el movimiento estocástico de una sola partícula. Supongamos que tenemos una nube de partículas distribuidas segúnq{\displaystyle q}en ese momentot=0{\displaystyle t=0}, luego, después de mucho tiempo, la nube de partículas se asentaría en la distribución estable denorte(0,I){\displaystyle {\mathcal {N}}(0,I)}. Dejarρt{\displaystyle \rho _{t}}sea ​​la densidad de la nube de partículas en el tiempot{\displaystyle t}, entonces tenemosρ0=q;ρTnorte(0,I){\displaystyle \rho _{0}=q;\quad \rho _{T}\approx {\mathcal {N}}(0,I)}y el objetivo es, de alguna manera, revertir el proceso, para poder empezar por el final y volver a difundirlo hasta el principio.

Según la ecuación de Fokker-Planck , la densidad de la nube evoluciona de acuerdo contlnρt=12β(t)(norte+(incógnita+lnρt)lnρt+Δlnρt){\displaystyle \partial _{t}\ln \rho _{t}={\frac {1}{2}}\beta (t)\left(n+(x+\nabla \ln \rho _{t})\cdot \nabla \ln \rho _{t}+\Delta \ln \rho _{t}\right)}dóndenorte{\displaystyle n}es la dimensión del espacio, yΔ{\displaystyle \Delta }es el operador de Laplace . Equivalentemente,tρt=12β(t)((incógnitaρt)+Δρt){\displaystyle \partial _{t}\rho _{t}={\frac {1}{2}}\beta (t)(\nabla \cdot (x\rho _{t})+\Delta \rho _{t})}

Proceso de difusión inversa

Si hemos resueltoρt{\displaystyle \rho _{t}}por tiempot[0,T]{\displaystyle t\in [0,T]}, entonces podemos revertir exactamente la evolución de la nube. Supongamos que comenzamos con otra nube de partículas con densidadν0=ρT{\displaystyle \nu _{0}=\rho _{T}}y dejar que las partículas en la nube evolucionen según

dyt=12β(Tt)ytdt+β(Tt)ytlnρTt(yt)función de puntuación dt+β(Tt)dWt{\displaystyle dy_{t}={\frac {1}{2}}\beta (T-t)y_{t}dt+\beta (T-t)\underbrace {\nabla _{y_{t}}\ln \rho _{T-t}\left(y_{t}\right)} _{\text{score function }}dt+{\sqrt {\beta (T-t)}}dW_{t}}

Luego, al sustituir en la ecuación de Fokker-Planck, encontramos quetρTt=tνt{\displaystyle \partial _{t}\rho _{T-t}=\partial _{t}\nu _{t}}. Por lo tanto, esta nube de puntos es la nube original, que evoluciona hacia atrás. [ 20 ]

Red de puntuación condicional de ruido (NCSN)

En el límite continuo, α¯t=(1β1)(1βt)=miiln(1βi)mi0tβ(t)dt{\displaystyle {\bar {\alpha }}_{t}=(1-\beta _{1})\cdots (1-\beta _{t})=e^{\sum _{i}\ln(1-\beta _{i})}\to e^{-\int _{0}^{t}\beta (t)dt}} y entonces incógnitat|incógnita0norte(mi120tβ(t)dtincógnita0,(1mi0tβ(t)dt)I){\displaystyle x_{t}|x_{0}\sim N\left(e^{-{\frac {1}{2}}\int _{0}^{t}\beta (t)dt}x_{0},\left(1-e^{-\int _{0}^{t}\beta (t)dt}\right)I\right)} En particular, vemos que podemos tomar muestras directamente de cualquier punto en el proceso de difusión continua sin pasar por los pasos intermedios, tomando primero muestras.incógnita0q,znorte(0,I){\displaystyle x_{0}\sim q,z\sim {\mathcal {N}}(0,I)}, entonces obtenerincógnitat=mi120tβ(t)dtincógnita0+(1mi0tβ(t)dt)z{\displaystyle x_{t}=e^{-{\frac {1}{2}}\int _{0}^{t}\beta (t)dt}x_{0}+\left(1-e^{-\int _{0}^{t}\beta (t)dt}\right)z}Es decir, podemos tomar muestras rápidamente.incógnitatρt{\displaystyle x_{t}\sim \rho _{t}}para cualquiert0{\displaystyle t\geq 0}.

Ahora, definamos una determinada distribución de probabilidad.γ{\displaystyle \gamma }encima[0,){\displaystyle [0,\infty )}, entonces la función de pérdida de coincidencia de puntuación se define como la divergencia de Fisher esperada: L(θ)=mitγ,incógnitatρt[Fθ(incógnitat,t)2+2Fθ(incógnitat,t)]{\displaystyle L(\theta )=E_{t\sim \gamma ,x_{t}\sim \rho _{t}}[\|f_{\theta }(x_{t},t)\|^{2}+2\nabla \cdot f_{\theta }(x_{t},t)]} Después del entrenamiento,Fθ(incógnitat,t)lnρt{\displaystyle f_{\theta }(x_{t},t)\approx \nabla \ln \rho _{t}}, por lo que podemos realizar el proceso de difusión hacia atrás mediante el muestreo inicial.incógnitaTnorte(0,I){\displaystyle x_{T}\sim {\mathcal {N}}(0,I)}, luego integrando el SDE det=T{\displaystyle t=T}at=0{\displaystyle t=0}: incógnitatdt=incógnitat+12β(t)incógnitatdt+β(t)Fθ(incógnitat,t)dt+β(t)dWt{\displaystyle x_{t-dt}=x_{t}+{\frac {1}{2}}\beta (t)x_{t}dt+\beta (t)f_{\theta }(x_{t},t)dt+{\sqrt {\beta (t)}}dW_{t}} Esto se puede hacer mediante cualquier método de integración de EDE, como el método de Euler-Maruyama .

El nombre "red de puntuación condicional de ruido" se explica de la siguiente manera:

  • "red", porqueFθ{\displaystyle f_{\theta }}se implementa como una red neuronal.
  • "puntuación", porque la salida de la red se interpreta como una aproximación a la función de puntuación.lnρt{\displaystyle \nabla \ln \rho _{t}}.
  • "condicional al ruido", porqueρt{\displaystyle \rho _{t}}es igual aρ0{\displaystyle \rho _{0}}La imagen se ve difuminada por un ruido gaussiano añadido que aumenta con el tiempo, por lo que la función de puntuación depende de la cantidad de ruido añadido.

Su equivalencia

DDPM y los modelos generativos basados ​​en puntuación son equivalentes. [ 16 ] [ 1 ] [ 21 ] Esto significa que una red entrenada con DDPM puede usarse como NCSN, y viceversa.

Sabemos queincógnitat|incógnita0norte(α¯tincógnita0,σt2I){\displaystyle x_{t}|x_{0}\sim N\left({\sqrt {{\bar {\alpha }}_{t}}}x_{0},\sigma _{t}^{2}I\right)}, por lo tanto, según la fórmula de Tweedie , tenemos incógnitatlnq(incógnitat)=1σt2(incógnitat+α¯tmiq[incógnita0|incógnitat]){\displaystyle \nabla _{x_{t}}\ln q(x_{t})={\frac {1}{\sigma _{t}^{2}}}(-x_{t}+{\sqrt {{\bar {\alpha }}_{t}}}E_{q}[x_{0}|x_{t}])} Como se describió anteriormente, la función de pérdida DDPM estLsimetropaglmi,t{\displaystyle \sum _{t}L_{simple,t}}con Lsimetropaglmi,t=miincógnita0q;znorte(0,I)[ϵθ(incógnitat,t)z2]{\displaystyle L_{simple,t}=E_{x_{0}\sim q;z\sim {\mathcal {N}}(0,I)}\left[\left\|\epsilon _{\theta }(x_{t},t)-z\right\|^{2}\right]} dóndeincógnitat=α¯tincógnita0+σtz{\displaystyle x_{t}={\sqrt {{\bar {\alpha }}_{t}}}x_{0}+\sigma _{t}z}. Mediante un cambio de variables, Lsimetropaglmi,t=miincógnita0,incógnitatq[ϵθ(incógnitat,t)incógnitatα¯tincógnita0σt2]=miincógnitatq,incógnita0q(|incógnitat)[ϵθ(incógnitat,t)incógnitatα¯tincógnita0σt2]{\displaystyle L_{simple,t}=E_{x_{0},x_{t}\sim q}\left[\left\|\epsilon _{\theta }(x_{t},t)-{\frac {x_{t}-{\sqrt {{\bar {\alpha }}_{t}}}x_{0}}{\sigma _{t}}}\right\|^{2}\right]=E_{x_{t}\sim q,x_{0}\sim q(\cdot |x_{t})}\left[\left\|\epsilon _{\theta }(x_{t},t)-{\frac {x_{t}-{\sqrt {{\bar {\alpha }}_{t}}}x_{0}}{\sigma _{t}}}\right\|^{2}\right]} y el término interior se convierte en una regresión de mínimos cuadrados, por lo que si la red realmente alcanza el mínimo global de pérdida, entonces tenemosϵθ(incógnitat,t)=incógnitatα¯tmiq[incógnita0|incógnitat]σt=σtincógnitatlnq(incógnitat){\displaystyle \epsilon _{\theta }(x_{t},t)={\frac {x_{t}-{\sqrt {{\bar {\alpha }}_{t}}}E_{q}[x_{0}|x_{t}]}{\sigma _{t}}}=-\sigma _{t}\nabla _{x_{t}}\ln q(x_{t})}

Por lo tanto, dada una buena red basada en puntuación, su puntuación predicha es una buena predicción del ruido (después de escalar porσt{\displaystyle \sigma _{t}}), y por lo tanto se puede utilizar para la reducción de ruido.

Por el contrario, el límite continuoincógnitat1=incógnitatdt,βt=β(t)dt,ztdt=dWt{\displaystyle x_{t-1}=x_{t-dt},\beta _{t}=\beta (t)dt,z_{t}{\sqrt {dt}}=dW_{t}}de la ecuación hacia atrás incógnitat1=incógnitatαtβtσtαtϵθ(incógnitat,t)+βtzt;ztnorte(0,I){\displaystyle x_{t-1}={\frac {x_{t}}{\sqrt {\alpha _{t}}}}-{\frac {\beta _{t}}{\sigma _{t}{\sqrt {\alpha _{t}}}}}\epsilon _{\theta }(x_{t},t)+{\sqrt {\beta _{t}}}z_{t};\quad z_{t}\sim {\mathcal {N}}(0,I)} nos da precisamente la misma ecuación que la difusión basada en puntuaciones: incógnitatdt=incógnitat(1+β(t)dt/2)+β(t)incógnitatlnq(incógnitat)dt+β(t)dWt{\displaystyle x_{t-dt}=x_{t}(1+\beta (t)dt/2)+\beta (t)\nabla _{x_{t}}\ln q(x_{t})dt+{\sqrt {\beta (t)}}dW_{t}}De este modo, en pasos infinitesimales de DDPM, una red de eliminación de ruido realiza una difusión basada en puntuaciones.

Variantes principales

Horario de ruido

Ilustración de un esquema de ruido de difusión lineal. Con ajustesβ1=104,β1000=0,02{\displaystyle \beta _{1}=10^{-4},\beta _{1000}=0.02}.

En DDPM, la secuencia de números0=σ0<σ1<<σT<1{\displaystyle 0=\sigma _{0}<\sigma _{1}<\cdots <\sigma _{T}<1}Se denomina programa de ruido (de tiempo discreto) . En general, considérese una función monótona estrictamente creciente.σ{\displaystyle \sigma }de tipoR(0,1){\displaystyle \mathbb {R} \to (0,1)}, como la función sigmoide . En ese caso, un programa de ruido es una secuencia de números reales.λ1<λ2<<λT{\displaystyle \lambda _{1}<\lambda _{2}<\cdots <\lambda _{T}}Luego define una secuencia de ruidos.σt:=σ(λt){\displaystyle \sigma _{t}:=\sigma (\lambda _{t})}, que luego deriva las otras cantidadesβt=11σt21σt12{\displaystyle \beta _{t}=1-{\frac {1-\sigma _{t}^{2}}{1-\sigma _{t-1}^{2}}}}.

Para utilizar programas de ruido arbitrarios, en lugar de entrenar un modelo de predicción de ruidoϵθ(incógnitat,t){\displaystyle \epsilon _{\theta }(x_{t},t)}, uno entrenaϵθ(incógnitat,σt){\displaystyle \epsilon _{\theta }(x_{t},\sigma _{t})}.

De manera similar, para la red de puntuación condicional de ruido, en lugar de entrenarFθ(incógnitat,t){\displaystyle f_{\theta }(x_{t},t)}, uno entrenaFθ(incógnitat,σt){\displaystyle f_{\theta }(x_{t},\sigma _{t})}.

Modelo implícito de difusión de eliminación de ruido (DDIM)

El método DDPM original para generar imágenes es lento, ya que el proceso de difusión hacia adelante suele tardarT1000{\displaystyle T\sim 1000}para hacer la distribución deincógnitaT{\displaystyle x_{T}}para parecer cercano a Gaussiana. Sin embargo, esto significa que el proceso de difusión hacia atrás también toma 1000 pasos. A diferencia del proceso de difusión hacia adelante, que puede omitir pasos comoincógnitat|incógnita0{\displaystyle x_{t}|x_{0}}es gaussiana para todost1{\displaystyle t\geq 1}El proceso de difusión hacia atrás no permite saltarse pasos. Por ejemplo, para muestrearincógnitat2|incógnitat1norte(μθ(incógnitat1,t1),Σθ(incógnitat1,t1)){\displaystyle x_{t-2}|x_{t-1}\sim {\mathcal {N}}(\mu _{\theta }(x_{t-1},t-1),\Sigma _{\theta }(x_{t-1},t-1))}requiere que el modelo primero realice un muestreo.incógnitat1{\displaystyle x_{t-1}}Intentando tomar muestras directamenteincógnitat2|incógnitat{\displaystyle x_{t-2}|x_{t}}nos obligaría a marginarnosincógnitat1{\displaystyle x_{t-1}}, lo cual suele ser intratable.

DDIM [ 22 ] es un método que toma cualquier modelo entrenado con la función de pérdida DDPM y lo utiliza para muestrear omitiendo algunos pasos, sacrificando una cantidad ajustable de calidad. Si generamos el caso de cadena markoviana en DDPM a un caso no markoviano, DDIM corresponde al caso en que el proceso inverso tiene una varianza igual a 0. En otras palabras, el proceso inverso (y también el proceso directo) es determinista. Al usar menos pasos de muestreo, DDIM supera a DDPM.

En detalle, el método de muestreo DDIM es el siguiente. Se comienza con el proceso de difusión directa.incógnitat=α¯tincógnita0+σtϵ{\displaystyle x_{t}={\sqrt {{\bar {\alpha }}_{t}}}x_{0}+\sigma _{t}\epsilon }. Luego, durante el proceso de eliminación de ruido hacia atrás, dadoincógnitat,ϵθ(incógnitat,t){\displaystyle x_{t},\epsilon _{\theta }(x_{t},t)}, los datos originales se estiman comoincógnita0=incógnitatσtϵθ(incógnitat,t)α¯t{\displaystyle x_{0}'={\frac {x_{t}-\sigma _{t}\epsilon _{\theta }(x_{t},t)}{\sqrt {{\bar {\alpha }}_{t}}}}}Entonces el proceso de difusión hacia atrás puede saltar a cualquier paso.0s<t{\displaystyle 0\leq s<t}y la siguiente muestra sin ruido esincógnitas=α¯sincógnita0+σs2(σs)2ϵθ(incógnitat,t)+σsϵ{\displaystyle x_{s}={\sqrt {{\bar {\alpha }}_{s}}}x_{0}'+{\sqrt {\sigma _{s}^{2}-(\sigma '_{s})^{2}}}\epsilon _{\theta }(x_{t},t)+\sigma _{s}'\epsilon }dóndeσs{\displaystyle \sigma _{s}'}es un número real arbitrario dentro del rango[0,σs]{\displaystyle [0,\sigma _{s}]}, yϵnorte(0,I){\displaystyle \epsilon \sim {\mathcal {N}}(0,I)}es un ruido gaussiano recién muestreado. [ 14 ] Si todoσs=0{\displaystyle \sigma _{s}'=0}Entonces, el proceso inverso se vuelve determinista, y este caso especial de DDIM también se denomina "DDIM". El artículo original señaló que, cuando el proceso es determinista, las muestras generadas con solo 20 pasos son ya muy similares a las generadas con 1000 pasos a un nivel superior.

El artículo original recomendaba definir un único "valor eta".η[0,1]{\displaystyle \eta \in [0,1]}, de tal manera queσs=ησ~s{\displaystyle \sigma _{s}'=\eta {\tilde {\sigma }}_{s}}. Cuandoη=1{\displaystyle \eta =1}, este es el DDPM original. Cuandoη=0{\displaystyle \eta =0}Este es el DDIM totalmente determinista. Para valores intermedios, el proceso interpola entre ellos.

Por equivalencia, el algoritmo DDIM también se aplica a los modelos de difusión basados ​​en puntuaciones.

modelo de difusión latente (LDM)

Dado que el modelo de difusión es un método general para modelar distribuciones de probabilidad, si se desea modelar una distribución sobre imágenes, primero se pueden codificar las imágenes en un espacio de menor dimensión mediante un codificador, y luego usar un modelo de difusión para modelar la distribución sobre las imágenes codificadas. Posteriormente, para generar una imagen, se puede muestrear a partir del modelo de difusión y luego usar un decodificador para convertirlo en una imagen. [ 23 ]

El par codificador-decodificador suele ser un autoencoder variacional (VAE).

Mejoras arquitectónicas

[ 24 ] propusieron varias mejoras arquitectónicas. Por ejemplo, propusieron la interpolación en el espacio logarítmico durante el muestreo hacia atrás. En lugar de muestrear desdeincógnitat1norte(μ~t(incógnitat,incógnita~0),σ~t2I){\displaystyle x_{t-1}\sim {\mathcal {N}}({\tilde {\mu }}_{t}(x_{t},{\tilde {x}}_{0}),{\tilde {\sigma }}_{t}^{2}I)}, recomendaron tomar muestras denorte(μ~t(incógnitat,incógnita~0),(σtvσ~t1v)2I){\displaystyle {\mathcal {N}}({\tilde {\mu }}_{t}(x_{t},{\tilde {x}}_{0}),(\sigma _{t}^{v}{\tilde {\sigma }}_{t}^{1-v})^{2}I)}para un parámetro aprendidov{\displaystyle v}.

En el formalismo de predicción v , la fórmula de ruidoincógnitat=α¯tincógnita0+1α¯tϵt{\displaystyle x_{t}={\sqrt {{\bar {\alpha }}_{t}}}x_{0}+{\sqrt {1-{\bar {\alpha }}_{t}}}\epsilon _{t}}se reparametriza mediante un ánguloϕt{\displaystyle \phi _{t}}de tal manera queporqueϕt=α¯t{\displaystyle \cos \phi _{t}={\sqrt {{\bar {\alpha }}_{t}}}}y una "velocidad" definida porporqueϕtϵtpecadoϕtincógnita0{\displaystyle \cos \phi _{t}\epsilon _{t}-\sin \phi _{t}x_{0}}La red está entrenada para predecir la velocidad.v^θ{\displaystyle {\hat {v}}_{\theta }}y la eliminación de ruido se realiza medianteincógnitaϕtδ=porque(δ)incógnitaϕtpecado(δ)v^θ(incógnitaϕt){\displaystyle x_{\phi _{t}-\delta }=\cos(\delta )\;x_{\phi _{t}}-\sin(\delta ){\hat {v}}_{\theta }\;(x_{\phi _{t}})}. [ 25 ] Se descubrió que esta parametrización mejoraba el rendimiento, ya que el modelo se puede entrenar para alcanzar el ruido total (es decir,ϕt=90{\displaystyle \phi _{t}=90^{\circ }}) y luego invertirlo, mientras que la parametrización estándar nunca alcanza el ruido total ya queα¯t>0{\displaystyle {\sqrt {{\bar {\alpha }}_{t}}}>0}Siempre es cierto. [ 26 ]

Guía del clasificador

En 2021 se propuso la guía del clasificador para mejorar la generación condicional de clases mediante el uso de un clasificador. La publicación original utilizó codificadores de texto CLIP para mejorar la generación de imágenes condicional de texto. [ 27 ]

Supongamos que deseamos muestrear no de toda la distribución de imágenes, sino condicionalmente a la descripción de la imagen. No queremos muestrear una imagen genérica, sino una imagen que se ajuste a la descripción "gato negro con ojos rojos". En general, queremos muestrear de la distribución.pag(incógnita|y){\displaystyle p(x|y)}, dóndeincógnita{\displaystyle x}abarca imágenes yy{\displaystyle y}abarca diferentes clases de imágenes (una descripción como "gato negro con ojos rojos" es simplemente una clase muy detallada, y una clase "gato" es simplemente una descripción muy vaga).

Desde la perspectiva del modelo de canal ruidoso , podemos entender el proceso de la siguiente manera: Para generar una imagenincógnita{\displaystyle x}condicionado a la descripcióny{\displaystyle y}, imaginamos que el solicitante realmente tenía en mente una imagenincógnita{\displaystyle x}, pero la imagen pasa a través de un canal ruidoso y sale distorsionada, comoy{\displaystyle y}La generación de imágenes no es entonces más que inferir cuálincógnita{\displaystyle x}lo que el solicitante tenía en mente.

En otras palabras, la generación de imágenes condicional es simplemente "traducir de un lenguaje textual a un lenguaje pictórico". Luego, como en el modelo de canal ruidoso, usamos el teorema de Bayes para obtener pag(incógnita|y)pag(y|incógnita)pag(incógnita){\displaystyle p(x|y)\propto p(y|x)p(x)} En otras palabras, si tenemos un buen modelo del espacio de todas las imágenes y un buen traductor de imagen a clase, obtenemos un traductor de clase a imagen "gratis". En la ecuación para la difusión hacia atrás, la puntuaciónlnpag(incógnita){\displaystyle \nabla \ln p(x)}puede ser reemplazado por incógnitalnpag(incógnita|y)=incógnitalnpag(incógnita)puntaje+incógnitalnpag(y|incógnita)guía del clasificador{\displaystyle \nabla _{x}\ln p(x|y)=\underbrace {\nabla _{x}\ln p(x)} _{\text{score}}+\underbrace {\nabla _{x}\ln p(y|x)} _{\text{classifier guidance}}} dóndeincógnitalnpag(incógnita){\displaystyle \nabla _{x}\ln p(x)}es la función de puntuación, entrenada como se describió anteriormente, yincógnitalnpag(y|incógnita){\displaystyle \nabla _{x}\ln p(y|x)}se encuentra utilizando un clasificador de imágenes diferenciable.

Durante el proceso de difusión, necesitamos condicionar el tiempo, dandoincógnitatlnpag(incógnitat|y,t)=incógnitatlnpag(y|incógnitat,t)+incógnitatlnpag(incógnitat|t){\displaystyle \nabla _{x_{t}}\ln p(x_{t}|y,t)=\nabla _{x_{t}}\ln p(y|x_{t},t)+\nabla _{x_{t}}\ln p(x_{t}|t)}Aunque, por lo general el modelo clasificador no depende del tiempo, en cuyo casopag(y|incógnitat,t)=pag(y|incógnitat){\displaystyle p(y|x_{t},t)=p(y|x_{t})}.

La guía del clasificador se define para el gradiente de la función de puntuación, por lo tanto para la red de difusión basada en puntuación, pero como se señaló anteriormente, los modelos de difusión basados ​​en puntuación son equivalentes a los modelos de eliminación de ruido porϵθ(incógnitat,t)=σtincógnitatlnpag(incógnitat|t){\displaystyle \epsilon _{\theta }(x_{t},t)=-\sigma _{t}\nabla _{x_{t}}\ln p(x_{t}|t)}y de manera similar,ϵθ(incógnitat,y,t)=σtincógnitatlnpag(incógnitat|y,t){\displaystyle \epsilon _{\theta }(x_{t},y,t)=-\sigma _{t}\nabla _{x_{t}}\ln p(x_{t}|y,t)}. Por lo tanto, la guía del clasificador también funciona para la difusión de eliminación de ruido, utilizando la predicción de ruido modificada: [ 27 ]ϵθ(incógnitat,y,t)=ϵθ(incógnitat,t)σtincógnitatlnpag(y|incógnitat,t)guía del clasificador{\displaystyle \epsilon _{\theta }(x_{t},y,t)=\epsilon _{\theta }(x_{t},t)-\underbrace {\sigma _{t}\nabla _{x_{t}}\ln p(y|x_{t},t)} _{\text{classifier guidance}}}

Con temperatura

El modelo de difusión guiado por clasificador toma muestras depag(incógnita|y){\displaystyle p(x|y)}, que se concentra en torno a la estimación a posteriori máximaargmáximoincógnitapag(incógnita|y){\displaystyle \arg \max _{x}p(x|y)}Si queremos forzar al modelo a moverse hacia la estimación de máxima verosimilitudargmáximoincógnitapag(y|incógnita){\displaystyle \arg \max _{x}p(y|x)}, podemos usar pagγ(incógnita|y)pag(y|incógnita)γpag(incógnita){\displaystyle p_{\gamma }(x|y)\propto p(y|x)^{\gamma }p(x)} dóndeγ>0{\displaystyle \gamma >0}es interpretable como temperatura inversa . En el contexto de los modelos de difusión, se suele denominar escala de guía . Un valor altoγ{\displaystyle \gamma }obligaría al modelo a muestrear a partir de una distribución concentrada alrededor deargmáximoincógnitapag(y|incógnita){\displaystyle \arg \max _{x}p(y|x)}. Esto a veces mejora la calidad de las imágenes generadas. [ 27 ]

Esto introduce una modificación en la ecuación anterior:incógnitalnpagβ(incógnita|y)=incógnitalnpag(incógnita)+γincógnitalnpag(y|incógnita){\displaystyle \nabla _{x}\ln p_{\beta }(x|y)=\nabla _{x}\ln p(x)+\gamma \nabla _{x}\ln p(y|x)}Para los modelos de eliminación de ruido, corresponde a [ 28 ].ϵθ(incógnitat,y,t)=ϵθ(incógnitat,t)γσtincógnitatlnpag(y|incógnitat,t){\displaystyle \epsilon _{\theta }(x_{t},y,t)=\epsilon _{\theta }(x_{t},t)-\gamma \sigma _{t}\nabla _{x_{t}}\ln p(y|x_{t},t)}

Guía sin clasificadores (CFG)

Si no tenemos un clasificadorpag(y|incógnita){\displaystyle p(y|x)}, aún podríamos extraer uno del propio modelo de imagen: [ 28 ]incógnitalnpagγ(incógnita|y)=(1γ)incógnitalnpag(incógnita)+γincógnitalnpag(incógnita|y){\displaystyle \nabla _{x}\ln p_{\gamma }(x|y)=(1-\gamma )\nabla _{x}\ln p(x)+\gamma \nabla _{x}\ln p(x|y)} Este modelo se suele entrenar presentándole ambos(incógnita,y){\displaystyle (x,y)}y(incógnita,norteonortemi){\displaystyle (x,{\rm {None}})}, lo que le permite modelar ambosincógnitalnpag(incógnita|y){\displaystyle \nabla _{x}\ln p(x|y)}yincógnitalnpag(incógnita){\displaystyle \nabla _{x}\ln p(x)}.

Cabe señalar que, para CFG, el modelo de difusión no puede ser simplemente un modelo generativo de toda la distribución de datos.incógnitalnpag(incógnita){\displaystyle \nabla _{x}\ln p(x)}Debe ser un modelo generativo condicional.incógnitalnpag(incógnita|y){\displaystyle \nabla _{x}\ln p(x|y)}Por ejemplo, en la difusión estable, la estructura principal de difusión toma como entrada un modelo ruidoso.incógnitat{\displaystyle x_{t}}, un tiempot{\displaystyle t}y un vector de condicionamientoy{\displaystyle y}(como un vector que codifica una indicación de texto) y produce una predicción de ruido.ϵθ(incógnitat,y,t){\displaystyle \epsilon _{\theta }(x_{t},y,t)}.

Para los modelos de eliminación de ruido, corresponde aϵθ(incógnitat,y,t,γ)=ϵθ(incógnitat,t)+γ(ϵθ(incógnitat,y,t)ϵθ(incógnitat,t)){\displaystyle \epsilon _{\theta }(x_{t},y,t,\gamma )=\epsilon _{\theta }(x_{t},t)+\gamma (\epsilon _{\theta }(x_{t},y,t)-\epsilon _{\theta }(x_{t},t))}Como se muestrea mediante DDIM, el algoritmo se puede escribir como [ 29 ].ϵincondicionadoϵθ(incógnitat,t)ϵcondiciónϵθ(incógnitat,t,do)ϵCFGϵincondicionado+γ(ϵcondiciónϵincondicionado)incógnita0(incógnitatσtϵCFG)/1σt2incógnitas1σs2incógnita0+σs2(σs)2ϵincondicionado+σsϵ{\displaystyle {\begin{aligned}\epsilon _{\text{uncond}}&\leftarrow \epsilon _{\theta }(x_{t},t)\\\epsilon _{\text{cond}}&\leftarrow \epsilon _{\theta }(x_{t},t,c)\\\epsilon _{\text{CFG}}&\leftarrow \epsilon _{\text{uncond}}+\gamma (\epsilon _{\text{cond}}-\epsilon _{\text{uncond}})\\x_{0}&\leftarrow (x_{t}-\sigma _{t}\epsilon _{\text{CFG}})/{\sqrt {1-\sigma _{t}^{2}}}\\x_{s}&\leftarrow {\sqrt {1-\sigma _{s}^{2}}}x_{0}+{\sqrt {\sigma _{s}^{2}-(\sigma _{s}')^{2}}}\epsilon _{\text{uncond}}+\sigma _{s}'\epsilon \\\end{aligned}}}Una técnica similar se aplica al muestreo de modelos de lenguaje. Además, si la generación incondicionalϵincondicionadoϵθ(incógnitat,t){\displaystyle \epsilon _{\text{uncond}}\leftarrow \epsilon _{\theta }(x_{t},t)}es reemplazado porϵcondición negativaϵθ(incógnitat,t,do){\displaystyle \epsilon _{\text{neg cond}}\leftarrow \epsilon _{\theta }(x_{t},t,c')}, entonces resulta en una incitación negativa, que aleja a la generación dedo{\displaystyle c'}condición. [ 30 ] [ 31 ]

Muestras

Dado un modelo de difusión, se puede considerar como un proceso continuo y muestrear a partir de él integrando una EDE, o se puede considerar como un proceso discreto y muestrear a partir de él iterando los pasos discretos. La elección del " programa de ruido "βt{\displaystyle \beta _{t}}También puede afectar la calidad de las muestras. Un programa de ruido es una función que envía un número natural a un nivel de ruido:tβt,t{1,2,},β(0,1){\displaystyle t\mapsto \beta _{t},\quad t\in \{1,2,\dots \},\beta \in (0,1)}Un horario de ruido se especifica con mayor frecuencia mediante un mapa.tσt{\displaystyle t\mapsto \sigma _{t}}Las dos definiciones son equivalentes, ya queβt=11σt21σt12{\displaystyle \beta _{t}=1-{\frac {1-\sigma _{t}^{2}}{1-\sigma _{t-1}^{2}}}}.

Desde la perspectiva de DDPM, se puede usar el propio DDPM (con ruido) o DDIM (con cantidad de ruido ajustable). El caso en el que se agrega ruido a veces se denomina muestreo ancestral. [ 32 ] Se puede interpolar entre ruido y ausencia de ruido. La cantidad de ruido se denotaη{\displaystyle \eta }("valor eta") en el documento DDIM, conη=0{\displaystyle \eta =0}que denota ausencia de ruido (como en DDIM determinista ), yη=1{\displaystyle \eta =1}que denota ruido completo (como en DDPM).

Desde la perspectiva de las EDE, se puede utilizar cualquiera de los métodos de integración numérica , como el método de Euler-Maruyama , el método de Heun , los métodos lineales multipaso , etc. Al igual que en el caso discreto, se puede añadir una cantidad ajustable de ruido durante la integración. [ 33 ]

Se ha realizado un estudio y una comparación de muestreadores en el contexto de la generación de imágenes. [ 34 ]

Otros ejemplos

Las variantes notables incluyen [ 35 ] modelo generativo de flujo de Poisson, [ 36 ] modelo de consistencia, [ 37 ] difusión de Langevin críticamente amortiguada, [ 38 ] GenPhys, [ 39 ] difusión fría, [ 40 ] etc.

Modelo de difusión basado en el flujo

En abstracto, la idea del modelo de difusión es tomar una distribución de probabilidad desconocida (la distribución de imágenes de aspecto natural) y luego convertirla progresivamente en una distribución de probabilidad conocida (distribución gaussiana estándar), construyendo una trayectoria de probabilidad absolutamente continua que las conecte. La trayectoria de probabilidad está definida implícitamente por la función de puntuación.lnpagt{\displaystyle \nabla \ln p_{t}}.

En los modelos de difusión con eliminación de ruido, el proceso directo añade ruido y el proceso inverso lo elimina. Ambos procesos son EDE , aunque el proceso directo es integrable en forma cerrada, por lo que puede realizarse sin coste computacional. El proceso inverso no es integrable en forma cerrada, por lo que debe integrarse paso a paso mediante solucionadores de EDE estándar, lo que puede resultar muy costoso. La trayectoria de probabilidad en el modelo de difusión se define mediante un proceso de Itô y se puede obtener el proceso determinista utilizando la formulación de flujo de EDO de probabilidad. [ 1 ]

En los modelos de difusión basados ​​en flujo, el proceso directo es un flujo determinista a lo largo de un campo vectorial dependiente del tiempo, y el proceso inverso también es un flujo determinista a lo largo del mismo campo vectorial, pero en sentido contrario. Ambos procesos son soluciones de ecuaciones diferenciales ordinarias (EDO) . Si el campo vectorial se comporta correctamente, la EDO también se comportará correctamente.

Dadas dos distribucionesπ0{\displaystyle \pi _{0}}yπ1{\displaystyle \pi _{1}}Un modelo basado en el flujo es un campo de velocidad dependiente del tiempo.vt(incógnita){\displaystyle v_{t}(x)}en[0,1]×Rd{\displaystyle [0,1]\times \mathbb {R} ^{d}}, de tal manera que si comenzamos tomando un puntoincógnitaπ0{\displaystyle x\sim \pi _{0}}y dejar que se mueva según el campo de velocidad: ddtϕt(incógnita)=vt(ϕt(incógnita))t[0,1],a partir de ϕ0(incógnita)=incógnita{\displaystyle {\frac {d}{dt}}\phi _{t}(x)=v_{t}(\phi _{t}(x))\quad t\in [0,1],\quad {\text{starting from }}\phi _{0}(x)=x} terminamos con un puntoincógnita1π1{\displaystyle x_{1}\sim \pi _{1}}La soluciónϕt{\displaystyle \phi _{t}}La ecuación diferencial ordinaria anterior define una trayectoria de probabilidad.pagt=[ϕt]#π0{\displaystyle p_{t}=[\phi _{t}]_{\#}\pi _{0}}por el operador de medida pushforward . En particular,[ϕ1]#π0=π1{\displaystyle [\phi _{1}]_{\#}\pi _{0}=\pi _{1}}.

La trayectoria de probabilidad y el campo de velocidad también satisfacen la ecuación de continuidad , en el sentido de distribución de probabilidad: tpagt+(vtpagt)=0{\displaystyle \partial _{t}p_{t}+\nabla \cdot (v_{t}p_{t})=0} Para construir una ruta de probabilidad, comenzamos construyendo una ruta de probabilidad condicional.pagt(incógnita|z){\displaystyle p_{t}(x\vert z)}y el campo de velocidad condicional correspondientevt(incógnita|z){\displaystyle v_{t}(x\vert z)}en alguna distribución condicionalq(z){\displaystyle q(z)}Una opción natural es la trayectoria de probabilidad condicional gaussiana: pagt(incógnita|z)=norte(metrot(z),ζt2I){\displaystyle p_{t}(x\vert z)={\mathcal {N}}\left(m_{t}(z),\zeta _{t}^{2}I\right)} El campo de velocidad condicional que corresponde a la trayectoria geodésica entre la trayectoria gaussiana condicional es vt(incógnita|z)=ζtζt(incógnitametrot(z))+metrot(z){\displaystyle v_{t}(x\vert z)={\frac {\zeta _{t}'}{\zeta _{t}}}(x-m_{t}(z))+m_{t}'(z)} La trayectoria de probabilidad y el campo de velocidad se calculan luego marginalizando

pagt(incógnita)=pagt(incógnita|z)q(z)dz y vt(incógnita)=miq(z)[vt(incógnita|z)pagt(incógnita|z)pagt(incógnita)]{\displaystyle p_{t}(x)=\int p_{t}(x\vert z)q(z)dz\qquad {\text{ and }}\qquad v_{t}(x)=\mathbb {E} _{q(z)}\left[{\frac {v_{t}(x\vert z)p_{t}(x\vert z)}{p_{t}(x)}}\right]}

Flujo de transporte óptimo

La idea del flujo de transporte óptimo [ 41 ] es construir una ruta de probabilidad que minimice la métrica de Wasserstein . La distribución sobre la que condicionamos es una aproximación del plan de transporte óptimo entreπ0{\displaystyle \pi _{0}}yπ1{\displaystyle \pi _{1}}:z=(incógnita0,incógnita1){\displaystyle z=(x_{0},x_{1})}yq(z)=Γ(π0,π1){\displaystyle q(z)=\Gamma (\pi _{0},\pi _{1})}, dóndeΓ{\displaystyle \Gamma }es el plan de transporte óptimo, que puede aproximarse mediante el transporte óptimo por minilotes. Si el tamaño del lote no es grande, el transporte que calcula puede estar muy lejos del transporte óptimo real.

Flujo rectificado

La idea del flujo rectificado [ 42 ] [ 43 ] consiste en aprender un modelo de flujo tal que la velocidad sea casi constante a lo largo de cada trayectoria de flujo. Esto es beneficioso, porque podemos integrar a lo largo de dicho campo vectorial con muy pocos pasos. Por ejemplo, si una EDOϕt˙(incógnita)=vt(ϕt(incógnita)){\displaystyle {\dot {\phi _{t}}}(x)=v_{t}(\phi _{t}(x))}sigue caminos perfectamente rectos, se simplifica aϕt(incógnita)=incógnita0+tv0(incógnita0){\displaystyle \phi _{t}(x)=x_{0}+t\cdot v_{0}(x_{0})}, lo que permite obtener soluciones exactas en un solo paso. En la práctica, no podemos alcanzar tal perfección, pero cuando el campo de flujo se aproxima a ella, podemos dar unos pocos pasos grandes en lugar de muchos pasos pequeños.

La idea general es comenzar con dos distribuciones.π0{\displaystyle \pi _{0}}yπ1{\displaystyle \pi _{1}}, luego construir un campo de flujoϕ0={ϕt:t[0,1]}{\displaystyle \phi ^{0}=\{\phi _{t}:t\in [0,1]\}}A partir de él, aplique repetidamente una operación de "reflujo" para obtener campos de flujo sucesivos.ϕ1,ϕ2,{\displaystyle \phi ^{1},\phi ^{2},\dots }, cada uno más recto que el anterior. Cuando el campo de flujo es lo suficientemente recto para la aplicación, nos detenemos.

En general, para cualquier proceso diferenciable en el tiempoϕt{\displaystyle \phi _{t}},vt{\displaystyle v_{t}}se puede estimar resolviendo: minθ01miincógnitapagt[vt(incógnita,θ)vt(incógnita)2]dt.{\displaystyle \min _{\theta }\int _{0}^{1}\mathbb {E} _{x\sim p_{t}}\left[\lVert {v_{t}(x,\theta )-v_{t}(x)}\rVert ^{2}\right]\,\mathrm {d} t.}

En el flujo rectificado, al inyectar fuertes premisas de que las trayectorias intermedias son rectas, se puede lograr tanto relevancia teórica para el transporte óptimo como eficiencia computacional, ya que las EDO con trayectorias rectas se pueden simular con precisión sin discretización temporal.

Transporte por flujo rectificado [ 42 ]

Específicamente, el flujo rectificado busca hacer coincidir una EDO con las distribuciones marginales de la interpolación lineal entre puntos de las distribuciones.π0{\displaystyle \pi _{0}}yπ1{\displaystyle \pi _{1}}. Observaciones dadasincógnita0π0{\displaystyle x_{0}\sim \pi _{0}}yincógnita1π1{\displaystyle x_{1}\sim \pi _{1}}, la interpolación lineal canónicaincógnitat=tincógnita1+(1t)incógnita0,t[0,1]{\displaystyle x_{t}=tx_{1}+(1-t)x_{0},t\in [0,1]}produce un caso trivialincógnita˙t=incógnita1incógnita0{\displaystyle {\dot {x}}_{t}=x_{1}-x_{0}}, que no puede ser simulado causalmente sinincógnita1{\displaystyle x_{1}}Para abordar esto,incógnitat{\displaystyle x_{t}}se "proyecta" en un espacio de EDO causalmente simulables, minimizando la pérdida de mínimos cuadrados con respecto a la direcciónincógnita1incógnita0{\displaystyle x_{1}-x_{0}}: minθ01miπ0,π1,pagt[(incógnita1incógnita0)vt(incógnitat)2]dt.{\displaystyle \min _{\theta }\int _{0}^{1}\mathbb {E} _{\pi _{0},\pi _{1},p_{t}}\left[\lVert {(x_{1}-x_{0})-v_{t}(x_{t})}\rVert ^{2}\right]\,\mathrm {d} t.}

El par de datos(incógnita0,incógnita1){\displaystyle (x_{0},x_{1})}puede ser cualquier acoplamiento deπ0{\displaystyle \pi _{0}}yπ1{\displaystyle \pi _{1}}, típicamente independientes (es decir,(incógnita0,incógnita1)π0×π1{\displaystyle (x_{0},x_{1})\sim \pi _{0}\times \pi _{1}}) obtenido mediante la combinación aleatoria de observaciones deπ0{\displaystyle \pi _{0}}yπ1{\displaystyle \pi _{1}}. Este proceso asegura que las trayectorias reflejen fielmente el mapa de densidad deincógnitat{\displaystyle x_{t}}trayectorias, pero redirigir en las intersecciones para asegurar la causalidad.

El proceso de reflujo [ 42 ]

Un aspecto distintivo del flujo rectificado es su capacidad de " reflujo ", que endereza la trayectoria de las rutas de las EDO. Denotemos el flujo rectificado comoϕ0={ϕt:t[0,1]}{\displaystyle \phi ^{0}=\{\phi _{t}:t\in [0,1]\}}inducido por(incógnita0,incógnita1){\displaystyle (x_{0},x_{1})}comoϕ0=RmidotFlow((incógnita0,incógnita1)){\displaystyle \phi ^{0}={\mathsf {Rectflow}}((x_{0},x_{1}))}. Aplicando recursivamente estoRmidotFlow(){\displaystyle {\mathsf {Rectflow}}(\cdot )}El operador genera una serie de flujos rectificados.ϕk+1=RmidotFlow((ϕ0k(incógnita0),ϕ1k(incógnita1))){\displaystyle \phi ^{k+1}={\mathsf {Rectflow}}((\phi _{0}^{k}(x_{0}),\phi _{1}^{k}(x_{1})))}Este proceso de "reflujo" no solo reduce los costos de transporte, sino que también endereza las rutas de los flujos rectificados, lo que hace que...ϕk{\displaystyle \phi ^{k}}caminos más rectos con aumentok{\displaystyle k}.

El flujo rectificado incluye una extensión no lineal donde la interpolación linealincógnitat{\displaystyle x_{t}}se reemplaza con cualquier curva diferenciable en el tiempo que conecteincógnita0{\displaystyle x_{0}}yincógnita1{\displaystyle x_{1}}, dado porincógnitat=αtincógnita1+βtincógnita0{\displaystyle x_{t}=\alpha _{t}x_{1}+\beta _{t}x_{0}}Este marco abarca DDIM y EDO de flujo de probabilidad como casos especiales, con elecciones particulares deαt{\displaystyle \alpha _{t}}yβt{\displaystyle \beta _{t}}. Sin embargo, en el caso donde la trayectoria deincógnitat{\displaystyle x_{t}}no es recto, el proceso de reflujo ya no garantiza una reducción en los costos de transporte convexos, y tampoco endereza ya las trayectorias deϕt{\displaystyle \phi _{t}}. [ 42 ]

Estas formulaciones de flujo lineal se descubrieron de forma independiente y se adaptaron desde una perspectiva diferente para problemas inversos supervisados. Por ejemplo, la Inversión por Iteración Directa (InDI) formula la restauración de imágenes aprendiendo una EDO de flujo residual que invierte iterativamente una interpolación lineal entre una entrada degradada y un objetivo de alta calidad para evitar la regresión a la media. InDI es eficaz para diversas tareas de restauración de imágenes. [ 44 ]

Elección de la arquitectura

Arquitectura de difusión estable
El proceso de eliminación de ruido utilizado por Stable Diffusion

Modelo de difusión

Para generar imágenes mediante DDPM, necesitamos una red neuronal que requiera tiempo.t{\displaystyle t}y una imagen ruidosaincógnitat{\displaystyle x_{t}}y predice un ruidoϵθ(incógnitat,t){\displaystyle \epsilon _{\theta }(x_{t},t)}de ello. Dado que predecir el ruido es lo mismo que predecir la imagen sin ruido, entonces restarlo deincógnitat{\displaystyle x_{t}}Las arquitecturas de eliminación de ruido tienden a funcionar bien. Por ejemplo, la U-Net , que ha demostrado ser eficaz para eliminar el ruido de las imágenes, se utiliza a menudo para eliminar el ruido de los modelos de difusión que generan imágenes. [ 45 ]

Para DDPM, la arquitectura subyacente ("columna vertebral") no tiene por qué ser una U-Net. Simplemente tiene que predecir el ruido de alguna manera. Por ejemplo, el transformador de difusión (DiT) utiliza un Transformer para predecir la media y la covarianza diagonal del ruido, dado el condicionamiento textual y la imagen parcialmente sin ruido. Es lo mismo que el modelo de difusión de eliminación de ruido estándar basado en U-Net, con un Transformer que reemplaza a la U-Net. [ 46 ] También se puede aplicar un Transformer de mezcla de expertos . [ 47 ]

DDPM se puede utilizar para modelar distribuciones de datos generales, no solo imágenes de aspecto natural. Por ejemplo, Human Motion Diffusion [ 48 ] modela la trayectoria del movimiento humano mediante DDPM. Cada trayectoria de movimiento humano es una secuencia de poses, representadas por rotaciones o posiciones de las articulaciones. Utiliza una red Transformer para generar una trayectoria con menos ruido a partir de una con mucho ruido.

Acondicionamiento

El modelo de difusión básico solo puede generar imágenes de forma incondicional a partir de toda la distribución. Por ejemplo, un modelo de difusión entrenado con ImageNet generaría imágenes que se asemejan a una imagen aleatoria de ImageNet. Para generar imágenes de una sola categoría, sería necesario imponer una condición y luego muestrear a partir de la distribución condicional. Cualquiera que sea la condición que se desee imponer, primero se debe convertir el condicionamiento en un vector de números de coma flotante y luego introducirlo en la red neuronal del modelo de difusión subyacente. Sin embargo, existe libertad para elegir cómo convertir el condicionamiento en un vector.

Por ejemplo, la difusión estable impone un condicionamiento en forma de mecanismo de atención cruzada , donde la consulta es una representación intermedia de la imagen en la U-Net, y tanto la clave como el valor son los vectores de condicionamiento. El condicionamiento se puede aplicar selectivamente solo a partes de una imagen, y se pueden ajustar nuevos tipos de condicionamientos sobre el modelo base, como se usa en ControlNet. [ 49 ]

Como ejemplo particularmente sencillo, consideremos el relleno de imágenes . Las condiciones son:incógnita~{\displaystyle {\tilde {x}}}, la imagen de referencia ymetro{\displaystyle m}, la máscara de relleno . El condicionamiento se impone en cada paso del proceso de difusión hacia atrás, mediante el muestreo inicial.incógnita~tnorte(α¯tincógnita~,σt2I){\displaystyle {\tilde {x}}_{t}\sim N\left({\sqrt {{\bar {\alpha }}_{t}}}{\tilde {x}},\sigma _{t}^{2}I\right)}, una versión ruidosa deincógnita~{\displaystyle {\tilde {x}}}luego reemplazandoincógnitat{\displaystyle x_{t}}con(1metro)incógnitat+metroincógnita~t{\displaystyle (1-m)\odot x_{t}+m\odot {\tilde {x}}_{t}}, dónde{\displaystyle \odot }significa multiplicación elemento a elemento . [ 50 ] Otra aplicación del mecanismo de atención cruzada es la edición de imágenes de indicación a indicación. [ 51 ]

El condicionamiento no se limita a generar imágenes de una categoría específica o según un pie de foto específico (como en la conversión de texto a imagen). Por ejemplo, [ 48 ] demostró la generación de movimiento humano condicionado a un clip de audio de una persona caminando (lo que permite sincronizar el movimiento con una banda sonora), o a un vídeo de una persona corriendo, o a una descripción textual del movimiento humano, etc. Para conocer la formulación matemática de los modelos de difusión condicional, véase el resumen metodológico en [ 52 ] .

Ampliación de escala

Como generar una imagen lleva mucho tiempo, se puede intentar generar una imagen pequeña mediante un modelo de difusión base y luego ampliarla con otros modelos. La ampliación se puede realizar mediante GAN , [ 53 ] Transformer , [ 54 ] o métodos de procesamiento de señales como el remuestreo de Lanczos .

Los propios modelos de difusión pueden utilizarse para realizar el escalado ascendente. El modelo de difusión en cascada apila varios modelos de difusión uno tras otro, al estilo de las GAN progresivas . El nivel más bajo es un modelo de difusión estándar que genera una imagen de 32x32 píxeles; a continuación, la imagen se escala mediante un modelo de difusión entrenado específicamente para el escalado ascendente, y el proceso se repite. [ 45 ]

En más detalle, el escalador de difusión se entrena de la siguiente manera: [ 45 ]

  • Muestra(incógnita0,z0,do){\displaystyle (x_{0},z_{0},c)}, dóndeincógnita0{\displaystyle x_{0}}es la imagen de alta resolución,z0{\displaystyle z_{0}}es la misma imagen pero reducida a una resolución baja, ydo{\displaystyle c}es el condicionamiento, que puede ser el pie de foto de la imagen, la clase de la imagen, etc.
  • Muestra de dos ruidos blancosϵincógnita,ϵz{\displaystyle \epsilon _{x},\epsilon _{z}}, dos pasos de tiempotincógnita,tz{\displaystyle t_{x},t_{z}}Calcula las versiones con ruido de las imágenes de alta y baja resolución:{incógnitatincógnita=α¯tincógnitaincógnita0+σtincógnitaϵincógnitaztz=α¯tzz0+σtzϵz{\displaystyle {\begin{cases}x_{t_{x}}&={\sqrt {{\bar {\alpha }}_{t_{x}}}}x_{0}+\sigma _{t_{x}}\epsilon _{x}\\z_{t_{z}}&={\sqrt {{\bar {\alpha }}_{t_{z}}}}z_{0}+\sigma _{t_{z}}\epsilon _{z}\end{cases}}}.
  • Entrenar la red de eliminación de ruido para predecirϵincógnita{\displaystyle \epsilon _{x}}dadoincógnitatincógnita,ztz,tincógnita,tz,do{\displaystyle x_{t_{x}},z_{t_{z}},t_{x},t_{z},c}. Es decir, aplicar el descenso de gradiente enθ{\displaystyle \theta }en la pérdida L2ϵθ(incógnitatincógnita,ztz,tincógnita,tz,do)ϵincógnita22{\displaystyle \|\epsilon _{\theta }(x_{t_{x}},z_{t_{z}},t_{x},t_{z},c)-\epsilon _{x}\|_{2}^{2}}.

Ejemplos

Esta sección recopila algunos modelos de difusión destacados y describe brevemente su arquitectura.

OpenAI

La serie DALL-E de OpenAI son modelos de difusión de imágenes condicionados al texto.

La primera versión de DALL-E (2021) no es propiamente un modelo de difusión. En cambio, utiliza una arquitectura Transformer que genera de forma autorregresiva una secuencia de tokens, la cual es convertida posteriormente en una imagen por el decodificador de un VAE discreto. Junto con DALL-E se lanzó el clasificador CLIP, que se utilizaba para clasificar las imágenes generadas según su grado de coincidencia con el texto.

GLIDE (2022–03) [ 55 ] es un modelo de difusión de 3.5 mil millones, y se publicó una versión pequeña. [ 5 ] Poco después, se publicó DALL-E 2 (2022–04). [ 56 ] DALL-E 2 es un modelo de difusión en cascada de 3.5 mil millones que genera imágenes a partir de texto "invirtiendo el codificador de imágenes CLIP", técnica que denominaron "unCLIP".

El método unCLIP consta de cuatro modelos: un codificador de imágenes CLIP, un codificador de texto CLIP, un decodificador de imágenes y un modelo previo (que puede ser un modelo de difusión o un modelo autorregresivo). Durante el entrenamiento, el modelo previo se entrena para convertir las codificaciones de imágenes CLIP en codificaciones de texto CLIP. El decodificador de imágenes se entrena para convertir las codificaciones de imágenes CLIP de nuevo en imágenes. Durante la inferencia, el codificador de texto CLIP convierte un texto en un vector, luego el modelo previo lo convierte en una codificación de imagen y, finalmente, el decodificador de imágenes lo convierte en una imagen.

Sora (2024–02) es un modelo Transformer de difusión (DiT).

Lightricks

LTX es una familia de modelos de base de video de inteligencia artificial de código abierto desarrollados por Lightricks , lanzados por primera vez en noviembre de 2024. [ 57 ] Los modelos más recientes, LTX-2, crean videos basados ​​en indicaciones del usuario , condicionadas por texto, imágenes, video o audio, y capaces de generar audio y video de manera unificada. [ 58 ] [ 59 ] Fueron precedidos por LTX Video, que se lanzó en 2024 como el primer modelo de texto a video de la compañía.

IA de estabilidad

Stable Diffusion (2022–08), publicado por Stability AI, consta de un modelo de difusión latente de eliminación de ruido (860 millones de parámetros), un VAE y un codificador de texto. La red de eliminación de ruido es una U-Net, con bloques de atención cruzada para permitir la generación condicional de imágenes. [ 60 ] [ 23 ]

Stable Diffusion 3 (2024–03) [ 61 ] cambió el modelo de difusión latente de UNet a un modelo Transformer, por lo que es un DiT. Utiliza flujo rectificado.

Stable Video 4D (2024–07) [ 62 ] es un modelo de difusión latente para vídeos de objetos 3D.

Google

Imagen (2022) [ 63 ] [ 64 ] utiliza un modelo de lenguaje T5-XXL para codificar el texto de entrada en un vector de incrustación. Es un modelo de difusión en cascada con tres submodelos. El primer paso elimina el ruido blanco en una imagen de 64×64, condicionado al vector de incrustación del texto. Este modelo tiene 2B parámetros. El segundo paso amplía la imagen de 64×64→256×256, condicionado a la incrustación. Este modelo tiene 650M parámetros. El tercer paso es similar, ampliando de 256×256→1024×1024. Este modelo tiene 400M parámetros. Las tres redes de eliminación de ruido son todas U-Nets.

Muse (2023–01) [ 65 ] no es un modelo de difusión, sino un Transformer solo con codificador que está entrenado para predecir tokens de imágenes enmascaradas a partir de tokens de imágenes sin enmascarar.

Imagen 2 (2023–12) también se basa en la difusión. Puede generar imágenes a partir de una indicación que combina imágenes y texto. No hay más información disponible. [ 66 ] Imagen 3 (2024–05) también. No hay más información disponible. [ 67 ]

Veo (2024) genera vídeos mediante difusión latente. La difusión está condicionada a un vector que codifica tanto una indicación de texto como una indicación de imagen. [ 68 ]

Meta

Make-A-Video (2022) es un modelo de difusión de texto a vídeo. [ 69 ] [ 70 ]

CM3leon (2023) no es un modelo de difusión, sino un Transformer autorregresivo con enmascaramiento causal, con una arquitectura prácticamente idéntica a la de LLaMa -2. [ 71 ] [ 72 ]

Diagrama arquitectónico de transfusión

Transfusion (2024) es un Transformer que combina la generación de texto autorregresiva y la difusión de eliminación de ruido. Específicamente, genera texto de forma autorregresiva (con enmascaramiento causal) y genera imágenes mediante la eliminación de ruido varias veces sobre los tokens de imagen (con atención de todos a todos). [ 73 ]

Movie Gen (2024) es una serie de transformadores de difusión que operan en el espacio latente y mediante la coincidencia de flujo. [ 74 ]

Véase también

Lecturas adicionales

  • Artículos de revisión
    • Yang, Ling (2024-09-06), YangLing0818/Diffusion-Models-Papers-Survey-Taxonomy , consultado el 2024-09-06
    • Yang, Ling; Zhang, Zhilong; Canción, Yang; Hong, Shenda; Xu, Runsheng; Zhao, Yue; Zhang, Wentao; Cui, Bin; Yang, Ming-Hsuan (9 de noviembre de 2023). "Modelos de difusión: un estudio completo de métodos y aplicaciones" . Computación ACM. Sobrevivir . 56 (4): 105:1–105:39. arXiv : 2209.00796 . doi : 10.1145/3626235 . ISSN 0360-0300 . 
    • Austin, Jacob; Johnson, Daniel D.; Ho, Jonathan; Tarlow, Daniel; Rianne van den Berg (2021). "Modelos de difusión de eliminación de ruido estructurados en espacios de estados discretos". arXiv : 2107.03006 [ cs.LG ].
    • Croitoru, Florinel-Alin; Hondru, Vlad; Ionescu, Radu Tudor; Shah, Mubarak (1 de septiembre de 2023). "Modelos de difusión en visión: una encuesta". Transacciones IEEE sobre análisis de patrones e inteligencia artificial . 45 (9): 10850–10869 . arXiv : 2209.04747 . Código Bib : 2023ITPAM..4510850C . doi : 10.1109/TPAMI.2023.3261988 . ISSN 0162-8828 . PMID 37030794 .  
  • En el artículo se omiten detalles matemáticos.
    • "El poder de los modelos de difusión" . AstraBlog . 25 de septiembre de 2022. Consultado el 25 de septiembre de 2023 .
    • Luo, Calvin (25 de agosto de 2022). "Comprensión de los modelos de difusión: una perspectiva unificada". arXiv : 2208.11970 [ cs.LG ].
    • Weng, Lilian (11 de julio de 2021). "¿Qué son los modelos de difusión?" . lilianweng.github.io . Consultado el 25 de septiembre de 2023 .
  • Tutoriales
    • Nakkiran, Preetum; Bradley, Arwen; Zhou, Hattie; Advani, Madhu (2024). "Difusión paso a paso: un tutorial elemental". arXiv : 2406.08929 [ cs.LG ].
    • "Guía: un código de trucos para modelos de difusión" . 26 de mayo de 2022.Descripción general de la guía de clasificación y la guía sin clasificación, con pocos detalles matemáticos.
    • Catherine Higham, Desmond J. Higham y Peter Grindrod: "Modelos de difusión para inteligencia artificial generativa: una introducción para matemáticos aplicados", SIAM Review, vol. 67, n.º 3 (2025).

Referencias

  1. 1 2 3 4 Canción, Yang; Sohl-Dickstein, Jascha; Kingma, Diederik P.; Kumar, Abhishek; Ermón, Stefano; Poole, Ben (10 de febrero de 2021). "Modelado generativo basado en puntuaciones mediante ecuaciones diferenciales estocásticas". arXiv : 2011.13456 [ cs.LG ].
  2. ^ Croitoru, Florinel-Alin; Hondru, Vlad; Ionescu, Radu Tudor; Shah, Mubarak (2023). "Modelos de difusión en visión: una encuesta". Transacciones IEEE sobre análisis de patrones e inteligencia artificial . 45 (9): 10850–10869 . arXiv : 2209.04747 . Código Bib : 2023ITPAM..4510850C . doi : 10.1109/TPAMI.2023.3261988 . PMID 37030794 . S2CID 252199918 .  
  3. 1 2 Ho, Jonathan; Jain, Ajay; Abbeel, Pieter (2020). "Modelos probabilísticos de difusión con eliminación de ruido" . Avances en sistemas de procesamiento de información neuronal . 33. Curran Associates, Inc.: 6840–6851 .
  4. ^ Gu, Shuyang; Chen, Dong; Bao, Jianmin; Wen, colmillo; Zhang, Bo; Chen, Dongdong; Yuan, Lu; Guo, Baining (2021). "Modelo de difusión cuantificada vectorial para síntesis de texto a imagen". arXiv : 2111.14822 [ cs.CV ].
  5. 1 2 GLIDE , OpenAI, 22/09/2023 , consultado el 24/09/2023
  6. Li, Yifan; Zhou, Kun; Zhao, Wayne Xin; Wen, Ji-Rong (agosto de 2023). «Modelos de difusión para la generación de texto no autorregresivo: una revisión» . Actas de la Trigésimo Segunda Conferencia Internacional Conjunta sobre Inteligencia Artificial. California: International Joint Conferences on Artificial Intelligence Organization. págs. 6692–6701 . arXiv : 2303.06574 . doi : 10.24963/ijcai.2023/750 . ISBN  978-1-956792-03-4.
  7. Xu, Weijie; Hu, Wenxiang; Wu, Fanyou; Sengamedu, Srinivasan (2023). "DeTiME: Diffusion-Enhanced Topic Modeling using Encoder-decoder based LLM" . Hallazgos de la Asociación para la Lingüística Computacional: EMNLP 2023. Stroudsburg, PA, EE. UU.: Asociación para la Lingüística Computacional: 9040–9057 . arXiv : 2310.15296 . doi : 10.18653 /v1/2023.findings-emnlp.606 .
  8. Zhang, Haopeng; Liu, Xiao; Zhang, Jiawei (2023). "DiffuSum: Generación mejorada de resumen extractivo con difusión" . Hallazgos de la Asociación para la Lingüística Computacional: ACL 2023. Stroudsburg, PA, EE. UU.: Asociación para la Lingüística Computacional: 13089–13100 . arXiv : 2305.01735 . doi : 10.18653/v1/2023.findings-acl.828 .
  9. Yang, Dongchao; Yu, Jianwei; Wang, Helin; Wang, Wen; Weng, Chao; Zou, Yuexian; Yu, Dong (2023). "Diffsound: Discrete Diffusion Model for Text-to-Sound Generation" . IEEE/ACM Transactions on Audio, Speech, and Language Processing . 31 : 1720–1733 . arXiv : 2207.09983 . Bibcode : 2023ITASL..31.1720Y . doi : 10.1109/taslp.2023.3268730 . ISSN 2329-9290 . 
  10. Janner, Michael; Du, Yilun; Tenenbaum, Joshua B.; Levine, Sergey (2022-12-20). "Planificación con difusión para la síntesis de comportamiento flexible". arXiv : 2205.09991 [ cs.LG ].
  11. ^ Chi, Cheng; Xu, Zhenjia; Feng, Siyuan; Cousineau, Eric; Du, Yilun; Burchfiel, Benjamín; Tedrake, Russ; Canción, Shuran (14 de marzo de 2024). "Política de difusión: aprendizaje de políticas visomotoras a través de la difusión de la acción". arXiv : 2303.04137 [ cs.RO ].
  12. Sohl-Dickstein, Jascha; Weiss, Eric; Maheswaranathan, Niru; Ganguli, Surya (2015-06-01). "Aprendizaje profundo no supervisado utilizando termodinámica de no equilibrio" (PDF) . Actas de la 32.ª Conferencia Internacional sobre Aprendizaje Automático . 37. PMLR: 2256–2265 . arXiv : 1503.03585 .
  13. ^ Ho, Jonathan (20 de junio de 2020), hojonathanho/diffusion , consultado el 7 de septiembre de 2024
  14. 1 2 Weng, Lilian (11 de julio de 2021). "¿Qué son los modelos de difusión?" . lilianweng.github.io . Consultado el 24 de septiembre de 2023 .
  15. "Modelado generativo mediante la estimación de gradientes de la distribución de datos | Yang Song" . yang-song.net . Consultado el 24 de septiembre de 2023 .
  16. 1 2 Song, Yang; Ermon, Stefano (2019). "Modelado generativo mediante la estimación de gradientes de la distribución de datos" . Advances in Neural Information Processing Systems . 32. Curran Associates, Inc. arXiv : 1907.05600 .
  17. ^ Canción, Yang; Sohl-Dickstein, Jascha; Kingma, Diederik P.; Kumar, Abhishek; Ermón, Stefano; Poole, Ben (10 de febrero de 2021). "Modelado generativo basado en puntuaciones mediante ecuaciones diferenciales estocásticas". arXiv : 2011.13456 [ cs.LG ].
  18. ermongroup/ncsn , ermongroup, 2019 , consultado el 7 de septiembre de 2024
  19. "Sliced ​​Score Matching: A Scalable Approach to Density and Score Estimation | Yang Song" . yang-song.net . Consultado el 24 de septiembre de 2023 .
  20. Anderson, Brian DO (mayo de 1982). "Modelos de ecuaciones de difusión en tiempo inverso" . Procesos estocásticos y sus aplicaciones . 12 (3): 313– 326. doi : 10.1016/0304-4149(82)90051-5 . ISSN 0304-4149 . 
  21. Luo, Calvin (2022). "Understanding Diffusion Models: A Unified Perspective". arXiv : 2208.11970v1 [ cs.LG ].
  22. Song, Jiaming; Meng, Chenlin; Ermon, Stefano (3 de octubre de 2023). "Denoising Diffusion Implicit Models". arXiv : 2010.02502 [ cs.LG ].
  23. ^ Rombach , Robin; Blattmann, Andreas; Lorenz, Dominik; Esser, Patricio; Ommer, Björn (13 de abril de 2022). "Síntesis de imágenes de alta resolución con modelos de difusión latente". arXiv : 2112.10752 [ cs.CV ].
  24. Nichol, Alexander Quinn; Dhariwal, Prafulla (1 de julio de 2021). "Modelos probabilísticos de difusión con eliminación de ruido mejorados" . Actas de la 38.ª Conferencia Internacional sobre Aprendizaje Automático . PMLR: 8162–8171 .
  25. Salimans, Tim; Ho, Jonathan (06-10-2021). Destilación progresiva para el muestreo rápido de modelos de difusión . Décima Conferencia Internacional sobre Representaciones de Aprendizaje (ICLR 2022).
  26. Lin, Shanchuan; Liu, Bingchen; Li, Jiashi; Yang, Xiao (2024). Los esquemas comunes de ruido de difusión y los pasos de muestreo son defectuosos . Conferencia de invierno IEEE/CVF sobre aplicaciones de visión por computadora (WACV). págs. 5404–5411 . 
  27. ^ Dhariwal , Prafulla ; Nichol, Alex (1 de junio de 2021). "Los modelos de difusión superan a las GAN en síntesis de imágenes". arXiv : 2105.05233 [ cs.LG ].
  28. 1 2 Ho, Jonathan; Salimans, Tim (2022-07-25). "Guía de difusión sin clasificadores". arXiv : 2207.12598 [ cs.LG ].
  29. Chung, Hyungjin; Kim, Jeongsol; Park, Geon Yeong; Nam, Hyelin; Ye, Jong Chul (2024-06-12). "CFG++: Guía sin clasificador con restricciones de variedad para modelos de difusión". arXiv : 2406.08070 [ cs.CV ].
  30. Sanchez, Guillaume; Fan, Honglu; Spangher, Alexander; Levi, Elad; Ammanamanchi, Pawan Sasanka; Biderman, Stella (30 de junio de 2023). "Manténgase en el tema con la guía sin clasificadores". arXiv : 2306.17806 [ cs.CL ].
  31. Armandpour, Mohammadreza; Sadeghian, Ali; Zheng, Huangjie; Sadeghian, Amir; Zhou, Mingyuan (26 de abril de 2023). "Reimaginar el algoritmo de aviso negativo: transformar la difusión 2D en 3D, aliviar el problema de Janus y más allá". arXiv : 2304.04968 [ cs.CV ].
  32. Yang, Ling; Zhang, Zhilong; Canción, Yang; Hong, Shenda; Xu, Runsheng; Zhao, Yue; Zhang, Wentao; Cui, Bin; Yang, Ming-Hsuan (2022). "Modelos de difusión: un estudio completo de métodos y aplicaciones". arXiv : 2206.00364 [ cs.CV ].
  33. Shi, Jiaxin; Han, Kehang; Wang, Zhe; Doucet, Arnaud; Titsias, Michalis K. (2024). "Difusión enmascarada simplificada y generalizada para datos discretos". arXiv : 2406.04329 [ cs.LG ].
  34. Karras, Tero; Aittala, Miika; Aila, Timo; Laine, Samuli (2022). "Aclarar el espacio de diseño de modelos generativos basados ​​en difusión". arXiv : 2206.00364v2 [ cs.CV ].
  35. ^ Cao, Hanqun; Tan, Cheng; Gao, Zhangyang; Xu, Yilun; Chen, Guangyong; Heng, Pheng-Ann; Li, Stan Z. (julio de 2024). "Una encuesta sobre modelos de difusión generativa". Transacciones IEEE sobre conocimiento e ingeniería de datos . 36 (7): 2814– 2830. Código bibliográfico : 2024ITKDE..36.2814C . doi : 10.1109/TKDE.2024.3361474 . ISSN 1041-4347 . 
  36. Xu, Yilun; Liu, Ziming; Tian, ​​Yonglong; Tong, Shangyuan; Tegmark, Max; Jaakkola, Tommi (2023-07-03). "PFGM++: Desbloqueando el potencial de los modelos generativos inspirados en la física" . Actas de la 40.ª Conferencia Internacional sobre Aprendizaje Automático . PMLR: 38566–38591 . arXiv : 2302.04265 .
  37. Song, Yang; Dhariwal, Prafulla; Chen, Mark; Sutskever, Ilya (2023-07-03). "Modelos de consistencia" . Actas de la 40.ª Conferencia Internacional sobre Aprendizaje Automático . PMLR: 32211–32252 .
  38. Dockhorn, Tim; Vahdat, Arash; Kreis, Karsten (2021-10-06). "Modelado generativo basado en puntuación con difusión de Langevin críticamente amortiguada". arXiv : 2112.07068 [ stat.ML ].
  39. Liu, Ziming; Luo, Di; Xu, Yilun; Jaakkola, Tommi; Tegmark, Max (2023-04-05). "GenPhys: De los procesos físicos a los modelos generativos". arXiv : 2304.02637 [ cs.LG ].
  40. Bansal, Arpit; Borgnia, Eitan; Chu, Hong-Min; Li, Jie; Kazemi, Hamid; Huang, Furong; Goldblum, Micah; Geiping, Jonas; Goldstein, Tom (2023-12-15). "Difusión fría: inversión de transformaciones de imágenes arbitrarias sin ruido" . Advances in Neural Information Processing Systems . 36 : 41259–41282 . arXiv : 2208.09392 .
  41. Tong, Alexander; Fatras, Kilian; Malkin, Nikolay; Huguet, Guillaume; Zhang, Yanlei; Rector-Brooks, Jarrid; Wolf, Guy; Bengio, Yoshua (2023-11-08). "Mejora y generalización de modelos generativos basados ​​en flujo con transporte óptimo de minilotes" . Transactions on Machine Learning Research . arXiv : 2302.00482 . ISSN 2835-8856 . 
  42. 1 2 3 4 Liu, Xingchao; Gong, Chengyue; Liu, Qiang (2022-09-07). "Flow Straight and Fast: Learning to Generate and Transfer Data with Rectified Flow". arXiv : 2209.03003 [ cs.LG ].
  43. Liu, Qiang (2022-09-29). "Flujo rectificado: un enfoque de preservación marginal para el transporte óptimo". arXiv : 2209.14577 [ stat.ML ].
  44. Delbracio, Mauricio; Milanfar, Peyman (2023). "Inversión por iteración directa: una alternativa a la difusión de eliminación de ruido para la restauración de imágenes" . Transactions on Machine Learning Research .
  45. 1 2 3 Ho, Jonathan; Saharia, Chitwan; Chan, William; Fleet, David J.; Norouzi, Mohammad; Salimans, Tim (2022-01-01). "Modelos de difusión en cascada para la generación de imágenes de alta fidelidad" . The Journal of Machine Learning Research . 23 (1): 47:2249–47:2281. arXiv : 2106.15282 . ISSN 1532-4435 . 
  46. Peebles, William; Xie, Saining (marzo de 2023). "Modelos de difusión escalables con transformadores". arXiv : 2212.09748v2 [ cs.CV ].
  47. ^ Fei, Zhengcong; Fan, Mingyuan; Yu, Changqian; Li, Debang; Huang, Junshi (16 de julio de 2024). "Ampliación de transformadores de difusión a 16 mil millones de parámetros". arXiv : 2407.11633 [ cs.CV ].
  48. ^ Tevet , chico; Raab, Sigal; Gordon, Brian; Shafir, Yonatan; Cohen-Or, Daniel; Bermano, Amit H. (2022). "Modelo de difusión del movimiento humano". arXiv : 2209.14916 [ cs.CV ].
  49. Zhang, Lvmin; Rao, Anyi; Agrawala, Maneesh (2023). "Adding Conditional Control to Text-to-Image Diffusion Models". arXiv : 2302.05543 [ cs.CV ].
  50. Lugmayr, Andreas; Danelljan, Martin; Romero, Andres; Yu, Fisher; Timofte, Radu; Van Gool, Luc (2022). "RePaint: Inpainting Using Denoising Diffusion Probabilistic Models". arXiv : 2201.09865v4 [ cs.CV ].
  51. Hertz, Amir; Mokady, Ron; Tenenbaum, Jay; Aberman, Kfir; Pritch, Yael; Cohen-Or, Daniel (2022-08-02). "Edición de imágenes de indicación a indicación con control de atención cruzada". arXiv : 2208.01626 [ cs.CV ].
  52. Zhao, Zheng; Luo, Ziwei; Sjölund, Jens; Schön, Thomas (19 de junio de 2025). "Muestreo condicional dentro de modelos de difusión generativos" . Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences . 383 (2299). doi : 10.1098/rsta.2024.0329 . ISSN 1364-503X . PMC 12177524 .  
  53. Wang, Xintao; Xie, Liangbin; Dong, Chao; Shan, Ying (2021). "Real-ESRGAN: Entrenamiento de superresolución ciega del mundo real con datos sintéticos puros" (PDF) . Actas de los talleres de la Conferencia Internacional IEEE/CVF sobre Visión por Computadora (ICCV), 2021. Conferencia Internacional sobre Visión por Computadora. págs. 1905–1914 . arXiv : 2107.10833 . 
  54. Liang, Jingyun; Cao, Jiezhang; Sun, Guolei; Zhang, Kai; Van Gool, Luc; Timofte, Radu (2021). "SwinIR: Restauración de imágenes mediante Swin Transformer" (PDF) . Actas de los talleres de la Conferencia Internacional IEEE/CVF sobre Visión por Computadora (ICCV) . Conferencia Internacional sobre Visión por Computadora, 2021. pp. 1833–1844 . arXiv : 2108.10257v1 . 
  55. Nichol, Alex; Dhariwal, Prafulla; Ramesh, Aditya; Shyam, Pranav; Mishkin, Pamela; McGrew, Bob; Sutskever, Ilya; Chen, Mark (2022-03-08). "GLIDE: Hacia la generación y edición de imágenes fotorrealistas con modelos de difusión guiados por texto". arXiv : 2112.10741 [ cs.CV ].
  56. Ramesh, Aditya; Dhariwal, Prafulla; Nichol, Alex; Chu, Casey; Chen, Mark (2022-04-12). "Generación jerárquica de imágenes condicionales de texto con latentes CLIP". arXiv : 2204.06125 [ cs.CV ].
  57. "Lightricks desafía a los gigantes de la IA con una plataforma de código abierto de texto a vídeo" . ctech . 22 de noviembre de 2024. Consultado el 23 de abril de 2026 .
  58. Kemper, Jonathan (11 de enero de 2026). "Lightricks publica como código abierto el modelo de vídeo de IA LTX-2 y desafía a Sora y Veo" . The Decoder . Consultado el 23 de abril de 2026 .
  59. Lightricks. "Lightricks lanza LTX-2: el primer modelo completo de base de vídeo con IA de código abierto" . www.prnewswire.com . Consultado el 23 de abril de 2026 .
  60. Alammar, Jay. "La difusión estable ilustrada" . jalammar.github.io . Consultado el 31 de octubre de 2022 .
  61. Esser, Patrick; Kulal, Sumith; Blattmann, Andreas; Entezari, Rahim; Müller, Jonas; Saini, Harry; Levi, Yam; Lorenz, Dominik; Sauer, Axel (2024-03-05). "Escalado de transformadores de flujo rectificados para síntesis de imágenes de alta resolución". arXiv : 2403.03206 [ cs.CV ].
  62. Xie, Yiming; Yao, Chun-Han; Voleti, Vikram; Jiang, Huaizu; Jampani, Varun (2024-07-24). "SV4D: Generación dinámica de contenido 3D con consistencia de múltiples fotogramas y múltiples vistas". arXiv : 2407.17470 [ cs.CV ].
  63. "Imagen: Modelos de difusión de texto a imagen" . imagen.research.google . Consultado el 4 de abril de 2024 .
  64. Saharia, Chitwan; Chan, William; Saxena, Saurabh; Li, Lala; Whang, Jay; Denton, Emily L.; Ghasemipour, Kamyar; Gontijo Lopes, Raphael; Karagol Ayan, Burcu; Salimans, Tim; Ho, Jonathan; Fleet, David J.; Norouzi, Mohammad (2022-12-06). "Modelos de difusión fotorrealistas de texto a imagen con comprensión profunda del lenguaje" . Advances in Neural Information Processing Systems . 35 : 36479–36494 . arXiv : 2205.11487 .
  65. Chang, Huiwen; Zhang, Han; Barber, Jarred; Maschinot, AJ; Lezama, Jose; Jiang, Lu; Yang, Ming-Hsuan; Murphy, Kevin; Freeman, William T. (2023-01-02). "Muse: Generación de texto a imagen mediante transformadores generativos enmascarados". arXiv : 2301.00704 [ cs.CV ].
  66. "Imagen 2: nuestra tecnología de conversión de texto a imagen más avanzada" . Google DeepMind . Consultado el 4 de abril de 2024 .
  67. Imagen-Equipo-Google; Baldridge, Jason; Bauer, Jakob; Bután, Mukul; Brichtova, Nicole; Bunner, Andrés; Castrejón, Lluís; Chan, Kelvin; Chen, Yichang (13 de diciembre de 2024), Imagen 3 , arXiv : 2408.07009{{citation}}: |last1=tiene nombre genérico ( ayuda )
  68. "Veo" . Google DeepMind . 14 de mayo de 2024. Consultado el 17 de mayo de 2024 .
  69. "Presentamos Make-A-Video: un sistema de IA que genera vídeos a partir de texto" . ai.meta.com . Consultado el 20 de septiembre de 2024 .
  70. Singer, Uriel; Polyak, Adam; Hayes, Thomas; Yin, Xi; An, Jie; Zhang, Songyang; Hu, Qiyuan; Yang, Harry; Ashual, Oron (2022-09-29). "Make-A-Video: Generación de texto a vídeo sin datos de texto a vídeo". arXiv : 2209.14792 [ cs.CV ].
  71. "Presentamos CM3leon, un modelo generativo más eficiente y de última generación para texto e imágenes" . ai.meta.com . Consultado el 20 de septiembre de 2024 .
  72. Equipo Chameleon (16 de mayo de 2024). "Chameleon: Modelos de fundación de fusión temprana de modo mixto". arXiv : 2405.09818 [ cs.CL ].
  73. ^ Zhou, Chunting; Yu, Lili; Babú, Arun; Tirumala, Kushal; Yasunaga, Michihiro; Shamis, Leonidas; Kahn, Jacob; Mamá, Xuezhe; Zettlemoyer, Luke (20 de agosto de 2024). "Transfusión: predecir el siguiente token y difundir imágenes con un modelo multimodal". arXiv : 2408.11039 [ cs.AI ].
  74. Movie Gen: Un elenco de modelos de Media Foundation , El equipo de Movie Gen @ Meta, 4 de octubre de 2024.