来自 UC 伯克利的 William Peebles 以及纽约大学的谢赛宁撰文揭秘散布模型中架构选择的意义,并为未来的天生模型钻研提供经验基线。
近几年,在 Transformer 的推动下,机器学习正在经历复兴。过去五年中,用于自然语言处理、计算机视觉以及其他领域的神经架构在很大程度上已被 transformer 所占据。不过还有许多图象级天生模型仍然不受这一趋势的影响,例如过去一年散布模型在图象天生方面取得了惊人的成果,几乎所有这些模型都使用卷积 U-Net 作为骨干。这有点令人惊讶!在过去的几年中,深度学习的大事件一直是跨领域的 Transformer 的主导地位。U-Net 或卷积是否有什么特别之处使它们在散布模型中表现得如此出色?将 U-Net 骨干网络首次引入散布模型的钻研可追溯到 Ho 等人,这种设想模式继承了自回归天生模型 PixelCNN++,只是稍微进行了一些改动。而 PixelCNN++ 由卷积层组成,其包含许多的 ResNet 块。其与标准的 U-Net 相比,PixelCNN++ 附加的空间自注意力块成为 transformer 中的基本组件。不同于其他人的钻研,Dhariwal 和 Nichol 等人消除了 U-Net 的几种架构选择,例如使用自适应归一化层为卷积层注入条件信息和通道计数。本文中来自 UC 伯克利的 William Peebles 以及纽约大学的谢赛宁撰文《 Scalable Diffusion Models with Transformers 》,目标是揭开散布模型中架构选择的意义,并为未来的天生模型钻研提供经验基线。该钻研表明,U-Net 归纳偏置对散布模型的性能不是至关重要的,并且可以很容易地用标准设想(如 transformer)取代。这一发现表明,散布模型可以从架构统一趋势中受益,例如,散布模型可以继承其他领域的最好实践和训练方法,保留这些模型的可扩张性、鲁棒性和效率等有利特性。标准化架构也将为跨领域钻研开辟新的可能性。
论文地址:https://arxiv.org/pdf/2212.09748.pdf项目地址:https://github.com/facebookresearch/DiT论文主页:https://www.wpeebles.com/DiT该钻研专注于一类新的基于 Transformer 的散布模型:Diffusion Transformers(简称 DiTs)。DiTs 遵循 Vision Transformers (ViTs) 的最好实践,有一些小但重要的调整。DiT 已被证明比传统的卷积网络(例如 ResNet )具有更有效地扩张性。具体而言,本文钻研了 Transformer 在网络复杂度与样本质量方面的扩张行为。钻研表明,通过在潜在散布模型 (LDM) 框架下构建 DiT 设想空间并对其进行基准测试,其中散布模型在 VAE 的潜在空间内进行训练,可以成功地用 transformer 替换 U-Net 骨干。本文进一步表明 DiT 是散布模型的可扩张架构:网络复杂性(由 Gflops 测量)与样本质量(由 FID 测量)之间存在很强的相关性。通过简单地扩张 DiT 并训练具有高容量骨干(118.6 Gflops)的 LDM,可以在类条件 256 × 256 ImageNet 天生基准上实现 2.27 FID 的最新结果。Diffusion TransformersDiTs 是一种用于散布模型的新架构,目标是尽可能忠实于标准 transformer 架构,以保留其可扩张性。DiT 保留了 ViT 的许多最好实践,图 3 显示了完整 DiT 体系架构。
DiT 的输出为空间表示 z(对于 256 × 256 × 3 图象,z 的形状为 32 × 32 × 4)。DiT 的第一层是 patchify,该层通过将每个 patch 线性嵌入到输出中,以此将空间输出转换为一个 T token 序列。patchify 之后,本文将标准的基于 ViT 频率的位置嵌入应用于所有输出 token。patchify 创建的 token T 的数量由 patch 巨细超参数 p 决定。如图 4 所示,将 p 减半将使 T 翻四倍,因此至少能使 transformer Gflops 翻四倍。本文将 p = 2,4,8 添加到 DiT 设想空间。
DiT 块设想:在 patchify 之后,输出 token 由一系列 transformer 块处理。除了噪声图象输出之外,散布模型有时还会处理额外的条件信息,例如噪声时间步长 t、类标签 c、自然语言等。本文探索了四种以不同方式处理条件输出的 transformer 块变体。这些设想对标准 ViT 块设想进行了微小但重要的修改。所有模块的设想如图 3 所示。本文尝试了四种因模型深度和宽度而异的配置:DiT-S、DiT-B、DiT-L 和 DiT-XL。这些模型配置范围从 33M 到 675M 参数,Gflops 从 0.4 到 119 。实验钻研者训练了四个最高 Gflop 的 DiT-XL/2 模型,每个模型使用不同的 block 设想 ——in-context(119.4Gflops)、cross-attention(137.6Gflops)、adaptive layer norm(adaLN,118.6Gflops)或 adaLN-zero(118.6Gflops)。然后在训练过程中测量 FID,图 5 为结果。
扩张模型巨细和 patch 巨细。图 2(左)给出了每个模型的 Gflops 和它们在 400K 训练迭代时的 FID 概况。可以发现,增加模型巨细和减少 patch 巨细会对散布模型产生相当大的改进。图 6(顶部)揭示了 FID 是如何随着模型巨细的增加和 patch 巨细保持不变而变化的。在四种设置中,通过使 Transformer 更深、更宽,训练的所有阶段都获得了 FID 的明显提升。同样,图 6(底部)揭示了 patch 巨细减少和模型巨细保持不变时的 FID。钻研者再次观察到,在整个训练过程中,通过简单地扩大 DiT 处理的 token 数量,并保持参数的大致固定,FID 会得到相当大的改善。
图 8 中揭示了 FID-50K 在 400K 训练步数下与模型 Gflops 的对比:
SOTA 散布模型 256×256 ImageNet。在对扩张分析之后,钻研者继续训练最高 Gflop 模型 DiT-XL/2,步数为 7M。图 1 揭示了该模型的样本,并与类别条件天生 SOTA 模型进行比较,表 2 中揭示了结果。
当使用无分类器指导时,DiT-XL/2 优于之前所有的散布模型,将之前由 LDM 实现的 3.60 的最好 FID-50K 降至 2.27。如图 2(右)所示,相对于 LDM-4(103.6 Gflops)这样的潜在空间 U-Net 模型来说,DiT-XL/2(118.6 Gflops)计算效率高得多,也比 ADM(1120 Gflops)或 ADM-U(742 Gflops)这样的像素空间 U-Net 模型效率高很多。
表 3 揭示了与 SOTA 方法的比较。XL/2 在这一分辨率下再次胜过之前的所有散布模型,将 ADM 之前取得的 3.85 的最好 FID 提高到 3.04。
更多钻研细节,可参考原论文。
原创文章,作者:机器之心,如若转载,请注明出处:https://www.iaiol.com/news/24365