扩散模型(Diffusion Models)是最近生成式 AI领域的绝对核心,近年来,只要涉及AI生成视频、图像,它的底层原理几乎都绕不开diffusion
Diffusion与GAN
在扩散模型之前,GAN 的逻辑是“一步到位”。给生成器一个随机噪声,要求它立刻输出一张完美的 4K 图像。这就像让一个刚学画画的学徒,闭着眼睛一笔画出一幅《蒙娜丽莎》。由于难度太高,生成器经常崩溃,或者只能翻来覆去画它最擅长的那几笔(Mode Collapse)。
而扩散模型把这个极难的任务,拆解成了 1000 步的微小去噪任务。
它不要求神经网络凭空捏造一张图片,而只要求它“把眼前这张带点噪声的图,变得稍微清晰那么一点点”。
对神经网络来说,在每一步预测噪声的数学难度,远远小于直接生成图像。通过 1000 次微小的修正,错误在每一步都被不断校正,最终积少成多,化腐朽为神奇。
扩散模型的工作原理
始于随机噪声:扩散模型不是从空白画布开始,而是从充满纯静态或随机噪声的"画布"起步,就像老式电视的雪花屏
渐进去噪:通过许多小步骤,每次尝试去除少量噪声,使图像或视频略微清晰
指令引导:每个步骤都使用文本调节器生成的数字编码作为引导,确保去噪过程朝着预期画面发展
精炼成连贯视频:经过多次去噪后,随机噪声转变为可识别的高质量视频序列
扩散模型的核心训练过程
forward process
这个过程不需要训练,它是一个纯粹的数学公式。
我们从一张真实的图片x0 开始,每一步都向其中添加一点点极其微小的高斯噪声。随着步数t(通常是 1000 步)的增加,图片中的结构信息彻底消失。
核心细节:数学上有一个非常优雅的推导,使得我们不需要真的模拟 1000 次加噪。我们可以直接通过一个公式,一步到位计算出第 t 步加噪后的图片是什么样。最终的 xt会变成一个符合标准正态分布N(0,I) 的纯噪声
reverse process
这是扩散模型需要投入海量算力去训练的部分。
既然 xt 是一堆纯噪声,我们想把它还原。但是,从噪声还原图片的路径有无数条,神经网络(通常是U-Net架构)要做的,就是预测在前向过程中,当前这一步到底加入了多少噪声。
一旦神经网络成功“猜”出了当前步的噪声,我们就可以把这部分噪声减掉,从而逆向推导回上一步稍微清晰一点的图片 x(t-1)。如此循环 1000 步,就能凭空生成一张高质量的全新图像。