前言
DiT(Diffusion Transformer)作为近年来扩散模型领域的重要创新,不仅广泛应用于视频生成,在机器人动作预测等具身智能任务中也展现出巨大潜力。本文旨在系统梳理 DiT 的核心架构、条件策略及其在多模态场景下的应用演进。
一、Diffusion Transformer (DiT) 核心架构
1.1 什么是 DiT
在 Vision Transformer (ViT) 出现之前,图像生成领域的噪声估计器主要基于卷积架构的 U-Net。随着 Transformer 在视觉领域的成功,研究者开始探索将其引入扩散过程。
2022 年 12 月,William Peebles 与 Saining Xie 在论文《Scalable Diffusion Models with Transformers》中提出了 DiT 结构。其核心思想是将扩散模型中的卷积 U-Net 骨干替换为 Transformer 架构,即 DiT = DDPM + ViT。这种设计充分利用了 Transformer 的可扩展性优势。
1.2 DiT 的条件策略
DiT 通过多种机制将条件信息(如时间步 t、类别标签 y 或文本指令)融入去噪过程。常见的三种策略包括:
- adaLN-Zero block:借鉴 ResNets 的初始化经验,对自适应层归一化参数进行零初始化,加速大规模训练收敛。相比直接学习缩放和偏移参数,该方式回归更稳定。
- 交叉注意力块 (Cross-Attention):将条件嵌入连接成序列,在自注意力后增加交叉注意力层。这种方式能灵活融合多模态信息,但计算开销略有增加(约 15% Gflops)。
- 上下文条件化 (In-context Conditioning):将时间步和类别向量作为额外 token 追加到输入序列中,类似 ViT 的 cls token。该方法无需修改标准 Transformer 块,计算开销可忽略。
在实际推理中,潜在输入被分解为 patch 并经过多个 DiT Block 处理。最终输出噪声预测值及协方差矩阵,经过 T 步采样即可得到降噪后的潜在表示。
二、DiT 在视频生成中的应用改造
若要将 DiT 用于视频生成,需在原有架构基础上引入时间维度。典型的改造方案包括:
- 时空 Token 化:将噪音 Patch 线性化后,并入 Text Prompt Condition 和 Time Step Condition,共同作为 Transformer 输入。
- 引入时间注意力模块:Transformer 内部通常包含 Local Spatial Attention(收集帧内空间信息)、Causal Time Attention(收集历史时间信息)以及 MLP 模块。其中 Causal Time Attention 确保当前帧只能关注历史帧,维护视频的时间一致性。
- 支持变长分辨率:利用 0/1 Attention Mask 矩阵,限制不同帧之间的 Attention 交互,从而支持 NaViT 导致的每帧不同分辨率和长宽比问题。
三、相关工作与演进
3.1 早期探索:U-ViT
在 DiT 提出前,清华朱军团队于 2022 年 9 月发布了 U-ViT 工作。该研究同样尝试用 Transformer 替代 U-Net,并引入了长跳跃连接以保留低级特征,加速训练收敛。两者在实验路径上高度一致,均验证了 Patch Size 为 2×2 时的最佳效果及模型的 Scale 特性。
3.2 后续优化:Simple Diffusion & U-DiT
Google Research 提出的 Simple Diffusion 进一步简化了端到端训练流程,指出仅将 U-Net 缩放到特定分辨率并结合 Dropout 即可提升性能。而北大与华为联合提出的 U-DiT 则重新审视了 U-Net 架构,通过下采样自注意力机制降低算力消耗,试图在保持 U-Net 归纳偏置的同时结合 Transformer 的优势。
四、DiT 在机器人动作预测中的应用:PAD 框架
4.1 背景与挑战
扩散策略(Diffusion Policy)已在机器人控制中证明有效性,但传统方法往往依赖任务特定的从头训练,难以利用互联网上的大规模预训练数据。此外,预测未来状态与执行动作通常是分离的两阶段过程,忽略了二者间的深层物理联系。
4.2 PAD 框架概述
清华大学等机构提出的 PAD(Prediction with Action)框架,在 DiT 架构下整合了预测和动作。该框架允许在大规模视频数据和机器人演示数据上进行协同训练,利用 DiT 的灵活性无缝合并 RGB 图像、深度图、机器人姿态及自然语言指令等多种模态。


