探秘扩散模型:正向过程是什么意思?

很早之前就新建了一个专栏从0开始弃坑扩散模型,但发了一篇文章就没有继续这一系列,在这个AIGC的时代,于是我准备重启这个专栏。
整个专栏的学习顺序可以见这篇汇总文章
很多时候我们看到一篇文章很长,难免会心生胆怯,所以我将这些知识进行分解到每一篇中。

这是本专栏的第2章

在这里插入图片描述

在正向过程,输入数据通过逐步添加高斯噪声被破坏,经过T次加噪操作后会变成一个符合标准正态分布的纯噪声图像。这是一个马尔可夫过程,当前时刻的状态只由上一时刻状态决定,公式如下所示:
x t ∼ N ( 1 − β t x t − 1 , β t I ) \mathbf{x}_t \sim \mathcal{N}(\sqrt{1 - \beta_t}\mathbf{x}_{t - 1},\beta_t\mathbf{I}) xtN(1βt xt1,βtI)
这个公式意思是现在的 x t x_t xt服从一个数学期望(均值, μ t ( x t − 1 ) {\mu}_t(x_{t-1}) μt(xt1))为 1 − β t x t − 1 \sqrt{1 - \beta_t}\mathbf{x}_{t - 1} 1βt xt1,方差( σ t 2 I \sigma_t^2I σt2I)为 β t I \beta_t\mathbf{I} βtI的标准正态分布(高斯分布),也就是说 x t x_t xt是从和 x t − 1 x_{t-1} xt1有关的标准正态分布里面采样出来。至于为什么值是这样,可以看后面的解释。
这个实际上还可以变成一个等式: x t ∼ N ( 1 − β t x t − 1 , β t I ) ⇒ x t = 1 − β t x t − 1 + β t ϵ t − 1 ; ϵ t − 1 ∼ N ( 0 , I ) \begin{aligned} \mathbf{x}_t &\sim \mathcal{N}(\sqrt{1 - \beta_t}\mathbf{x}_{t - 1},\beta_t\mathbf{I}) \\ \Rightarrow \mathbf{x}_t =& \sqrt{1 - \beta_t}\mathbf{x}_{t - 1} + \sqrt{\beta_t}\epsilon_{t-1}; \epsilon_{t-1} \sim \mathcal{N}(0, \mathbf{I}) \end{aligned} xtxt=N(1βt xt1,βtI)1βt xt1+βt ϵt1;ϵt1N(0,I)
其中 N ( 0 , I ) \mathcal{N}(0, \mathbf{I}) N(0,I)就是标准正态分布。I就是数字1。注意,这两个公式均值前后一致,但等式的加号后面就变成标准差了。
这个等式还可以进一步迭代,直接求出 x t x_{t} xt x 0 x_{0} x0的关系,这里还要懂得一个定理: N ( 0 , σ 1 2 I ) + N ( 0 , σ 2 2 I ) = N ( 0 , ( σ 1 2 + σ 2 2 ) I ) \mathcal{N}(0, \sigma_1^2 I)+\mathcal{N}(0, \sigma_2^2 I)=\mathcal{N}(0, (\sigma_1^2+\sigma_2^2) I) N(0,σ12I)+N(0,σ22I)=N(0,(σ12+σ22)I)
我们现在在等式的基础上再推 x t − 2 x_{t-2} xt2:
x t = 1 − β t x t − 1 + β t ϵ t − 1 ; ϵ t − 1 ∼ N ( 0 , I ) = 1 − β t ( 1 − β t − 1 x t − 2 + β t − 1 ϵ t − 2 ) + β t ϵ t − 1 ; ϵ t − 2 ∼ N ( 0 , I ) = ( 1 − β t ) ( 1 − β t − 1 ) x t − 2 + ( 1 − β t ) β t − 1 ϵ t − 2 + β t ϵ t − 1 \begin{aligned}\mathbf{x}_t =& \sqrt{1 - \beta_t}\mathbf{x}_{t - 1} + \sqrt{\beta_t}\epsilon_{t-1}; \epsilon_{t-1} \sim \mathcal{N}(0, \mathbf{I}) \\ =& \sqrt{1 - \beta_t}(\sqrt{1 - \beta_{t-1}}\mathbf{x}_{t - 2} + \sqrt{\beta_{t-1}}\epsilon_{t-2}) + \sqrt{\beta_t}\epsilon_{t-1}; \epsilon_{t-2} \sim \mathcal{N}(0, \mathbf{I})\\ =& \sqrt{(1 - \beta_t)(1 - \beta_{t-1})}\mathbf{x}_{t - 2} + \sqrt{(1 - \beta_t)\beta_{t-1}}\epsilon_{t-2} + \sqrt{\beta_t}\epsilon_{t-1} \end{aligned} xt===1βt xt1+βt ϵt1;ϵt1N(0,I)1βt (1βt1 xt2+βt1 ϵt2)+βt ϵt1;ϵt2N(0,I)(1βt)(1βt1) xt2+(1βt)βt1 ϵt2+βt ϵt1
根据上面正态分布的定理,我们发现
x t = ( 1 − β t ) ( 1 − β t − 1 ) x t − 2 + ( 1 − β t ) β t − 1 ϵ t − 2 + β t ϵ t − 1 = ( 1 − β t ) ( 1 − β t − 1 ) x t − 2 + ( 1 − β t ) β t − 1 + β t ϵ = ( 1 − β t ) ( 1 − β t − 1 ) x t − 2 + 1 − ( 1 − β t ) ( 1 − β t − 1 ) ϵ = ( 1 − β t ) ( 1 − β t − 1 ) ( 1 − β t − 2 ) x t − 3 + 1 − ( 1 − β t ) ( 1 − β t − 1 ) ( 1 − β t − 2 ) ϵ = ( 1 − β t ) ( 1 − β t − 1 ) ( 1 − β t − 2 ) ( 1 − β t − 3 ) x t − 4 + 1 − ( 1 − β t ) ( 1 − β t − 1 ) ( 1 − β t − 2 ) ( 1 − β t − 3 ) ϵ \begin{aligned}\mathbf{x}_t =\sqrt{(1 - \beta_t)(1 - \beta_{t-1})}\mathbf{x}_{t - 2} + \sqrt{(1 - \beta_t)\beta_{t-1}}\epsilon_{t-2} + \sqrt{\beta_t}\epsilon_{t-1}\\=\sqrt{(1 - \beta_t)(1 - \beta_{t-1})}\mathbf{x}_{t - 2} + \sqrt{(1 - \beta_t)\beta_{t-1} + \beta_t}\epsilon \\=\sqrt{(1 - \beta_t)(1 - \beta_{t-1})}\mathbf{x}_{t - 2} + \sqrt{1-(1-\beta_t)(1-\beta_{t-1})}\epsilon \\=\sqrt{(1 - \beta_t)(1 - \beta_{t-1})(1 - \beta_{t-2})}\mathbf{x}_{t - 3} + \sqrt{1-(1-\beta_t)(1-\beta_{t-1})(1 - \beta_{t-2})}\epsilon \\=\sqrt{(1 - \beta_t)(1 - \beta_{t-1})(1 - \beta_{t-2})(1 - \beta_{t-3})}\mathbf{x}_{t - 4} + \sqrt{1-(1-\beta_t)(1-\beta_{t-1})(1 - \beta_{t-2})(1 - \beta_{t-3})}\epsilon \end{aligned} xt=(1βt)(1βt1) xt2+(1βt)βt1 ϵt2+βt ϵt1=(1βt)(1βt1) xt2+(1βt)βt1+βt ϵ=(1βt)(1βt1) xt2+1(1βt)(1βt1) ϵ=(1βt)(1βt1)(1βt2) xt3+1(1βt)(1βt1)(1βt2) ϵ=(1βt)(1βt1)(1βt2)(1βt3) xt4+1(1βt)(1βt1)(1βt2)(1βt3) ϵ
从上面可以到,我们可以一步一步到 x 0 x_0 x0,后面都是可以合并的,化简一下上面的公式,就可以得到:
x t = α ˉ t x 0 + 1 − α ˉ t ϵ \mathbf{x}_t = \sqrt{\bar{\alpha}_t}\mathbf{x}_{0} + \sqrt{1-\bar{\alpha}_t}\epsilon xt=αˉt x0+1αˉt ϵ,其中令 α t = 1 − β t , α ˉ t = ∏ i = 1 t α i \alpha_t=1-\beta_t, \bar{\alpha}_t=\prod_{i=1}^t\alpha_i αt=1βt,αˉt=i=1tαi,这里呼应前面提到的第一个疑惑,这个公式的值的形式是化简而来的。
通过这个公式,我们就可以知道加噪过程是什么了, α ˉ t \bar{\alpha}_t αˉt不断变小,直到0,那么最后的 x t x_t xt就是一个单纯的标准正态分布了。在DDPM论文中, β t \beta_t βt 1 0 − 4 10^{-4} 104到0.02线性增长, a t a_t at线性变小,但是注意了 α ˉ t \bar{\alpha}_t αˉt是乘法计算,那么它的趋势是越来越快,所以你要注意的是,加噪过程是由慢变快的,而不是匀速。

  • 43
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

染念

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值