来源:Ho、Jain、Abbeel,2020,arXiv 2006.11239,NeurIPS 2020。公式号与论文一致。符号约定与常用公式卡见本单元 00_导读。 这一节讲:§3 说明真目标 $-\log p_\theta(x_0)$ 为何不可算,用 Jensen 不等式换成可算的上界 $L$(公式 3);§4 把 $L$ 拆成每步独立的小项(公式 5),分清哪块需要学。 --- ## §3 变分上界 $L$:真目标不可算,换可算的上界 **这一步**:训练想最小化的真目标是数据平均 $\mathbb{E}[-\log p_\theta(x_0)]$($x_0\sim q(x_0)$),但这个量对每张图都要积掉全部中间步,里面还嵌着网络,根本算不动。这一节用 Jensen 不等式给它压一块可算的天花板 $L$:山头够不着,就把压在山头上的天花板往下压,山头至多和天花板一样高。 **结论**:$L$ 是 $\mathbb{E}[-\log p_\theta(x_0)]$ 的上界(即负 ELBO),只含可写出的分布、可算可求梯度。最小化 $L$ 即间接压低真目标。 > [!abstract] 公式 3 · 变分上界 > $\mathbb{E}\big[-\log p_\theta(x_0)\big]\ \le\ \mathbb{E}_q\!\Big[-\log\frac{p_\theta(x_{0:T})}{q(x_{1:T} \mid x_0)}\Big]\ =\ \mathbb{E}_q\!\Big[-\log p(x_T) - \sum_{t\ge1}\log\frac{p_\theta(x_{t-1}\mid x_t)}{q(x_t\mid x_{t-1})}\Big]\ =:\ L$ > 论文取此朝向(分子为 $p_\theta$、外带负号)。翻转分式 $-\log\frac{p_\theta}{q}=\log\frac{q}{p_\theta}$ 等价,朝向不影响值。 > [!note]- 为什么真目标不可算(神经网络 + 维度灾难,支线) > 单张图密度要对中间所有步积分: > $p_\theta(x_0)=\int p_\theta(x_{0:T})\,dx_{1:T}$ > 两个困难: > - **神经网络**:反向每步均值是对 $x_t$ 非线性的网络 $\mu_\theta$,积分含网络、无闭式。 > - **维度灾难**:每个 $x_t$ 是一整张图(几十万维),积掉一张为几十万重嵌套积分,再乘 $T$ 步约上亿维,数值也算不动。 > > 故密度与梯度均无法求出,不能直接优化;变分上界绕开此积分。 > [!note]- 工具:Jensen 不等式(支线) > 凸函数(图像向上弯)满足 $f(\mathbb{E}[X])\le\mathbb{E}[f(X)]$。$-\log$ 的二阶导 $1/x^2>0$,是凸的,后文只用此特例: > $-\log \mathbb{E}[Y]\ \le\ \mathbb{E}[-\log Y]$ > [!note]- 推导:构造 $L$ > **锚点**:上面「不可算」框里的 $p_\theta(x_0)=\int p_\theta(x_{0:T})\,dx_{1:T}$。先对单个 $x_0$ 推,末尾对数据取平均。 > > 第一步,将积分写成期望。乘除同一个 $q(x_{1:T}\mid x_0)$(值不变),用 $\int q(\cdot)f(\cdot)\,dx=\mathbb{E}_q[f]$: > $p_\theta(x_0)=\int q(x_{1:T}\mid x_0)\cdot\frac{p_\theta(x_{0:T})}{q(x_{1:T}\mid x_0)}\,dx_{1:T}=\mathbb{E}_{q}\!\Big[\frac{p_\theta(x_{0:T})}{q(x_{1:T}\mid x_0)}\Big]$ > 第二步,两边取 $-\log$: > $-\log p_\theta(x_0)=-\log \mathbb{E}_{q}\!\Big[\frac{p_\theta(x_{0:T})}{q(x_{1:T}\mid x_0)}\Big]$ > 第三步,用 Jensen $-\log\mathbb{E}[Y]\le\mathbb{E}[-\log Y]$,把 $-\log$ 移入期望,得 $\le$(即论文 eq 3 第一形式): > $-\log p_\theta(x_0)\ \le\ \mathbb{E}_{q}\!\Big[-\log\frac{p_\theta(x_{0:T})}{q(x_{1:T}\mid x_0)}\Big]$ > 第四步,代入两条链的连乘,展开为论文 eq 3 第二形式:$p_\theta(x_{0:T})=p(x_T)\prod_t p_\theta(x_{t-1}\mid x_t)$、$q(x_{1:T}\mid x_0)=\prod_t q(x_t\mid x_{t-1})$,用 $\log\frac{a}{b}=\log a-\log b$ 与 $\log\prod=\sum\log$: > $=\ \mathbb{E}_{q}\!\Big[-\log p(x_T)-\sum_{t\ge1}\log\frac{p_\theta(x_{t-1}\mid x_t)}{q(x_t\mid x_{t-1})}\Big]\ =:\ L$ > 第五步,对数据 $x_0\sim q(x_0)$ 取平均,得 $\mathbb{E}[-\log p_\theta(x_0)]\le L$。 > $L$ 为上界(负 ELBO),与真目标隔一非负间隙,但真目标恒 $\le L$。(去噪朝向见翻转分式 $-\log\frac{p_\theta}{q}=\log\frac{q}{p_\theta}$。) --- ## §4 把 $L$ 拆成三块 **这一步**:$L$ 是 1000 步搅在一起的一笔总账,直接下手无从优化。这一节把它拆成每步独立的小项,一眼分清三种角色:哪块是常数可以扔、哪块是网络的主战场、哪块只管最后落地。 **结论**:$L$ 整理为公式 5 三块——$L_T$(终点是否接近标准正态,无可学项)、$L_{t-1}$(中间每步去噪精度,网络主项,$T-1$ 项)、$L_0$(最后一步生成图像)。 > [!abstract] 公式 5 · $L$ 的三块分解 > $L = \mathbb{E}_q\!\Big[\underbrace{D_\text{KL}(q(x_T \mid x_0)\,\|\,p(x_T))}_{L_T} + \sum_{t>1}\underbrace{D_\text{KL}(q(x_{t-1} \mid x_t,x_0)\,\|\,p_\theta(x_{t-1} \mid x_t))}_{L_{t-1}}\ \underbrace{-\log p_\theta(x_0 \mid x_1)}_{L_0}\Big]$ > (中间求和 $t>1$ 即 $t=2,\dots,T$,共 $T-1$ 项 $L_1,\dots,L_{T-1}$。详见论文附录 A 的 eq 17–22。) > [!note]- 工具:KL 与贝叶斯(支线) > **KL 散度**为 log 比值的期望,相等时为 0: > $D_\text{KL}(q \,\|\, p) = \mathbb{E}_q\Big[\log\tfrac{q}{p}\Big] \ge 0$ > **贝叶斯改写**(同一联合分布的两种拆法,带旁观条件 $c$): > $q(a \mid b,c) = \frac{q(b \mid a,c)\,q(a \mid c)}{q(b \mid c)}$ > [!note]- 推导:代入连乘 → 翻向 → 望远镜 → 合并(对齐论文附录 A,eq 17–22) > **锚点**:公式 3 的 $L=\mathbb{E}_q\big[-\log\frac{p_\theta(x_{0:T})}{q(x_{1:T}\mid x_0)}\big]$(论文朝向,分子为 $p_\theta$、外带负号),及 §1 两条链的连乘式。每步标论文 eq 号。 > > **eq 17→18 代入连乘、连乘变连加。** 代入 $p_\theta(x_{0:T})=p(x_T)\prod_t p_\theta(x_{t-1}\mid x_t)$、$q(x_{1:T}\mid x_0)=\prod_t q(x_t\mid x_{t-1})$,用 $\log\frac{a}{b}=\log a-\log b$ 提出 $p(x_T)$、$\log\prod=\sum\log$ 展开: > $L = \mathbb{E}_q\Big[-\log p(x_T) - \sum_{t\ge1}\log\frac{p_\theta(x_{t-1}\mid x_t)}{q(x_t\mid x_{t-1})}\Big]$ > **eq 19 拆出 $t=1$。** 把求和里 $t=1$ 项单独拆出(无「上一步」,单独处理),剩 $t>1$: > $= \mathbb{E}_q\Big[-\log p(x_T) - \sum_{t>1}\log\frac{p_\theta(x_{t-1}\mid x_t)}{q(x_t\mid x_{t-1})} - \log\frac{p_\theta(x_0\mid x_1)}{q(x_1\mid x_0)}\Big]$ > **eq 20 翻向。** 中间项分母是 $q(x_t\mid x_{t-1})$(加噪方向),与分子反向 $p_\theta(x_{t-1}\mid x_t)$ 方向不一致。借马尔可夫性补条件 $x_0$(值不变),再用贝叶斯把分母翻成去噪方向: > $q(x_t\mid x_{t-1})=q(x_t\mid x_{t-1},x_0)=\frac{q(x_{t-1}\mid x_t,x_0)\,q(x_t\mid x_0)}{q(x_{t-1}\mid x_0)}$ > 代回得分母替换 $\frac{p_\theta(x_{t-1}\mid x_t)}{q(x_t\mid x_{t-1})}=\frac{p_\theta(x_{t-1}\mid x_t)}{q(x_{t-1}\mid x_t,x_0)}\cdot\frac{q(x_{t-1}\mid x_0)}{q(x_t\mid x_0)}$: > $= \mathbb{E}_q\Big[-\log p(x_T) - \sum_{t>1}\log\Big(\frac{p_\theta(x_{t-1}\mid x_t)}{q(x_{t-1}\mid x_t,x_0)}\cdot\frac{q(x_{t-1}\mid x_0)}{q(x_t\mid x_0)}\Big) - \log\frac{p_\theta(x_0\mid x_1)}{q(x_1\mid x_0)}\Big]$ > **eq 21 望远镜相消。** 把 $\log(\cdot)$ 里的 $\frac{q(x_{t-1}\mid x_0)}{q(x_t\mid x_0)}$ 那块(连同前面的 $-\sum_{t>1}$)单独提出,用 $\log\frac{a}{b}=\log a-\log b$ 拆开后相邻相消: > $-\sum_{t>1}\log\frac{q(x_{t-1}\mid x_0)}{q(x_t\mid x_0)}=\sum_{t>1}\big[\log q(x_t\mid x_0)-\log q(x_{t-1}\mid x_0)\big]=\log q(x_T\mid x_0)-\log q(x_1\mid x_0)$ > 其中 $-\log q(x_1\mid x_0)$ 与 $t=1$ 项 $-\log\frac{p_\theta(x_0\mid x_1)}{q(x_1\mid x_0)}=-\log p_\theta(x_0\mid x_1)+\log q(x_1\mid x_0)$ 中的 $+\log q(x_1\mid x_0)$ 抵消;$+\log q(x_T\mid x_0)$ 与 $-\log p(x_T)$ 合成 $-\log\frac{p(x_T)}{q(x_T\mid x_0)}$。整理: > $= \mathbb{E}_q\Big[-\log\frac{p(x_T)}{q(x_T\mid x_0)} - \sum_{t>1}\log\frac{p_\theta(x_{t-1}\mid x_t)}{q(x_{t-1}\mid x_t,x_0)} - \log p_\theta(x_0\mid x_1)\Big]$ > **eq 22 凑成 KL。** 每个 $-\log\frac{p_\theta}{q}$ 在 $q$ 下求期望即 KL($\mathbb{E}_q[-\log\frac{p_\theta}{q}]=\mathbb{E}_q[\log\frac{q}{p_\theta}]=D_\text{KL}(q\|p_\theta)$,朝向在此翻正): > $= \mathbb{E}_q\Big[\underbrace{D_\text{KL}(q(x_T\mid x_0)\|p(x_T))}_{L_T}+\sum_{t>1}\underbrace{D_\text{KL}(q(x_{t-1}\mid x_t,x_0)\|p_\theta(x_{t-1}\mid x_t))}_{L_{t-1}}\underbrace{-\log p_\theta(x_0\mid x_1)}_{L_0}\Big]$ --- ## 本节一条线 真目标要对所有去噪路径积分(含网络、上亿维),不可算;乘除同一个 $q$ 写成期望、Jensen 把 $-\log$ 移进期望,得上界 $L$(公式 3);代入两条链的连乘、借贝叶斯把分母翻成去噪方向、望远镜相消,$L$ 拆成 $L_T$(无 $\theta$)$+\sum_{t>1}L_{t-1}$(每步 KL,网络主项)$+L_0$(公式 5)。