本节目标能从逐步转移读到闭式采样;能解释 βt、αt、αˉt 和 SNR;能用调度器控制信息消失的节奏。
x0原始数据x0 · 原始数据shape: [B,C,H,W]未经加噪的训练样本。
xt带噪状态xt · 带噪状态shape: [B,C,H,W]时间步 t 的随机变量,与 x0 同维度。
βt本步噪声方差βt · 本步噪声方差shape: 标量或 [B,1,1,1]控制第 t 步加入多少新噪声。
αt本步信号保留αt · 本步信号保留shape: 标量定义为 1−βt。
αˉt累计信号保留αˉt · 累计信号保留shape: 标量从 1 到 t 的 αs 连乘。
ε标准高斯噪声ε · 标准高斯噪声shape: 同 x₀ε∼N(0,I),承载随机性。
x0原始信号×αˉt xt当前观测+1−αˉt ε固定高斯噪声 9.37e-4βt / 本步方差 0.91674αˉt / 累计信号保留 0.2885噪声系数
11.011SNR / 信噪比
每个像素都按 xt=αˉtx0+1−αˉtε 重新计算。拖动滑块不会调用 CSS 模糊或透明度技巧。
做完实验再继续:先分别试 T=200 与 T=1000。注意同一个“相对进度”下,βt 与 αˉt 的变化取决于整个 schedule,而不只取决于当前 t。
逐步定义
βt 是第 t 步加入噪声的方差;1−βt 同时收缩旧信号,防止总体方差无界增长。
联合分布
马尔可夫性质让整条链分解成局部转移。这个乘积描述概率密度,不是把图像数值直接相乘。
闭式采样:直接跳到任意 t
连续代入前几步后,所有独立高斯噪声的线性组合仍然是高斯。把累计信号保留率记为 αˉt=∏s=1tαs,就能一次得到任意时间步。
把高斯转移分布重参数化。ε₁ 与 x₀ 同 shape,来自标准高斯。
使用:高斯重参数化换一种方式理解
为什么训练时不需要真的循环 t 次?
我们关心的是抵达哪里,不是沿途每一帧训练只需要某个随机噪声强度下的样本与它使用的噪声。闭式公式直接给出这个终点。
随机选择 t → 一次合成 xₜ 端点检查: t=0 时
αˉ0=1,因此
xt=x0;
t 很大且
αˉt 接近
0 时,
xt 接近
ε。有限
T 下“接近标准高斯”不等于永远严格相等。
Schedule explorer
噪声调度曲线
t = 0t = 500t = 1000
调度器规定每一步加入多少噪声;它改变信息被抹去的节奏,而不是改变“最终学习什么”。
停下来想 30 秒如果某一步 βt 增大,那么 αt 与该步新增噪声标准差怎样变化?
常见误解:前向过程通常不训练;xT“接近”标准高斯不意味着有限 T 时严格等于;Diffusion 也不是对图像做 CSS 模糊,而是定义随机变量的概率转移。