当前位置: 首页 > news >正文

DiT:Diffusion Transformer原理简介

论文:Scalable Diffusion Models with Transformers(ICCV 2023)
作者:William Peebles、Saining Xie
官方仓库:https://github.com/facebookresearch/DiT

一、DiT 诞生背景与核心定位

1. 传统扩散模型痛点

过往潜空间扩散模型(SD、DDPM)全部采用卷积U-Net作为去噪骨干:

  1. 缩放能力有限:单纯增大参数量,图像生成质量提升微弱,存在性能天花板;
  2. 强卷积归纳偏置:依赖局部卷积先验,对多模态、超大分辨率场景适配性差;
  3. 多层跳跃连接、多尺度卷积堆叠,架构复杂,分布式训练优化难度高。

2. DiT核心创新

DiT 完全抛弃卷积U-Net,用纯Vision Transformer(ViT)作为扩散模型去噪骨干,证明卷积局部先验并非图像生成的必要条件,同时具备完美的缩放定律:模型深度、宽度、Patch数量越大,算力越高,生成FID指标持续下降,画质稳定提升,无性能瓶颈。

3. 基础运行框架(纯分类条件,无文本Prompt)

DiT 基于潜扩散LDM框架,仅替换U-Net去噪网络,VAE编解码完全保留,完整数据流:

原图 → VAE Encoder → 4通道潜图 z₀ → 扩散前向加噪 → 带噪潜变量 z_t → DiT Transformer 预测噪声 → 反向还原干净潜图 z₀ → VAE Decoder 解码 → 输出RGB像素图像

条件说明:原版DiT为类别条件生成,条件仅包含两项:

  1. 时间步ttt:代表当前潜图噪声强度;
  2. 类别标签yyy:ImageNet数据集数字类别ID(0~999),无文本、无CLIP编码器,不支持自然语言Prompt。

二、DiT 完整整体架构

2.1 五大核心组件

  1. PatchEmbed(Patch分块嵌入)
    输入是VAE输出的二维潜图(如32×32×4),使用卷积等价线性层,将固定尺寸Patch(论文标准patch_size=2)映射为固定维度Token序列;
    随后叠加固定2D正弦余弦位置编码(不可学习),给每个Patch注入空间位置信息。
    示例:32×32潜图、patch=2 → 1024个图像Token。

  2. 条件编码模块(TimestepEmbedder + LabelEmbedder)
    分别处理时间步ttt、类别标签yyy,输出同维度向量后相加融合,得到全局一维条件向量c=temb+yembc = t_{emb} + y_{emb}c=temb+yemb

    • TimestepEmbedder:标量时间步t → 正弦频率升维256维 → 双层MLP非线性变换,输出与模型隐藏层同维度的时间嵌入;
    • LabelEmbedder:数字类别ID y → Embedding查表,输出等维度类别嵌入;

    关键特性:单次推理全程yyy固定不变,条件向量ccc仅计算1次,所有DiT Block共用同一份ccc

  3. 堆叠多层DiT Block(核心计算单元)
    由N层完全相同的Transformer块串联组成,所有特征调制、注意力计算均在块内完成,块内部核心创新为adaLN-Zero自适应归一化条件注入机制。

  4. FinalLayer 输出调制层
    复用全局条件ccc做自适应归一化调制,将Token序列映射回Patch维度,支持同时预测噪声与方差(learn_sigma)。

  5. Unpatchify 无参数复原层
    仅通过张量reshape、维度置换,无任何可训练参数,将一维Token序列还原为二维潜图,送入VAE解码器。

2.2 四种DiT Block 条件注入方案消融

论文对比4种给Transformer注入条件(t、y)的方案,最终选择性能最优、开销最低的adaLN-Zero

方案实现逻辑计算开销FID效果深层训练稳定性
In-Context 拼接Token将条件编码为独立Token,拼接到图像Token序列前端,统一自注意力最低最差一般
Cross-Attention 交叉注意力自注意力后新增交叉注意力层,图像Token为Q,条件向量为KV最高(+15%算力)中等较差,深层易震荡
基础adaLN条件向量回归LN缩放γ、偏移β,无残差门控α中等不稳定,易梯度消失
adaLN-Zero(论文选用)基础adaLN基础上新增残差门控α,调制MLP末层全零初始化最优极强

三、核心创新:adaLN-Zero 完整原理

3.1 模块作用

摒弃交叉注意力、Token拼接等高开销方案,通过自适应归一化调制将全局一维条件ccc注入每一层图像特征;全程不新增额外注意力层,算力开销极低。

3.2 数学与数据流

  1. 输入:图像Token特征xxx、全局共享条件向量ccc
  2. 条件投影MLP:输入ccc,一次性输出6组独立调制参数:
    shiftattn, scaleattn, gateattn, shiftmlp, scalemlp, gatemlpshift_{attn},\ scale_{attn},\ gate_{attn},\ shift_{mlp},\ scale_{mlp},\ gate_{mlp}shiftattn,scaleattn,gateattn,shiftmlp,scalemlp,gatemlp
  3. 自注意力支路流程
    自适应归一化公式:h=LN(x)⋅(1+γ)+βh = \text{LN}(x) \cdot (1+\gamma) + \betah=LN(x)(1+γ)+β
    • 使用scaleattn(γ1)scale_{attn}(\gamma_1)scaleattn(γ1)shiftattn(β1)shift_{attn}(\beta_1)shiftattn(β1)对无参数LayerNorm输出做缩放偏移;
    • 多头自注意力计算图像Patch之间的空间关联;
    • 残差连接,乘门控系数gateattn(α1)gate_{attn}(\alpha_1)gateattn(α1)xout=xin+α1⋅Attnoutx_{out}=x_{in}+\alpha_1 \cdot Attn_{out}xout=xin+α1Attnout
  4. FFN前馈支路:逻辑与自注意力支路完全一致,使用配套shiftmlp/scalemlp/gatemlpshift_{mlp}/scale_{mlp}/gate_{mlp}shiftmlp/scalemlp/gatemlp调制。

3.3 Zero零初始化(最关键创新点)

调制支路adaLN_modulation双层MLP的最后一层线性层权重、偏置全部初始化为0,带来两大训练增益:

  1. 训练初期等价恒等映射
    初始化阶段6组调制参数全部输出0:
    • γ=0,β=0\gamma=0,\beta=0γ=0,β=0,代入公式h=LN(x)⋅(1+0)+0h=\text{LN}(x)\cdot(1+0)+0h=LN(x)(1+0)+0,自适应LN退化为标准无参数LayerNorm;
    • α=0\alpha=0α=0,残差支路输出全部归零;
      整层DiT Block输入特征=输出特征,等价恒等映射。深层网络梯度可无衰减逐层传递,彻底解决深层Transformer梯度消失、训练震荡、难以收敛的问题。
  2. 渐进式学习逻辑
    训练迭代中参数逐步更新,门控系数α\alphaα从0缓慢激活残差支路;模型从简单恒等映射逐步学习复杂图像特征映射关系,收敛速度大幅提升。

四、DiT 模型规格变体

论文提供4种标准尺寸,命名规则DiT-XX/p,后缀/p代表Patch尺寸:

模型Transformer层数隐藏层维度注意力头数总参数量
DiT-S/212384633M
DiT-B/21276812130M
DiT-L/224102416458M
DiT-XL/228115216675M

Patch尺寸消融实验

Patch越小,图像Token数量越多,模型捕捉细节能力越强,FID越低,但算力、显存占用指数级上升:

Patch尺寸Token总数单轮推理GFLOPsImageNet FID
8640.924.8
42562.320.1
210245.719.5

五、训练与推理流程

5.1 训练阶段(DDPM扩散训练目标)

  1. 图像送入VAE编码器,压缩为4通道潜图z0z_0z0
  2. 随机采样时间步ttt,根据扩散公式给z0z_0z0添加噪声,得到带噪潜图ztz_tzt
  3. 采样类别标签yyy,编码融合得到全局条件ccc
  4. DiT网络输入zt、t、yz_t、t、yztty,预测潜图中添加的噪声;
  5. 损失函数为预测噪声与真实噪声的MSE,反向传播更新DiT全部权重;
  6. 支持CFG(Classifier-Free Guidance)训练:10%概率随机丢弃类别标签,学习无条件生成,推理时提升画面细节。

5.2 推理生成阶段(采样)

  1. 初始化纯高斯噪声潜图;
  2. 设定目标生成类别yyy,全程固定不变,仅计算一次条件向量ccc
  3. 从最大时间步逐步反向采样,每一步送入DiT预测当前噪声;
  4. 结合CFG权重融合条件/无条件噪声预测,逐步去除潜图噪声;
  5. 采样完成后得到干净潜图,送入VAE解码器输出最终图像。

六、DiT 对比传统U-Net扩散模型

对比维度U-Net(SD/DDPM)DiT(原版分类条件)
骨干架构多层卷积、上下采样、跳跃连接纯Transformer,Patch Token序列+多头自注意力,无卷积、无跳跃连接
空间归纳偏置极强,卷积天然捕捉局部像素关系极弱,无内置空间先验,完全依靠数据学习图像结构
条件注入方式时间嵌入叠加、交叉注意力融合条件adaLN-Zero自适应归一化调制,无额外注意力层,算力开销更低
模型缩放能力缩放收益有限,参数量提升画质增长缓慢,存在性能瓶颈完美遵循缩放定律,模型越大算力越高,画质持续稳定提升
条件类型可扩展文本、类别等多类条件原版仅支持ImageNet数字类别标签,无文本Prompt、无CLIP编码器
训练稳定性深层网络易震荡、梯度消失adaLN-Zero零初始化实现恒等映射,深层训练收敛稳定

七、工程落地关键规范

  1. Patch尺寸选型:论文标准折中配置patch_size=2,兼顾画质与显存占用;
  2. 位置编码规范:必须使用固定2D正弦余弦位置编码requires_grad=False不参与梯度更新,区别于ViT可学习位置编码;
  3. 零初始化强制约束:adaLN-Zero调制MLP末层、FinalLayer输出线性层,权重、偏置必须全零初始化,否则深层模型极易训练震荡、无法收敛;
  4. Unpatchify无参数约束:仅做张量维度变换,不使用卷积层,无任何可训练参数,避免引入额外训练偏差;
  5. 数据集规范:原版DiT基于ImageNet分类数据集训练,评测标准样本量50000张;样本量低于10000时FID指标波动极大,无法用于横向性能对比。

八、总结

  1. 架构革新:DiT是首个完整使用纯Transformer替代扩散模型U-Net去噪骨干的框架,保留LDM潜空间压缩方案,仅替换中间去噪网络;
  2. 核心突破 adaLN-Zero:自适应归一化+零初始化残差门控实现轻量化条件注入,解决深层Transformer训练不稳定、梯度消失问题,综合性能优于交叉注意力、Token拼接等方案;
  3. 缩放定律价值:实验证明扩散模型具备明确的缩放定律,模型参数量、算力提升可稳定降低FID、提升图像生成质量,为超大尺度图像、视频生成模型奠定理论基础;
  4. 原版DiT边界:原版仅支持ImageNet数字类别条件生成,无文本编码器、不支持自然语言Prompt;支持文字Prompt的是后续多模态扩展MMDiT,不属于论文原版DiT架构。
http://www.jsqmd.com/news/1276472/

相关文章:

  • 校招自我介绍千篇一律被面试官无视?OfferGoose 鹅来面 AI 三层设计法:30 秒定制差异化版本,拉高首因印象分
  • 2026年工业风扇定制厂家探析:大型节能厂房通风降温的源头实力与适配逻辑 - 卓企推荐
  • 规上工业增加值涨了5.4%,但排产还在用Excel?JVS-APS智能排产与您聊聊制造业数字化转型的“最后一公里“
  • 从《哆啦A梦》房子机器人看智能家居设计:如何避免系统越权与用户冲突
  • 为什么选择TonY?探索Hadoop原生深度学习框架的4大核心优势
  • TI LP87745-Q1汽车雷达PMIC评估:低噪声电源与ASIL-C功能安全实战
  • Ubuntu 24.04安装配置搜狗输入法完整指南
  • Chunky场景导入与导出全攻略:高效管理你的Minecraft渲染项目
  • AI搜索时间线不是线性的!揭示被忽略的3个断裂带、2次技术回滚与1次标准组织暗战(附原始时间戳证据链)
  • EEGLAB核心功能解析:独立成分分析(ICA)如何提升脑电信号质量
  • 多智能体系统14种失败模式的底层逻辑
  • 终极Searx入门教程:从安装到配置,5分钟拥有无广告搜索体验
  • 多款长途大件托运亲身实测|TOP4靠谱清单整理,新手寄件零踩雷 - 时讯资讯
  • Python毕设项目:基于Python的面向高校的毕业生去向信息化调查系统 毕业生就业状态更新与反馈管理平台 (源码+文档,讲解、调试运行,定制等)
  • 2026年7月发布大金空调售后服务电话24小时全新专属热线升级公示最新公告 - 全国网点服务中心
  • 越跌越卷,中国电视市场的“马太效应”才刚开始
  • 2024年Remote项目精选:50+支持远程办公的国际企业全解析
  • 大模型应用工程师技术体系与实战指南
  • Claude 3 Opus刷新ARC-AGI基准测试纪录:从记忆到推理的AI进化
  • 桌面版语音控制AI智能体:从环境配置到任务自动化实践
  • AI自动化与未来工作形态:技术如何重塑就业与社会制度
  • Zappa.js与传统Express开发对比:5个让你彻底放弃原生编码的理由
  • 解锁 SJTUBeamer 高级功能:代码块高亮、数学公式与图表完美呈现
  • 【通义千问免费功能深度解密】:2024年最新实测的7大隐藏能力,90%用户还没用全!
  • 中小企业智能客服系统选哪家?2026年靠谱推荐看这里 - 2027品牌AI展
  • DSP架构如何优化AES加密性能:从原理到工程实践
  • 视觉大语言模型技术演进与工程实践
  • 大模型时代的命名实体识别技术解析与实践
  • 深圳搬家省钱攻略:五个降成本技巧与报价谈判术 - szxybj
  • FFmpeg C/C++编程入门:从核心概念到实战转码与缩放