百度网站联盟推广网页设计与网站建设标准教程

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

百度网站联盟推广,网页设计与网站建设标准教程,物流公司取名字参考大全,漂亮的网站底部代码扩散模型系列#xff1a; #xff08;1#xff09;扩散模型(一)——DDPM推导笔记-大白话推导 #xff08;2#xff09;扩散模型(二)——DDIM学习笔记-大白话推导 请提前关注#xff0c;后续待更新#xff0c;谢谢… 写在前面#xff1a; #xff08;1#xff09;建议…扩散模型系列 1扩散模型(一)——DDPM推导笔记-大白话推导 2扩散模型(二)——DDIM学习笔记-大白话推导 请提前关注后续待更新谢谢… 写在前面 1建议看这篇论文之前可先看我写的前一篇论文 扩散模型(一)——DDPM推导笔记-大白话推导 主要学习和参考了以下文章 1一文带你看懂DDPM和DDIM 2关于 DDIM 采样算法的推导

  1. DDIM的创新点 ​ DDPM有一个很大的缺点就是其本身是一个马尔科夫链的过程推理速度太慢如果前向加噪过程是1000步那么去噪过程就需要使用Unet生成噪声然后去噪这样进行1000步。这是一个及其缓慢的过程DDIM原论文中举了一个生动的例子 ​ For example, it takes around 20 hours to sample 50k images of size 32 x 32 from a DDPM, but less than a minute to do so from a GAN on a Nvidia 2080 Ti GPU. ​ 基于DDPMDDIM主要有两项改进 ​ 1对于一个已经训练好的DDPM只需要对采样公式做简单的修改模型就能在去噪时「跳步骤」在一步去噪迭代中直接预测若干次去噪后的结果。比如说假设模型从时刻T100开始去噪新的模型可以在每步去噪迭代中预测10次去噪操作后的结果也就是逐步预测时刻t90,80,…,0的结果。这样DDPM的采样速度就被加速了10倍。 ​ 2DDIM论文推广了DDPM的数学模型打破了马尔科夫链的过程从更高的视角定义了DDPM的反向过程去噪过程。在这个新数学模型下我们可以自定义模型的噪声强度让同一个训练好的DDPM有不同的采样效果。
  2. 公式推导 ​ DDPM的推导过程可以看《DDPM推导笔记》这里假设 P ( x t − 1 ∣ x t , x 0 ) P(x_{t-1}|x_t, x0) P(xt−1​∣xt​,x0​)满足如下正态分布即 P ( x t − 1 ∣ x t , x 0 ) ∼ N ( k x 0 m x t , σ 2 ) 即 : x t − 1 k x o m x t σ ϵ 其中有 ϵ ∼ N ( 0 , 1 ) (1) P(x{t-1}|x_t, x_0) \sim N(kx_0mxt, \sigma^2) \ 即:x{t-1} kx_omx_t \sigma \epsilon \tag{1} \ 其中有 \epsilon \sim N(0, 1) P(xt−1​∣xt​,x0​)∼N(kx0​mxt​,σ2)即:xt−1​kxo​mxt​σϵ其中有ϵ∼N(0,1)(1) 又因为前向的加噪过程满足 x t a t ˉ x 0 1 − a t ˉ ϵ 其中 ϵ ∼ N ( 0 , 1 ) (2) x_t \sqrt{\bar{a_t}} x_0 \sqrt{1 - \bar{at}} \epsilon \ 其中\epsilon \sim N(0,1) \tag{2} xt​at​ˉ​ ​x0​1−at​ˉ​ ​ϵ其中ϵ∼N(0,1)(2) 合并(1)(2)上面两式有 x t − 1 k x 0 m [ a ˉ t x 0 1 − a ˉ t ϵ ] σ ϵ (3) x{t-1} kx_0 m[\sqrt{\bar{a}_t}x_0 \sqrt{1-\bar{a}t} \epsilon] \sigma \epsilon \tag{3} xt−1​kx0​m[aˉt​ ​x0​1−aˉt​ ​ϵ]σϵ(3) 再次合并有: x t − 1 ( k m a ˉ t ) x 0 ϵ ′ 其中 ϵ ’ ∼ M ( 0 , m 2 ( 1 − a ˉ t ) σ 2 ) (4) x{t-1} (km\sqrt{\bar{a}_t}) x_0 \epsilon \ 其中 \epsilon’ \sim M(0, m^2(1-\bar{a}t) \sigma^2) \tag{4} xt−1​(kmaˉt​ ​)x0​ϵ′其中ϵ’∼M(0,m2(1−aˉt​)σ2)(4) 从DDPM中可以可知 x t − 1 a ˉ t − 1 x 0 1 − a ˉ t − 1 ϵ (5) x{t-1} \sqrt{\bar{a}_{t-1}} x0 \sqrt{1-\bar{a}{t-1}} \epsilon \tag{5} xt−1​aˉt−1​ ​x0​1−aˉt−1​ ​ϵ(5) 通过式(4)(5)的 x t − 1 x_{t-1} xt−1​服从的概率分布可知 k m a ˉ t a ˉ t − 1 m 2 ( 1 − a ˉ t ) σ 2 1 − a ˉ t − 1 (6) k m\sqrt{\bar{a}t} \sqrt{\bar{a}{t-1}} \ m^2(1-\bar{a}t) \sigma^2 1-\bar{a}{t-1} \tag{6} kmaˉt​ ​aˉt−1​ ​m2(1−aˉt​)σ21−aˉt−1​(6) 由式6两个式子可解出 将m,k带入到 P ( x t − 1 ∣ x t , x 0 ) P(x_{t-1}|x_t, x_0) P(xt−1​∣xt​,x0​)中可得 依旧可以使用 x t , x 0 x_t, x_0 xt​,x0​的关系式把 x 0 x_0 x0​去掉 x t a t ˉ x 0 1 − a t ˉ ϵ 这里为了防止 ϵ 和后面的 ϵ 搞混这里记为 ϵ t , 则上式变为 x t a t ˉ x 0 1 − a t ˉ ϵ t (8) x_t \sqrt{\bar{a_t}} x_0 \sqrt{1 - \bar{at}} \epsilon \ 这里为了防止\epsilon和后面的\epsilon搞混这里记为\epsilon{t},则上式变为\ x_t \sqrt{\bar{a_t}} x_0 \sqrt{1 - \bar{a_t}} \epsilont \tag{8} xt​at​ˉ​ ​x0​1−at​ˉ​ ​ϵ这里为了防止ϵ和后面的ϵ搞混这里记为ϵt​,则上式变为xt​at​ˉ​ ​x0​1−at​ˉ​ ​ϵt​(8) 从 P ( x t − 1 ∣ x t , x 0 ) P(x{t-1}|x_t, x_0) P(xt−1​∣xt​,x0​)的概率分布采样可得到
    其中 ϵ \epsilon ϵ是从标准正太分布中随机采样得到 ϵ t \epsilon_t ϵt​是和DDPM一样使用神经网络训练而来的 x t xt xt​是输入 a ˉ t − 1 和 a ˉ t \bar{a}{t-1}和\bar{a}_t aˉt−1​和aˉt​是事先定义好的。至此我们就只需要讨论 σ \sigma σ这个参数了。
  3. σ \sigma σ的讨论 ​ 怎样选取 σ \sigma σ才能获得最佳的加速效果呢 ​ 作者做了一些实验作者原文中使用 σ τ i ( η ) \sigma_{\tau_i}{(\eta)} στi​​(η)来表示的 σ \sigma σ,其式子如下
    使用 η \eta η控制其大小。事实上当 η 1 \eta 1 η1时就变成了DDPM的去噪过程了
    当 η 0 \eta0 η0时效果是最好的。所以DDIM令 σ 0 \sigma0 σ0。
  4. x p r e v x_{prev} xprev​的推导 ​ 从式9且 σ 0 \sigma0 σ0则式9中的所有都已知了 ​ 但是即使这样我们也还是由 x t 推导出 x t − 1 xt推导出x{t-1} xt​推导出xt−1​呀这样还是不能加快推理 ​ 不忙我们回过头去思考发现上面的推导过程中全程没有使用 x t a t x t − 1 1 − a t ϵ x_t \sqrt{at}x{t-1} \sqrt{1-a_t} \epsilon xt​at​ ​xt−1​1−at​ ​ϵ ​ 也就可以不需要严格的由 x t 算到 x t − 1 xt算到x{t-1} xt​算到xt−1​则可以令 x p r e v 替代 x t − 1 x{prev}替代x{t-1} xprev​替代xt−1​式9则可以变换为 ​ 至此所有的参数要是实现定义好了要么是需要训练的这样 x t 和 x p r e v xt和x{prev} xt​和xprev​则可以相隔多个迭代步数。 4.疑难解答 ​ Q1: 为什么式11可以简单的将 x p r e v 替代 x t − 1 x{prev}替代x{t-1} xprev​替代xt−1​毕竟虽然反向过程没有使用到 x t − 1 算到 x t x{t-1}算到x{t} xt−1​算到xt​的关系式但前向过程是使用到的呀 ​ 目前我也没有答案还在理解中由大佬路过请留言讨论 ​ Q2: 为什么在DDIM可以令方差 σ 0 \sigma0 σ0 ? ​ 目前我也没有答案还在理解中由大佬路过请留言讨论