# 方差
期望给了分布的中心。**方差给的是分布的散开程度:样本平均离中心多远(按距离的平方算)。**记号 $\mathrm{Var}(X)$。**这一课的写法还是靠几条性质,扩散里它给出高斯的第二个槽。**
> [!abstract] 定义
> $\mathrm{Var}(X)=E\left[(X-E[X])^2\right]$
> 每个取值离中心 $E[X]$ 有个距离,把距离平方,再求平均。越大越散,越小越挤在中心。
> 标准差 $\sigma=\sqrt{\mathrm{Var}(X)}$,和 $X$ 同单位。
> [!abstract] 算起来更顺的式子
> $\mathrm{Var}(X)=E[X^2]-(E[X])^2$
> 平方的期望,减去期望的平方。上一课说 $E[X^2]\neq(E[X])^2$,它俩的差,正好就是方差。
> [!note]- 这个式子怎么来的(用上一课的线性)
> $\mathrm{Var}(X)=E\left[(X-E[X])^2\right]$
> 把括号里的平方展开($E[X]$ 是个常数):
> $=E\left[X^2-2X\,E[X]+(E[X])^2\right]$
> 用线性拆成三项,常数提出来:
> $=E[X^2]-2E[X]\,E[X]+(E[X])^2$
> 中间项里 $E[X]\,E[X]$ 是一个数乘自己,就是 $(E[X])^2$:
> $=E[X^2]-2(E[X])^2+(E[X])^2$
> 后两项是同类项,$-2$ 个加 $1$ 个等于 $-1$ 个:
> $=E[X^2]-(E[X])^2$
> [!note]- 为什么内层 $E[X]$ 当常数(期望套期望)
> 关键:$X$ 是随机的,$E[X]$ 是把 $X$ 平均出来的中心,一个定死的数(比如 $X$ 的中心是 5,$E[X]$ 就是 5)。
> 所以外层 $E[\dots]$ 看 $E[X]$,看到的就是一个常数,直接套上一课那两条:
> 常数提得出:$E[2X\,E[X]]=2\,E[X]\,E[X]$,里头的 $E[X]$ 当常数提到前面。
> 常数的期望是自己:$E[(E[X])^2]=(E[X])^2$,原样出来。
> 一句话的道理:外层期望只对还在随机的 $X$ 起作用,把 $X$ 平均掉;$E[X]$ 早就是定值了,再平均一次还是它自己($E[E[X]]=E[X]$),所以它原样留着,不长出新的一层。
> [!abstract] 性质(写法主力)
> 加常数,散开不变(常数只把中心整体挪一下):
> $\mathrm{Var}(X+b)=\mathrm{Var}(X)$
> 乘常数,散开乘平方:
> $\mathrm{Var}(aX)=a^2\,\mathrm{Var}(X)$
> 合起来:
> $\mathrm{Var}(aX+b)=a^2\,\mathrm{Var}(X)$
> 独立的两个相加,方差相加:
> $\mathrm{Var}(X+Y)=\mathrm{Var}(X)+\mathrm{Var}(Y)\quad(X,Y\ \text{独立})$
⚠️ **$\mathrm{Var}(aX)$ 里系数乘的是 $a^2$,要平方,这是最容易写错的一处。**另外:期望相加任何时候都成立,方差相加要求 $X,Y$ 独立。
> [!note]- 为什么乘常数要平方
> 方差量的是距离的平方。把 $X$ 整个乘 $a$,每个点到中心的距离也乘 $a$;距离一平方,就乘了 $a^2$。所以方差乘 $a^2$。
> [!abstract] 例一,已知 $\mathrm{Var}(X)=\sigma^2$,求 $\mathrm{Var}(3X+5)$
> $\mathrm{Var}(3X+5)$
> 加常数 5 不改散开,先去掉:
> $=\mathrm{Var}(3X)$
> 乘常数 3,方差乘 $3^2$:
> $=3^2\,\mathrm{Var}(X)=9\,\mathrm{Var}(X)$
> 代入 $\mathrm{Var}(X)=\sigma^2$:
> $=9\sigma^2$
> [!abstract] 例二,重参数化的方差(扩散关键)
> $\varepsilon\sim\mathcal{N}(0,1)$,它的方差 $\mathrm{Var}(\varepsilon)=1$。$\mu,\sigma$ 是常数。求 $\mathrm{Var}(\mu+\sigma\varepsilon)$:
> $\mathrm{Var}(\mu+\sigma\varepsilon)$
> 加常数 $\mu$ 不改散开:
> $=\mathrm{Var}(\sigma\varepsilon)$
> 乘常数 $\sigma$,方差乘 $\sigma^2$:
> $=\sigma^2\,\mathrm{Var}(\varepsilon)$
> 代入 $\mathrm{Var}(\varepsilon)=1$:
> $=\sigma^2\cdot 1=\sigma^2$
> 配上上一课的均值 $\mu$:重参数化 $x=\mu+\sigma\varepsilon$ 的分布是 $\mathcal{N}(\mu,\sigma^2)$,中心 $\mu$、散开 $\sigma^2$,两个槽齐了。
> [!question]- 练习六道。已知 $\mathrm{Var}(X)=\sigma^2$,$\varepsilon\sim\mathcal{N}(0,1)$ 即 $\mathrm{Var}(\varepsilon)=1$,$\sigma$、$x_0$、$\bar\alpha$ 当常数
> 一,$\mathrm{Var}(2X)$
> 二,$\mathrm{Var}(X+7)$
> 三,$\mathrm{Var}(2X-1)$
> 四,$\mathrm{Var}(\sigma\varepsilon)$
> 五,$\mathrm{Var}\left(\sqrt{1-\bar\alpha}\,\varepsilon\right)$
> 六,$\mathrm{Var}\left(\sqrt{\bar\alpha}\,x_0+\sqrt{1-\bar\alpha}\,\varepsilon\right)$(DDPM 前向方差)
> [!note]- 练习答案
> 第一题
> $\mathrm{Var}(2X)=2^2\,\mathrm{Var}(X)=4\sigma^2$
> 第二题
> $\mathrm{Var}(X+7)=\mathrm{Var}(X)=\sigma^2$
> 加常数不改散开。
> 第三题
> $\mathrm{Var}(2X-1)$
> 去掉常数 $-1$:
> $=\mathrm{Var}(2X)=2^2\,\mathrm{Var}(X)=4\sigma^2$
> 第四题
> $\mathrm{Var}(\sigma\varepsilon)=\sigma^2\,\mathrm{Var}(\varepsilon)=\sigma^2\cdot 1=\sigma^2$
> 第五题
> $\mathrm{Var}\left(\sqrt{1-\bar\alpha}\,\varepsilon\right)$
> 系数 $\sqrt{1-\bar\alpha}$ 乘进来,方差乘它的平方:
> $=\left(\sqrt{1-\bar\alpha}\right)^2\mathrm{Var}(\varepsilon)=(1-\bar\alpha)\,\mathrm{Var}(\varepsilon)$
> 代入 $\mathrm{Var}(\varepsilon)=1$:
> $=(1-\bar\alpha)\cdot 1=1-\bar\alpha$
> 第六题
> $\mathrm{Var}\left(\sqrt{\bar\alpha}\,x_0+\sqrt{1-\bar\alpha}\,\varepsilon\right)$
> $\sqrt{\bar\alpha}\,x_0$ 整个是常数,加常数不改散开:
> $=\mathrm{Var}\left(\sqrt{1-\bar\alpha}\,\varepsilon\right)$
> 系数平方:
> $=(1-\bar\alpha)\,\mathrm{Var}(\varepsilon)=(1-\bar\alpha)\cdot 1=1-\bar\alpha$
> [!abstract] 和 DDPM 对上:第二个槽补齐了
> 上一课算出中心 $\sqrt{\bar\alpha}\,x_0$,这一课算出散开 $1-\bar\alpha$。两个一拼,就是你在 DDPM 背过的 $q(x_t\mid x_0)=\mathcal{N}\left(\sqrt{\bar\alpha}\,x_0,\ (1-\bar\alpha)\mathbf{I}\right)$($\mathbf{I}$ 单位矩阵,因为图像是向量,按一维理解就行)。**你现在能从加噪式 $x_t=\sqrt{\bar\alpha}\,x_0+\sqrt{1-\bar\alpha}\,\varepsilon$ 把整个高斯亲手还原出来。**
> 之前你问「噪声去哪了」,答案就在这一格:噪声的份量 = 方差 = $1-\bar\alpha$。$t$ 越大 $\bar\alpha$ 越小,方差 $1-\bar\alpha$ 越接近 1,$x_t$ 越散、越接近标准正态 $\mathcal{N}(0,1)$;$t$ 趋近 0 时方差趋近 0,$x_t$ 收回到 $x_0$。
> [!note]- 条件方差 vs 边际方差:看 $x_0$ 是给定还是随机
> 这道练习把 $\sqrt{\bar\alpha}\,x_0$ 当常数,是因为题目是 $q(x_t\mid x_0)$,竖杠 $\mid x_0$ 就是「$x_0$ 给定、写死」。给定的东西是常数,方差为 0,只剩噪声那块:
> $\mathrm{Var}(x_t\mid x_0)=1-\bar\alpha$
> 这叫条件方差,在给定 $x_0$ 的前提下算。
> 换个前提:让图片 $x_0$ 也从数据集里随机抽,$\sqrt{\bar\alpha}\,x_0$ 就有自己的方差了($\mathrm{Var}(x_0)$ 是图片本身的方差)。噪声和图片独立,独立相加方差相加,各项系数平方:
> $\mathrm{Var}(x_t)=\mathrm{Var}(\sqrt{\bar\alpha}\,x_0)+\mathrm{Var}(\sqrt{1-\bar\alpha}\,\varepsilon)$
> $=\bar\alpha\,\mathrm{Var}(x_0)+(1-\bar\alpha)\,\mathrm{Var}(\varepsilon)=\bar\alpha\,\mathrm{Var}(x_0)+(1-\bar\alpha)$
> 这叫边际(无条件)方差。
> 数据归一化到方差 1 时($\mathrm{Var}(x_0)=1$):$\bar\alpha+(1-\bar\alpha)=1$,不管 $t$ 多大总方差恒为 1,这就是 VP(方差守恒)的来历。
> 一句话:差别只在 $x_0$ 给定还是随机。竖杠 $\mid x_0$ 就是把 $x_0$ 当常数。完整一课在「条件方差」。
> [!note]- 整个扩散,用的基本是条件方差;图片自身的方差藏在两处背景
> 你动手算的公式都是条件的(都给定 $x_0$):前向核 $q(x_t\mid x_0)$、重参数化、训练里造 $x_t$、反向后验 $q(x_{t-1}\mid x_t,x_0)$。里面的 $1-\bar\alpha$ 这类都是条件方差,从头到尾不用算图片本身的 $\mathrm{Var}(x_0)$。
> 图片自身的方差只在两处背景里撑着,不写进公式:
> 1. 归一化约定:数据先归一化到方差 1,VP 才成立、加到最后才是干净的 $\mathcal{N}(0,I)$ 先验。$\mathrm{Var}(x_0)=1$ 被约定掉了,所以公式里看不到它。
> 2. score 的目标是边际:反向过程要的 $\nabla\log p_t(x)$,里面的 $p_t$ 是无条件(边际)分布,$x_0$ 随机,跟数据分布连带它的方差有关。训练用 denoising score matching 把它转成条件核 $\nabla\log q(x_t\mid x_0)$ 来学。一句话:学的是边际,练的是条件。
> 收口:解题用的是条件方差;图片自身的方差被归一化吸收了,再加上藏在 score 要逼近的边际里,平时不露面。