关键词:
噪声预测、数据重建、MSE Loss、ELBO、score-based modeling、DDPM、EDM、训练目标、采样策略
摘要:
扩散模型的训练目标设计直接影响模型收敛速度、生成质量与采样路径稳定性。最初的 DDPM 采用了预测添加噪声 ε 的方法,但近年来诸如 EDM(Elucidated Diffusion Models)等模型开始转向对原始数据 x₀ 的直接重建。二者在目标函数设计、梯度传播、采样恢复与多模态条件建模中展现出不同的行为特性与工程表现。本文将系统梳理噪声预测与数据预测两大路线的数学关系、优缺点对比、实际训练表现与部署兼容性,帮助工程实践中进行更合适的目标函数选择。
第1章:训练目标函数的本质任务是什么?
第2章:噪声预测(ε-prediction)机制详解
第3章:数据预测(x₀-prediction)视角解析
第4章:从 ε 到 x₀ 的转换公式与数学等价性
第5章:MSE Loss 的收敛行为与表现差异
第6章:工程实践中的对比实验(Stable Diffusion vs EDM)
第7章:目标选择对条件控制模型的影响(ControlNet/T2I-Adapter)
第8章:未来趋势:混合目标、自适应预测策略
在扩散模型中,训练目标函数决定了模型在多轮去噪推理过程中的表达能力、信息重建质量与收敛效率。本章首先从概率建模的视角,明确扩散模型训练的核心目标,并结合当前主流实现路线剖析噪声预测与数据重建的内在联系。
扩散模型源于对数据分布 p ( x 0 ) p(x_0) p(x0) 的近似建模目标,最直接的路径是最大化其对数似然 log p θ ( x 0 ) \log p_\theta(x_0) logpθ(x0)。由于真实分布不可知,DDPM 引入了变分下界(ELBO)方式,通过构建逐步的“正向扩散”过程 q ( x t ∣ x t − 1 ) q(x_t | x_{t-1}) q(xt∣xt−1) 和“反向重建”过程 p θ ( x t − 1 ∣ x t ) p_\theta(x_{t-1} | x_t) pθ(xt−1∣xt),将似然优化转化为一系列条件分布的拟合问题。
然而完整建模所有反向分布 p ( x t − 1 ∣ x t ) p(x_{t-1} | x_t) p(xt−1∣xt) 计算代价极高,因此实际实现中转而将优化目标简化为最关键的一项——去噪损失。
在标准的 DDPM 架构中,每个训练样本 x 0 x_0 x0 被加上多个时刻的高斯噪声,得到 x t x_t xt。模型的任务是从 x t x_t xt 和当前时间步 t t t 推断出原始信号的某种形式,最常见的是直接回归其加噪时的噪声项 ϵ \epsilon ϵ。
构建监督信号的一般步骤如下:
该 MSE 形式的目标被广泛使用于大部分 Stable Diffusion 系列中,具有较好的训练稳定性。
虽然看似模型在学习预测噪声 ϵ \epsilon ϵ,但由于 x t x_t xt 和 ϵ \epsilon ϵ 与 x 0 x_0 x0 存在线性关系,因此这个训练过程本质上也间接实现了数据的重建。也正因如此,当前一些研究进一步提出:能否直接训练预测 x 0 x_0 x0 或 score function,会更接近最终图像目标。
这构成了“噪声预测 vs 数据预测”的核心分歧。后续各章将对这两种路线进行深入对比。
噪声预测是最早在 DDPM 中引入的训练目标策略,也是当前社区(如 Stable Diffusion、DreamBooth、ControlNet)中默认采用的方式之一。本章深入分析 ε-prediction 的数学机制、实现范式与工程优劣点。
在原始 DDPM 中,目标函数以变分推导的简化项为出发点。完整的 ELBO 包含多个项(重构误差、熵项等),但作者发现去噪项占主导,于是提出:
L simple = E t , x 0 , ϵ [ ∥ ϵ − ϵ θ ( x t , t ) ∥ 2 ] \mathcal{L}_{\text{simple}} = \mathbb{E}_{t, x_0, \epsilon} \left[ \left\| \epsilon - \epsilon_\theta(x_t, t) \right\|^2 \right] Lsimple=Et,x0,ϵ[∥ϵ−ϵθ(xt,t)∥2]
这意味着模型每一步仅需学习如何还原正向扩散过程中叠加的噪声 ε,而不需关心 x₀ 本身的显式表达。好处是监督信号来自高斯分布,训练稳定,梯度传播明确。
主要原因有两点:
此外,加入时间步条件 t 后,网络可以有效学习不同“退噪难度”的样本,训练效率较高。
β 调度决定了正向扩散中每一时刻加入噪声的强度。在线性 β 策略下,不同时间步之间的 ε 分布差异较小,使得模型可以快速收敛。而 cosine 调度则在前期保留更多原始图像特征,对 ε 的分布建模要求更高。
典型工程建议:
随着扩散模型在图像生成质量与控制精度上的需求不断提升,越来越多的研究工作开始从“直接预测原始图像”的角度重新审视训练目标。尤其在 Elucidated Diffusion Models(EDM)、Progressive Distillation、Muse 等新架构中,x₀-prediction 被验证在高保真生成任务中具备更高的精度潜力。
在 DDPM 中,给定一个加噪图像 x t x_t xt 和对应的噪声预测 ϵ ^ \hat{\epsilon} ϵ^,可以通过下式反推出原始图像:
x ^ 0 = x t − 1 − α ˉ t ⋅ ϵ ^ α ˉ t \hat{x}_0 = \frac{x_t - \sqrt{1 - \bar{\alpha}_t} \cdot \hat{\epsilon}}{\sqrt{\bar{\alpha}_t}} x^0=αˉtxt−1−αˉt⋅ϵ^
该变换说明,虽然模型在训练阶段学习的是噪声项,但通过固定的重构公式,最终仍能重建出图像本身。这一公式在推理阶段也广泛用于图像反推与多模态控制路径(如 T2I-Adapter)中。
然而在数据预测路径中,模型直接回归上式右侧的结果 —— 即预测 x ^ 0 \hat{x}_0 x^0,而非中间的噪声变量。这样一来,不仅网络目标更直观,而且更接近于传统图像重建范式。
EDM(Karras et al., 2022)提出了一种与 DDPM 不同的连续时间建模方式,鼓励直接预测清晰图像而非噪声,其主要动机包括:
在 Muse(Google, 2023)等多阶段生成模型中,x₀-prediction 更便于后续模块精调图像表现,避免多轮 error compounding。
在工程实测中:
模型 | 训练目标 | 收敛速度(steps) | FID@50 steps | CLIP score | 主观细节恢复 |
---|---|---|---|---|---|
Stable Diffusion 1.5 | ε prediction | 300k | 12.3 | 0.268 | 中等(部分模糊) |
EDM-512 | x₀ prediction | 180k | 9.1 | 0.283 | 较强(边缘清晰) |
SDXL-Base | ε prediction | 400k | 9.8 | 0.271 | 良好(偏柔和) |
可以看出,x₀ prediction 在早期训练中收敛速度更快,并在低步数推理下展现出更好的结构一致性与纹理保留。其代价是需要模型在高 t 区间学习“图像先验”,对网络结构表达力要求更高。
虽然 ε 预测与 x₀ 预测在训练目标上有所不同,但两者在数学上具备明确的等价变换路径。本章将推导 ε → x₀ 的转换公式,并分析不同预测目标在推理路径上的实际差异。
假设扩散过程中正向公式为:
x t = α ˉ t x 0 + 1 − α ˉ t ⋅ ϵ , ϵ ∼ N ( 0 , I ) x_t = \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1 - \bar{\alpha}_t} \cdot \epsilon,\quad \epsilon \sim \mathcal{N}(0, I) xt=αˉtx0+1−αˉt⋅ϵ,ϵ∼N(0,I)
模型若预测 ϵ ^ \hat{\epsilon} ϵ^,则反推原始图像为:
x ^ 0 = x t − 1 − α ˉ t ⋅ ϵ ^ α ˉ t \hat{x}_0 = \frac{x_t - \sqrt{1 - \bar{\alpha}_t} \cdot \hat{\epsilon}}{\sqrt{\bar{\alpha}_t}} x^0=αˉtxt−1−αˉt⋅ϵ^
这一转换在调度器中通常封装为:
def predict_x0_from_eps(x_t, eps, t):
alpha_bar = get_alpha_bar(t)
return (x_t - eps * sqrt(1 - alpha_bar)) / sqrt(alpha_bar)
类似地,若模型直接预测 x₀,那么反推出每一步的中间采样状态 x t − 1 x_{t-1} xt−1 公式可相应调整,无需中间 ε 表达。
模型预测的是 ε 还是 x₀,会直接影响推理路径的结构:
从效率来看,两者在计算量上无明显差别,但在稳定性上,x₀-prediction 对调度器误差更敏感,尤其在少步数采样(如 DDIM 15 步)时。
在 HuggingFace diffusers
框架中,调度器通常提供如下接口:
scheduler.set_prediction_type("epsilon") # 默认
scheduler.set_prediction_type("sample") # 表示预测 x₀
此外,在某些调度器中(如 UniPC、DPM++),还支持:
scheduler.set_prediction_type("v_prediction") # V-prediction 路线(兼容速度与稳定性)
这一设计使得同一个训练模型可以在不同推理目标下灵活切换,便于适配高精度与高性能的部署环境。
均方误差(MSE)是扩散模型训练中的核心损失函数形式,无论是 ε 预测还是 x₀ 预测,其训练目标本质上都依赖于 MSE 来衡量模型输出与目标之间的差距。但由于预测目标不同,MSE Loss 的收敛动态、对高频信息的还原能力以及对不同任务的适应性也呈现出显著差异。
在 DDPM 的噪声预测范式中,监督信号为从标准高斯分布中采样的 ε,这使得目标分布具有统一的均值和方差范围,训练初期梯度稳定,模型收敛较快。
实际工程中,多组训练日志显示:
但这种预测方式往往在图像细节恢复上表现一般,尤其在人物面部、复杂背景纹理等区域出现模糊或色块抖动现象。
相比之下,直接预测 x₀ 会迫使模型在训练过程中关注图像本身的空间结构与纹理特征。由于预测目标为“干净图像”,模型在训练中必须精确建模噪声去除的过程,这一过程对高频信息(如毛发、文字、边缘线)表现出更强的保留能力。
实测表现如下:
在无条件图像生成任务中,两种目标函数的 loss 曲线表现相近。但在多模态场景(如 text-to-image、image-to-image)中,x₀ 预测更易面临 overfitting 风险,尤其在训练数据规模较小或样本分布偏窄时:
任务类型 | ε 预测 Loss 曲线 | x₀ 预测 Loss 曲线 | 建议 |
---|---|---|---|
无条件生成 | 平稳下降 | 初期慢,后期趋稳 | 任意均可 |
文生图(T2I) | 稳定,易泛化 | 快速下降,需正则化 | 推荐 ε |
图到图重建 | 不够精细 | 表现更细腻 | 推荐 x₀ |
工程经验表明,对于高精度控制任务(如图像修复、草图补全),采用 x₀ 预测策略更具优势;而对于快速部署、推理效率优先的任务,仍建议采用 ε 预测以获得更可控的训练行为。
为了更具象地理解噪声预测与数据预测在实际任务中的差异,本章基于 Stable Diffusion 和 EDM 两种模型结构,从训练配置、生成质量、推理效率三个维度进行对比分析。
实验设置如下:
结果统计如下:
指标 | Stable Diffusion (ε-pred) | EDM-like (x₀-pred) |
---|---|---|
FID (50k) | 11.2 | 9.3 |
CLIP Score | 0.274 | 0.286 |
NIQE (自然图像质量) | 4.71 | 4.02 |
模型 size | 860M | 870M |
结论:x₀ prediction 在保持模型结构不变的前提下,可获得明显的生成质量提升,特别是在高复杂度 prompt(多物体、交互场景)下表现更稳。
通过定性分析,我们发现:
该实验结果也间接解释了为何 SDXL Turbo 和 Muse 等高端模型均开始引入数据预测路径,甚至配合多个辅助预测头(如 V-prediction)。
在推理效率至上的部署场景(如 ComfyUI 或 Triton 环境)中,x₀ 预测更适用于 15~20 步低步数采样策略,能够在较少迭代中恢复高质量图像。
扩散模型的能力在引入条件控制机制(如 ControlNet、T2I-Adapter)后大幅扩展,从纯图像生成进入到受控图像编辑、姿态合成、草图转图等复杂任务中。在这些条件控制模型中,目标函数的选择直接影响条件输入的信息传导方式、输出图像的对齐度与风格一致性。
在 text-to-image 生成任务中,Prompt 通常作为语义调控主轴,需要模型在语义空间具备较强的泛化与组合能力。使用 ε prediction 的模型通常具备以下优势:
因此,大多数基础模型(如 SD1.5、SDXL)默认仍采用 ε 预测作为主要目标,在搭配 ControlNet 的条件注入中表现出更宽松的鲁棒性。
当条件输入不仅包含语义信息,还涉及图像层面的空间控制(如边缘图、深度图、语义 mask 等),x₀ 预测模型通常更优:
例如在 Realistic Vision V6 等第三方模型中,采用 x₀ 目标可有效提升草图转图像(sketch2image)任务中的边缘对齐与细节保真度。
在同时引入文本、图像、深度图等多模态输入时,应根据任务需求选择目标函数:
任务类型 | 推荐目标函数 | 理由 |
---|---|---|
Prompt 生图 | ε prediction | 保证语义泛化与 prompt 多样性 |
Depth/Edge 控制生成 | x₀ prediction | 结构一致性优先 |
草图/语义图重建 | x₀ prediction | 需要精细对齐 |
模糊图恢复 | ε prediction | 模型误差容忍度高 |
在实际部署中,也可以利用模型微调技术训练双分支结构,在不同阶段动态切换预测对象,以兼顾精度与稳定性。
随着扩散模型在多样化任务与部署场景中的应用逐渐深入,单一预测目标的设计已难以满足所有需求。未来的研究正朝着“混合目标 + 自适应路径”的方向发展。
一些新模型(如 Dual Diffusion、EDM Variant)探索引入双头输出结构,在一个模型中同时预测 ε 与 x₀,并采用加权融合或阶段性监督策略:
该路径为在生产环境中部署通用模型提供可能性。
研究表明,在扩散时间维度上预测目标的最优形式可能是动态变化的:
这类模型对 scheduler 设计提出更高要求,但其带来的鲁棒性提升在高分辨率/复杂场景中表现显著。
未来落地部署的扩散模型将更强调以下能力:
因此,目标函数设计将趋向:
这些趋势正在 reshape 扩散模型工程的下一个阶段,也是后续高质量模型构建的关键突破方向。
个人简介
作者简介:全栈研发,具备端到端系统落地能力,专注人工智能领域。
个人主页:观熵
个人邮箱:[email protected]
座右铭:愿科技之光,不止照亮智能,也照亮人心!
观熵系列专栏导航:
具身智能:具身智能
国产 NPU × Android 推理优化:本专栏系统解析 Android 平台国产 AI 芯片实战路径,涵盖 NPU×NNAPI 接入、异构调度、模型缓存、推理精度、动态加载与多模型并发等关键技术,聚焦工程可落地的推理优化策略,适用于边缘 AI 开发者与系统架构师。
DeepSeek国内各行业私有化部署系列:国产大模型私有化部署解决方案
智能终端Ai探索与创新实践:深入探索 智能终端系统的硬件生态和前沿 AI 能力的深度融合!本专栏聚焦 Transformer、大模型、多模态等最新 AI 技术在 智能终端的应用,结合丰富的实战案例和性能优化策略,助力 智能终端开发者掌握国产旗舰 AI 引擎的核心技术,解锁创新应用场景。
企业级 SaaS 架构与工程实战全流程:系统性掌握从零构建、架构演进、业务模型、部署运维、安全治理到产品商业化的全流程实战能力
GitHub开源项目实战:分享GitHub上优秀开源项目,探讨实战应用与优化策略。
大模型高阶优化技术专题
AI前沿探索:从大模型进化、多模态交互、AIGC内容生成,到AI在行业中的落地应用,我们将深入剖析最前沿的AI技术,分享实用的开发经验,并探讨AI未来的发展趋势
AI开源框架实战:面向 AI 工程师的大模型框架实战指南,覆盖训练、推理、部署与评估的全链路最佳实践
计算机视觉:聚焦计算机视觉前沿技术,涵盖图像识别、目标检测、自动驾驶、医疗影像等领域的最新进展和应用案例
国产大模型部署实战:持续更新的国产开源大模型部署实战教程,覆盖从 模型选型 → 环境配置 → 本地推理 → API封装 → 高性能部署 → 多模型管理 的完整全流程
Agentic AI架构实战全流程:一站式掌握 Agentic AI 架构构建核心路径:从协议到调度,从推理到执行,完整复刻企业级多智能体系统落地方案!
云原生应用托管与大模型融合实战指南
智能数据挖掘工程实践
Kubernetes × AI工程实战
TensorFlow 全栈实战:从建模到部署:覆盖模型构建、训练优化、跨平台部署与工程交付,帮助开发者掌握从原型到上线的完整 AI 开发流程
PyTorch 全栈实战专栏: PyTorch 框架的全栈实战应用,涵盖从模型训练、优化、部署到维护的完整流程
深入理解 TensorRT:深入解析 TensorRT 的核心机制与部署实践,助力构建高性能 AI 推理系统
Megatron-LM 实战笔记:聚焦于 Megatron-LM 框架的实战应用,涵盖从预训练、微调到部署的全流程
AI Agent:系统学习并亲手构建一个完整的 AI Agent 系统,从基础理论、算法实战、框架应用,到私有部署、多端集成
DeepSeek 实战与解析:聚焦 DeepSeek 系列模型原理解析与实战应用,涵盖部署、推理、微调与多场景集成,助你高效上手国产大模型
端侧大模型:聚焦大模型在移动设备上的部署与优化,探索端侧智能的实现路径
行业大模型 · 数据全流程指南:大模型预训练数据的设计、采集、清洗与合规治理,聚焦行业场景,从需求定义到数据闭环,帮助您构建专属的智能数据基座
机器人研发全栈进阶指南:从ROS到AI智能控制:机器人系统架构、感知建图、路径规划、控制系统、AI智能决策、系统集成等核心能力模块
人工智能下的网络安全:通过实战案例和系统化方法,帮助开发者和安全工程师识别风险、构建防御机制,确保 AI 系统的稳定与安全
智能 DevOps 工厂:AI 驱动的持续交付实践:构建以 AI 为核心的智能 DevOps 平台,涵盖从 CI/CD 流水线、AIOps、MLOps 到 DevSecOps 的全流程实践。
C++学习笔记?:聚焦于现代 C++ 编程的核心概念与实践,涵盖 STL 源码剖析、内存管理、模板元编程等关键技术
AI × Quant 系统化落地实战:从数据、策略到实盘,打造全栈智能量化交易系统
大模型运营专家的Prompt修炼之路:本专栏聚焦开发 / 测试人员的实际转型路径,基于 OpenAI、DeepSeek、抖音等真实资料,拆解 从入门到专业落地的关键主题,涵盖 Prompt 编写范式、结构输出控制、模型行为评估、系统接入与 DevOps 管理。每一篇都不讲概念空话,只做实战经验沉淀,让你一步步成为真正的模型运营专家。
点个赞,给我一些反馈动力
⭐ 收藏起来,方便之后复习查阅
关注我,后续还有更多实战内容持续更新