Razonamiento de la fórmula del modelo de difusión DDPM ---- Función de pérdida

Razonamiento de la fórmula del modelo de difusión DDPM ---- Función de pérdida

2.3 Derivación de la función de pérdida

Construimos la función de pérdida con la idea de estimación de máxima verosimilitud:
L = − log ⁡ p θ ( x 0 ) \mathcal{L}=-\log p_{\theta}\left(x_{0}\right)l=iniciar sesiónpagi( x0) es el parámetro θ \theta
de la red de difusión inversaθ hace que los datos x 0 x_0recién comiencen a muestrearseX0más probable que ocurra.

A continuación, necesitamos transformar la fórmula anterior, utilizando algo de contenido ELBO y VAE.

2.3.1 ELBA

Estimación de máxima verosimilitud conocida p θ ( x 0 ) p_{\theta}\left(x_{0}\right)pagi( x0) y observaciónx 0 x_0X0, y x 1 obtenido por difusión de observaciones : T x_{1:T}X1 : T, mediante la fórmula de distribución de probabilidad marginal:
p θ ( x 0 ) = ∫ p θ ( x 0 : T ) dx 1 : T p_{\theta }(\boldsymbol{x}_{0})=\int p_{\ theta }(x_{0:T}) d x_{1:T}pagi( x0)=pagi( x0 : T) d x1 : T
por lo tanto
log ⁡ p θ ( x 0 ) = log ⁡ ∫ p θ ( x 0 : T ) dx 1 : T = log ⁡ ∫ p θ ( x 0 : T ) q ϕ ( x 1 : T ∣ x 0 ) q ϕ ( x 1 : T ∣ x 0 ) dx 1 : T = log ⁡ E q ϕ ( x 1 : T ∣ x 0 ) [ p θ ( x 0 : T ) q ϕ ( x 1 : T ∣ x 0 ) ] ≥ E q ϕ ( x 1 : T ∣ x 0 ) [ log ⁡ p θ ( x 0 : T ) q ϕ ( x 1 : T ∣ x 0 ) ] \begin{alineado} \log p_{\theta }(\boldsymbol{ x}_{0}) & =\log \int p_{\theta}(\boldsymbol{x_{0:T}}) d \boldsymbol{x_{1:T}} \\ & =\log \int \ frac{p_{\theta}(\boldsymbol{x_{0:T}}) q_{\phi}(\boldsymbol{\boldsymbol{x_{1:T}}} \mid \boldsymbol{x_0})}{q_ {\boldsymbol{\phi}}(\boldsymbol{\boldsymbol{x_{1:T}}} \mid \boldsymbol{x_0})} d \boldsymbol{\boldsymbol{x_{1:T}}} \\ & =\log \mathbb{E}_{q_{\boldsymbol{\phi}}(\boldsymbol{x_{1:T}} \mid \boldsymbol{x_0})}\left[\frac{p_{\theta} (\boldsymbol{\boldsymbol{x_{0:T}}})}{q_{\boldsymbol{\phi}}(\boldsymbol{\boldsymbol{x_{1:T}}} \mid \boldsymbol{x_0})}\right] \\ & \geq \mathbb{E}_{q_{\boldsymbol{\phi}}(\boldsymbol{\boldsymbol{x_{1:T} }} \mid \boldsymbol{x_0})}\left[\log \frac{p_{\theta }(\boldsymbol{x_{0:T}})}{q_{\boldsymbol{\phi}}(\boldsymbol {\boldsymbol{x_{1:T}}} \mid \boldsymbol{x_0})}\right] \end{aligned}iniciar sesiónpagi( x0)=iniciar sesiónpagi( x0 : T) d x1 : T=iniciar sesiónqϕ( x1 : TX0)pagi( x0 : T) qϕ( x1 : TX0)d x1 : T=iniciar sesiónmiqϕ( x1 : T∣x _0)[qϕ( x1 : TX0)pagi( x0 : T)]miqϕ( x1 : T∣x _0)[ iniciar sesiónqϕ( x1 : TX0)pagi( x0 : T)]
El último paso está determinado por la desigualdad del sonido del piano (desigualdad I de Jensen) (Desigualdad de Jensen)( J e n se n sDesigualdad)._________
Esto no parece muy intuitivo, y hay otra forma de derivación que es más sencilla:
Iniciar sesión ⁡ p ( x ) = Iniciar sesión ⁡ p ( x ) ∫ q ϕ ( z ∣ x ) dz = ∫ q ϕ ( z ∣ x ) ( Iniciar sesión ⁡ p ( x ) ) dz = E q ϕ ( z ∣ x ) [ Iniciar sesión ⁡ p ( x ) ] = E q ϕ ( z ∣ x ) [ Iniciar sesión ⁡ p ( x , z ) p ( z ∣ x ) ] = E q ϕ ( z ∣ x ) [ Iniciar sesión ⁡ p ( x , z ) q ϕ ( z ∣ x ) p ( z ∣ x ) q ϕ ( z ∣ x ) ] = E q ϕ ( z ∣ x ) [ log ⁡ p ( x , z ) q ϕ ( z ∣ x ) ] + E q ϕ ( z ∣ x ) [ log ⁡ q ϕ ( z ∣ x ) p ( z ∣ x ) ] = E q ϕ ( z ∣ x ) [ log ⁡ p ( x , z ) q ϕ ( z ∣ x ) ] + DKL ( q ϕ ( z ∣ x ) ∥ p ( z ∣ x ) ) ≥ E q ϕ ( z ∣ x ) [ log ⁡ p ( x , z ) q ϕ ( z ∣ x ) ] = E q ϕ ( x 1 : T ∣ x 0 ) [ log ⁡ p θ ( x 0 : T ) q ϕ ( x 1 :T ∣ x 0 ) ] \begin{aligned} \log p(\boldsymbol{x}) & =\log p(\boldsymbol{x}) \int q_{\boldsymbol{\phi}}(\boldsymbol{z} \mid \boldsymbol{x}) dz \\ & =\int q_{\boldsymbol{\phi}}(\boldsymbol{z} \mid \boldsymbol{x})(\log p(\boldsymbol{x})) dz \\ & =\mathbb{E}_{q_{\phi}(\boldsymbol{z} \mid \boldsymbol{x})}[\log p(\boldsymbol{x})] \\ & =\mathbb {E}_{q_{\phi}(\boldsymbol{z} \mid \boldsymbol{x})}\left[\log \frac{p(\boldsymbol{x}, \boldsymbol{z})}{p (\boldsymbol{z} \mid \boldsymbol{x})}\right] \\ & =\mathbb{E}_{q_{\phi}(\boldsymbol{z} \mid \boldsymbol{x})}\ izquierda[\log \frac{p(\boldsymbol{x},\boldsymbol{z}) q_{\phi}(\boldsymbol{z} \mid \boldsymbol{x})}{p(\boldsymbol{z} \mid \boldsymbol{x}) q_{\phi}(\boldsymbol {z} \mid \boldsymbol{x})}\right] \\ & =\mathbb{E}_{q_{\phi}(\boldsymbol{z} \mid \boldsymbol{x})}\left[\ Iniciar sesión \frac{p(\boldsymbol{x}, \boldsymbol{z})}{q_{\boldsymbol{\phi}}(\boldsymbol{z} \mid \boldsymbol{x})}\right]+\mathbb {E}_{q_{\phi}(\boldsymbol{z} \mid \boldsymbol{x})}\left[\log \frac{q_{\phi}(\boldsymbol{z} \mid \boldsymbol{x })}{p(\boldsymbol{z} \mid \boldsymbol{x})}\right] \\ & =\mathbb{E}_{q_{\phi}(\boldsymbol{z} \mid \boldsymbol{ x})}\left[\log \frac{p(\boldsymbol{x},\boldsymbol{z})}{q_{\phi}(\boldsymbol{z} \mid \boldsymbol{x})}\right]+D_{\mathrm{KL}}\left(q_{\boldsymbol{\phi }}(\boldsymbol{z} \mid \boldsymbol{x}) \| p(\boldsymbol{z} \mid \boldsymbol{x})\right) \\ & \geq \mathbb{E}_{q_{ \phi}(\boldsymbol{z} \mid \boldsymbol{x})}\left[\log \frac{p(\boldsymbol{x}, \boldsymbol{z})}{q_{\boldsymbol{\phi} }(\boldsymbol{z} \mid \boldsymbol{x})}\right] \\ & = \mathbb{E}_{q_{\boldsymbol{\phi}}(\boldsymbol{\boldsymbol{x_{1: T}}} \mid \boldsymbol{x_0})}\left[\log \frac{p_{\theta }(\boldsymbol{x_{0:T}})}{q_{\boldsymbol{\phi}}( \boldsymbol{\boldsymbol{x_{1:T}}} \mid \boldsymbol{x_0})}\right] \end{aligned}T}}} \mid \boldsymbol{x_0})}\left[\log \frac{p_{\theta }(\boldsymbol{x_{0:T}})}{q_{\boldsymbol{\phi}}( \boldsymbol{\boldsymbol{x_{1:T}}} \mid \boldsymbol{x_0})}\right] \end{aligned}T}}} \mid \boldsymbol{x_0})}\left[\log \frac{p_{\theta }(\boldsymbol{x_{0:T}})}{q_{\boldsymbol{\phi}}( \boldsymbol{\boldsymbol{x_{1:T}}} \mid \boldsymbol{x_0})}\right] \end{aligned}iniciar sesiónpag ( x )=iniciar sesiónpag ( x )qϕ( zx )dz=qϕ( zx )(lo gp ( x ) ) dz=miqϕ( zx )[ iniciar sesiónp ( x )]=miqϕ( zx )[ iniciar sesiónpag ( zx )pag ( x ,z )]=miqϕ( zx )[ iniciar sesiónpag ( zx ) qϕ( zx )pag ( x ,z ) qϕ( zx )]=miqϕ( zx )[ iniciar sesiónqϕ( zx )pag ( x ,z )]+miqϕ( zx )[ iniciar sesiónpag ( zx )qϕ( zx )]=miqϕ( zx )[ iniciar sesiónqϕ( zx )pag ( x ,z )]+Dkl( qϕ( zx )p( zx ))miqϕ( zx )[ iniciar sesiónqϕ( zx )pag ( x ,z )]=miqϕ( x1 : T∣x _0)[ iniciar sesiónqϕ( x1 : TX0)pagi( x0 : T)]
zz aquíz representax 1 : T x_{1:T}X1 : T, xxx representax 0 x_0X0. En el medio se utiliza la fórmula bayesiana.

Las conclusiones derivadas de los dos métodos aquí son:
log ⁡ p θ ( x 0 ) ≥ E q ϕ ( x 1 : T ∣ x 0 ) [ log ⁡ p θ ( x 0 : T ) q ϕ ( x 1 : T ∣ x 0 ) ] \log p_{\theta }(\boldsymbol{x}_{0}) \geq \mathbb{E}_{q_{\boldsymbol{\phi}}(\boldsymbol{\boldsymbol{x_{1) :T}}} \mid \boldsymbol{x_0})}\left[\log \frac{p_{\theta }(\boldsymbol{x_{0:T}})}{q_{\boldsymbol{\phi}} (\boldsymbol{\boldsymbol{x_{1:T}}} \mid \boldsymbol{x_0})}\right]iniciar sesiónpagi( x0)miqϕ( x1 : T∣x _0)[ iniciar sesiónqϕ( x1 : TX0)pagi( x0 : T)]

其中E q ϕ ( x 1 : T ∣ x 0 ) [ log ⁡ p θ ( x 0 : T ) q ϕ ( x 1 : T ∣ x 0 ) ] \mathbb{E}_{q_{\boldsymbol{\phi }}(\boldsymbol{\boldsymbol{x_{1:T}}} \mid \boldsymbol{x_0})}\left[\log \frac{p_{\theta }(\boldsymbol{x_{0:T}} )}{q_{\boldsymbol{\phi}}(\boldsymbol{\boldsymbol{x_{1:T}}} \mid \boldsymbol{x_0})}\right]miqϕ( x1 : T∣x _0)[ iniciar sesiónqϕ( x1 : T∣x _0)pagi( x0 : T)]就是ELBO( Evidencia de límite inferior ) (Evidencia de límite inferior)( Ev i d e n ce Lower B o u n d ) , es decir , el límite inferior variacional .

Queremos hacer la función de pérdida − log ⁡ p θ ( x 0 ) -\log p_{\theta}\left(x_{0}\right)iniciar sesiónpagi( x0)最小,就是另ELBOE q ϕ ( x 1 : T ∣ x 0 ) [ log ⁡ p θ ( x 0 : T ) q ϕ ( x 1 : T ∣ x 0 ) ] \mathbb{E}_{q_{ \boldsymbol{\phi}}(\boldsymbol{\boldsymbol{x_{1:T}}} \mid \boldsymbol{x_0})}\left[\log \frac{p_{\theta }(\boldsymbol{x_{ 0:T}})}{q_{\boldsymbol{\phi}}(\boldsymbol{\boldsymbol{x_{1:T}}} \mid \boldsymbol{x_0})}\right]miqϕ( x1 : T∣x _0)[ iniciar sesiónqϕ( x1 : T∣x _0)pagi( x0 : T)] Máx.

我们令LVLB = − E q ϕ ( x 1 : T ∣ x 0 ) [ log ⁡ p θ ( x 0 : T ) q ϕ ( x 1 : T ∣ x 0 ) ] = E q ϕ ( x 1 : T ∣ x 0 ) [ log ⁡ q ϕ ( x 1 : T ∣ x 0 ) p θ ( x 0 : T ) ] L_{VLB} = -\mathbb{E}_{q_{\boldsymbol{\phi}}(\ negritasymbol{\boldsymbol{x_{1:T}}} \mid \boldsymbol{x_0})}\left[\log \frac{p_{\theta }(\boldsymbol{x_{0:T}})}{q_ {\boldsymbol{\phi}}(\boldsymbol{\boldsymbol{x_{1:T}}} \mid \boldsymbol{x_0})}\right] = \mathbb{E}_{q_{\boldsymbol{\phi }}(\boldsymbol{\boldsymbol{x_{1:T}}} \mid \boldsymbol{x_0})}\left[\log \frac{q_{\boldsymbol{\phi}}(\boldsymbol{\boldsymbol{ x_{1:T}}} \mid \boldsymbol{x_0})}{p_{\theta }(\boldsymbol{x_{0:T}})}\right]lVLB _ _=miqϕ( x1 : T∣x _0)[ iniciar sesiónqϕ( x1 : T∣x _0)pagi( x0 : T)]=miqϕ( x1 : T∣x _0)[ iniciar sesiónpagi( x0 : T)qϕ( x1 : T∣x _0)] y luego convertir para resolver la función de pérdida. Desglosarlo más:
\mathbf{x}_{0}\right) \| p_{\theta}\left(\mathbf{x}_{t-1}\mid\mathbf{x}_{t}\right)\right)}_{L_{t-1}}-\underbrace{ \log p_{\theta}\left(\mathbf{x}_{0} \mid \mathbf{x}_{1}\right)}_{L_{0}}] \end{aligned} \mathbf{x}_{0}\right) \| p_{\theta}\left(\mathbf{x}_{t-1}\mid\mathbf{x}_{t}\right)\right)}_{L_{t-1}}-\underbrace{ \log p_{\theta}\left(\mathbf{x}_{0} \mid \mathbf{x}_{1}\right)}_{L_{0}}] \end{aligned}lVLB=miq ( x0 : T)[ iniciar sesiónpagi( x0 : T)q( x1 : TX0)]=miq[ iniciar sesiónpagi( xt)t = 1tpagi( xt - 1Xt)t = 1tq( xtXt - 1)]=miq[ -iniciar sesiónpagi( xt)+t = 1tiniciar sesiónpagi( xt - 1Xt)q( xtXt - 1)]=miq[ -iniciar sesiónpagi( xt)+t = 2tiniciar sesiónpagi( xt - 1Xt)q( xtXt - 1)+iniciar sesiónpagi( x0X1)q( x1X0)]=miq[ -iniciar sesiónpagi( xt)+t = 2tiniciar sesión(pagi( xt - 1Xt)q( xt - 1Xt,X0)q( xt - 1X0)q( xtX0))+iniciar sesiónpagi( x0X1)q( x1X0)]=miq[ -iniciar sesiónpagi( xt)+t = 2tiniciar sesiónpagi( xt - 1Xt)q( xt - 1Xt,X0)+t = 2tiniciar sesiónq( xt - 1X0)q( xtX0)+iniciar sesiónpagi( x0X1)q( x1X0)]=miq[ -iniciar sesiónpagi( xt)+t = 2tiniciar sesiónpagi( xt - 1Xt)q( xt - 1Xt,X0)+iniciar sesiónq( x1X0)q( xtX0)+iniciar sesiónpagi( x0X1)q( x1X0)]=miq[ iniciar sesiónpagi( xt)q( xtX0)+t = 2tiniciar sesiónpagi( xt - 1Xt)q( xt - 1Xt,X0)iniciar sesiónpagi( x0X1) ]=miq[lt Dkl( q( xtX0)∥pag _i( xt) )+t = 2tlt - 1 Dkl( q( xt - 1Xt,X0)∥pag _i( xt - 1Xt) )l0 iniciar sesiónpagi( x0X1)]

Aquí el subíndice inicial comienza desde q ϕ ( x 1 : T ∣ x 0 ) q_{\boldsymbol{\phi}}(\boldsymbol{\boldsymbol{x_{1:T}}} \mid \boldsymbol{x_0})qϕ( x1 : TX0) se cambia aq ( x 0 : T ) q\left(\mathbf{x}_{0: T}\right)q( x0 : T) , creo quex 0 x_0X0se conoce, por lo que las dos expresiones son equivalentes.

Hay otro punto confuso en el medio, q ( x 1 : T ∣ x 0 ) q\left(\mathbf{x}_{1: T} \mid \mathbf{x}_{0}\right)q( x1 : TX0) representa la distribución de la propagación directa,q ( xt − 1 ∣ xt ) q\left(\mathbf{x}_{t-1} \mid \mathbf{x}_{t}\right)q( xt - 1Xt) representa la verdadera distribución del proceso de difusión inversa, dondeqqq no tiene significado directo ni inverso, solo representa probabilidad y distribución, que puede entenderse como la probabilidad PPen la teoría de la probabilidad.Pp θ ( xt − 1 ∣ xt ) p_{\theta}\left(\mathbf{x}_{t-1}\mid \mathbf{x}_{t}\right)pagi( xt - 1Xt) representa la distribución de difusión inversa que queremos resolver.

Luego tenemos LT, L t − 1, L 0 L_{T}, L_{t-1}, L_{0}lt,lt - 1,l0Estas tres situaciones se clasifican y discuten:

2.3.2 LT L_{T}lt

q ( ​​x 1 : T ∣ x 0 ) q\left(\mathbf{x}_{1:T} \mid \mathbf{x}_{0}\right)q( x1 : TX0) representa el proceso de difusión directa, no hay ningún parámetro que se pueda aprender;p θ ( x T ) p_{\theta}\left(\mathbf{x}_{T}\right)pagi( xtx T x_Ten )Xtes el ruido que obedece a la distribución gaussiana estándar, p θ p_{\theta}pagies el proceso de difusión inversa, para el proceso de difusión inversa, x T x_TXtes conocido, por lo que este término LT L_{T}ltSe puede utilizar como constante.

2.3.3 L t − 1 L_ {t-1}lt - 1

Y L t − 1 L_ {t-1}lt - 1Se puede ver que la distribución de difusión inversa real q ( xt − 1 ∣ xt , x 0 ) q\left(\mathbf{x}_{t-1} \mid \mathbf{x}_{t}, \mathbf {x}_{0}\derecha)q( xt - 1Xt,X0) y la distribución de difusión inversa que requerimosp θ ( xt − 1 ∣ xt ) p_{\theta}\left(\mathbf{x}_{t-1} \mid \mathbf{x}_{t}\right)pagi( xt - 1Xt) Divergencia KL.

  1. La función q ( xt − 1 ∣ xt , x 0 ) q\left(\mathbf{x}_{t-1}\mid \mathbf{x}_{t}, \mathbf{x}_{0}\ bien)q( xt - 1Xt,X0) media y varianza hemos obtenido:
    μ ~ t = 1 α t ( xt − 1 − α t 1 − α ˉ t ε t ), β ~ t = 1 − α ˉ t − 1 1 − α ˉ t ⋅ β t \tilde{\mu}_{t}=\frac{1}{\sqrt{\alpha_{t}}}\left(x_{t}-\frac{1-\alpha_{t}}{\ sqrt{ 1-\bar{\alpha}_{t}}} \varepsilon_{t}\right), \tilde{\beta}_{t}=\frac{1-\bar{\alpha}_{t -1 }}{1-\bar{\alpha}_{t}} \cdot \beta_{t}metro~t=at 1( xt1aˉt 1atmit),b~t=1aˉt1aˉt - 1bt
  2. La segunda distribución p θ ( xt − 1 ∣ xt ) p_{\theta}\left(\mathbf{x}_{t-1} \mid \mathbf{x}_{t}\right)pagi( xt - 1Xt) es la distribución objetivo que queremos ajustar, también es una distribución gaussiana, la red estima la media y la varianza se establece enβ t \beta_tbtForma:
    p θ ( xt − 1 ∣ xt ) = N ( xt − 1 ; μ θ ( xt , t ) , Σ θ ( xt , t ) ) p_{\theta}\left(\mathbf{x}_{t -1} \mid \mathbf{x}_{t}\right)=\mathcal{N}\left(\mathbf{x}_{t-1} ; \ball symbol{\mu}_{\theta} \ left(\mathbf{x}_{t}, t\right), \ballsymbol{\sigma}_{\theta}\left(\mathbf{x}_{t}, t\right)\right);pagi( xt - 1Xt)=norte( xt - 1;metroi( xt,t ),Si( xt,t ) )

Por lo tanto, para acercar estas dos distribuciones, podemos ignorar la varianza y solo necesitamos minimizar la distancia entre las medias de las dos distribuciones. Usamos la segunda norma para expresar:
L t = E q [ ∥ μ ~ t ( xt , x 0 ) − μ θ ( xt , t ) ∥ 2 ] = E x 0 , ϵ [ ∥ 1 α t ( xt ( x 0 , ϵ ) − β t 1 − α ˉ t ϵ ) − μ θ ( xt ( x 0 , ϵ ) , t ) ∥ 2 ] ϵ ∼ N ( 0 , 1 ) \begin{aligned} L_{t} ​​​​& =\mathbb{E}_{q}\left[\left\| \tilde{\boldsymbol{\ mu}}_{t}\left(\mathbf{x}_{t}, \mathbf{x}_{0}\right)-\boldsymbol{\mu}_{\theta }\left(\mathbf{ x}_{t}, t\right)\right\|^{2}\right] \\ & =\mathbb{E}_{\mathbf{x}_{0}, \epsilon}\left[\ left\|\frac{1}{\sqrt{\alpha_{t}}}\left(\mathbf{x}_{t}\left(\mathbf{x}_{0} , \epsilon\right)- \frac{\beta_{t}}{\sqrt{1-\bar{\alpha}_{t}}} \epsilon\right)-\boldsymbol{\mu}_{\theta }\left(\mathbf{ x}_{t}\left(\mathbf{x}_{0}, \epsilon\right), t\right)\right\|^{2}\right] \quad \ épsilon \sim \mathcal{N }(0,1) \end{alineado}lt=miq[ metro~t( xt,X0)metroi( xt,t )2 ]=miX0, ϵ[ at 1( xt( x0,) _1aˉt bt) _metroi( xt( x0,) _,t ) 2 ]ϵnorte ( 0 ,1 )
Se puede observar en esta fórmula que necesitamos usar μ θ ( xt ( x 0 , ϵ ) , t ) \boldsymbol{\mu}_{\theta}\left(\mathbf{x}_{t}\left ( \mathbf{x}_{0}, \epsilon\right), t\right)metroi( xt( x0,) _,t ) dentro de1α t ( xt ( x 0 , ϵ ) − β t 1 − α ˉ t ϵ ) \frac{1}{\sqrt{\alpha_{t}}}\left(\mathbf{x} _{t }\left(\mathbf{x}_{0}, \epsilon\right)-\frac{\beta_{t}}{\sqrt{1-\bar{\alpha}_{t}}} \epsilon\ bien)at 1( xt( x0,) _1- _aˉt btϵ ) , define:
μ θ ( xt , t ) = 1 α t ( xt − β t 1 − α ˉ t ϵ θ ( xt , t ) ) \bold symbol{\mu}_{\theta}\left( \ mathbf{x}_{t}, t\right)=\frac{1}{\sqrt{\alpha_{t}}}\left(\mathbf{x}_{t}-\frac{\beta_{t) }}{\sqrt{1-\bar{\alpha}_{t}}}\epsilon_{\theta}\left(\mathbf{x}_{t}, t\right)\right)metroi( xt,t )=at 1( xt1aˉt btϵi( xt,t ) )
es utilizar directamente la red neuronalϵ θ ( xt , t ) \epsilon_{\theta}\left(\mathbf{x}_{t}, t\right)ϵi( xt,t ) para predecir el ruidoϵ \epsilonϵ . Luego, lleve el ruido predicho a la expresión definida para calcular la media predicha.

Entonces la función de pérdida se convierte en:
L t = E x 0 , ϵ [ ∥ 1 α t ( xt − β t 1 − α ˉ t ϵ ) − 1 α t ( xt − β t 1 − α ˉ t ϵ θ ( xt , t ) ) ∥ ϵ ∼ N ( 0 , 1 ) = E x 0 , ϵ [ ∥ ϵ − ϵ θ ( xt , t ) ∥ 2 ] ϵ ∼ N ( 0 , 1 ) Sea ϵ ∼ N ( 0 , 1 ) un solucionador continuo infinitesimal = E x 0 , ϵ [ ∥ ϵ − ϵ θ ( α ˉ tx 0 + 1 − α ˉ t ϵ , t ) ∥ 2 ] , ϵ ∼ N ( 0 , 1 ) \begin{aligned} L_{t} ​​​​& = \mathbb{E}_{\mathbf{x}_{0}, \epsilon}\left[\left\|\frac{1}{\sqrt{\alpha_{t}}}\left(\mathbf {x }_{t}-\frac{\beta_{t}}{\sqrt{1-\bar{\alpha}_{t}}} \epsilon\right)-\frac{1}{\sqrt{ \alpha_ {t}}}\left(\mathbf{x}_{t}-\frac{\beta_{t}}{\sqrt{1-\bar{\alpha}_{t}}}\epsilon_{ \theta }\left(\mathbf{x}_{t},t\right)\right)\right\|^{2}\right]\quad\epsilon\sim\mathcal{N}(0,1) \\ & =\mathbb{E}_{\mathbf{x}_{0}, \epsilon}\left[\left\|\epsilon-\epsilon_{\theta}\left(\mathbf{x}_{ t} , t\right)\right\|^{2}\right] \quad \epsilon\sim\mathcal{N}(0,1) \quad \text {Deseche todos los coeficientes del término constante, el autor dijo que esto es mejor para entrenar} \\ & =\mathbb{E}_{\mathbf{x}_{0}, \epsilon} \left[\ left\|\epsilon-\epsilon_{\theta}\left(\sqrt{\bar{\alpha}_{t}} \mathbf{x}_{0}+\sqrt{1-\bar {\alpha} _{t}} \epsilon, t\right)\right\|^{2}\right], \quad \epsilon \sim \mathcal{N}(0,1) \end{aligned}lt=miX0, ϵ[ at 1( xt1aˉt bt) _at 1( xt1aˉt btϵi( xt,t ) ) 2 ]ϵnorte ( 0 ,1 )=miX0, ϵ[ ϵϵi( xt,t )2 ]ϵnorte ( 0 ,1 ) Deseche los coeficientes de los elementos constantes el autor dijo que es mejor entrenar =miX0, ϵ[ ϵϵi(aˉt X0+1aˉt ϵ ,t ) 2 ],ϵnorte ( 0 ,1 )
La entrada a la red es una imagen xt x_t combinada linealmente con ruido.Xt, el verdadero valor del ruido combinado con él es ϵ \epsilonϵ , la función libreθ ( α ˉ tx 0 + 1 − α ˉ t ϵ , t ) \epsilon_{\theta}\left(\sqrt{\bar{\alpha}_{t}} \mathbf{x} _ {0}+\sqrt{1-\bar{\alpha}_{t}}\epsilon, t\right)ϵi(aˉt X0+1aˉt ϵ ,t ) para adaptarse a este ruido.

2.3.4 L 0 L_ {0}l0

El final L 0 = − log ⁡ p θ ( x 0 ∣ x 1 ) L_{0}=-\log p_{\theta}\left(x_{0} \mid x_{1}\right)l0=iniciar sesiónpagi( x0X1) es la imagen ruidosa del último pasox 1 x_1X1Generar imagen de eliminación de ruido x 0 x_0X0La estimación de máxima verosimilitud de, para generar una mejor imagen, necesitamos utilizar la estimación de máxima verosimilitud para cada píxel, de modo que cada valor de píxel en la imagen satisfaga la probabilidad logarítmica discreta.

Para lograr esto, se cambia la última parte del proceso de difusión inversa de x 1 a x_1X1a x 0 x_0X0Las transformaciones se establecen en cálculos discretos independientes. Es decir, en el último proceso de conversión en un dado x 1 x_1X1obtener imagen x 0 x_0X0Satisfaga la probabilidad logarítmica, suponiendo que los píxeles son independientes entre sí:
p θ ( x 0 ∣ x 1 ) = ∏ i = 1 D p θ ( x 0 i ∣ x 1 i ) p_{\theta}\left (x_ {0} \mid x_{1}\right)=\prod_{i=1}^{D} p_{\theta}\left(x_{0}^{i} \mid x_{1}^{ i} \bien)pagi( x0X1)=yo = 1repagi( x0yoX1yo)
DDD es paraxxdimensión de x , superíndiceiii representa una posición de coordenadas en la imagen. El objetivo ahora es determinar qué tan probable es el valor de un píxel dado, es decir, conocer el paso de tiempo correspondientet = 1 t=1t=1 imagen con menor ruidoxxDistribución de los valores de píxeles correspondientes en x
: N ( x ; μ θ i ( x 1 , 1 ) , σ 1 2 ) \mathcal{N}\left(x ; \mu_{\theta}^{i}\left (x_{1}, 1\right), \sigma_{1}^{2}\right)norte( x ;metroiyo( x1,1 ),pag12)
dondet = 1 t=1t=La distribución de píxeles de 1 proviene de una distribución gaussiana multivariada cuya matriz de covarianza diagonal nos permite dividir la distribución en un producto de gaussianas univariadas: N ( x ;
μ θ ( x 1 , 1 ) , σ 1 2 I ) = ∏ i = 1 DN ( x ; μ θ i ( x 1 , 1 ) , σ 1 2 ) \mathcal{N}\left(x ; \mu_{\theta}\left(x_{1}, 1\right), \sigma_ {1}^{2} \mathbb{I}\right)=\prod_{i=1}^{D} \mathcal{N}\left(x ; \mu_{\theta}^{i}\left( x_{1}, 1\right), \sigma_{1}^{2}\right)norte( x ;metroi( x1,1 ),pag12yo )=yo = 1renorte( x ;metroiyo( x1,1 ),pag12)
Ahora supongamos que la imagen se ha normalizado en el rango [-1,1] del valor de 0-255. Dado el valor de píxel de cada píxel en t=0, la distribución de probabilidad de transiciónp θ ( x 0 ∣ x 1 ) p_{\theta}\left(x_{0} \mid x_{ 1}\right)pagi( x0X1)的值就是每个像素值的乘积。所以:
p θ ( x 0 ∣ x 1 ) = ∏ i = 1 D ∫ δ − ( x 0 i ) δ + ( x 0 i ) N ( x ; μ θ i ( x 1 , 1 ) , σ 1 2 ) dx δ + ( x ) = { ∞ si x = 1 x + 1 255 si x < 1 δ − ( x ) = { − ∞ si x = − 1 x − 1 255 si x > − 1 \begin{aligned} p_{\theta}\left(\mathbf{x}_{0} \mid \mathbf{x}_{1}\right) & =\prod_{i=1} ^{D} \int_{\delta_{-}\left(x_{0}^{i}\right)}^{\delta_{+}\left(x_{0}^{i}\right)} \ mathcal{N}\left(x ; \mu_{\theta}^{i}\left(\mathbf{x}_{1}, 1\right), \sigma_{1}^{2}\right) dx \\ \delta_{+}(x) & =\left\{\begin{array}{ll} \infty & \text { if } x=1 \\ x+\frac{1}{255} & \text { si } x<1 \end{array} \quad \delta_{-}(x)=\left\{\begin{array}{ll} -\infty & \text { si } x=-1 \\ x- \frac{1}{255} & \text { if } x>-1 \end{array}\right.\right. \end{alineado}pagi( x0X1)d+( x )=yo = 1red( x0yo)d+( x0yo)norte( x ;metroiyo( x1,1 ),pag12)d x={ X+2551 si  x=1 si  x<1d( x )={ X2551 si  x=1 si  x> 1
Esta fórmula proviene del artículo original, aquí se analiza su significado. Es decir, queremos agregar la imagen de ruido del último paso x 1 x_1X1Ajustar imagen sin ruido x 0 x_0X0, Configure cada píxel de la imagen en una distribución gaussiana, un total de DDD píxeles. mientrasx 0 x_0X0El rango de valores original de cada píxel es { 0 , 1 , … , 255 } \{0,1, \ldots, 255\}{ 0 ,1 ,,255 } , asignado a [ − 1 , 1 ] [-1,1]después de la normalización[ -1 , _1 ] rango.

Ahora sacamos un solo x 1 x_1X1Píxeles en x 1 i x_1^iX1yo,dada la función N ( x ; μ θ i ( x 1 , 1 ) , σ 1 2 ) \mathcal{N}\left(x ; \mu_{\theta}^{i}\left(x_{1}, 1\derecha), \sigma_{1}^{2}\derecha)norte( x ;metroiyo( x1,1 ),pag12) , el objetivo a instalar esx 0 x_0X0El punto de píxel de posición correspondiente x 0 i x_0^iX0yo, y x 0 i x_0^iX0yoEl rango de valores del espacio discreto original { 0 , 1 ,… , 255 } \{0,1, \ldots, 255\}{ 0 ,1 ,,255 } se asigna al espacio continuo[ − 1 , 1 ] [-1,1][ -1 , _1 ] , por lo que cada valor discreto original corresponde a un intervalo en el espacio continuo, y la fórmula para el mapeo de intervalos es:
δ + ( x ) = { ∞ si x = 1 x + 1 255 si x < 1 δ − ( x ) = { − ∞ si x = − 1 x − 1 255 si x > − 1 \begin{aligned} \delta_{+}(x) & =\left\{\begin{array}{ll} \infty & \text { si } x=1 \\ x+\frac{1}{255} & \text { si } x<1 \end{array} \quad \delta_{-}(x)=\left\{\begin{array }{ll} -\infty & \text { if } x=-1 \\ x-\frac{1}{255} & \text { if } x>-1 \end{array}\right.\right. \end{alineado}d+( x )={ X+2551 si  x=1 si  x<1d( x )={ X2551 si  x=1 si  x> 1

Lo anterior es el análisis y la derivación de todas las fórmulas involucradas en el proceso de difusión y difusión inversa de DDPM, incluida la parte de construcción de la función de pérdida.

Referencias y blog

Comprensión de los modelos de difusión: una perspectiva unificada
Modelos probabilísticos de difusión de eliminación de ruido
https://yinglinzheng.netlify.app/diffusion-model-tutorial
https://zhuanlan.zhihu.com/p/549623622

Supongo que te gusta

Origin blog.csdn.net/weixin_45453121/article/details/131223653
Recomendado
Clasificación