综述由AI生成Diffusion Transformer(DiT) 架构,即使用 ViT 替代扩散模型中的 U-Net。文章详细阐述了 DiT 的三种条件策略及其在视频生成领域的应用改造方法,如 VDT 结构。重点分析了 DiT 在机器人动作预测中的应用,特别是清华大学提出的 PAD(Prediction with Action)框架。PAD 通过联合去噪过程同时预测未来图像和机器人动作,支持多模态输入并在大规模视频数据上预训练,提升了具身控制策略的学习效果。
ApiHolic34 浏览
第一部分 Diffusion Transformer(DiT):将扩散过程中的 U-Net 换成 ViT
1.1 什么是 DiT
1.1.1 DiT:在 VAE 框架之下扩散去噪中的卷积架构换成 Transformer 架构
在 ViT 之前,图像领域基本是 CNN 的天下,包括扩散过程中的噪声估计器所用的 U-net 也是卷积架构,但随着 ViT 的横空出世,人们自然而然开始考虑这个噪声估计器可否用 Transformer 架构来代替。
2022 年 12 月,William Peebles(当时在 UC Berkeley)、Saining Xie(当时在纽约大学)通过论文《Scalable Diffusion Models with Transformers》提出了一种叫 DiT 的神经网络结构。
其结合了视觉 transformer 和 diffusion 模型的优点,即 DiT = DDPM + ViT。
其实早在 2022 年 9 月,清华朱军团队(背后关联的公司为生数科技,后于 24 年 3 月上旬拿到一笔数亿元的融资)就发布了一篇名为《All are Worth Words: A ViT Backbone for Diffusion Models》的论文(其一作为 Fan Bao,比 DiT 早提出两个多月,后被 CVPR 2023 收录),这篇论文提出了用「基于 Transformer 的架构 U-ViT」替代基于卷积架构的 U-Net。
U-ViT 在输出之前可选地添加一个 3×3 的卷积块。这旨在防止 transformer 生成的图像中出现潜在的伪影 (potential artifacts in images)。
受到基于 CNN 的 U-Net 在扩散模型中的成功启发,U-ViT 采用了类似的浅层和深层之间的长跳跃连接 (Inspired by the success of the CNN-based U-Net in diffusion models [65], U-ViT also employs similar long skip connections between shallow and deep layers)。
意思是说,$\boldsymbol{\epsilon}{\boldsymbol{\theta}}\left(\boldsymbol{x}{t}, t, c\right)$ 的目标是像素级预测任务,对低级特征敏感。长跳跃连接为低级特征提供了捷径,因此有助于噪声预测网络的训练。
Intuitively,the objective in Eq. (1) is a pixel-level prediction task and is sensitive to low-level features. The long skip connections provide shortcuts for the low-level features and therefore ease the training of the noise prediction network
1.3.2 比 DiT 更晚之又一个 U-ViT 的工作:Google Research 提出 Simple Diffusion
Google Research 下的 Brain Team,即 Emiel Hoogeboom 等人在 2023 年 1 月份发布的这篇论文《Simple diffusion: End-to-end diffusion for high resolution images》中,也提出了类似 U-ViT 的架构。
如下图所示,本质上,在较低的层次,卷积层被具有自注意力的 MLP 块 (即 transformer) 所取代,且通过残差连接连接起来,只有较高层次的 ResBlocks 使用跳跃连接 (the convolutional layers are replaced by MLP blocks on levels with self-attention. These now form transformer blocks which are connected via residual connections, only the ResBlocks on higher levels use skip connections)。
之前的工作 [17–19,涉及 Learning universal policies via text-guided video generation、Zero-shot robotic manipulation with pretrained image-editing diffusion models、Compositional foundation models for hierarchical planning] 以现成的方式使用图像编辑模型,首先合成目标图像,然后学习目标条件策略。
故第一方面相关的工作是,针对用于具身控制的预训练,具身控制的视觉 - 语言预训练模型,编码了物理知识,可以从多个方面增强具身控制。首先,预训练模型可以直接作为策略,通过生成高层次计划 [37–41,涉及 Do as i can, not as i say: Grounding language in robotic affordances、Code as policies: Language model programs for embodied control] 或产生直接的低层次电机控制信号 [30,33,42–44]。许多研究利用预训练的大型语言模型(LLMs)和视觉语言模型(VLMs)的推理能力来创建高层次的计划,然后是运动原语。
此外,一些方法通过添加动作头来调整预训练模型以发出低层次的电机控制信号。
除了直接作为策略使用之外,预训练模型还可以从多个方面指导策略学习,例如提供良好的表示 [*45–47,涉及 R3m 等]、提供奖励信号 [48–50,涉及 Eureka: Human-level reward design via coding large language models]、合成目标图像 [18- Zero-shot robotic manipulation with pretrained image-editing diffusion models, 51],以及预测未来序列 [17-Learning universal policies via text-guided video generation]。
噪声估计器 $\epsilon_{\theta}\left(z_t, t, c\right)$ 被实现为一个神经网络,并被训练以逼近噪声数据分布的对数密度的梯度 [22-Jonathan Ho and Tim Salimans. Classifier-free diffusion guidance, 2022],即
如果可用,深度图像将被下采样并分词为 $t_E$。
机器人姿态 $x_A$ 使用多层感知器 (MLP)[24-Martin Riedmiller and A Lernen. Multi layer perceptron. Machine Learning Lab Special Lecture, University of Freiburg, 24, 2014] 编码为 $\varepsilon_A\left(x_A\right)$,并线性转换为具有相同嵌入大小 $h$ 的 token $t_A$。
对于 Diffusion Transformer(DiT) 骨干网络,作者采用了 Diffusion Transformer(DiT)[20] 作为 PAD 的模型骨干,这相较于以往工作中常用的 U-net 骨干网络 [18-Zero-shot robotic manipulation with pretrained image-editing diffusion models, 17-Learning universal policies via text-guided video generation] 提供了若干优势。
按照 [15-Latte] 中的初始化过程,作者还从'在 ImageNet 上针对基于类别的图像生成任务进行预训练的 DiT 模型'中初始化了 PAD 权重 [We also initialize the PAD weights from the DiT model pre-trained on ImageNet for the image generation task conditioned on class [20].]。
然而,由于有缺失或不兼容的模型参数,不能直接加载模型。故舍弃 DiT 中的标签嵌入层,并对新的文本嵌入层进行零初始化,且将图像潜在 tokenizer 的权重复制 k + 1 次以编码堆叠的潜在变量,并且机器人状态的编码器和解码器也进行零初始化。
其次,对于训练目标
扩散过程向目标编码的潜在变量 $\left{\varepsilon_I\left(x_I\right), \varepsilon_A\left(x_A\right), \varepsilon_E\left(x_E\right)\right}$ 添加噪声,并产生噪声潜在变量 $Z_{I, A, E}=\left{z_t^I, z_t^A, z_t^E\right}$。
别忘了,上面所说的——PAD 框架同时输出相应的未来预测,和机器人动作。
作者训练 PAD 模型以同时预测添加到样本数据上的噪声 $\epsilon^I, \epsilon^A, \epsilon^E$,这些噪声是基于当前观察 $C_{I, A, E}=\left{c_I, c_A, c_E\right}$ 和指令 $l$ 的条件。这个去噪器使用 DDPM [5] 损失进行训练:
具体而言,作者将预测范围配置为 k = 3,并将帧间间隔设置为 i = 4,适用于 Metaworld 和现实世界任务。
然后,机器人使用简单的线性插值运动规划器移动到第一个期望姿态,触发下一次预测循环。
在策略执行过程中,作者使用 75 步的 DDIM 采样 [5] 来对未来图像 $x_I^{1: K}$ 和动作 $x_A^{1: k}$ 的 $k$ 步进行去噪。这些 k 步预测可以视为 k 步规划,只有第一个预测动作 $x_A^1$ 由机器人执行。
在实验的过程中,作者选择与以下方法进行比较:
扩散策略 [16]——一种新颖的视觉控制策略,通过动作扩散器生成机器人动作。
考虑到扩散策略在所有任务上使用单一文本条件视觉策略进行训练。
故作者对原始扩散策略模型进行了增强,添加了指令条件以解决多任务设置。且使用 CLIP 编码器 [25-Learning transferable visual models from natural language supervision. In International conference on machine learning] 作为指令编码器,参考相关工作 [29-Scaling up and distilling down: Language-guided robot skill acquisition]。
SuSIE [18]。
一种两阶段方法,利用预训练的图像编辑模型 [26] 为机器人任务生成图像目标,然后是目标条件的低级扩散策略。
作者在相同的数据集上微调图像编辑扩散模型,并使用扩散策略进行目标条件行为克隆。为了确保公平比较,作者也使用更强大的 DiT 框架作为图像编辑模型。