当前位置: 首页 > wzjs >正文

网络工作室的经营范围南京网络优化培训

网络工作室的经营范围,南京网络优化培训,深圳品牌做网站公司哪家好,wordpress安装一下因为扩散模型的正向过程可以实现跳步,其马尔科夫性并不重要,因此DDIM尝试在反向过程中也舍弃马尔科夫性的约束。在引入一个可控参数 σ t \sigma_t σt​后,反向过程的迭代被整理为预测 x 0 x_0 x0​后重新进行正向扩散的过程,扩散…

因为扩散模型的正向过程可以实现跳步,其马尔科夫性并不重要,因此DDIM尝试在反向过程中也舍弃马尔科夫性的约束。在引入一个可控参数 σ t \sigma_t σt后,反向过程的迭代被整理为预测 x 0 x_0 x0后重新进行正向扩散的过程,扩散时使用的噪声为新初始化噪声与上一步预测噪声的加权,在特定 σ \sigma σ选择下,可以导出DDPM的采样过程和新的确定性的采样过程,并且使得反向过程同样支持跳步。

方法概述

舍弃马尔科夫性

在DDPM中,反向过程的损失函数是根据马尔科夫性推导得出的,而虽然正向过程也是马尔科夫链,但是因为高斯分布的可加性,其完全可以舍弃马尔科夫性,实现从第 0 步直接跳到第 t 步。
在这里插入图片描述
而DDIM的核心思想就是在反向过程时也舍弃马尔科夫性的约束,使得采样的过程也可以实现跳步。
在这里插入图片描述
注意,DDIM的 p p p q q q符号也与本文相反,在“理论推导”小节需要注意与原文对照。

采样公式

在DDPM中,我们先是使用了一种没有严格理论支撑但容易理解的方法导出了一个采样迭代公式:
x t − 1 = 1 α t ( x t − 1 − α ˉ t ϵ θ ( x t , t ) ) + 1 − α ˉ t − 1 z x_{t-1} = \frac{1}{\sqrt{\alpha_t}}\left(x_t-\sqrt{1-\bar{\alpha}_{t}} \epsilon_\theta\left( x_t, t\right)\right) + \sqrt{1-\bar{\alpha}_{t-1}} z xt1=αt 1(xt1αˉt ϵθ(xt,t))+1αˉt1 z
然后又在后续理论推导出中给出了DDPM原版的采样迭代公式:
x t − 1 = 1 α t ( x t − 1 − α t 1 − α ˉ t ϵ θ ( x t , t ) ) + β ~ t z x_{t-1}=\frac{1}{\sqrt{\alpha_{t}}}\left(x_{t}-\frac{1-\alpha_{t}}{\sqrt{1-\bar{\alpha}_{t}}}\epsilon_{\theta}(x_{t},t)\right)+\tilde{\beta}_tz xt1=αt 1(xt1αˉt 1αtϵθ(xt,t))+β~tz
而这两种都是DDIM这个工作提出的采样迭代公式的两种特殊情况:
x t − 1 = α ˉ t − 1 ( x t − 1 − α ˉ t ϵ θ ( x t , t ) α ˉ t ) + 1 − α ˉ t − 1 − σ t 2 ⋅ ϵ θ ( x t , t ) + σ t z x_{t-1}=\sqrt{\bar\alpha_{t-1}}\left(\frac{x_{t}-\sqrt{1-\bar\alpha_{t}}\epsilon_{\theta}(x_{t},t)}{\sqrt{\bar\alpha_{t}}}\right)+\sqrt{1-\bar\alpha_{t-1}-\sigma_{t}^{2}}\cdot\epsilon_{\theta}(x_{t},t)+\sigma_{t}z xt1=αˉt1 (αˉt xt1αˉt ϵθ(xt,t))+1αˉt1σt2 ϵθ(xt,t)+σtz
带入 σ t = 1 − α ˉ t − 1 \sigma_{t}=\sqrt{1-\bar\alpha_{t-1}} σt=1αˉt1 σ t = ( 1 − α ˉ t − 1 ) / ( 1 − α ˉ t ) 1 − α t \sigma_{t}=\sqrt{(1-\bar\alpha_{t-1})/(1-\bar\alpha_{t})}\sqrt{1-\alpha_{t}} σt=(1αˉt1)/(1αˉt) 1αt 可以分别得到以上两个迭代过程。为了便于分析和与DDIM原文对齐,这里将上式的 α ˉ t \bar\alpha_t αˉt表示为 α t \alpha_t αt,上式的 α t \alpha_t αt则对应 α t / α t − 1 \alpha_t/\alpha_{t-1} αt/αt1,将 t t t移到符号上标, z z z替换为 ϵ t \epsilon_t ϵt
x t − 1 = α t − 1 ( x t − 1 − α t ϵ θ ( t ) ( x t ) α t ) + 1 − α t − 1 − σ t 2 ⋅ ϵ θ ( t ) ( x t ) + σ t ϵ t x_{t-1}=\sqrt{\alpha_{t-1}}{\left(\frac{x_{t}-\sqrt{1-\alpha_{t}}\epsilon_{\theta}^{(t)}(x_{t})}{\sqrt{\alpha_{t}}}\right)}+{\sqrt{1-\alpha_{t-1}-\sigma_{t}^{2}}\cdot\epsilon_{\theta}^{(t)}(x_{t})}+{\sigma_{t}\epsilon_{t}} xt1=αt1 (αt xt1αt ϵθ(t)(xt))+1αt1σt2 ϵθ(t)(xt)+σtϵt
此时可以得到DDIM最重要的特殊情况,即设置 σ t = 0 \sigma_t=0 σt=0,此时上式等于:
x t − 1 = α t − 1 ( x t − 1 − α t ϵ θ ( t ) ( x t ) α t ) + 1 − α t − 1 ⋅ ϵ θ ( t ) ( x t ) = α t − 1 x θ ( 0 ) ( x t ) + 1 − α t − 1 ⋅ ϵ θ ( t ) ( x t ) x_{t-1}=\sqrt{\alpha_{t-1}}\left(\frac{x_{t}-\sqrt{1-\alpha_{t}}\epsilon_{\theta}^{(t)}(x_{t})}{\sqrt{\alpha_{t}}}\right)+\sqrt{1-\alpha_{t-1}}\cdot\epsilon_{\theta}^{(t)}(x_{t})=\sqrt{\alpha_{t-1}}x^{(0)}_\theta(x_t)+\sqrt{1-\alpha_{t-1}}\cdot\epsilon_{\theta}^{(t)}(x_{t}) xt1=αt1 (αt xt1αt ϵθ(t)(xt))+1αt1 ϵθ(t)(xt)=αt1 xθ(0)(xt)+1αt1 ϵθ(t)(xt)
可以发现,此时DDIM在迭代过程中没有随机性,即每一步反向过程迭代的时候并没有采样新的噪声,而是直接使用前向过程 x t = α t x 0 + 1 − α t ϵ \boldsymbol{x}_t =\sqrt{{\alpha}_t} \boldsymbol{x}_0 + \sqrt{1-{\alpha}_t} {\epsilon} xt=αt x0+1αt ϵ在估计的干净图像 x θ ( 0 ) ( x t ) x^{(0)}_\theta(x_t) xθ(0)(xt)上回加估计的噪声 ϵ θ ( t ) ( x t ) \epsilon_{\theta}^{(t)}(x_{t}) ϵθ(t)(xt),可以看作一个迭代细化的过程。当然,DDIM采样并不是完全没有随机性,因为迭代前需要采样 x T ∼ N ( 0 , I ) x_T\sim\mathcal{N}(\boldsymbol{0}, \boldsymbol{I}) xTN(0,I)

加速采样

对于DDPM,如果要贯彻推导时使用的马尔科夫性,那么在采样时需要使用训练时设置的 T T T步进行采样,而在绝大部分扩散模型中,都设置 T = 1000 T=1000 T=1000,这导致DDPM生成图像需要执行1000次去噪网络 ϵ θ \epsilon_\theta ϵθ,而 ϵ θ \epsilon_\theta ϵθ是一个参数量和计算量都很大的UNet(甚至是DiT),导致耗时不可接受,因此减少采样步数是必不可少的。
一个简单的方法是,在训练时依旧使用1000步 t ∈ { 0 , 1 , 2 , . . . , 999 } t\in \{0, 1, 2, ..., 999\} t{0,1,2,...,999},但在采样时只使用timestep的子集,比如 t ∈ { 249 , 499 , 749 , 999 } t\in \{249, 499, 749, 999\} t{249,499,749,999},并索引训练时计算好的 α t \alpha_{t} αt列表,实验证明,这种跳步方法在50步左右依旧可以生成清晰的图像。DDIM将timestep的子序列定义为 { τ 1 , … , τ S } \{\tau_{1},\ldots,\tau_{S}\} {τ1,,τS},并一般设置为等间隔。此时生成过程为:
z = x T → x τ S → x τ S − 1 → ⋯ → x τ 1 → x 0 = x {z} = {x}_{T} \to {x}_{\tau_{S}} \to {x}_{\tau_{S-1}} \to \cdots \to {x}_{\tau_{1}} \to {x}_{0} = {x} z=xTxτSxτS1xτ1x0=x
此外,DDIM将 σ t \sigma_{t} σt定义为:
σ τ i ( η ) = η ( 1 − α τ i − 1 ) / ( 1 − α τ i ) 1 − α τ i / α τ i − 1 \sigma_{\tau_{i}}(\eta)=\eta\sqrt{(1-\alpha_{\tau_{i-1}})/(1-\alpha_{\tau_{i}})}\sqrt{1-\alpha_{\tau_{i}}/\alpha_{\tau_{i-1}}} στi(η)=η(1ατi1)/(1ατi) 1ατi/ατi1
其中 η ∈ [ 0 , 1 ] \eta\in{[0, 1]} η[0,1] η = 0 \eta=0 η=0时对应确定性的反向迭代过程, η = 1 \eta=1 η=1对应DDPM。如果不特指 η \eta η的值,DDIM默认采用确定性采样,一般采样步数在20~30步,并且一般质量比DDPM更好。

理论推导

反向过程的非马尔可夫推断

回顾DDPM的简化训练目标:
L = E t , x 0 , ϵ [ ∥ ϵ − ϵ θ ( t ) ( α t x 0 + 1 − α t ϵ ) ∥ 2 ] L=\mathbb{E}_{t, {x}_0, {\epsilon}}\left[\left\|{\epsilon}-{\epsilon}_\theta^{(t)}\left(\sqrt{{\alpha}_t} {x}_0 + \sqrt{1-{\alpha}_t} {\epsilon}\right)\right\|^2\right] L=Et,x0,ϵ[ ϵϵθ(t)(αt x0+1αt ϵ) 2]
该损失函数关于 t t t的每一项,都只与 x 0 x_0 x0以及 x t x_t xt相关,而且根据 x 0 = 1 α t ( x t − 1 − α t ϵ ) {x}_0=\frac{1}{\sqrt{{\alpha}_t}}\left({x}_t-\sqrt{1-{\alpha}_t} {\epsilon}\right) x0=αt 1(xt1αt ϵ),上式等价于每一步都估计干净图像 x 0 x_0 x0,只是在 t t t越大时估计越不准确。因此,只需要在采样到达 t t t步时 x t x_t xt包含的噪声的方差与训练时正向过程添加的噪声方差一致,那么训练和推理就不会有明显的gap。对于正向过程,正向过程扩散到 x t − 1 x_{t-1} xt1 p ( x t − 1 ∣ x 0 ) = N ( x t − 1 ; α t − 1 x 0 , ( 1 − α t − 1 ) I ) p({x}_{t-1}|{x}_{0})=\mathcal{N}({x}_{t-1};\sqrt{{\alpha}_{t-1}} {x}_{0}, (1-{\alpha}_{t-1})\boldsymbol{I}) p(xt1x0)=N(xt1;αt1 x0,(1αt1)I),即方差为 1 − α t − 1 1-{\alpha}_{t-1} 1αt1。因为我们在 t t t步估计出 x ^ 0 ( t ) = 1 α t ( x t − 1 − α t ϵ θ ( t ) ( x ^ t ) ) \hat{x}_0^{(t)}=\frac{1}{\sqrt{{\alpha}_t}}\left({x}_t-\sqrt{1-{\alpha}_t} {\epsilon}_\theta^{(t)}(\hat{x}_t)\right) x^0(t)=αt 1(xt1αt ϵθ(t)(x^t)),迭代采样过程中会替代正向过程的 x 0 x_0 x0,因此我们只需要在 x ^ 0 ( t ) \hat{x}_0^{(t)} x^0(t)上添加方差为 1 − α t − 1 1-{\alpha}_{t-1} 1αt1即可满足反向过程的状态转移,而无需考虑状态转移是否满足马尔科夫性。因此可以引入一个可调的辅助变量 σ t \sigma_t σt
ϵ ( t ) = 1 − α t − 1 − σ t 2 ⋅ ϵ θ ( t ) ( x t ) + σ t ϵ t \epsilon^{(t)}=\sqrt{1-\alpha_{t-1}-\sigma_{t}^{2}}\cdot\epsilon_{\theta}^{(t)}(x_{t})+\sigma_{t}\epsilon_{t} ϵ(t)=1αt1σt2 ϵθ(t)(xt)+σtϵt
很明显, ( 1 − α t − 1 − σ t 2 ) 2 + σ t 2 = 1 − α t − 1 \left(\sqrt{1-\alpha_{t-1}-\sigma_{t}^{2}}\right)^2+\sigma_{t}^2=1-{\alpha}_{t-1} (1αt1σt2 )2+σt2=1αt1,满足训练时噪声方差的设定。

边缘分布

DDIM原文并不是直接从噪声方差的训练-推断一致的角度进行推导的,而是从边缘分布 p σ ( x t ) p_\sigma({x}_t) pσ(xt)的一致性考虑。因为 x 0 ∼ p d a t a x_0\sim p_{data} x0pdata不受参数 σ \sigma σ影响,则只需证明参数 σ \sigma σ不影响条件分布 p σ ( x t ∣ x 0 ) p_\sigma({x}_t|{x}_0) pσ(xtx0),即:
p σ ( x t ∣ x 0 ) = N ( α t x 0 , ( 1 − α t ) I ) p_\sigma({x}_t|{x}_0)=\mathcal N(\sqrt{\alpha_t}{x}_0,(1-\alpha_t){I}) pσ(xtx0)=N(αt x0,(1αt)I)
接下来开始证明:考虑DDPM的训练过程,其最小化 p ( x t − 1 ∣ x t , x 0 ) p({x}_{t-1}|{x}_{t},{x}_{0}) p(xt1xt,x0) q θ ( x t − 1 ∣ x t ) q_\theta(x_{t-1}|x_t) qθ(xt1xt)的KL散度,训练完成后可以使用 q θ ( x t − 1 ∣ x t ) q_\theta(x_{t-1}|x_t) qθ(xt1xt)替代 p ( x t − 1 ∣ x t , x 0 ) p({x}_{t-1}|{x}_{t},{x}_{0}) p(xt1xt,x0)。当前,我们的反向过程迭代定义为:
x t − 1 = α t − 1 ( x t − 1 − α t ϵ θ ( t ) ( x t ) α t ) + 1 − α t − 1 − σ t 2 ⋅ ϵ θ ( t ) ( x t ) + σ t ϵ t x_{t-1}=\sqrt{\alpha_{t-1}}{\left(\frac{x_{t}-\sqrt{1-\alpha_{t}}\epsilon_{\theta}^{(t)}(x_{t})}{\sqrt{\alpha_{t}}}\right)}+{\sqrt{1-\alpha_{t-1}-\sigma_{t}^{2}}\cdot\epsilon_{\theta}^{(t)}(x_{t})}+{\sigma_{t}\epsilon_{t}} xt1=αt1 (αt xt1αt ϵθ(t)(xt))+1αt1σt2 ϵθ(t)(xt)+σtϵt
其中 x ^ 0 = x t − 1 − α t ϵ θ ( t ) ( x t ) α t \hat{x}_0=\frac{x_{t}-\sqrt{1-\alpha_{t}}\epsilon_{\theta}^{(t)}(x_{t})}{\sqrt{\alpha_{t}}} x^0=αt xt1αt ϵθ(t)(xt)可近似 x 0 x_0 x0,那么:
p σ ( x t − 1 ∣ x t , x 0 ) = N ( α t − 1 x 0 + 1 − α t − 1 − σ t 2 ⋅ x t − α t x 0 1 − α t , σ t 2 I ) p_{\sigma}({x}_{t-1}|{x}_{t},{x}_{0})=\mathcal{N}\left(\sqrt{\alpha_{t-1}}{x}_{0}+\sqrt{1-\alpha_{t-1}-\sigma_{t}^{2}}\cdot\frac{{x}_{t}-\sqrt{\alpha_{t}}{x}_{0}}{\sqrt{1-\alpha_{t}}},\sigma_{t}^{2}\boldsymbol{I}\right) pσ(xt1xt,x0)=N(αt1 x0+1αt1σt2 1αt xtαt x0,σt2I)
上式可表示为 x t − 1 = α t − 1 x 0 + 1 − α t − 1 − σ t 2 ⋅ x t − α t x 0 1 − α t + σ t ϵ t x_{t-1}=\sqrt{\alpha_{t-1}}x_0+{\sqrt{1-\alpha_{t-1}-\sigma_{t}^{2}}\cdot\frac{{x}_{t}-\sqrt{\alpha_{t}}{x}_{0}}{\sqrt{1-\alpha_{t}}}}+{\sigma_{t}\epsilon_{t}} xt1=αt1 x0+1αt1σt2 1αt xtαt x0+σtϵt。考虑 p σ ( x t ∣ x 0 ) = N ( α t x 0 , ( 1 − α t ) I ) = α t x 0 + 1 − α t ϵ , ϵ ∼ N ( 0 , I ) p_{\sigma}(x_{t}|x_{0})=\mathcal{N}(\sqrt{\alpha_{t}}x_{0},(1-\alpha_{t}){I})=\sqrt{\alpha_{t}}x_{0}+\sqrt{1-\alpha_{t}}\epsilon, \epsilon\sim \mathcal{N}(\boldsymbol{0},\boldsymbol{I}) pσ(xtx0)=N(αt x0,(1αt)I)=αt x0+1αt ϵ,ϵN(0,I),则 p σ ( x t − 1 ∣ x 0 ) p_\sigma({x}_{t-1}|{x}_0) pσ(xt1x0)的均值和方差:
μ t − 1 = α t − 1 x 0 + 1 − α t − 1 − σ t 2 ⋅ α t x 0 − α t x 0 1 − α t = α t − 1 x 0 σ t − 1 = σ t 2 I + 1 − α t − 1 − σ t 2 1 − α t ( 1 − α t ) I = ( 1 − α t − 1 ) I \begin{aligned} \mu_{t-1} &=\sqrt{\alpha_{t-1}}{x}_0+\sqrt{1-\alpha_{t-1}-\sigma_t^2}\cdot\frac{\sqrt{\alpha_t}{x}_0-\sqrt{\alpha_t}{x}_0}{\sqrt{1-\alpha_t}} =\sqrt{\alpha_{t-1}}x_{0} \\ \sigma_{t-1}&=\sigma_t^2\boldsymbol{I}+\frac{1-\alpha_{t-1}-\sigma_t^2}{1-\alpha_t}(1-\alpha_t)\boldsymbol{I}=(1-\alpha_{t-1})\boldsymbol{I} \end{aligned} μt1σt1=αt1 x0+1αt1σt2 1αt αt x0αt x0=αt1 x0=σt2I+1αt1αt1σt2(1αt)I=(1αt1)I
p σ ( x t − 1 ∣ x 0 ) = N ( α t − 1 x 0 , ( 1 − α t − 1 ) I ) p_\sigma({x}_{t-1}|{x}_0)=\mathcal N(\sqrt{\alpha_{t-1}}{x}_0,(1-\alpha_{t-1}){I}) pσ(xt1x0)=N(αt1 x0,(1αt1)I),与 p σ ( x t ∣ x 0 ) = N ( α t x 0 , ( 1 − α t ) I ) p_\sigma({x}_t|{x}_0)=\mathcal N(\sqrt{\alpha_t}{x}_0,(1-\alpha_t){I}) pσ(xtx0)=N(αt x0,(1αt)I)一致。
因此,只要 q θ ( x t − 1 ∣ x t ) q_\theta(x_{t-1}|x_t) qθ(xt1xt)可以很好地近似 p ( x t − 1 ∣ x t , x 0 ) p({x}_{t-1}|{x}_{t},{x}_{0}) p(xt1xt,x0),那么DDIM的转移过程与DDPM共享相同的边缘分布。DDIM原文使用与DDPM相似的变分推导来更严谨地导出了该结论,有兴趣可以阅读DDIM附录。

加速采样

当设定采样子序列为 { τ 1 , … , τ S } \{\tau_{1},\ldots,\tau_{S}\} {τ1,,τS}时,对应的前向过程为:
p τ ( x 1 : T ∣ x 0 ) = p τ ( x τ S ∣ x 0 ) ∏ i = 1 S p τ ( x τ i − 1 ∣ x τ i , x 0 ) ∏ t ∈ τ ˉ p τ ( x t ∣ x 0 ) p_{\tau}(x_{1:T}|x_{0})=p_{\tau}(x_{\tau_{S}}|x_{0})\prod_{i=1}^{S}p_{\tau}(x_{\tau_{i-1}}|x_{\tau_{i}},x_{0})\prod_{t\in\bar{\tau}}p_{\tau}(x_{t}|x_{0}) pτ(x1:Tx0)=pτ(xτSx0)i=1Spτ(xτi1xτi,x0)tτˉpτ(xtx0)
对应的反向过程为:
q θ ( x 0 : T ) : = q θ ( x T ) ∏ i = 1 S q θ ( τ i ) ( x τ i − 1 ∣ x τ i ) × ∏ t ∈ τ ˉ q θ ( t ) ( x 0 ∣ x t ) q_\theta({x}_{0:T}):=q_\theta({x}_T)\prod_{i=1}^Sq_\theta^{(\tau_i)}({x}_{\tau_{i-1}}|{x}_{\tau_i})\times\prod_{t\in\bar{\tau}}q_\theta^{(t)}({x}_0|{x}_t) qθ(x0:T):=qθ(xT)i=1Sqθ(τi)(xτi1xτi)×tτˉqθ(t)(x0xt)
上式乘号的右半部分实际对应训练时的去噪损失,它与反向过程的迭代过程本身没有关系,当在完整的timestep序列上训练后,这部分得到良好定义。左半部分的单项则是一个与 θ \theta θ无直接关联的项:
q θ ( τ i ) ( x τ i − 1 ∣ x τ i ) = p τ ( x τ i − 1 ∣ x τ i , x ^ 0 ( τ i ) ( x τ i − 1 ) ) q_{\theta}^{(\tau_{i})}(x_{\tau_{i-1}}|x_{\tau_{i}})=p_{\tau}(x_{\tau_{i-1}}|x_{\tau_{i}},\hat{x}_0^{(\tau_{i})}(x_{\tau_{i-1}})) qθ(τi)(xτi1xτi)=pτ(xτi1xτi,x^0(τi)(xτi1))
因此只要在完整timestep上训练,那么在任意子序列上推断都是受到良好约束的。

http://www.dtcms.com/wzjs/269378.html

相关文章:

  • 山东莱钢建设有限公司网站泸州网站seo
  • wordpress排序desc什么是优化
  • 网站一次性建设流量宝官网
  • 域名解析 网站网站排名优化方案
  • 青岛胶南做网站的有多少下载百度极速版
  • 淘宝网购物平台网站打开速度优化
  • java语言做网站开发青岛网络推广公司排名
  • 电商网站模板下载seo系统教程
  • 网站建设和运维单位责任怎么请专业拓客团队
  • 下载站模板 wordpress5g网络优化
  • 温州微网站制作公司哪家好百度经验官网入口
  • 怎样给网站做关键词优化网络营销做得比较成功的案例
  • h5响应式网站技术短视频关键词seo优化
  • 东营建设网站公司百度官方网站登录
  • 网站建设 微信 app株洲疫情最新情况
  • 移动端网站建设公司推广普通话手抄报图片
  • wordpress图片shuiyin一键优化清理手机
  • 临沂网站制作培训成人企业管理培训课程
  • 老师问我做网站用到什么创新技术seo查询系统
  • 做go富集的网站宁波网络推广方法
  • 新手学做网站这本书如何推广品牌知名度
  • 制作网站的基本工作流程广州百度关键词推广
  • 建设电子商务网站背景如何做电商
  • 网站免费搭建seo在线培训机构
  • 华为官方网站专卖店天堂网
  • 可以免费观看电影的网站sem推广软件
  • 网站开发融资计划宁波网站推广代运营
  • 做网站和app哪个难百度网址收录入口
  • 郑州做网站要多少钱百度免费推广平台
  • vi设计思路怎么写杭州网站seo优化