NeurIPS2021《MBT》多模态数据怎么融合?谷歌提出基于注意力瓶颈的方法,简单高效还省计算量

作者 | 小马
编辑 | CV君
报道 | 我爱计算机视觉(微信id:aicvml)

【写在前面】

人类通过同时处理和融合多种模态(如视觉和音频)的高维输入来感知世界。然而,机器感知模型通常是特定于模态的,并基于单模态数据进行优化,因此对每个模态预测的后期进行融合(“后期融合”)仍然是多模态视频分类的主要范式 。在本文中,作者引入了一种基于Transformer的结构,该结构使用“融合瓶颈”结构进行多个模态的信息融合。

1. 论文和代码地址

论文名称:Attention Bottlenecks for Multimodal Fusion

论文地址:arxiv.org/abs/2107.0013

代码地址:未开源

2. Motivation

能够同时进行多模态感知是人类学习的关键能力。然而,由于许多因素,设计用于模态融合的统一模型是具有挑战性的,因为模态之间的学习是动态变化的 ;某些模态比其他模态包含更多关于任务的信息 ;不同模态有专门的输入表示 。由于模态输入的差异,多模态融合的主导范式通常通过集成独立的视觉和听觉网络来融合信息,即,后期融合。

在这项工作中,作者提出了一种基于Transformer的视频视听融合模型。尽管最初被用于NLP任务,但最近Transformer逐渐成为了通用的感知模型,这是因为Transformer能够对token之间的密集相关性进行建模,同时对其输入进行很少的假设。通过将密集的连续信号分成多个patch并将它们转换为一维的序列,Transformer已被证明在图像 (ViT ) 和视频分类 (ViViT ) 以及音频分类 (AST) 等领域具有不错的性能。

由于这些模型能够处理可变长度的序列,因此常规的扩展是不需要改变Transformer的结构,可以直接将多模态patch的序列送到Transformer中。这种“早期融合”模型允许注意力在图像中的不同时空域之间自由建模,以及在音频频谱图中的频率和时间之间自由建模。

虽然理论上很有吸引力,但作者认为在模型的所有层完全成对的注意是不必要的,因为音频和视觉输入包含密集的、细粒度的信息,其中大部分是多余的 。由于注意力机制具有和token序列长度长度相关的二次复杂度,这种模型也无法很好地扩展到较长的视频。为了缓解这种情况,作者在模型中提出了两种方法来限制注意力的流动。

第一种方法是多模态学习中的一种常见方法,即将跨模态流动限制在网络的后一层 ,前面的层采用单模态学习,这种方法被成为“中期融合”,如上图中的Mid Fusion所示。

第二种方法,也是本文的主要贡献点, 是限制层内token之间的跨模态注意 。模型必须在与其他模态共享之前,对每个模态的信息进行整理和“浓缩”。核心思想是引入一小部分 “注意力瓶颈 ” 的潜在融合单元(如上图中的Bottleneck Fusion),层中的跨模态相互作用必须通过这些单元执行。作者证明了这种 “瓶颈” 结构优于其不受限制的版本,且计算成本较低。

3. 方法

在本文中,作者提出了一个Multimodal Bottleneck Transformer (MBT)结构来融合多模态数据。

3.1 The ViT and AST architectures

ViT和AST采用了Transformer结构,能够处理序列特征。首先从RGB图像 (或音频频谱图) 中提取N个不重叠的patch [公式],然后将他们转换成一维的token [公式],如下所示:

这里,[公式]是一个线性投影,将每个token映射到[公式][公式]是一个特殊的token,作为分类任务的特征;[公式]是可学习的位置嵌入,用于表示输入特征的位置信息。

然后将token通过由L个Transformer层组成的编码器中。每个Transformer层由多头自注意 (MSA),层归一化 (LN) 和多层感知机 (MLP) 组成,表示如下:

其中[公式]操作为dot-product attention;queries, keys和values是同一个tensor的线性投影,表示为:[公式]。同理,两个跨模态输入attention操作表示为[公式]

3.2 Multimodal Transformer

3.2.1 Fusion via Vanilla Self-Attention

普通的融合模型仅由应用于多模态输入的常规Transformer组成。对于给定长度为t秒的视频clip,首先统一采样[公式]个RGB帧,并将音频波形转换为单个谱图。然后用类似ViT中的方法,将帧和谱图转换成token,并将所有的token拼接在一起,成为一个序列。

形式上,如果从F个采样帧里面提出了[公式]个RGB patch [公式][公式]个谱图patch [公式], 则输入的token序列可以表示为[公式],其中[公式][公式]。对于RGB patch和谱图patch,作者采用了不同的投影函数[公式]。此外,还为每个模态分配了一个分类token。

然后在这些多模态token上采用Transformer层,以获取跨模态的融合信息[公式]

3.2.2 Fusion with Modality-specific Parameters

此外,还可以将上面的模型推广到每个模态拥有各自独立的参数[公式][公式],并利用注意力机制交互不同模态的信息:

其中交叉Transformer采用交叉注意操作。这层的操作也可以表示为:

注意,交叉Transformer层的参数 [公式][公式]对于每个模态都是不同的。

3.2.3 Fusion via Attention Bottlenecks

为了克服attention的平方复杂度,作者在输入序列中引入了[公式]个瓶颈token [公式],输入序列如下所示:

然后,用这些瓶颈token来限制模型中的所有跨模态注意力。对于第[公式]层的Transformer,token计算如下:

其中,[公式][公式]通过Transformer层内的瓶颈token [公式]交换信息。由于[公式],因此融合过程的计算量可以大大降低。

3.3 Where to Fuse: Early, Mid and Late

在大多数Transformer(如ViT)中,每一层都由相同的操作组成的。然而,多模态学习中的一个常见范式是让网络的浅层进行模态内进行的增强,网络的深层进行多模态信息的交互。基于这样的思想,作者首先用[公式]个标准的Self-Attention层来对模态内的token信息进行建模,然后再将所有的token进行拼接得到[公式],用剩下的[公式]层进行跨模态token信息的融合。如果[公式],那么就对应“早期融合”;如果[公式],那么就对应“晚期融合”;如果 [公式] ,那么就对应“中期融合”。表示为:

其中,[公式]代表上一节中提到的三种融合策略。

3.4 Classification

对于上述的所有模型,为了能够执行分类任务,需要将最后一层的CLS token[公式][公式]输入到线性层,然后将Softmax之后的结果进行平均得到分类结果。

4.实验

4.1. Fusion Strategies

上表展示了普通的交叉注意和本文提出的瓶颈注意,在不同[公式]时候的性能和计算量变化,可以看出,本文的方法明显优于普通的交叉注意。

上表展示了在Encoder中是否共享参数的结果,可以看出,不共享参数在[公式]比较小时能够达到更好的效果,当[公式]大于6时,两个方法的性能差不多。

4.2. Input Sampling and Dataset Size

上表展示了不同采样窗口大小的实验结果。

上表展示了同步采样策略和异步采样策略的实验结果。

4.3. Results

上表为音频数据集上,本文方法和其他SOTA方法的性能对比。

上表为Epic-Kitchens上,本文方法和其他SOTA方法的性能对比。

上表为VGGSound上,本文方法和其他SOTA方法的性能对比。

4.4. Visualisation

上图展示了Audioset videos数据集上,本文方法和普通融合的可视化结果,可以看出,本文方法的融合结果更加准确,更具备可解释性。

5. 总结

在本文中,作者提出了一种视听融合的Transformer结构(MBT),并利用token间的交叉注意探索了多种不同的融合策略。为了提高计算小了,作者提出了一种新的融合策略,可以通过一小部分融合 “瓶颈” 来限制跨模态注意力,并证明这可以以较低的计算成本提高交叉注意力的性能,并在多个基准数据集上实现SOTA的结果。

转载请注明:《NeurIPS2021《MBT》多模态数据怎么融合?谷歌提出基于注意力瓶颈的方法,简单高效还省计算量