Raciocínio da fórmula do modelo de difusão DDPM ---- Função de perda

Raciocínio da fórmula do modelo de difusão DDPM ---- Função de perda

2.3 Derivação da função de perda

Construímos a função de perda com a ideia de estimativa de máxima verossimilhança:
L = − log ⁡ p θ ( x 0 ) \mathcal{L}=-\log p_{\theta}\left(x_{0}\right)eu=-ei _peu( x0) é o parâmetro θ \theta
da rede de difusão inversaθ torna os dados x 0 x_0apenas iniciando a amostragemx0mais provável de ocorrer.

A seguir, precisamos transformar a fórmula acima, utilizando algum conteúdo ELBO e VAE.

2.3.1 ELBA

Estimativa de máxima verossimilhança conhecida p θ ( x 0 ) p_{\theta}\left(x_{0}\right)peu( x0) e observaçãox 0 x_0x0, e x 1 obtido por difusão de observações : T x_{1:T}x1 : T, pela fórmula de distribuição de probabilidade marginal:
p θ ( x 0 ) = ∫ p θ ( x 0 : T ) dx 1 : T p_{\theta }(\boldsymbol{x}_{0})=\int p_{\ teta }(x_{0:T}) d x_{1:T}peu( x0)=peu( x0 : T) d x1 : T
portanto
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{alinhado} \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}ei _peu( x0)=ei _peu( x0 : T) d x1 : T=ei _qϕ( x1 : Tx0)peu( x0 : T) qϕ( x1 : Tx0)dx _1 : T=ei _Eqϕ( x1 : T∣x _0)[qϕ( x1 : Tx0)peu( x0 : T)]Eqϕ( x1 : T∣x _0)[ lo gqϕ( x1 : Tx0)peu( x0 : T)]
A última etapa é determinada pela desigualdade do som do piano (desigualdade I de Jensen) (desigualdade de Jensen)( J e n se n sInequality).
Isto não parece muito intuitivo e existe outra forma de derivação que é mais simples:
log ⁡ p ( x ) = log ⁡ p ( x ) ∫ q ϕ ( z ∣ x ) dz = ∫ q ϕ ( z ∣ x ) ( log ⁡ p ( x ) ) dz = E q ϕ ( z ∣ x ) [ log ⁡ p ( x ) ] = E q ϕ ( z ∣ x ) [ log ⁡ p ( x , z ) p ( z ∣ x ) ] = E q ϕ ( z ∣ x ) [ log ⁡ 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})}\ esquerda[\log \frac{p(\boldsymbol{x},\boldsymbol{z}) q_{\phi}(\boldsymbol{z} \mid \boldsymbol{x})}{p(\boldsymbol{z} \mid \boldsymbol{x}) q_{\phi}(\boldsymbol{z} {z} \mid \boldsymbol{x})}\right] \\ & =\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_{\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}ei _p ( x )=ei _p ( x )qϕ( zx )dz_=qϕ( zx )(log gp ( x )) d z=Eqϕ( zx )[ lo gp ( x )]=Eqϕ( zx )[ lo gp ( zx )p ( x ,z )]=Eqϕ( zx )[ lo gp ( zx ) qϕ( zx )p ( x ,z ) qϕ( zx )]=Eqϕ( zx )[ lo gqϕ( zx )p ( x ,z )]+Eqϕ( zx )[ lo gp ( zx )qϕ( zx )]=Eqϕ( zx )[ lo gqϕ( zx )p ( x ,z )]+DKL( qϕ( zx )p( zx ))Eqϕ( zx )[ lo gqϕ( zx )p ( x ,z )]=Eqϕ( x1 : T∣x _0)[ lo gqϕ( x1 : Tx0)peu( x0 : T)]
zz aquiz significax 1 : T x_{1:T}x1 : T, xxx significax 0 x_0x0. A fórmula bayesiana é usada no meio.

As conclusões derivadas dos dois métodos aqui são:
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]ei _peu( x0)Eqϕ( x1 : T∣x _0)[ lo gqϕ( x1 : Tx0)peu( 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]Eqϕ( x1 : T∣x _0)[ lo gqϕ( x1 : T∣x _0)peu( x0 : T)]就是ELBO( Evidência de limite inferior ) (Evidência de limite inferior)( Ev i d e n ce Lower Bo u n d ) , ou seja , o limite inferior variacional .

Queremos fazer a função de perda − log ⁡ p θ ( x 0 ) -\log p_{\theta}\left(x_{0}\right)-ei _peu( 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]Eqϕ( x1 : T∣x _0)[ lo gqϕ( x1 : T∣x _0)peu( 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}}(\ negrito símbolo{\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]euVLB _ _=−E _qϕ( x1 : T∣x _0)[ lo gqϕ( x1 : T∣x _0)peu( x0 : T)]=Eqϕ( x1 : T∣x _0)[ lo gpeu( x0 : T)qϕ( x1 : T∣x _0)] e, em seguida, converta para resolver a função de perda. Divida ainda mais:
\mathbf{x}_{0}\direita) \| 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}\direita) \| 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}euVLB=Eq ( ​​x0 : T)[ lo gpeu( x0 : T)q( x1 : Tx0)]=Eq[ lo gpeu( xT)t = 1Tpeu( xt 1xt)t = 1Tq( xtxt 1)]=Eq[ -ei _peu( xT)+t = 1Tei _peu( xt 1xt)q( xtxt 1)]=Eq[ -ei _peu( xT)+t = 2Tei _peu( xt 1xt)q( xtxt 1)+ei _peu( x0x1)q( x1x0)]=Eq[ -ei _peu( xT)+t = 2Tei _(peu( xt 1xt)q( xt 1xt,x0)q( xt 1x0)q( xtx0))+ei _peu( x0x1)q( x1x0)]=Eq[ -ei _peu( xT)+t = 2Tei _peu( xt 1xt)q( xt 1xt,x0)+t = 2Tei _q( xt 1x0)q( xtx0)+ei _peu( x0x1)q( x1x0)]=Eq[ -ei _peu( xT)+t = 2Tei _peu( xt 1xt)q( xt 1xt,x0)+ei _q( x1x0)q( xTx0)+ei _peu( x0x1)q( x1x0)]=Eq[ lo gpeu( xT)q( xTx0)+t = 2Tei _peu( xt 1xt)q( xt 1xt,x0)-ei _peu( x0x1) ]=Eq[euT DKL( q( xTx0)∥p _eu( xT) )+t = 2Teut 1 DKL( q( xt 1xt,x0)∥p _eu( xt 1xt) )-eu0 ei _peu( x0x1)]

Aqui, o subscrito inicial começa em q ϕ ( x 1 : T ∣ x 0 ) q_{\boldsymbol{\phi}}(\boldsymbol{\boldsymbol{x_{1:T}}} \mid \boldsymbol{x_0})qϕ( x1 : Tx0) é alterado paraq ( x 0 : T ) q\left(\mathbf{x}_{0: T}\right)q( x0 : T) , acho quex 0 x_0x0é conhecido, então as duas expressões são equivalentes.

Há outro ponto confuso no meio, q ( x 1 : T ∣ x 0 ) q\left(\mathbf{x}_{1: T} \mid \mathbf{x}_{0}\right)q( x1 : Tx0) representa a distribuição da propagação direta,q ( xt − 1 ∣ xt ) q\left(\mathbf{x}_{t-1} \mid \mathbf{x}_{t}\right)q( xt 1xt) representa a verdadeira distribuição do processo de difusão inversa, ondeqqq não tem significado direto ou reverso, apenas representa probabilidade e distribuição, que pode ser entendida como a probabilidade PPna teoria da probabilidadePp θ ( xt − 1 ∣ xt ) p_{\theta}\left(\mathbf{x}_{t-1}\mid \mathbf{x}_{t}\right)peu( xt 1xt) representa a distribuição de difusão inversa que queremos resolver.

Em seguida temos LT , L t − 1 , L 0 L_{T}, L_{t-1}, L_{0}euT,eut 1,eu0Estas três situações são classificadas e discutidas:

2.3.2 LT L_{T}euT

q ( ​​x 1 : T ∣ x 0 ) q\left(\mathbf{x}_{1:T} \mid \mathbf{x}_{0}\right)q( x1 : Tx0) representa o processo de difusão direta, não há parâmetro que possa ser aprendido;p θ ( x T ) p_{\theta}\left(\mathbf{x}_{T}\right)peu( xTx T x_Tem )xTé o ruído que obedece à distribuição gaussiana padrão, p θ p_{\theta}peué o processo de difusão inversa, para o processo de difusão inversa, x T x_TxTé conhecido, então este termo LT L_{T}euTPode ser usado como uma constante.

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

E eu t − 1 eu_{t-1}eut 1Pode-se ver que a distribuição de difusão inversa real q ( xt − 1 ∣ xt , x 0 ) q\left(\mathbf{x}_{t-1} \mid \mathbf{x}_{t}, \mathbf { x}_{0}\direita)q( xt 1xt,x0) e a distribuição de difusão inversa, exigimosp θ ( xt − 1 ∣ xt ) p_{\theta}\left(\mathbf{x}_{t-1} \mid \mathbf{x}_{t}\right)peu( xt 1xt) Divergência KL.

  1. A função q ( xt − 1 ∣ xt , x 0 ) q\left(\mathbf{x}_{t-1}\mid \mathbf{x}_{t}, \mathbf{x}_{0}\ certo)q( xt 1xt,x0) média e variância obtivemos:
    μ ~ 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}eu~t=at 1( xt-1-aˉt 1-atet),b~t=1-aˉt1-aˉt 1bt
  2. A segunda distribuição p θ ( xt − 1 ∣ xt ) p_{\theta}\left(\mathbf{x}_{t-1} \mid \mathbf{x}_{t}\right)peu( xt 1xt) é a distribuição alvo que queremos ajustar, também é uma distribuição gaussiana, a média é estimada pela rede e a variância é definida comoβ 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} ; \símbolo de bola{\mu}_{\theta} \ left(\mathbf{x}_{t}, t\right), \ballsymbol{\sigma}_{\theta}\left(\mathbf{x}_{t}, t\right)\right);peu( xt 1xt)=N( xt 1;eueu( xt,t ),Seu( xt,t ) )

Portanto, para aproximar essas duas distribuições, podemos ignorar a variância, e só precisamos minimizar a distância entre as médias das duas distribuições. Usamos a segunda norma para expressar:
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{aligned}eut=Eq[ eu~t( xt,x0)-eueu( xt,t )2 ]=Ex0, ϵ[ at 1( xt( x0,) _-1-aˉt bt) _-eueu( xt( x0,) _,t ) 2 ]ϵN ( 0 ,1 )
Pode-se observar nesta fórmula que precisamos usar μ θ ( xt ( x 0 , ϵ ) , t ) \boldsymbol{\mu}_{\theta}\left(\mathbf{x}_{t}\left ( \mathbf{x}_{0}, \épsilon\right), t\right)eueu( 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\ certo)at 1( xt( x0,) _-1 -aˉt btϵ ) ,defina:
μ θ ( xt , t ) = 1 α t ( xt − β t 1 − α ˉ t ϵ θ ( xt , t ) ) \símbolo em negrito{\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)eueu( xt,t )=at 1( xt-1-aˉt btϵeu( xt,t ) )
é usar diretamente a rede neuralϵ θ ( xt , t ) \epsilon_{\theta}\left(\mathbf{x}_{t}, t\right)ϵeu( xt,t ) para prever o ruídoϵ \epsilonϵ . Em seguida, traga o ruído previsto para a expressão definida para calcular a média prevista.

Então a função de perda se torna:
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 ) Seja ϵ ∼ N ( 0 , 1 ) um solucionador contínuo 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 {Jogue fora todos os coeficientes do termo constante, o autor disse que isso é melhor para treinamento} \\ & =\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}eut=Ex0, ϵ[ at 1( xt-1-aˉt bt) _-at 1( xt-1-aˉt btϵeu( xt,t ) ) 2 ]ϵN ( 0 ,1 )=Ex0, ϵ[ ∥ϵ _-ϵeu( xt,t )2 ]ϵN ( 0 ,1 ) Jogue fora os coeficientes dos itens constantes o autor disse que é melhor treinar =Ex0, ϵ[ ϵ-ϵeu(aˉt x0+1-aˉt ϵ ,t ) 2 ],ϵN ( 0 ,1 )
A entrada para a rede é uma imagem xt x_t combinada linearmente com ruídoxt, o verdadeiro valor do ruído combinado com ele é ϵ \epsilonϵ ,a função livreθ ( α ˉ tx 0 + 1 − α ˉ t ϵ , t ) \epsilon_{\theta}\left(\sqrt{\bar{\alpha}_{t}} \mathbf{x} _ {0}+\sqrt{1-\bar{\alpha}_{t}}\epsilon, t\right)ϵeu(aˉt x0+1-aˉt ϵ ,t ) para ajustar esse ruído.

2.3.4 L 0 L_{0}eu0

O final L 0 = − log ⁡ p θ ( x 0 ∣ x 1 ) L_{0}=-\log p_{\theta}\left(x_{0} \mid x_{1}\right)eu0=-ei _peu( x0x1) é a imagem com ruído da última etapax 1 x_1x1Gerar imagem de eliminação de ruído x 0 x_0x0A estimativa de máxima verossimilhança de, para gerar uma imagem melhor, precisamos usar a estimativa de máxima verossimilhança para cada pixel, de modo que cada valor de pixel na imagem satisfaça a probabilidade logarítmica discreta.

Para conseguir isso, a última parte do processo de difusão inversa é alterada de x 1 para x_1x1para x 0 x_0x0As transformações são definidas para cálculos discretos independentes. Ou seja, no último processo de conversão em um determinado x 1 x_1x1obter imagem x 0 x_0x0Satisfaça o log de verossimilhança, assumindo que os pixels são independentes um do outro:
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} \certo)peu( x0x1)=eu = 1Dpeu( x0eux1eu)
DDD é paraxxdimensão de x , sobrescritoiii representa uma posição coordenada na imagem. O objetivo agora é determinar a probabilidade do valor de um determinado pixel, ou seja, saber o intervalo de tempo correspondentet = 1 t=1t=1 imagem com ruído mais baixoxxDistribuição dos valores de pixel correspondentes em x
: N ( x ; μ θ i ( x 1 , 1 ) , σ 1 2 ) \mathcal{N}\left(x ; \mu_{\theta}^{i}\left (x_ {1}, 1\direita), \sigma_{1}^{2}\direita)N( x ;eueueu( x1,1 ),p12)
ondet = 1 t=1t=A distribuição de pixels de 1 vem de uma distribuição gaussiana multivariada cuja matriz de covariância diagonal nos permite dividir a distribuição em um produto 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\direita), \sigma_{1}^{2}\direita)N( x ;eueu( x1,1 ),p12eu )=eu = 1DN( x ;eueueu( x1,1 ),p12)
Agora suponha que a imagem foi normalizada no intervalo [-1,1] do valor de 0-255. Dado o valor de pixel de cada pixel em t=0, a distribuição de probabilidade de transiçãop θ ( x 0 ∣ x 1 ) p_{\theta}\left(x_{0} \mid x_{ 1}\right)peu( 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 ) = { ∞ se x = 1 x + 1 255 se x < 1 δ − ( x ) = { − ∞ se x = − 1 x − 1 255 se 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 { if } 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{alinhado}peu( x0x1)d+( x )=eu = 1Dd( x0eu)d+( x0eu)N( x ;eueueu( x1,1 ),p12)dx _={ x+2551 se  x=1 se  x<1d( x )={ x-2551 se  x=1 se  x> 1
Esta fórmula vem do artigo original, aqui está uma análise de seu significado. Ou seja, queremos adicionar a imagem de ruído da última etapa x 1 x_1x1Ajustar imagem sem ruído x 0 x_0x0, defina cada pixel da imagem para uma distribuição gaussiana, um total de DDPixels D. enquantox 0 x_0x0O intervalo de valores original de cada pixel é { 0 , 1 , … , 255 } \{0,1, \ldots, 255\}{ 0 ,1 ,,255 } , mapeado para [ − 1 , 1 ] [-1,1]após a normalização[ 1 ,1 ] intervalo.

Agora tiramos um único x 1 x_1x1Pixels em x 1 i x_1^ix1eu,dê a função N ( x ; μ θ i ( x 1 , 1 ) , σ 1 2 ) \mathcal{N}\left(x ; \mu_{\theta}^{i}\left(x_{1}, 1\direita), \sigma_{1}^{2}\direita)N( x ;eueueu( x1,1 ),p12) , o alvo a ser ajustado éx 0 x_0x0O ponto de pixel de posição correspondente x 0 i x_0^ix0eu, e x 0 i x_0^ix0euO intervalo de valores do espaço discreto original { 0 , 1 , … , 255 } \{0,1, \ldots, 255\}{ 0 ,1 ,,255 } é mapeado para o espaço contínuo[ − 1 , 1 ] [-1,1][ 1 ,1 ] , então cada valor discreto original corresponde a um intervalo no espaço contínuo, e a fórmula para mapeamento de intervalo é:
δ + ( x ) = { ∞ se x = 1 x + 1 255 se x < 1 δ − ( x ) = { − ∞ se x = − 1 x − 1 255 se x > − 1 \begin{aligned} \delta_{+}(x) & =\left\{\begin{array}{ll} \infty & \text { if } x=1 \\ x+\frac{1}{255} & \text { if } 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{alinhado}d+( x )={ x+2551 se  x=1 se  x<1d( x )={ x-2551 se  x=1 se  x> 1

O texto acima é a análise e derivação de todas as fórmulas envolvidas no processo de difusão e difusão inversa do DDPM, incluindo a parte de construção da função de perda.

Referências e blog

Compreendendo os modelos de difusão: uma perspectiva unificada,
eliminando o ruído dos modelos probabilísticos de difusão
https://yinglinzheng.netlify.app/diffusion-model-tutorial
https://zhuanlan.zhihu.com/p/549623622

Acho que você gosta

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