来源:Ho、Jain、Abbeel,2020,arXiv 2006.11239,NeurIPS 2020。公式号与论文一致。符号约定与常用公式卡见本单元 00_导读。 这一节讲:§1 定义前向(固定加噪)与反向(待学去噪)两条马尔可夫链;§2 把前向 $T$ 步压成一步,从 $x_0$ 直接抽任意 $x_t$ 的闭式,后面每节都用它。 --- ## §1 两条链:前向写死,反向待学 **这一步**:整座建筑的地基是两条方向相反的链。前向链把图一步步加噪成纯噪声,规则预先写死、没有任何可学参数;反向链把纯噪声一步步还原成图,每一步怎么走全靠网络。整篇论文干的事,就是给这条反向链找一个能训练的目标。 **结论**:前向单步是公式 2、反向单步是公式 1,两条都是高斯;马尔可夫性把整条链写成单步连乘,这个连乘形式是 §3 构造上界、§4 拆解总账的原材料。 > [!abstract] 公式 2 · 前向单步(加噪,固定) > $q(x_t \mid x_{t-1}) = \mathcal{N}\big(x_t;\ \sqrt{1-\beta_t}\,x_{t-1},\ \beta_t I\big)$ > 均值为上一步按 $\sqrt{1-\beta_t}$ 缩小,方差 $\beta_t$ 为本步噪声强度。整链 $q(x_{1:T} \mid x_0) = \prod_{t=1}^{T}q(x_t \mid x_{t-1})$。 > [!abstract] 公式 1 · 反向单步(去噪,待学) > $p_\theta(x_{t-1} \mid x_t) = \mathcal{N}\big(x_{t-1};\ \mu_\theta(x_t,t),\ \Sigma_\theta(x_t,t)\big)$ > 均值、方差为网络待定量。整链从纯噪声起步 $p_\theta(x_{0:T}) = p(x_T)\prod_t p_\theta(x_{t-1} \mid x_t)$,$p(x_T) = \mathcal{N}(0,I)$。 > [!note]- 马尔可夫性(支线) > 每步分布只由上一步决定、与更早的步无关,故整条链写成单步连乘 $\prod_t q(x_t\mid x_{t-1})$。后文给 $q(x_t\mid x_{t-1})$ 补条件 $x_0$ 而值不变($q(x_t\mid x_{t-1},x_0)=q(x_t\mid x_{t-1})$)也依据此。 > [!note]- 直觉:学一条从噪声到图像的变换(支线) > 真实图像在 $N$ 维空间的分布极复杂,非单个高斯。方法不是用高斯拟合它,而是学一条从高斯噪声到真实图像分布的变换:起点 $x_T$ 取自标准高斯,沿路径逐步移动,$T$ 步后到达真实图像区域。每步只用一个高斯描述微小变化,$T$ 个高斯步复合出的整体变换不再是高斯,可描出复杂分布(单个高斯做不到,$T$ 步复合可以)。网络在每个点、每个时刻 $t$ 给出移动方向,构成全空间的方向场。每步含一定随机性,即受方向场引导的随机游走(也有去掉随机、变为确定路径的版本,此处不展开)。 --- ## §2 前向闭式:从 $x_0$ 一步跳到任意 $x_t$ **这一步**:按定义,想要一张第 500 步的加噪图就得循环加噪 500 次,训练根本耗不起。这一节把 $T$ 步压成一步:从 $x_0$ 直接跳到任意 $x_t$ 的闭式。有了它,训练时抽一个 $t$ 当场拼出 $x_t$,这正是算法 1 每次只算一项的底气。 **结论**:单步式递归代入、独立噪声方差相加,得公式 4:信号系数 $\sqrt{\bar\alpha_t}$ 一路缩、噪声方差 $1-\bar\alpha_t$ 一路涨、两者之和恒为 1。后文每一节都用它。 > [!abstract] 公式 4 · 前向闭式 > $q(x_t \mid x_0) = \mathcal{N}\big(x_t;\ \sqrt{\bar\alpha_t}\,x_0,\ (1-\bar\alpha_t)I\big)$ > 均值为缩小后的原图 $\sqrt{\bar\alpha_t}x_0$,方差 $1-\bar\alpha_t$。$t$ 越大 $\bar\alpha_t$ 越接近 0,信号越弱、噪声越强,到 $T$ 近纯噪声。 > [!note]- 重参数化(支线,下面推导要用) > 从 $\mathcal{N}(\mu,\sigma^2 I)$ 抽样等价于:抽标准噪声 $\epsilon\sim\mathcal{N}(0,I)$,再取 $\mu+\sigma\epsilon$。对公式 2 用此,单步写成 > $x_t = \sqrt{\alpha_t}\,x_{t-1} + \sqrt{1-\alpha_t}\,\epsilon_{t-1},\qquad \epsilon_{t-1}\sim\mathcal{N}(0,I)$ > ($\sqrt{1-\beta_t}=\sqrt{\alpha_t}$、$\beta_t=1-\alpha_t$。)此写法把噪声 $\epsilon$ 显式化,递归代入时可直接对噪声求和。 > [!note]- 推导:单步递归 → 两高斯相加 → 闭式 > **锚点**:上面重参数化的单步 $x_t = \sqrt{\alpha_t}\,x_{t-1} + \sqrt{1-\alpha_t}\,\epsilon_{t-1}$。 > > 把 $x_{t-1}$ 用它自己的单步式再展开一层($x_{t-1}=\sqrt{\alpha_{t-1}}x_{t-2}+\sqrt{1-\alpha_{t-1}}\,\epsilon_{t-2}$)代入: > $x_t = \sqrt{\alpha_t}\big(\sqrt{\alpha_{t-1}}x_{t-2}+\sqrt{1-\alpha_{t-1}}\,\epsilon_{t-2}\big)+\sqrt{1-\alpha_t}\,\epsilon_{t-1}$ > $= \sqrt{\alpha_t\alpha_{t-1}}\,x_{t-2} + \underbrace{\sqrt{\alpha_t(1-\alpha_{t-1})}\,\epsilon_{t-2} + \sqrt{1-\alpha_t}\,\epsilon_{t-1}}_{\text{两份独立噪声}}$ > **合并两份噪声**用此规则:两个零均值独立高斯相加,均值仍为 0、方差相加,即 $\mathcal{N}(0,\sigma_a^2 I)+\mathcal{N}(0,\sigma_b^2 I)=\mathcal{N}(0,(\sigma_a^2+\sigma_b^2)I)$。两份方差为 $\alpha_t(1-\alpha_{t-1})$ 与 $1-\alpha_t$,相加 > $\alpha_t(1-\alpha_{t-1})+(1-\alpha_t)=\alpha_t-\alpha_t\alpha_{t-1}+1-\alpha_t=1-\alpha_t\alpha_{t-1}$ > 故两份噪声合成一份 $\sqrt{1-\alpha_t\alpha_{t-1}}\,\bar\epsilon$($\bar\epsilon\sim\mathcal{N}(0,I)$): > $x_t = \sqrt{\alpha_t\alpha_{t-1}}\,x_{t-2} + \sqrt{1-\alpha_t\alpha_{t-1}}\,\bar\epsilon$ > 形式与单步相同,只是 $\alpha_t$ 变为 $\alpha_t\alpha_{t-1}$。继续向 $x_0$ 递归,每层多乘一个 $\alpha_s$,到底为连乘 $\prod_{s=1}^{t}\alpha_s=\bar\alpha_t$: > $x_t = \sqrt{\bar\alpha_t}\,x_0 + \sqrt{1-\bar\alpha_t}\,\epsilon$ > 写回分布形式即公式 4:$q(x_t\mid x_0)=\mathcal{N}(\sqrt{\bar\alpha_t}x_0,\,(1-\bar\alpha_t)I)$。 > [!note]- 旁证:方差累计成 $1-\bar\alpha_t$(数字验证,支线) > 取 $\bar\alpha_{0:4} = 1,\ 0.9,\ 0.8,\ 0.7,\ 0.6$。每步规则:旧方差乘信号缩水率 $\frac{\bar\alpha_t}{\bar\alpha_{t-1}}$,加新噪声 $1-\frac{\bar\alpha_t}{\bar\alpha_{t-1}}$。 > $t=1:\ 0\times\tfrac{9}{10}+\tfrac{1}{10}=0.1=1-\bar\alpha_1\qquad t=2:\ 0.1\times\tfrac{8}{9}+\tfrac{1}{9}=0.2=1-\bar\alpha_2$ > $t=3:\ 0.2\times\tfrac{7}{8}+\tfrac{1}{8}=0.3=1-\bar\alpha_3\qquad t=4:\ 0.3\times\tfrac{6}{7}+\tfrac{1}{7}=0.4=1-\bar\alpha_4$ > 每行噪声 $=1-\bar\alpha_t$,与信号 $\bar\alpha_t$ 相加恒为 1,与闭式吻合。 --- ## 本节一条线 前向单步 $q(x_t\mid x_{t-1})$(公式 2)固定加噪、反向单步 $p_\theta$(公式 1)待学,马尔可夫性把两条链写成单步连乘;重参数化后单步递归展开、独立噪声方差相加,得一步到位的闭式 $q(x_t\mid x_0)$(公式 4):信号 $\sqrt{\bar\alpha_t}$、噪声方差 $1-\bar\alpha_t$,训练从此不必循环加噪。