论文标题:Meta-Transformer: A Unified Framework for
Multimodal Learning
论文地址:https://arxiv.org/pdf/2307.10802.pdf
多模态学习旨在构建能够处理和关联多种模态信息的模型。尽管该领域已经有多年的发展,但由于它们之间的差异,设计一个处理各种模态(例如自然语言) 、2D图像、3D点云、音频、视频、时间序列、表格数据)的统一网络仍然具有挑战性。
在这篇论文中,作者提出了一个名为"元变压器"的框架,该框架利用一个冻结的编码器在没有布局的情况下的多模态训练数据的情况下执行多模态采集。元变压器的目标是将来自不同模态的输入数据映射到共享的标记空间,以便后续的编码器可以提取输入数据的高级语义特征。
元变压器由三个主要组件组成:统一的数据标记器、统一的模态共享编码器和用于下游模态任务的特定任务头部。它是第一个在不同的基准测试的实验中可以通过模态数据在12种模态上执行统一学习的模型,元转换器可以处理广泛的任务,包括基本感知(文本、图像、点云、音频、视频)、实际应用(X射线、红外、高光谱和惯性测量)单元)、以及数据挖掘(图形、表格和时间序列)。
元转换器为使用变压器进行统一多模态智能的发展指明了一个有希望的未来。
代码将在https://github.com/invictus717/MetaTransformer 上
从上图表格观察,不难看出相比于现有工作,Meta-Transformer 可以利用统一的模态共享编码器来处理更多的模态,并且摆脱了多模态训练过程中对于配对数据的依赖性。
在这一部分,将介绍目前基于Transformer的多模态感知方法,它利用Transformer的全局感受野和相似性建模优势来处理多模态数据。具体地,我们将介绍几种相关的技术,包括MCAN、VL-BERT、Oscar、BEiT-v3和MoMo。
尽管上述基于Transformer的多模态感知技术取得了一定的进展,但仍然存在一些重要的挑战。不同模态之间的差异导致了现有模型的局限性,而大部分研究工作集中在视觉和语言任务上,对于其他模态如3D点云理解和音频识别的挑战贡献较少。此外,现有多模态模型的可迁移性有限,难以充分利用一种模态的先验知识来帮助其他模态。因此,为了解决这些问题并实现多模态数据的统一学习,论文提出了一种全新的框架——Meta-Transformer。
Meta-Transformer将来自不同模态的数据处理管道统一起来,使用共享编码器来编码文本、图像、点云、音频等8种模态的数据。
为了实现这一目标Meta-Transformer包含三个主要组件:数据到序列的分词器(data-to-sequence tokenizer)、模态不可知编码器(modality-agnostic encoder)和任务特定的输出头(task-specific heads),如下图所示
在介绍模型之前,需要了解一些模型预先的知识。
Meta-Transformer框架结构将输入空间的n个模态表示为 { X 1 , X 2 , ⋅ ⋅ ⋅ , X n } \lbrace X_1, X_2, · · · , X_n \rbrace {X1,X2,⋅⋅⋅,Xn},相应的标签空间为 { Y 1 , Y 2 , ⋅ ⋅ ⋅ , Y n } \lbrace Y_1, Y_2, · · · , Y_n \rbrace {Y1,Y2,⋅⋅⋅,Yn}。假设每个模态都有一个有效的参数空间 Θ i \Theta_i Θi,其中任何参数 θ i ∈ Θ i \theta_i \in \Theta_i θi∈Θi都可以用于处理来自该模态的数据 x i ∈ X i x_i \in X_i xi∈Xi。Meta-Transformer的核心思想是找到一个共享的参数 θ ∗ \theta^* θ∗
让 θ ∗ θ^* θ∗满足以下条件:
θ ∗ ∈ Θ 1 ∩ Θ 2 ∩ Θ 3 ∩ ⋅ ⋅ ⋅ Θ n \theta^∗ \in \Theta_1 \cap \Theta_2 \cap \Theta_3 \cap · · · \Theta_n θ∗∈Θ1∩Θ2∩Θ3∩⋅⋅⋅Θn
并假设:
Θ 1 ∩ Θ 2 ∩ Θ 3 ∩ ⋅ ⋅ ⋅ Θ n ≠ ⊘ \Theta_1 \cap \Theta_2 \cap \Theta_3 \cap · · · \Theta_n \neq \oslash Θ1∩Θ2∩Θ3∩⋅⋅⋅Θn=⊘
多模态神经网络可以表示为一个统一的映射函数
F : x ∈ X → y ^ ∈ Y F:x \in X → \hat y \in Y F:x∈X→y^∈Y
其中 x x x是来自任意模态 { X 1 , X 2 , ⋅ ⋅ ⋅ , X n } \lbrace X1, X2, · · · , Xn \rbrace {X1,X2,⋅⋅⋅,Xn}的输入数据, y ^ \hat y y^表示网络的预测结果。我们将 y y y表示为真实标签,多模态管道可以表示为:
y ^ = F ( x ; θ ∗ ) , θ ∗ = a r g m i n x ∈ X [ L ( y ^ , y ) ] \hat y = F(x; \theta^∗), \theta^∗ = argmin_{x\in X} [L(\hat y, y)] y^=F(x;θ∗),θ∗=argminx∈X[L(y^,y)]。
论文提出了一种新颖的元分词方案,旨在将各种模态的数据转换为token嵌入,并将它们统一到一个共享的嵌入空间中。
该方案应用于分词,同时考虑到各个模态的特性,如下图所示。我们以文本、图像、点云和音频为例进行解释。
在这个例子中,单词“supermarket”被分割成两个子词“_super”和“market”,单词“hosting”被分割成“host”和“ing”,而其他单词保持不变,仍然是单个单位。每个原始单词的第一个字符前面会加上特殊字符“”,表示一个自然单词的开始。每个子词对应于词汇表中的一个唯一token,然后通过单词嵌入层将其投影到高维特征空间。因此,每个输入文本都被转换为一组token嵌入 x ∈ R n × D x \in R ^{n×D} x∈Rn×D,其中n是token数,D是嵌入的维度。
其中 ( H , W ) (H, W) (H,W)表示原始图像分辨率, C C C表示通道数; S S S是图像块的大小,而 N s = ( H W / S 2 ) N_s = (HW/S^2) Ns=(HW/S2)是生成的图像块数量。然后,使用投影层将嵌入维度投影为D:
x I ∈ R C × H × W → x ′ I ∈ R N s × ( S 2 C ˙ ) → x ′ ′ I ∈ R N s × D x_I \in R^{C×H×W} → x′_I \in R^{N_s\times (S^2\dot C)} → x′′_I \in R^{N_s×D} xI∈RC×H×W→x′I∈RNs×(S2C˙)→x′′I∈RNs×D。
最后,整个过程进行总结:
x A ∈ R T × F → x ′ A ∈ R N s × S × S → x ′ ′ A ∈ R ( N s ⋅ D / S 2 ) × D x_A \in R^{T\times F} → x′_A \in R^{N_s \times S \times S} → x′′_A \in R^{(N_s·D/S^2) \times D} xA∈RT×F→x′A∈RNs×S×S→x′′A∈R(Ns⋅D/S2)×D
其中,T和F分别表示时间和频率维度。
通过这种数据到序列的分词器,不同模态的数据都被转换为共享的嵌入空间中的token嵌入,从而实现了多模态数据的统一处理。
对上一步得到的的不同模态的 token 序列,利用一个具有固定参数的统一Transformer编码器来对来自不同模态的token序列进行编码。
通常用于执行识别任务,为了增强位置信息,将位置信息嵌入融入到token嵌入中。由于将输入数据分词成1D的嵌入,因此选择标准的可学习的1D位置嵌入。
Transformer编码器的深度为 L L L,由多个堆叠的多头自注意力(MSA)层和MLP块组成。首先,将输入token嵌入送入MSA层,然后是一个MLP块。然后,第 ( ℓ − 1 ) (ℓ-1) (ℓ−1)个MLP块的输出作为第 ℓ ℓ ℓ个MSA层的输入。在每个层之前添加Layer Normalization(LN),并在每个层之后应用残差连接。MLP包含两个线性全连接层和一个GELU非线性激活函数。
Transformer的公式如下:
z 0 = [ x C L S ; E x 1 ; E x 2 ; ⋅ ⋅ ⋅ ; E x n ] + E p o s , E ∈ R n × D , E p o s ∈ R ( n + 1 ) × D z_0 = [x_{CLS}; E_{x_1}; E_{x_2}; · · · ; E_{x_n}] + E_{pos}, E \in R^{n \times D}, E_{pos} \in R^{(n+1) \times D} z0=[xCLS;Ex1;Ex2;⋅⋅⋅;Exn]+Epos,E∈Rn×D,Epos∈R(n+1)×D
z ′ ℓ = M S A ( L N ( z ℓ − 1 ) ) + z ℓ − 1 , ℓ = 1... L z′_ℓ = MSA(LN(z_{ℓ−1})) + z_{ℓ−1}, ℓ = 1 . . . L z′ℓ=MSA(LN(zℓ−1))+zℓ−1,ℓ=1...L
z ℓ = M L P ( L N ( z ′ ℓ ) ) + z ′ ℓ , ℓ = 1... L z_ℓ = MLP(LN(z′_ℓ)) + z′_ℓ, ℓ = 1 . . . L zℓ=MLP(LN(z′ℓ))+z′ℓ,ℓ=1...L
y = L N ( z L 0 ) y = LN(z^0_L) y=LN(zL0)
其中 E x E_x Ex表示来自提议的分词器的token嵌入,n表示token的数量。论文将补丁嵌入和可学习的嵌入与位置嵌入Epos融合。
在获得学习表征后,研究人员将表征输入特定任务的头 h ( ⋅ ; θ h ) h(·;\theta_h) h(⋅;θh),它主要由 MLP 组成,因模态和任务而异。Meta-Transformer 的学习目标可以概括为:
y ^ = F ( x ; θ ∗ ) = h ◦ g ◦ f ( x ) , θ ∗ = a r g m i n θ L ( y ^ , y ) \hat y = F(x; θ^∗) = h ◦ g ◦ f(x), θ^∗ = argmin_\theta L(\hat y, y) y^=F(x;θ∗)=h◦g◦f(x),θ∗=argminθL(y^,y)
其中 h ( ・ ) h (・) h(・), g ( ・ ) g (・) g(・),与 f ( ・ ) f (・) f(・),分别表示 tokenizer,模型骨干网络,以及下游任务网络中的运算过程。
Meta-Transformer 具有丰富且优秀的实验结果。下表展示了 Meta-Transformer 在不同模态上的实验内容。可以看出,Meta-Transformer 从 12 种模态中提取表征信息,能够有效地服务 16 个不同模态的下游任务,且拥有出色的性能。
如下表所示,与 Swin Transformer 系列和 InternImage 相比,Meta-Transformer 在图像理解任务中表现突出。在分类任务中,Meta-Transformer 与 Meta-Transformer-B16F 和 Meta-Transformer-L14F 在零镜头分类下的表现非常好,分别达到了 69.3% 和 75.3%。与此同时,当调整预训练参数时,Meta-Transformer-B16T 和 Meta-Transformer-L14T 分别达到 85.4% 和 88. 1% 的准确率,超越了现有最先进的方法。在目标检测与语义分割方面,Meta-Transformer 也提供了出色的性能,进一步证明了其对图像理解的通用能力。
下表展示了 Meta-Transformer 在点云上的实验结果。当在二维数据上进行预训练时,Meta-Transformer 在 ModelNet-40 上仅用 0.6M 可训练参数就达到了 93.6% 的总体准确率(OA),与表现最好的模型不相上下。此外,Meta-Transformer 在 ShapeNetPart 数据集中表现出色,仅训练 2.3M 参数的情况下,在实例 mIoU 和类别 mIoU 方面都获得了最好的实验结果,分别为 87.0% 和 85.2%。由此可见,Meta-Transformer 在点云理解任务中表现出了显著的优势,在可训练参数较少的情况下提供了具有竞争力的性能。