训练扩散模型时,第一件事竟然是往干净图片里加噪声——听着像搞破坏,其实是 AI 生成图像的教学方式。这篇把正向加噪过程按步骤拆开,讲清楚噪声为什么按计划加、加到头是什么样。细节以各家官方技术报告为准,这里只讲通用原理。
先把结论放前面:正向加噪本身没有任何玄妙,它就是一张精确执行的时刻表。玄妙的是逆向那一侧——模型竟然能学会从纯噪声里还原图像,这也是这条技术路线迷人的地方。
正向过程一步一步看
拿一张清晰的图,设一个从 0 到 1 的刻度。刻度 0 是原图,之后每走一步,就往图里掺一点高斯噪声,同时把原图信息按比例减弱。走到刻度 1,整张图变成一片纯噪声,原图的任何痕迹都看不出来了。这个过程不需要学习,是事先定好的机械操作。
类比:像往一杯清水里持续滴墨水,滴到最后杯里只剩均匀的墨色,看不出清水曾经存在。
噪声为什么按计划加
加噪并不匀速,而是按一张时刻表进行:早期加得慢,图像轮廓还在;后期加得快,迅速推向纯噪声。这样安排是为了让模型在每个破坏程度上都有样本可学——轻噪声教它修细节,重噪声教它补结构。
把时刻表摊开,每个刻度上图与模型各是什么状态。
| 刻度位置 | 噪声怎么加 | 图像变成什么样 | 训练时学到什么 |
|---|---|---|---|
| 刻度 0 | 不加噪声 | 就是原图 | 起点,不需要学习 |
| 前段 | 加得慢 | 图像轮廓还在 | 轻噪声教它修细节 |
| 后段 | 加得快 | 迅速推向纯噪声 | 重噪声教它补结构 |
| 刻度 1 | 原图信息在统计意义上被完全掩盖 | 一片纯噪声,看不出原图痕迹 | 从纯噪声里还原图像 |
类比失效处:墨水扩散是物理过程,加噪是统计采样,每一步掺入的噪声随机抽取,并不由前一步唯一决定。
加到头是什么样子
刻度 1 的纯噪声里,原图信息在统计意义上被完全掩盖。这里有个关键设定:任意一步的加噪结果都能从原图一步算出,不必真的逐步迭代。训练时随机抽一个时刻、一次性加到那个程度,效率因此高了很多。
这个「一步算出」的设定值得多看一眼:因为加噪的每一步都是简单的比例混合,数学上可以合并成一整个式子,任意中间状态都有解析解。训练时就能随机挑刻度直接取样,不必从零迭代过来,训练成本因此大幅下降。
逆向还原才是目的
正向加噪只是铺垫。模型真正学的是逆操作:给它一张带噪的图和一个时刻刻度,让它预测这一步掺入了什么噪声。预测准了,就能从纯噪声出发一步步减噪,走出一张全新图像。所以说正向过程是出题,逆向学习才是解题。开源社区 ModelScope 上能找到大量扩散模型的实现,智谱清言这类对话模型也能解答原理层面的疑问。
出题和解题的关系还可以再推一层:正向过程定义了「破坏的方式」,逆向模型学的就是「按同样的方式反推」。两边必须遵循同一张时刻表,刻度对不上,去噪就无从谈起。这也是为什么时刻表是扩散模型里牵一发动全身的超参数。
把正向过程放到整条生成链里看,它的位置很靠前:先定义破坏方式,再训练还原,最后才轮到创作。理解了加噪,后面学去噪、学采样就都有了参照物。
走出一张全新图像之后,往视频方向走就是帧间一致性的问题,见文生视频的时间层;单帧怎么被模型读懂,先看视觉编码器的切块与编码。
从图像理解到图像生成,两侧共用视觉表征的底座,特征怎么进入语言模型侧见图像 token 的接入。
加噪过程速查表
- 输入:干净图像加随机噪声
- 刻度:决定噪声强度的时刻表
- 终点:与原图无关的纯噪声
末句记住:正向出题越规范,逆向解题越有据。
加噪训练快问快答三则
- 为什么要加噪声而不是直接学生成?:直接生成太难学,拆成一步步去噪后,每步任务都简单可学。
- 噪声是固定的吗?:每次随机采样,同一张图能产生无数条加噪路径。
- 刻度表谁定的?:人工设计的超参数,各家略有差异,以官方报告为准。
一句话收束:加噪是教学用的「可控破坏」。破坏得越有章法,模型学到的还原本领就越扎实。


