Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Diffusion Forcing

Diffusion forcing 训练因果模型对序列中的 token 去噪,每个 token 都带有自己的噪声级别,以实现稳定的长视频推演和规划。

扩散强制是一种序列生成器训练方法:序列中的每个词元,例如视频帧或机器人动作,都会获得独立采样的噪声等级;因果模型则学习根据部分带噪的历史内容对每个词元去噪。用这种方式训练出的单个模型,既可以像大型语言模型(LLM)预测下一个词元一样逐步生成序列,也可以像完整序列扩散模型一样将整个未来引导至目标方向。MIT 的 Boyuan Chen、Diego Martí Monsó、Yilun Du、Max Simchowitz、Russ Tedrake 和 Vincent Sitzmann 于 2024 年 7 月提出了这一方法,并发表论文 Diffusion Forcing: Next-token Prediction Meets Full-Sequence Diffusion,该论文发表于 NeurIPS 2024。

将噪声视为部分遮蔽#

教师强制训练自回归模型,让它根据干净的真实历史内容预测下一个词元;因此在生成时,模型第一次遇到的是自己不完美的输出,长时间的视频生成过程会因错误累积而逐渐偏离。完整序列扩散会在同一个噪声等级下对所有帧一起去噪,虽然支持引导,但序列长度固定,而且无法在中途根据新观测作出调整。

扩散强制将噪声视为部分遮蔽:干净词元完全可见,纯噪声会将其完全隐藏,而两者之间的每个等级都会隐藏其中一部分。对每个词元使用独立噪声等级进行训练,能让单个模型一次学会所有组合,包括历史帧干净、下一帧完全带噪的情况(即下一个词元预测),以及每一帧噪声相同的情况(即完整序列扩散)。论文证明,这个目标可以优化所有子序列似然的变分下界。其参考实现 Causal Diffusion Forcing 使用循环神经网络的隐藏状态总结带噪历史;作者后来还发布了 Transformer 版本。

采样调度#

由于任意噪声等级组合都属于分布内,生成过程可以按照去噪轮次和帧构成的二维调度进行。论文中的之字形调度会让每帧的去噪开始时间比前一帧稍晚:

import torch

torch.manual_seed(0)
frames, levels = 5, 4  # a 5-frame clip; noise levels run from 0 (clean) to 4 (pure noise)

# Training: every frame gets its own random noise level, so any mix of clean and noisy frames is seen
print("Training noise levels:", torch.randint(0, levels + 1, (frames,)).tolist())

# Sampling with a zig-zag schedule: each row is one denoising pass over all frames, and frame i
# starts denoising i passes after frame 0, so the near future is always cleaner than the far future
for step in range(levels + frames):
    row = [min(max(levels - step + i, 0), levels) for i in range(frames)]
    print(f"pass {step}: {row}")

训练示意行会为一个片段绘制诸如 [4, 4, 3, 0, 3] 这样的等级组合,这种组合既不是教师强制也不是完整序列扩散所使用的。调度中,第 0 轮为纯噪声;到第 4 轮时,第一帧已经干净,而第五帧仍然完全带噪;经过 8 轮后,片段生成完成。论文在规划任务中使用这种形式,因为它将近期未来视为比远期未来更确定。

长时间生成过程还会用到另一个技巧。对每个新帧进行条件化时,使用之前生成帧的轻微带噪副本,而不是干净副本,可以让模型更能容忍自身的小错误。在 DMLab 导航数据集上,使用 36 帧片段训练的模型可以连续生成 2,000 帧而不发散,基线模型则会发散。

引导、规划与机器人#

完整序列引导同样适用:在采样过程中,奖励或目标可以引导带噪的未来帧。论文中的蒙特卡洛引导会生成多个可能的未来,并对引导梯度求平均;该方法改善了强化学习研究中使用的迷宫规划任务结果。在机器人方面,作者使用模仿学习训练真实机械臂交换两种水果的位置,并借助第三个空位完成操作。由于水果最初随机放置在不同位置,这项任务需要记忆。扩散强制的成功率为 80%,而不具备记忆能力的 Diffusion Policy 无法完成任务;即使加入视觉干扰,甚至完全遮挡摄像头,它的成功率仍达到 76%,而将受损帧视为真实数据的下一帧扩散基线只有 48%。同一个模型还可以处理时间序列预测。

视频模型中的扩散强制#

MIT 团队提出的扩散强制 Transformer(DFoT)源自 2025 年 2 月发表的 History-Guided Video Diffusion,可根据任意数量的过去帧进行条件化,并将这些历史帧用作引导信号。Skywork AI 于 2025 年 4 月发布的 SkyReels-V2,会将预训练的完整序列视频模型微调为扩散强制模型,其噪声等级从一帧到下一帧只增不减,因此视频可以逐块延长。预测场景在AI 智能体的操作下如何演变的视频世界模型,也需要同样稳定的因果生成过程。长序列生成能否保持对象一致性,可以通过对象跟踪来衡量:Ultralytics YOLO26的跟踪模式会为每个检测到的对象分配一个跨帧持续不变的 ID,因此,如果一辆汽车在生成片段中始终保有同一个跟踪 ID,就说明它的身份保持一致。

  • 扩散语言模型:在多个步骤中并行取消遮蔽离散文本词元,每个步骤共用一个掩码比例。
  • 扩散策略:以相同噪声等级对一段机器人动作进行去噪,并以干净的观测数据为条件。
  • 文本到视频扩散:大多数系统使用完整序列扩散生成固定长度片段,而扩散强制的变体可以一次一块地将片段延长到该长度之外。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来