AI 图像生成技术已从十年前 生成对抗网络GAN(GAN)时代分辨率低、模糊不清的早期形态,进化到如今高分辨率、全彩色、光影材质逼真、物理逻辑严谨的水平。这场视觉革命的核心引擎是扩散模型(Diffusion Models)。斯坦福大学的王牌课程 CME 296《扩散与大视觉模型(Diffusion & Large Vision Models)》,由曾就职于 Uber、Google,现任职于 Netflix 的阿米迪兄弟(哥哥阿夫申·阿米迪 Afshine Amidi,弟弟谢尔文·阿米迪 Shervine Amidi)主讲,深入浅出地揭示了这一技术的原理。
从“无到有”到“雕刻”:扩散模型的哲学转变
传统的生成模型和人类的创作思维类似,试图从无到有地绘制图像。然而,扩散模型颠覆了这一范式,它借鉴了文艺复兴雕塑家米开朗基罗(Michelangelo)“雕塑已存在于大理石中,我只是凿掉多余部分”的哲学。在扩散模型的宇宙里,原始的大理石便是一团纯粹的随机噪声(Random Noise),生成图像的过程即是去噪(Denoising),一步步移除噪声,最终显露出隐藏的图像。
我们之所以选择从噪声而非白纸开始,主要有三点原因:
- 易获取性:数学上,从标准概率分布采样噪声极为容易。
- 随机性引入:噪声的随机性保证了生成内容的多样性,即使输入相同提示词,也能产生姿态、光影各异的图像。
- 数学性质:常用的高斯分布(Gaussian Distribution)具有优美且方便的数学性质,是后续复杂推导的基石。
前向过程:如何优雅地“毁掉”一张图像
为了教会 AI 如何去噪,我们首先需要理解噪声如何破坏图像。这就是前向过程(Forward Process),即加噪过程。我们从一张高清图片 X0 开始,设定一千个时间步(T=1000)。在每一步 t,向图像 X_{t-1} 中注入少量高斯噪声,得到 X_t。这个过程可以用条件概率 q(X_t | X_{t-1}) 来精确表达,它服从一个高斯分布。
这个过程引入了一个关键超参数——方差调度(Variance Schedule),通常用 Beta_t 表示,它是一个非常小的正数,且随步数 t 略微增大。在经典的 去噪扩散概率模型DDPM(Denoising Diffusion Probabilistic Models) 中,X_t 的均值被设定为 sqrt(1 - Beta_t) * X_{t-1},方差为 Beta_t * I(单位矩阵)。这种“方差保留(Variance Preserving)”的设计通过在加噪前按比例缩小原始图像信号(乘以小于1的系数),确保了图像总方差在可控范围内,避免了数值溢出。
同时,**各向同性高斯分布(Isotropic Gaussian)**的假设——即每个像素的噪声是独立添加的——极大地简化了计算复杂度,使得在普通显卡上训练成为可能。
核心数学洞察:直接跳跃至任意时间步
传统的逐步加噪计算量巨大。数学家们利用高斯分布的叠加性质,发现可以通过一个公式直接计算任意时间步 t 的模糊图像 X_t,而无需逐步推导。定义 Alpha_t = 1 - Beta_t 及其累乘 Alpha_bar_t,我们得到了一个震撼的结论:给定原始图像 X0,可以直接计算出 X_t,其分布为高斯分布,均值为 sqrt(Alpha_bar_t) * X0,方差为 (1 - Alpha_bar_t) * I。
这个结论极大地提升了训练效率,因为我们可以在训练阶段随机抽取任意时间步 t,直接将清晰图像转化为该时刻的噪声图像,丢给神经网络学习。它也直观解释了为何随着 t 增大,Alpha_bar_t 趋近于零,图像最终会坍缩成纯高斯噪声。
逆向过程:从噪声到秩序的挑战与变分推断
真正的挑战在于逆向的去噪过程(Reverse Process):如何从纯噪声 X_T 生成清晰图像 X0。这等价于求解逆向条件概率分布 q(X_{t-1} | X_t)。然而,根据贝叶斯定理,求解这个分布需要遍历所有可能的清晰图像 X0 来计算边缘概率,这是一个**不可解(Intractable)**的任务。
面对此困境,**深度学习中的变分推断(Variational Inference)**思想应运而生。我们用一个强大的深度神经网络 p_theta 来近似真实的逆向过程 q。目标是最大化模型生成真实图像 X0 的概率 log p_theta(X0)。
詹森不等式(Jensen's Inequality)在此展现了其威力,它将无法直接优化的对数似然目标转化为一个证据下界(Evidence Lower Bound, ELBO)。通过不断提高 ELBO,也就间接推高了真实概率。ELBO 主要由一系列**KL 散度(KL Divergence)**求和构成,用于衡量两个概率分布的相似度。
在 ELBO 公式中,我们需要比较的是神经网络预测的分布 p_theta(X_{t-1} | X_t) 和一个“上帝视角”下的真实分布 q(X_{t-1} | X_t, X0)。这个带有 X0 条件的 q 分布是可解的,且服从高斯分布。比较两个高斯分布的 KL 散度,在方差固定一致的假设下,等价于计算它们均值之间的均方误差(Mean Squared Error, MSE)。
最终损失函数:预测纯噪声
经过一系列复杂的概率推导,ELBO 被简化为一个极其直观的损失函数:比较真实均值和预测均值的 L2 距离。更进一步,在经典的 DDPM 论文中,通过变量替换,研究人员发现让神经网络预测复杂的均值,数学上等价于让它直接预测在第 t 步时加入的纯噪声 Epsilon。
最终的损失函数形式极为简洁:计算神经网络预测噪声 Epsilon_theta(X_t, t) 与真实噪声 Epsilon 之间的 MSE。训练过程因此变得简单粗暴:抽取 X0、t、Epsilon,计算 X_t,将 X_t 和 t 喂给 Epsilon_theta 预测噪声,计算预测噪声与真实噪声的误差,然后反向传播更新参数。每一次训练,网络都在学习如何从马赛克中精准剥离噪声。
一个重要的**启发式(Heuristic)**改进是,DDPM 论文作者发现移除损失函数中与 Beta_t 相关的权重系数,让模型对所有时间步误差一视同仁,反而能提升生成图像质量。
推理过程:从噪声到艺术的创作循环
推理(Inference)过程是模型进行创作的阶段。当用户输入提示词后,系统首先从标准高斯分布采样一个随机噪声矩阵 X_T(时间步 T=1000)。随后启动一个循环:
- 将当前噪声图像 X_t 和时间步 t 喂给神经网络
Epsilon_theta,预测噪声。 - 根据前向过程的更新公式,从 X_t 中减去一部分预测的噪声。
- 关键一步:在此基础上,重新加上一点点随机的高斯噪声,得到 X_{t-1}。
为什么要加回噪声?这是因为扩散模型本质上是基于**马尔可夫链(Markov Chain)的朗之万动力学(Langevin Dynamics)**过程。仅仅沿着神经网络预测的梯度方向前进,容易陷入局部最优。每次加回的微小随机噪声,如同“热涨落”,为模型提供了保持活力的“脚踹”,使其在图像流形附近游走,防止错误累积。随着 t 趋近于零,引入的随机噪声方差也随之减小。
这个“预测噪声、减去部分噪声、再加回一点随机噪声”的循环执行一千次,每次都使画面略微清晰,最终在 t=0 时输出一张全新的、真实的图像。
工程瓶颈与 DDIM 优化:提速的魔法
尽管过程充满数学浪漫,但推理阶段需要运行庞大的神经网络上千次,导致扩散模型速度极其缓慢(可能需要几分钟生成一张图),这在商业应用中是无法忍受的。
**DDIM(Denoising Diffusion Implicit Models)**应运而生,它打破了性能瓶颈。DDIM 的核心洞察在于,DDPM 是严格的马尔可夫过程,但训练中起决定作用的是瞬间跳跃的边缘分布 q(X_t | X0)。只要保证最终噪声分布符合预期,不必关心每一步如何从 X_{t-1} 演变而来。
DDIM 构造了一个全新的**非马尔可夫(Non-Markovian)**前向过程,使得每个状态 X_t 都隐式地与 X0 相关联。神奇的是,其训练目标(噪声预测损失)与 DDPM 相同,这意味着可以直接使用 DDPM 训练好的模型进行 DDIM 推理,无需修改模型本身。
DDIM 的加速秘诀在于其推理公式中的随机性参数 Sigma_t。DDIM 将 Sigma_t 强制设定为零,将过程转变为一个完全确定的**常微分方程(ODE)**求解过程。一旦初始噪声相同,结果就完全确定。更重要的是,由于过程确定且允许跨时间步联系,可以将原本需要一千步的退化过程压缩成一百步、二十步甚至更少。通过预测方向,模型可以直接从 T 步跳跃至 T-50、T-100 步,大幅减少了神经网络的运行次数,实现了十倍到五十倍的惊人加速,将生成时间从分钟缩短至秒级。
然而,加速并非没有代价。跳跃步数越大,累积的逼近误差导致图像质量下降(FID 指标变差)。实际部署中,工程师需要在 DDIM 的跳跃步数与最终图像质量之间寻找业务场景的最佳平衡点。
总而言之,扩散模型通过数学的优雅与工程的巧妙,实现了从混沌噪声中创造高保真图像的壮举。
📌 文中提及的人物和组织
公司/组织: 斯坦福大学, Midjourney
产品/模型: 生成对抗网络GAN, 扩散模型, CME 296, DDPM, Epsilon_theta