[Modelo de difusión] 3. DDIM | Acelerar la velocidad de muestreo de DDPM

inserte la descripción de la imagen aquí

Artículo: Modelos implícitos de difusión de eliminación de ruido

Código: https://github.com/CompVis/stable-diffusion/blob/main/ldm/models/diffusion/ddim.py

Fuente: ICLR 2021

Hora: 2021.10.05

Contribuciones de DDIM:

  • Señale L muestra L_ {muestra} en DDPMlmuestra _ _ _No está directamente relacionado con la forma específica de distribución conjunta del proceso de difusión, por lo que entrena L muestra L_ {muestra}lmuestra _ _ _Equivale a entrenar una serie de modelos de difusión latente.
  • Construya un proceso de difusión de Markov más general y deje que satisfaga la invariancia de distribución marginal para poder reutilizar el modelo DDPM entrenado.
  • Construyó un algoritmo de muestreo más general.
  • La técnica de reespaciado se propone para reducir los pasos de muestreo, en el entrenamiento L muestra L_{muestra}lmuestra _ _ _Cuando, no tiene nada que ver con la distribución conjunta, por lo que se pueden omitir algunos pasos para muestrear, y DDIM puede obtener la misma calidad de muestreo que DDPM con 5 veces menos pasos.

Introducción a Zhihu

Introducción a la cuenta oficial

Estación B: https://www.bilibili.com/read/cv25126637/

DDPM: https://zhuanlan.zhihu.com/p/638442430

DDIIM: https://www.zhangzhenhu.com/aigc/ddim.html#equation-eq-ddim-226

No Markov: https://zhuanlan.zhihu.com/p/627616358

bilibili: https://www.bilibili.com/video/BV1JY4y1N7dn/?spm_id_from=333.337.search-card.all.click&vd_source=dff5a38233d0daec447c275bf4070791

1. Antecedentes

DDPM no utiliza la red de confrontación y obtiene un buen efecto de generación de imágenes, pero debido a la necesidad de muestreo múltiple (aproximadamente 1000 veces) en la eliminación de ruido inversa, puede producir mejores resultados de generación.

El proceso de eliminación de ruido directo de DDPM es un proceso de Markov, es decir, el estado en el momento actual solo está relacionado con el estado en el momento anterior, y el proceso de eliminación de ruido inverso de DDPM es el proceso inverso de Markov.

Esto tiene mucho que ver con el principio del modelo de difusión. El método de generación basado en el modelo de difusión es restaurar gradualmente la imagen a partir del ruido paso a paso. ¿Cuántos pasos son la difusión directa y cuántos pasos se requieren para la eliminación de ruido inversa? , que es muy lento en comparación con GAN, GAN solo necesita una vez para generar la imagen requerida

  • DDPM: Se necesitan aproximadamente 20 horas para muestrear y generar 50k imágenes de 32x32 (se necesitan aproximadamente 1000h para generar 50k imágenes de 256x256)
  • GAN: Tarda aproximadamente 1 minuto

Para mejorar la velocidad de muestreo de DDPM, el autor de este artículo propone modelos implícitos de difusión de eliminación de ruido (DDIM), que es lo mismo que la función objetivo de DDPM. DDIM construye el proceso directo como un proceso que no es de Markov, por lo que a la inversa El proceso tampoco es de Markov.El proceso inverso del proceso , Precisamente debido a este proceso que no es de Markov, determina que el proceso de generación de DDIM puede ser más seguro, puede generar muestras de alta calidad más rápido y es más equilibrado en términos de cantidad de cálculo y calidad de muestreo.

Por qué DDIM puede acelerar:

DDIM puede acelerar DDPM entre 10x y 50x. La razón por la que se puede acelerar es el proceso que no es de Markov que utiliza, porque la razón por la que DDPM requiere la misma cantidad de pasos hacia adelante y hacia atrás es que el proceso de Markov que utiliza determina que solo puede De esta manera, después de que DDIM no utilice el proceso de Markov, puede omitir algunos pasos, es decir, omitir el muestreo

Las características de DDIM: DDIM es muy similar a DDPM y la función objetivo del entrenamiento también es la misma, por lo que puede usar directamente el modelo entrenado por DDPM y modificar el proceso de muestreo para usarlo.

  • El proceso inverso utiliza un proceso en cadena que no es de Markov: cada paso hacia adelante y hacia atrás de DDPM es un proceso en cadena de Markov, que es el resultado del momento actual xt − 1 x_{t-1}Xt - 1Confíe únicamente en el valor xt x_{t} del momento anteriorXt, pero DDIM usa un proceso de cadena que no es de Markov a la inversa, es decir, el momento actual depende de xt x_{t} al mismo tiempoXty x 0 x_0X0, puede utilizar menos pasos para generar imágenes y mejorar la eficiencia del muestreo (aceleración de 10 a 50 veces)
  • Hay una mejor coherencia: siempre que el valor inicial sea el mismo, las características finales de alto nivel de las muestras generadas utilizando diferentes longitudes de paso también son similares y el proceso de generación es determinista.
  • Se puede utilizar la interpolación: se puede obtener una interpolación semántica significativa debido a la buena coherencia de los resultados generados por DDIM.

2. Cómo mejorar DDIM

2.1 Revisión de principios de DDPM

DDIM y DDPM tienen algunas diferencias en el uso de símbolos, debes prestar atención

  • α ‾ t \overline{\alpha}_t en DDPMatLa representación en DDIM es α t \alpha_tat

Dada una distribución de datos q ( x 0 ) q(x_0)q ( x0) , puede generar una serie de muestras mediante muestreo, el modelo generativo se preocupa por poder aprender esta distribución de datos, y la forma de aprender es aprender ap θ ( x 0 ) p_ {\ theta} (x_0)pagi( x0) para aproximarq ( x 0 ) q(x_0)q ( x0) , cuando el efecto de aproximación es lo suficientemente bueno, se puede obtener dep θ ( x 0 ) p_{\theta}(x_0)pagi( x0) para generar nuevas muestras, este es el modelo generativo

En DDPM, la distribución de datos en realidad se modela en forma de modelo de variables ocultas. Se considera que:

inserte la descripción de la imagen aquí

La distribución conjunta aquí es la forma de la segunda mitad, que es el producto de una serie de procesos de Markov. El proceso generativo necesita simular el proceso inverso del proceso de Markov de difusión directa. Aquí, x 1 x_1X1a x T x_TXty x 0 x_0X0son del mismo tamaño

La función objetivo en DDPM es maximizar la probabilidad logarítmica, que es un modelo variacional y el límite inferior está optimizado.

inserte la descripción de la imagen aquí

En DDPM, el proceso de agregar ruido se realiza en forma de cadena de Markov, que es la forma de multiplicación, y la distribución condicional q también es una distribución gaussiana, y la media y la varianza se muestran en la fórmula 3.

inserte la descripción de la imagen aquí

Entonces, el proceso de difusión directa es una cadena de Markov, luego el proceso de eliminación de ruido inverso también es una cadena de Markov, y la aproximación es un proceso inverso q ( xt − 1 ∣ xt ) q(x_{t-1}|x_t)q ( xt - 1∣x _t)

Para el proceso de difusión directa, existe una propiedad especial que puede poner q ( xt ∣ x 0 ) q(x_t|x_0)q ( xt∣x _0) está escrito, lo que equivale a una nueva distribución normal, que también es una distribución marginal

inserte la descripción de la imagen aquí

Dado que existe tal forma, entonces xt x_tXty x 0 x_0X0Introduciendo ruido ϵ \epsilonϵ para expresar:

inserte la descripción de la imagen aquí

Cuando α T \alpha_TatCuando se establece cerca de 0, q ( x T ∣ x 0 ) q(x_T|x_0)q ( xt∣x _0) se aproximará a la distribución gaussiana estándar, por lo quep θ ( x T ) : = N ( 0 , I ) p_{\theta}(x_T):=N(0, I)pagi( xt):=norte ( 0 ,I ) , es decir,p θ ( x T ) p_{\theta}(x_T)pagi( xt) la distribución está cerca de la distribución gaussiana estándar, por lo que se puede inicializar una distribución gaussiana y luegox 0 x_0X0

La función objetivo de DDPM es la siguiente, que también es la forma de reescribir la Ecuación 2, que también se supone que aprende la media de la distribución gaussiana (la varianza es fija), se puede escribir como el cuadrado de la diferencia entre el ruido predicho y el ruido real, ϵ t \ epsilon_tϵtes el ruido real, el coeficiente en DDPM γ t = 1 \gamma_t=1Ct=1,当γ t = 1 \gamma_t=1Ct=1 , este es en realidad un modelo fraccionario, lo que explica además que si desea usar este modelo para entrenar el modelo, el proceso de difusión directa no tiene que ser un proceso de Markov, siempre que la distribución marginal satisfaga la fórmula 4.

inserte la descripción de la imagen aquí

En DDPM, para que p θ ( x T ) p_{\theta}(x_T)pagi( xt) tiende a la distribución gaussiana estándarN ( 0 , I ) N(0 , I)norte ( 0 ,I ) , y para que el proceso de agregar ruido y el proceso inverso sean ambos de distribución gaussiana, por lo que T se establece relativamente grande (1000), también para que el proceso de generación se aproxime a una distribución gaussiana, pero este proceso de muestreo requiere mucho tiempo. consumidor.

Las características de la función de pérdida DDPM:

  • Dado que el ruido proviene de q ( xt ∣ x 0 ) q(x_t|x_0)q ( xt∣x _0) muestreo, por lo que la función de pérdida solo se compone deq ( xt ∣ x 0 ) q(x_t|x_0)q ( xt∣x _0) decisión, también se demuestra que la función de pérdida es una forma de igualación de puntuaciones
  • Es decir, la función de pérdida solo depende de la distribución marginal y no depende directamente de la distribución conjunta, es decir, la forma de la distribución conjunta no afectará el entrenamiento del modelo.

Por lo tanto, ¿existe un proceso que no sea de Markov que también pueda lograr este método de adición de ruido? Solo es necesario garantizar q ( xt ∣ x 0 ) q(x_t|x_0)q ( xt∣x _0) es lo mismo que DDPM, yq ( x 1 : T ∣ x 0 ) q(x_{1:T}|x_0)q ( x1 : T∣x _0) puede ser diferente. Entonces, ¿podemos evitar el uso del proceso de recursividad inversa paso a paso de Markov, pero usar directamente la forma más generalq ( xt ∣ xt − 1 , x 0 ) q(x_t|x_{t-1}, x_0)q ( xt∣x _t - 1,X0) , siempre y cuando q ( xt ∣ x 0 ) q(x_t|x_0)esté garantizadoq ( xt∣x _0) permanecen sin cambios.

Por lo tanto, el autor de DDIM dio un proceso de difusión directa no markoviano y la expresión de la distribución de probabilidad posterior, y la distribución posterior simplemente satisface la distribución marginal q (xt ∣ x 0) q (x_t|x_0 )q ( xt∣x _0)

2.2 Proceso de difusión directa de DDIM sin Markov

Considere una nueva distribución, introduciendo un nuevo parámetro σ \sigmaσ , es un número real, mayor o igual a 0, es un hiperparámetro, no requiere entrenamiento, pero puedes personalizar el tamaño de este valor.

El proceso de difusión directa está diseñado de una manera nueva (Ecuación 6) y la distribución posterior sigue siendo gaussiana (Ecuación 7).

Con base en las fórmulas 6 y 7, se puede demostrar que en cualquier momento q σ ( xt ∣ x 0 ) q_{\sigma}(x_t|x_0)qpag( xt∣x _0) todavía obedecen a la distribución normal

inserte la descripción de la imagen aquí

proceso de prueba:

inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí

Resumir:

  • El autor de DDIM diseñó un proceso de difusión directa que no es de Markov y la distribución marginal sigue siendo la misma que en DDPM, por lo que la red puede continuar entrenándose con la función objetivo de DDPM.

Comparación de distribuciones de probabilidad posterior de DDPM y DDIM:

  • DDIM tiene un hiperparámetro más σ \sigmaσ , afectará la distribución posterior y afectará el proceso de reparametrización del proceso de muestreo, porque la distribución construida por la red neuronal es aproximarse a la distribución posterior, y la muestra en el tiempo t-1 se obtiene mediante muestreo de esta distribución posterior, es decir Es decir, primero debe encontrar la media y la varianza de la distribución posterior para esta predicción y luego usar el parámetro pesado para calcular el ruido. Los diferentes valores de los hiperparámetros afectarán el cálculo de los parámetros pesados, porque los hiperparámetros son diferentes, la media y la varianza son diferentes y la estructura final es diferente.

2.3 Muestreo del proceso inverso de difusión no Markov

El siguiente paso es definir un proceso de generación entrenable p θ ( x 0 : T ) p_{\theta}(x_{0:T})pagi( x0 : T),每个p θ ( t ) ( xt − 1 ∣ xt ) p_{\theta}^{(t)}(x_{t-1}|x_t)pagi( t )( xt - 1∣x _t) es aproximarq σ ( xt − 1 ∣ xt , x 0 ) q_{\sigma}(x_{t-1}|x_t,x_0)qpag( xt - 1∣x _t,X0) , es decir dada una muestra de ruidoxt x_tXtPredecir x 0 x_0 primeroX0, y luego según la distribución condicional q σ ( xt − 1 ∣ xt , x 0 ) q_{\sigma}(x_{t-1}|x_t,x_0)qpag( xt - 1∣x _t,X0) para obtenerxt − 1 x_{t-1}Xt - 1

En DDPM no hay predicción x 0 x_0X0es el ruido predicho ϵ \epsilonϵ

Pero, de hecho, como se muestra en la Ecuación 4, se obtiene el ruido ϵ \epsilonDespués de ϵ , es posible deducirx 0 x_0X0

inserte la descripción de la imagen aquí

Entonces, por la fórmula 4, el ϵ \epsilonϵ yxt x_tXten, calcular f θ f_ {\theta}Fi, se da xt x_tXtEn el caso de observaciones de eliminación de ruido, es decir, x 0 x_0 predicho en el momento actual tX0, como se muestra en la Ecuación 9

inserte la descripción de la imagen aquí

Según lo previsto x 0 x_0X0, puede utilizar la distribución posterior como objetivo de aproximación, que es una función por partes, y cuando t>1 es q σ q_{\sigma}qpagdistribución, cuando t=1, se espera que sea una distribución normal, como se muestra en la Ecuación 10

inserte la descripción de la imagen aquí

Un muestreo especial - DDIM: σ = 0 \sigma=0pag=0

La siguiente fórmula 12 es el proceso de parámetros pesados ​​de la distribución posterior propuesta en este artículo, que proviene de xt x_tXtgenerar xt − 1 x_{t-1}Xt - 1Proceso, media + desviación estándar * ruido

Diferente σ \sigmaσ conducirá a diferentes medias y desviaciones estándar, por lo que los resultados del muestreo deben ser diferentes, pero la función objetivo es la misma, o el modelo ϵθ \epsilon_{\theta}ϵison iguales, es decir, para diferentes σ \sigmaσ , no hay necesidad de volver a entrenar el modelo,σ \sigmaσ solo afecta el resultado del muestreo.

sigmaCuando σ toma el siguiente valor, degenera en el proceso de generación de DDPM (el proceso de generación de la cadena de Markov)

inserte la descripción de la imagen aquí

σ = 0 \sigma=0pag=Cuando es 0 , es muestreo determinista y el proceso de generación es determinista, porque el elemento aleatorio desapareció, esta vez es DDIM.

inserte la descripción de la imagen aquí

El autor también deduce por qué DDIM se puede entrenar directamente utilizando la función objetivo de DDPM:

inserte la descripción de la imagen aquí

Para resumir los DDIM:

Construya un proceso más general que no sea de Markov, establezca los hiperparámetros en 0 y conviértalo en un proceso de muestreo determinista.

2.4 Muestreo acelerado: reespaciamiento

El DDIM anterior en sí es un modelo y no hay aceleración. La aceleración se debe a que se puede introducir un truco en el modelo y el daño es muy pequeño, por lo que se puede acelerar.

En DDPM, hay T pasos en el proceso hacia adelante y T pasos en el proceso hacia atrás, pero L1 (es decir, L muestra L_ {muestra}lmuestra _ _ _El proceso de en realidad no depende del proceso directo, ya sea una cadena de Markov o no, siempre que q σ ( xt ∣ x 0 ) q_{\sigma}(x_t|x_0)qpag( xt∣x _0) está fijo en él.

Entonces el autor quiere acelerar el muestreo, originalmente de 1 ~ T secuencia x 1: T x_{1:T}X1 : TRepita paso a paso y ahora encuentre un subconjunto { x τ 1 , x τ 2 , . . . , x τ S } \{x_{\tau_1},x_{\tau_2},...,x_{\ tau_S} \}{ xt1,Xt2,... ,XtS} , se seleccionaron un total de S como subconjunto

Entonces, defina el proceso directo q ( x τ i ∣ x 0 ) = N ( α τ ix 0 , ( 1 − α τ i ) I ) q(x_{\tau_i}|x_0)=N(\sqrt{\alpha_ {\tau_i}}x_0,(1-\alpha_{\tau_i})I)q ( xtyo∣x _0)=norte (atyo X0,( 1atyo) I ) coinciden con la distribución marginal previamente definida, de modo que el proceso de generación se pueda realizar directamente sobre la subsecuencia. Es decir, es una secuencia completa al entrenar y una subsecuencia al generarlo, siempre que la subsecuencia sea pequeña y el efecto no sea malo se puede acelerar.

inserte la descripción de la imagen aquí

3. Efecto

inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/jiaoyangwm/article/details/132656332
Recomendado
Clasificación