LLM 基础概念[扩散模型图像生成算法基础]速答 · 约 6 分钟更新 2026-09-28

扩散模型的训练目标和推理过程分别是什么?

一句话结论

扩散模型的训练目标是让网络从加噪数据中预测出所加的噪声,常使用均方误差损失。推理则是从纯高斯噪声出发,按调度逆向迭代去噪,每步通过交叉注意力注入文本条件,最终生成清晰数据。

先这样答

扩散模型的生命周期包含前向加噪和逆向去噪两个阶段。训练阶段的核心目标是让神经网络学会识别数据中被添加的噪声,推理阶段则是利用训练好的网络,从纯高斯噪声中逐步减去预测出的噪声,还原出有意义的数据。

在训练过程中,算法会向干净的真实数据中逐步添加随机噪声。加噪过程受时间步调度控制,步数越大,数据越接近纯噪声。神经网络的输入是加噪后的数据和当前的时间步,训练目标是预测出该步所添加的噪声,部分变体也会选择预测速度或得分。损失函数一般采用均方误差损失,计算网络预测噪声与真实添加噪声之间的差异,以此通过反向传播更新网络权重。

推理是一个逆向迭代去噪的过程。模型首先随机生成纯高斯噪声,然后根据预设的调度策略,逆向遍历时间步。在每一步,网络预测当前状态包含的噪声并将其剥离。对于条件生成任务,文本提示会被转换为嵌入向量,在每一步去噪时通过交叉注意力机制注入网络,引导生成方向。这个逆向过程传统上需要几百次迭代,现在常通过蒸馏技术缩减到十几步以内。

在实际工程落地中,为了解决计算效率问题,我们通常会在潜空间中进行扩散,也就是先用变分自编码器将像素压缩到低维空间再做训练和推理。同时,配合分类器无关引导技术控制条件生成的强度,并使用高效采样器来减少推理步数。

面试官会怎么追问

  • 「你提到分类器无关引导,它在推理时具体是怎么操作的?」 在推理的每一个时间步,模型会进行两次前向传播。一次带有文本条件,另一次将文本条件置空。然后将两者的预测噪声进行加权外推,通过调节引导比例参数,平衡生成数据与文本的一致性以及数据本身的多样性。
  • 「为什么要在潜空间做扩散,直接在像素空间做有什么问题?」 像素空间的数据维度过高,直接在上面进行几百步的去噪计算会消耗很多显存和计算资源。引入变分自编码器将高维像素压缩到低维潜空间后,扩散模型只需要在低维空间中学习数据分布。这在保留关键语义信息的同时,降低了训练和推理的计算成本。
  • 「推理过程很慢,除了蒸馏还有什么减少步数的方法?」 可以使用更高效的采样器算法。比如采用 DPM 类的高阶求解器,能够在较少的步数内达到与几百步基础采样器相近的生成质量。这样可以在不改变模型权重的情况下加速推理过程。

回答的坑

  • 把训练时的输入误说成纯噪声,正确的说法是训练时网络输入的是干净数据加上特定时间步随机噪声后的混合状态,并非从纯噪声开始盲猜。
  • 认为文本条件只在推理的第一步注入,实际上文本嵌入是在逆向去噪的每一个时间步,都通过交叉注意力层持续影响模型的噪声预测。
—— 本题完 ——