用 AI 展开两步扩散加噪:噪声系数直接相加,为何算不出最终方差

前天 3阅读

扩散模型的正向过程常写成“逐步加入噪声”。如果让AI只画从清晰到模糊的几格图,很难看出信号缩放与噪声方差怎样累计。用一个标量、两步公式,可以把这部分算到每个系数都对得上。

用 AI 展开两步扩散加噪:噪声系数直接相加,为何算不出最终方差

AI模型生成的概念插图:原信号与噪声共同进入混合步骤,斑点不表示精确概率或数量;不代表软件截图、真实实验或精确数据图。

每一步都重新抽独立噪声

固定原始值x₀=2,设beta₁=0.25、beta₂=0.36。两步噪声z₁、z₂相互独立,均服从均值0、方差1的标准正态分布。DDPM的正向一步规则为xₜ=√(1-betaₜ)xₜ₋₁+√betaₜ zₜ;本例刻意选大而好算的数,不是实际图像模型的推荐日程。

第一步x₁=√0.75×2+0.5z₁=√3+0.5z₁。第二步先把整个x₁乘0.8,再加0.6z₂,因此x₂=0.8√3+0.4z₁+0.6z₂。第一步噪声也会随第二步一起缩小,不能原样留下0.5z₁。

固定x₀后,x₂的条件均值为0.8√3,约1.385640646。独立噪声部分的方差是0.4²+0.6²=0.52;0.4+0.6=1是系数和,不是这里的方差,也不是标准差。标准差应为√0.52,约0.721110255。

用累计公式再算一遍

定义alpha₁=0.75、alpha₂=0.64,累计alpha为0.75×0.64=0.48。原论文给出的直接采样表达式对应x₂=√0.48×x₀+√0.52×epsilon,其中epsilon是标准正态噪声。因此均值和方差与逐步展开完全一致。

两种写法表示同一个条件分布,但任意独立抽到的epsilon不保证复现某条既有路径。若要复现那条路径,必须取epsilon=(0.4z₁+0.6z₂)/√0.52。比如指定z₁=1、z₂=-1作为计算输入,x₂约1.185640646,对应epsilon约-0.277350098。

这对确定数值只用于验算单条路径,不是用两个点证明高斯分布。条件方差0.52来自独立随机变量的解析计算,而非这一次样本的大小。

让AI主动检查噪声是否被复用

可用提示词:“固定x₀=2,beta为[0.25,0.36],每步使用独立标准高斯噪声。展开x₂,分别计算条件均值、方差、标准差,再用累计alpha闭式公式核对。给定z₁=1、z₂=-1求路径及等效epsilon,并解释为何不能直接令epsilon=z₂。”

如果两步错误地复用同一个随机变量z,那么噪声部分变成(0.4+0.6)z,方差是1,已经换成另一种过程。最后还要区分正向加噪与生成时的反向过程:前者公式可直接给定,后者通常需要学习或构造相应的反向条件,不能把加噪箭头倒过来就说模型已经会生成图像。

资料核对日期:2026年10月2日。数值为原创教学设定,已用独立Python计算复核,不代表真实模型性能测试。

参考资料

Ho等:Denoising Diffusion Probabilistic Models

文章版权声明:除非注明,否则均为云鹊BLOG原创文章,转载或复制请以超链接形式并注明出处。