扩散模型中的逆向过程是通过训练过程学习的,该过程教会模型如何迭代地去除数据中的噪声。在训练期间,模型观察噪声如何逐步添加到数据样本中(正向过程),并学习预测如何逆转此过程。核心思想是训练一个神经网络来估计正向过程中每个步骤中存在的噪声,这使得模型在逆向运行时能够重建原始数据。这通常通过一个损失函数来实现,该函数比较模型预测的噪声与正向传播期间实际添加的噪声。通过最小化许多训练示例中的这种差异,模型学习到了一种逐步去噪的方法。
训练过程涉及两个关键组成部分:时间步长条件作用(timestep conditioning)和噪声预测。每个训练示例都与一个随机选择的时间步长 (t) 配对,该时间步长对应于正向过程中的特定噪声水平。模型以该时间步长为条件,使其能够根据每个步骤需要去除多少噪声来调整其预测。例如,早期时间步长可能要求模型预测微妙的噪声模式,而后期时间步长则涉及更大的校正。通常使用 U-Net 等架构,因为它们能有效地处理空间数据(例如图像),并通过嵌入(embeddings)整合时间步长信息。模型不是学习一步到位的逆转,而是学习一系列小的去噪操作,这些操作共同逆转整个正向过程。
一个实际的例子是训练模型生成图像。假设正向过程在 1,000 个步骤中向图像添加高斯噪声。在训练期间,模型接收一个在随机步骤(例如,第 500 步)产生的带噪声图像,并预测在该步骤添加的噪声。如果预测与实际噪声匹配,将其从带噪声图像中减去将部分重建原始图像。在所有时间步长上重复此过程教会模型“串联”这些预测,使其能够从纯噪声开始,并将其迭代地精炼成连贯的图像。余弦噪声调度(cosine noise scheduling)或学习方差(learned variances)等技术可以进一步优化噪声水平在时间步长上的分布。这种方法通过噪声预测而不是记忆特定示例来学习基础数据分布,从而确保模型泛化到未见数据。