首页 > 其他分享 >《VATT: Transformers for Multimodal Self-Supervised Learning from Raw Video, Audio and Text》中文校对版

《VATT: Transformers for Multimodal Self-Supervised Learning from Raw Video, Audio and Text》中文校对版

时间:2024-11-11 21:47:46浏览次数:3  
标签:模态 视频 Transformer Transformers VATT Text va vt

文章汉化系列目录


文章目录


Advances in Neural Information Processing Systems (NeurIPS) 是全球最顶尖的人工智能和机器学习领域的会议之一,通常被视为 A* 级别的学术会议。在计算机科学、机器学习和人工智能等领域,NeurIPS 被高度认可,发表的论文通常代表了该领域的最新进展和高水平研究成果。

摘要

我们提出了一种框架,利用无卷积的Transformer架构从未标注数据中学习多模态表示。具体来说,我们的VideoAudio-Text Transformer(VATT)以原始信号作为输入,并提取出足够丰富的多模态表示,能够为各种下游任务带来显著提升。我们从头开始,通过多模态对比损失对VATT进行端到端训练,并通过视频动作识别、音频事件分类、图像分类和文本-视频检索等下游任务来评估其性能。此外,我们研究了一种模态无关的单一骨干Transformer,通过在三种模态之间共享权重来实现。结果表明,无卷积的VATT在下游任务中优于基于ConvNet的最新架构。尤其是,VATT的视觉Transformer在Kinetics-400数据集上实现了82.1%的top-1准确率,在Kinetics-600上达到83.6%,在Kinetics-700上达到72.7%,在Moments in Time上达到41.1%,这些都是新的记录,且无需有监督的预训练。转移至图像分类任务时,VATT在ImageNet上取得了78.7%的top-1准确率,相较于同样Transformer从零开始训练的64.7%,展示了模型的广泛适用性,尽管视频与图像之间存在域差异。VATT的音频Transformer也在基于波形的音频事件识别任务中创造了新纪录,在AudioSet上达到了39.4%的mAP,且无需任何有监督的预训练。VATT的源代码已公开。

1 引言

 卷积神经网络(CNNs)[53, 51]在各种计算机视觉任务中取得了显著成功。卷积所引入的归纳偏差,尤其是平移不变性和局部性,已被证明对视觉数据非常有效。然而,与此同时,自然语言处理(NLP)领域的模型正逐渐从具有较强归纳偏差的模型(如循环神经网络 [43, 7] 和 CNNs [104, 32])转向基于自注意力机制的更通用架构。尤其是,Transformer [88] 已成为 NLP 任务的默认模型架构 [23, 70, 71, 10]。在大规模文本语料上对 Transformer 进行预训练并通过微调,使其在各种下游任务中实现了最先进的效果。鉴于注意力机制在 NLP 中的成功,已有大量研究探索其在计算机视觉中的潜力。早期的研究主要集中在结合卷积和注意力模块的混合模型 [89, 94, 36, 105]。近期的研究表明,专门设计的无卷积、全注意力模型在图像识别任务中的表现可与 CNNs 媲美 [106, 44, 73]。最近,[25] 在 ImageNet [22] 等多个图像识别任务中,利用预训练的 Transformer 取得了令人印象深刻的表现,几乎无需更改模型架构。其工作传达了一个有力的信息:“大规模(监督)训练优于归纳偏差(在图像分类中)。”这一结论随后被扩展至视频识别任务 [9, 5]。

 然而,大规模监督训练 Transformer 本质上存在两个主要问题。首先,这种方法排除了“大视觉数据”中的更大部分,即大量未标注、未结构化的视觉数据。因此,监督训练策略可能会生成有偏差的系统,需更多标注数据来纠正其偏差。其次,这一策略从根本上限制了 Transformer 在计算机视觉中的应用范围,因为为训练数百万参数、选择超参数以及验证期望的泛化性能而收集足够的标注图像或视频,成本高昂且耗时。因此,本研究提出了另一个紧迫的问题,即如何使 Transformer 能够直接利用大规模、未标注的视觉数据?为了解答这一问题,我们从 NLP 中汲取灵感。BERT [23] 和 GPT [70, 71, 10] 使用掩码语言模型作为预训练任务。自然语言本身为 Transformer 提供了有机的监督,因为它们将词语、短语和句子按顺序置于上下文中,赋予其语义和句法。而对于视觉数据而言,最自然的监督可能来自多模态视频。多模态视频在数字世界中大量存在,它们的时间、跨模态关系提供的监督无需人工标注。大规模的多模态视频有可能为 Transformer 提供建模视觉世界所需的内在先验,而非预定义的归纳偏差。

 为此,我们研究了三种 Transformer [88] 的自监督多模态预训练,它们分别以互联网视频的原始 RGB 帧、音频波形和语音音频的文本转录为输入。我们称这些视频、音频、文本的 Transformer 为 VATT。图1展示了其架构。VATT 完全借鉴了 BERT [23] 和 ViT [25] 的架构,除了为每种模态分别保留的标记化和线性投影层外。该设计与 ViT 的理念一致,即尽量对架构进行最小化修改,以便所学习的模型权重可以迁移到不同的框架和任务。此外,自监督的多模态学习策略也呼应了 BERT 和 GPT 的精神,即预训练几乎不需要人为精心设计的标签。
 我们在多种下游任务上评估了预训练的Transformer,包括图像分类、视频动作识别、音频事件分类和零样本文本-视频检索。在ImageNet [22]上微调视觉模态Transformer获得了78.7%的top-1准确率,与ViT达到的79.9%相当。这个结果尤为引人注目,考虑到视频与图像之间的领域差异,且ViT是使用一个大规模、人工精心构建的图像数据集进行预训练的。此外,我们在Kinetics-400 [14]、Kinetics-600 [15]、Moments in Time [61]和AudioSet [33]上取得了新的记录,且无需监督预训练。我们的VATT结果,以及其他在NLP任务 [23, 10]、图像识别 [25]、语义分割 [108]、点云分类 [107]和动作识别 [9]的结果,表明Transformer是一种适用于不同类型数据的通用架构。

 为了进一步推进,我们对VATT中的Transformer提出了一个看似苛刻的约束:在视频、音频和文本模态之间共享权重。其目的是测试是否存在一个可以处理所有模态的通用模型——当然,每种模态仍然保留各自的标记化和线性投影层。初步结果令人鼓舞,这种模态无关的Transformer表现与三个稍小尺寸的模态特定模型相当。最后,本文的另一项贡献是提出了DropToken,这是一种简单而有效的技术,通过随机丢弃每个输入序列中的部分视频和音频标记,来降低训练复杂度,且对最终Transformer的性能仅有微小影响。DropToken允许高分辨率输入并利用其丰富性,这对于Transformer尤为重要,因为其计算复杂度与输入标记数量呈二次方关系。

2 相关工作

2.1 Vision中的Transformer

 Transformer最初为NLP任务而设计 [88],其多头注意力机制在建模单词的长时相关性方面显示出其有效性。已有一些尝试将Transformer用于视觉任务,例如图像超分辨率 [99]、目标检测 [11]和多模态视频理解 [84, 19, 57]。然而,这些方法仍依赖于CNN提取的特征。最近,[25]提出了一组无卷积的视觉Transformer,能够直接处理原始图像,并取得了与CNNs相媲美的性能。[86]通过使用更强的数据增强和知识蒸馏,提高了[25]的训练数据效率。自此,纯Transformer设计被应用于各种视觉任务,包括语义分割 [108]、点云分类 [107]和动作识别 [9, 78, 5]。据我们所知,VATT是第一个在视频、音频和文本的原始多模态输入上应用的Transformer模型。

2.2 自监督学习

单一视觉模态。早期的自监督视觉表示学习通常通过手动指定的预任务从未标注图像中学习,如自动编码 [64, 102, 103]、补丁位置预测 [24]、拼图解题 [63]和图像旋转预测 [35]。[95]提出了一种新的实例判别目标。最近,对比学习 [40, 17, 100, 37, 41, 85]的趋势将数据增强和实例判别相结合,通过保持图像及其增强视图的表示之间的相对一致性来实现。聚类也可以作为有效的补充 [12]。最近,[18]使用ViT [25]进行对比学习并取得了显著效果。对于视频领域,自然可以利用时间信号作为预任务,例如预测未来帧 [82]、运动和外观统计 [90]、速度 [8, 91]和编码 [56, 38, 39],以及对帧或视频片段进行排序 [54, 97, 45, 31]。最近,[68]通过一种时间采样策略和时间一致的空间增强,将对比学习应用于视频。

多模态视频。视频是多模态数据的天然来源。多模态自监督学习可以通过预测视频与音频流是否具有对应关系 [3, 4, 62, 50]、跨模态聚类 [2]和动态损失 [67]来实现。最近,[1]使用对比损失从视频、音频和文本中学习;[74]则学习从窄视角预测跨越更长时间上下文的广视角。VATT作为首个将无卷积Transformer和多模态对比学习相结合的工作,充分利用了二者的优势。

3 方法

在本节中,我们介绍了无卷积的VATT架构,并详细说明了从零开始训练VATT的自监督多模态目标。图1展示了该架构的概览。我们将每种模态输入到一个标记化层中,在此将原始输入投影到一个嵌入向量,随后传入Transformer。该架构有两种主要设置:1)骨干Transformer是独立的,并为每种模态配置了特定的权重;2)Transformer共享权重,即使用单一骨干Transformer来处理所有模态。在任一设置下,骨干模型都会提取模态特定的表示,随后将这些表示映射到公共空间,通过对比损失相互比较。接下来我们将详细介绍各个模块。

在这里插入图片描述

图1:VATT架构概览及其自监督多模态学习策略。VATT将每种模态线性投影到一个特征向量中,并将其输入到Transformer编码器。我们定义了一个语义层次的通用空间,以适应不同模态的粒度,并使用噪声对比估计(NCE)来训练模型。

3.1 标记化与位置编码

VATT直接处理原始信号。视觉模态的输入由视频帧的3通道RGB像素组成,音频输入是空气密度振幅(波形),文本输入则是一个单词序列。我们首先定义一个模态特定的标记化层,接受原始信号作为输入并返回一系列向量,供Transformer使用。此外,每种模态都有自己的位置编码,用以将标记的顺序注入到Transformer中 [88]。

我们将大小为 T × H × W T \times H \times W T×H×W的视频片段划分为 ⌈ T / t ⌉ ⋅ ⌈ H / h ⌉ ⋅ ⌈ W / w ⌉ ⌈T/t⌉ \cdot ⌈H/h⌉ \cdot ⌈W/w⌉ ⌈T/t⌉⋅⌈H/h⌉⋅⌈W/w⌉个patch,其中每个patch包含 t × h × w × 3 t \times h \times w \times 3 t×h×w×3个体素。我们在每个patch的所有体素上应用线性投影,以获得一个维度为 d d d的向量表示。此投影由一个可学习的权重 W v p ∈ R t ⋅ h ⋅ w ⋅ 3 × d W_{vp} \in \mathbb{R}^{t \cdot h \cdot w \cdot 3 \times d} Wvp​∈Rt⋅h⋅w⋅3×d实现。这可以看作是[25]中提出的patch机制的三维扩展。

为了对这些patch的位置进行编码,我们定义一个特定维度的可学习嵌入序列,如下所示:
e i , j , k = e T e m p o r a l i + e H o r i z o n t a l j + e V e r t i c a l k , e_{i,j,k} = e_{Temporal}^i + e_{Horizontal}^j + e_{Vertical}^k, ei,j,k​=eTemporali​+eHorizontalj​+eVerticalk​,
其中 E T e m p o r a l ∈ R ⌈ T / t ⌉ × d E_{Temporal} \in \mathbb{R}^{⌈T/t⌉ \times d} ETemporal​∈R⌈T/t⌉×d, E H o r i z o n t a l ∈ R ⌈ H / h ⌉ × d E_{Horizontal} \in \mathbb{R}^{⌈H/h⌉ \times d} EHorizontal​∈R⌈H/h⌉×d, E V e r t i c a l ∈ R ⌈ W / w ⌉ × d E_{Vertical} \in \mathbb{R}^{⌈W/w⌉ \times d} EVertical​∈R⌈W/w⌉×d。在此, e i e_i ei​为 E E E的第 i i i行。该方案使我们可以使用 ⌈ T / t ⌉ + ⌈ H / h ⌉ + ⌈ W / w ⌉ ⌈T/t⌉ + ⌈H/h⌉ + ⌈W/w⌉ ⌈T/t⌉+⌈H/h⌉+⌈W/w⌉个位置嵌入来对视频片段中的所有 ⌈ T / t ⌉ ⋅ ⌈ H / h ⌉ ⋅ ⌈ W / w ⌉ ⌈T/t⌉ \cdot ⌈H/h⌉ \cdot ⌈W/w⌉ ⌈T/t⌉⋅⌈H/h⌉⋅⌈W/w⌉个patch进行编码。

原始音频波形为长度为 T ′ T' T′的一维输入,我们将其分割为 ⌈ T ′ / t ′ ⌉ ⌈T'/t'⌉ ⌈T′/t′⌉个片段,每个片段包含 t ′ t' t′个波形振幅。与视频类似,我们在每个patch的所有元素上应用带有可学习权重 W a p ∈ R t ′ × d W_{ap} \in \mathbb{R}^{t' \times d} Wap​∈Rt′×d的线性投影,以获得 d d d维的向量表示。我们使用 ⌈ T ′ / t ′ ⌉ ⌈T'/t'⌉ ⌈T′/t′⌉个可学习嵌入来对每个波形片段的位置进行编码。

对于文本,我们首先从训练数据集中所有单词构建一个大小为 v v v的词汇表。对于输入的文本序列,我们将每个单词映射为一个 v v v维的one-hot向量,并通过带有可学习权重 W t p ∈ R v × d W_{tp} \in \mathbb{R}^{v \times d} Wtp​∈Rv×d的线性投影进行转换。这相当于一个嵌入字典查找,这种方法在自然语言理解中被广泛使用 [60]。

3.1.1 DropToken

我们引入了DropToken,这是一种简单而有效的策略,用于在训练过程中降低计算复杂度。当我们获得视频或音频模态的标记序列后,我们会随机采样部分标记,并将采样后的序列(而非完整的标记集)输入到Transformer中。由于Transformer的计算复杂度是平方级的 O ( N 2 ) O(N^2) O(N2)(其中 N N N是输入序列中的标记数量),减少输入长度的任何措施都会使浮点运算数(FLOPs)以平方方式减少。因此,这种方法可以显著缩短训练模型的实际时间,并使在有限硬件中托管大型模型成为可能。

我们认为,与其降低原始输入的分辨率或维度,不如保持高保真度的输入,通过DropToken随机采样标记。DropToken在处理原始视频和音频输入时尤其具有吸引力,因为这些输入中可能包含大量冗余信息。

3.2 Transformer架构

为了简化,我们采用了最为成熟的Transformer架构 [23],该架构已广泛应用于NLP。与ViT [25]类似,我们并未调整架构,以便我们的权重可以轻松转移至任何标准的Transformer实现中。我们将简要介绍该流程(在图1的中间面板中也有所展示),详细的标准Transformer架构可参考 [25, 23]。

Transformer的输入标记序列如下所示:
z i n = [ x A G G ; x 0 W P ; x 1 W P ; …   ; x N W P ] + e P O S z_{in} = [x_{AGG}; x_0 W_P; x_1 W_P; \dots; x_N W_P] + e_{POS} zin​=[xAGG​;x0​WP​;x1​WP​;…;xN​WP​]+ePOS​
其中 x n x_n xn​为输入patch的序列, x A G G x_{AGG} xAGG​是一个特殊聚合标记的可学习嵌入,在Transformer中的对应输出 z 0 o u t z_0^{out} z0out​被用作整个输入序列的聚合表示,后续将用于分类和公共空间映射。

我们使用标准的自注意力机制 [88]作为多头注意力(MHA)模块,并在MLP层中采用GeLU激活函数 [42]。在MHA和MLP模块之前,我们还使用了层归一化 [6]。在我们的文本模型中,我们去除了位置编码 e P O S e_{POS} ePOS​,并在MHA模块的第一层的每个注意力得分上添加了一个可学习的相对偏置。这个简单的调整使得我们的文本模型权重可以直接迁移至最新的文本模型T5 [72]。

3.3 公共空间投影

我们在公共空间中使用公共空间投影和对比学习来训练网络。具体而言,给定一个视频-音频-文本三元组,我们定义一个语义分层的公共空间映射,使我们可以通过余弦相似度直接比较视频-音频对以及视频-文本对。正如[1]中所述,如果假设这些模态具有不同层次的语义粒度,那么这种比较更加可行。为此,我们定义了多层投影,具体如下:

z v , v a = g v → v a ( z v i d e o o u t ) , z a , v a = g a → v a ( z a u d i o o u t ) z_{v,va} = g_{v \rightarrow va}(z_{video}^{out}), \quad z_{a,va} = g_{a \rightarrow va}(z_{audio}^{out}) zv,va​=gv→va​(zvideoout​),za,va​=ga→va​(zaudioout​)

z t , v t = g t → v t ( z t e x t o u t ) , z v , v t = g v → v t ( z v , v a ) z_{t,vt} = g_{t \rightarrow vt}(z_{text}^{out}), \quad z_{v,vt} = g_{v \rightarrow vt}(z_{v,va}) zt,vt​=gt→vt​(ztextout​),zv,vt​=gv→vt​(zv,va​)

其中, g v → v a g_{v \rightarrow va} gv→va​和 g a → v a g_{a \rightarrow va} ga→va​分别是将视频和音频Transformer的输出映射到视频-音频公共空间 S v a S_{va} Sva​的投影头。此外, g t → v t g_{t \rightarrow vt} gt→vt​和 g v → v t g_{v \rightarrow vt} gv→vt​将文本Transformer的输出和视频嵌入在 S v a S_{va} Sva​空间中投影到视频-文本公共空间 S v t S_{vt} Svt​。该多层公共空间投影在图1的最右侧面板中有所展示。

这种层次结构背后的主要直觉是,不同模态具有不同层次的语义粒度,因此在公共空间投影中应引入这一归纳偏差。类似于[1],我们对 g a → v a ( . ) g_{a \rightarrow va}(.) ga→va​(.), g t → v t ( . ) g_{t \rightarrow vt}(.) gt→vt​(.)和 g v → v t ( . ) g_{v \rightarrow vt}(.) gv→vt​(.)使用线性投影,而对 g v → v a ( . ) g_{v \rightarrow va}(.) gv→va​(.)则使用带有中间ReLU的两层投影。为简化训练过程,每个线性层之后都使用批归一化。

3.4 多模态对比学习

受到[1, 3, 59]的启发,我们使用噪声对比估计(NCE)来对齐视频-音频对,并使用多实例学习NCE(MIL-NCE)来对齐视频-文本对。这些对是从视频-音频-文本流中的不同时间位置组成的。两个模态的正对是通过从视频的同一位置采样它们对应的流构建的,而负对则通过从视频中任何不匹配的位置采样得到 [1]。

具体而言,给定第3节中定义的公共空间,损失目标可以写为:

NCE ( z v , v a , z a , v a ) = − log ⁡ exp ⁡ ( z v , v a ⊤ z a , v a / τ ) exp ⁡ ( z v , v a ⊤ z a , v a / τ ) + ∑ z ′ ∈ N exp ⁡ ( z v , v a ′ ⊤ z a , v a ′ / τ ) \text{NCE}(z_{v,va}, z_{a,va}) = -\log \frac{\exp(z_{v,va}^\top z_{a,va} / \tau)}{\exp(z_{v,va}^\top z_{a,va} / \tau) + \sum_{z' \in N} \exp(z_{v,va}'^\top z_{a,va}' / \tau)} NCE(zv,va​,za,va​)=−logexp(zv,va⊤​za,va​/τ)+∑z′∈N​exp(zv,va′⊤​za,va′​/τ)exp(zv,va⊤​za,va​/τ)​

MIL-NCE ( z v , v t , { z t , v t } ) = − log ⁡ ∑ z t , v t ∈ P exp ⁡ ( z v , v t ⊤ z t , v t / τ ) ∑ z t , v t ∈ P exp ⁡ ( z v , v t ⊤ z t , v t / τ ) + ∑ z ′ ∈ N exp ⁡ ( z v , v t ′ ⊤ z t , v t ′ / τ ) \text{MIL-NCE}(z_{v,vt}, \{z_{t,vt}\}) = -\log \frac{\sum_{z_{t,vt} \in P} \exp(z_{v,vt}^\top z_{t,vt} / \tau)}{\sum_{z_{t,vt} \in P} \exp(z_{v,vt}^\top z_{t,vt} / \tau) + \sum_{z' \in N} \exp(z_{v,vt}'^\top z_{t,vt}' / \tau)} MIL-NCE(zv,vt​,{zt,vt​})=−log∑zt,vt​∈P​exp(zv,vt⊤​zt,vt​/τ)+∑z′∈N​exp(zv,vt′⊤​zt,vt′​/τ)∑zt,vt​∈P​exp(zv,vt⊤​zt,vt​/τ)​

其中, N N N包含一个批次中的所有不匹配对。在公式(5)中, P P P包含时间上与视频片段最邻近的五个文本片段。 τ \tau τ是一个温度参数,用于调整在区分正对和负对时的目标柔和度。

整个VATT模型的逐样本端到端训练目标为:

L = NCE ( z v , v a , z a , v a ) + λ MIL-NCE ( z v , v t , { z t , v t } ) , L = \text{NCE}(z_{v,va}, z_{a,va}) + \lambda \text{MIL-NCE}(z_{v,vt}, \{z_{t,vt}\}), L=NCE(zv,va​,za,va​)+λMIL-NCE(zv,vt​,{zt,vt​}),

其中 λ \lambda λ用于平衡两个损失。模型的优化基于对一个批次样本计算的平均损失进行反向传播。

4 实验

在本节中,我们首先简要描述预训练和下游评估的实验设置,接着展示VATT在不同任务中的结果及其分析解读。所有实验设置的详细说明请参见附录。

4.1 实验设置

预训练:我们使用AudioSet [33]和HowTo100M [58]数据集的组合来预训练VATT——仅使用HowTo100M的一个子集,以符合YouTube的政策。按照[1]的设置,我们从HowTo100M片段中使用视频-音频-文本三元组,而在AudioSet中仅使用视频-音频对。我们采样32帧,帧率为10 fps,空间尺寸为224 × 224,使用随机裁剪、水平翻转和颜色增强(详见附录A.2.1)。相应地,我们以48kHz采样同步的音频波形。视频和音频均归一化至[-1,1]之间。我们使用大小为4×16×16和128的patch进行视频和原始波形的标记化(附录A.5中的消融研究)。文本序列使用one-hot向量编码(上限为16个标记),词汇量为216。在所有预训练实验中,我们使用DropToken,丢弃率为50%。

模型使用Adam优化器[46]进行训练,学习率遵循四分之一期的余弦调度,从1e-4下降到5e-5,包含10,000个热身步骤。优化在总计500,000步上进行,批次大小为2048(探索实验中为512)。在映射到公共空间 S v a S_{va} Sva​和 S v t S_{vt} Svt​时,参考之前的实践[1],我们使用 d v a = 512 d_{va} = 512 dva​=512和 d v t = 256 d_{vt} = 256 dvt​=256。在损失函数(公式6)中,温度参数 τ = 0.07 \tau = 0.07 τ=0.07,权重参数 λ = 1 \lambda = 1 λ=1。我们在实验中使用了四种网络大小(详见附录A.2.2)。

在模态无关的变体(VATT-MA)中,我们使用了中型模型(155M参数),而在模态特定的视频-音频-文本骨干中使用了三种变体:Base-Base-Small(BBS,197M)、Medium-Base-Small(MBS,264M)和Large-Base-Small(LBS,415M)。在256个TPU(v3)上,以批次大小2048预训练MBS VATT耗时不到3天,而批次大小为512的预训练则耗时不到1天。

下游任务:我们在4个主要下游任务中使用共10个数据集对预训练的VATT模型进行评估。视频动作识别任务中,我们使用UCF101 [81]、HMDB51 [52]、Kinetics-400 [14]、Kinetics-600 [15]和Moments in Time [61]数据集;音频事件分类任务中使用ESC50 [66]和AudioSet [33];通过在YouCook2 [109]和MSR-VTT [98]上进行零样本文本-视频检索来评估我们视频-文本公共空间表示的质量。最后,通过在ImageNet分类 [22]上微调视觉骨干模型来评估其可迁移性。

由于HMDB51、UCF101和ESC50相对于我们网络的规模而言是非常小的数据集,因此我们仅在冻结的预训练骨干模型之上训练线性分类器。在探索实验中,我们报告线性分类准确率和零样本视频检索指标。数据集及实验设置的详细说明请参见附录。

4.2 结果

4.2.1 视频动作识别的微调

我们在Kinetics-400、Kinetics-600和Moments in Time这三个公认的大规模视频动作识别数据集上微调了VATT的视觉Transformer。在这些实验中使用了四种预训练设置的最终检查点:三种模态特定的变体(LBS、MBS、BBS)和一种模态无关的变体(Medium)。表1展示了与最先进的视频模型的结果对比。在这三个数据集上,我们的准确率均高于以往的工作,包括近期通过微调经过监督预训练的ViT检查点所获得的TimeSFormer [9]。相比之下,我们的预训练完全不依赖于人工标注的标签。据我们所知,VATT是第一个从零开始在多模态视频上使用自监督进行预训练的视觉Transformer骨干,并在视频动作识别上达到了最先进的结果。

值得一提的是,在最新的Kinetics-700数据集上微调VATT后,获得了72.7%的top-1准确率,超过了之前[47]中报告的72.4%的最先进top-1准确率。为了进一步量化多模态自监督预训练对这些成绩的贡献,我们训练了一个从零开始、没有任何预训练的变体,结果在Kinetics-400上获得了26.4%的top-1准确率和51.8%的top-5准确率。较低的准确率验证了我们为VATT设计的预训练策略的有效性。

最后,我们发现,在视频动作识别任务中微调时,模态无关的VATT-MA-Medium(共享视频、音频和文本模态的骨干)与模态特定的VATTBase表现相当。这一结果令人鼓舞,表明用单一的Transformer骨干统一三种数据模态的潜力。

在这里插入图片描述

表1:Kinetics-400、Kinetics-600和Moments in Time上的视频动作识别准确率。

4.2.2 音频事件分类的微调

我们在AudioSet上微调了VATT的音频Transformer,该数据集是多标签音频事件分类任务的基准。实验中使用了两种预训练设置的最终检查点:一种是模态特定的变体(BBS),另一种是模态无关的变体(Medium)。表2展示了与最先进模型的对比结果。按照常规实践 [34, 48],我们报告了平均精度(mAP)、曲线下面积(AUC)以及基于AUC的d-prime [34]。
在这里插入图片描述

我们的音频Transformer在所有指标上均稳定地超越了现有基于CNN的模型。更有趣的是,微调模态无关的骨干(VATT-MA-Medium)与微调模态特定的骨干(VATT-Base)的表现相当。据我们所知,VATT是第一个在音频事件识别任务中超越基于CNN模型的Transformer。此外,VATT直接处理原始波形数据,不使用任何人工设计的特征。

4.2.3 图像分类的微调

本节展示了我们的模型能够将所学知识迁移到其他领域,通过图像分类任务来验证这一点,尽管模型是在多模态视频领域中预训练的。我们在ImageNet上微调VATT-BBS中的视觉Transformer,且对骨干架构不做任何修改。为适配体素到patch的层,我们将输入图像复制4次并输入网络。这样,网络将输入视为单帧视频片段,执行空间自注意力。

表3展示了在ImageNet上端到端微调视觉Transformer的结果。可以看到,与从零开始训练相比,我们的预训练显著提升了准确率。我们还观察到,即使自监督预训练是在视频领域进行的,我们仍然达到了与使用大规模图像数据进行监督预训练相当的竞争性结果 [25]。
在这里插入图片描述

4.2.4 零样本文本-视频检索

我们将视频-文本对输入VATT-MBS,并在 S v t S_{vt} Svt​空间中提取表示。随后计算YouCook2和MSR-VTT中每个视频-文本对的相似度。给定一个文本查询,我们根据文本与各视频的相似度对视频进行排序,然后测量正确视频在前10个视频中的召回率。此外,我们还计算正确视频的中位排名。表4将我们的视频检索结果与两个基线进行对比。
在这里插入图片描述

在实验中,我们观察到零样本检索结果对批次大小和训练轮次数非常敏感,这证实了[1]中的发现。尽管如此,我们的模型在使用其一半的训练轮次和一半的批次大小的情况下,仍然取得了与MMV [1]相当的结果。我们还尝试了较大的批次大小(8192)和更长的预训练时间(6轮),在YouCook2上达到了与MIL-NCE [59]相同的结果,并在MSR-VTT上获得了29.2的R@10和42的MedR。

我们还注意到,可能由于文本转录内容的噪声特性,像我们这样的复杂语言模型的效果可能被低估了。正如[1]所示,即便使用简单的线性投影模型仍能取得相对不错的表现。在未来的工作中,探索其他更高质量的文本资源将是一个值得尝试的方向。

4.2.5 特征可视化

我们对在Kinetics-400上微调的模态特定和模态无关的VATT模型进行t-SNE特征可视化。为了比较,我们还包含了从零开始在Kinetics-400上训练的视觉Transformer的特征可视化。从图2中可以看到,微调后的VATT相比从零开始训练的模型产生了更好的特征分离。此外,值得注意的是,模态无关特征与模态特定特征之间并无明显差异。
在这里插入图片描述

图2:在不同训练设置下由视觉Transformer提取的特征表示的t-SNE可视化。为了更好地展示效果,我们选取了Kinetics-400中的100个随机类别。

我们进一步研究了未进行任何微调的VATT骨干。随机选择了YouCook2数据集中的1000个视频片段,并存储了预训练VATT模型两个点的表示:一个是在标记化层之后(Transformer的输入空间),另一个是在公共空间投影之后(输出空间),即计算损失的位置。图3-上方显示了模态特定VATT与模态无关VATT的表示对比。令人感兴趣的是,模态无关设置下的表示比模态特定设置下的稍微更混合,暗示模态无关的骨干将不同模态视为描述相同概念的不同符号,这类似于自然语言处理中支持多种语言的统一语言模型。

为了进一步观察VATT在区分正样本(视频-文本对)和随机采样对的能力,我们计算了所有可能的对之间的两两相似度,并进行核密度估计(KDE)以可视化正样本和负样本相似度的分布。此过程在模态特定和模态无关的骨干的输入和输出空间中都进行了。图3-下方展示了这些相似度的KDE曲线。可以看到,VATT在两种设置下都能够在输出空间中区分正负对。这验证了VATT在不同模态之间学习语义公共空间的有效性,即使在模态之间共享骨干的情况下也是如此。
在这里插入图片描述

图3:当输入不同模态时,模态特定和模态无关骨干在输入空间与输出空间中的t-SNE可视化和两两相似度分布。

4.2.6 模型激活

我们测量了模态无关的VATT在输入完整的多模态数据时的平均激活情况。具体而言,我们从HowTo100M测试集中采样了10万段短视频片段及其对应的音频和文本,分别输入模型。对于每种模态,我们计算每个节点在MLP模块输出处(在残差加法之前)的平均激活值(见图1-Transformer编码器)。图4展示了中型模型中所有节点的平均激活情况。
在这里插入图片描述

图4:在将多模态视频-音频-文本三元组输入模型时,模态无关中型VATT的节点平均激活情况。

观察到模型中早期节点在文本输入时被激活,而中到后期节点则被视频和音频模态激活。然而,网络最后几层的节点在所有模态下几乎均等地被激活。这可能表明模型在前期为特定模态分配了不同的节点,但在后期层达到了对所有模态相同的语义感知水平。这一观察激励了对利用专家混合(Mixture-of-Experts)[79, 28, 76]的进一步研究,以提升模型在同时处理多模态感知时的容量。我们将这一研究方向留待未来工作。

4.2.7 DropToken的效果

我们引入了一种新方法来减少高分辨率数据中的冗余。为了研究DropToken方法对下游应用和预训练计算的影响,我们在预训练中分别随机丢弃视频和音频输入的75%、50%、25%和0%(无丢弃)标记。表5展示了在不同丢弃率下HMDB51、UCF101、ESC50上的线性分类准确率以及YouCook2和MSR-VTT上的R@10与每次前向调用的GFLOPs。

我们选择50%的采样率进行大规模预训练,因为它在准确率和计算成本之间提供了良好的平衡。然后,我们使用50% DropToken率的预训练VATT的最终检查点,在不同的DropToken率、不同的空间和时间分辨率下在Kinetics-400上进行微调,以观察高分辨率输入结合DropToken与低分辨率输入(微调过程中无标记丢弃)相比的效果。表6展示了Kinetics-400上的top-1准确率。
在这里插入图片描述

表5:VATT-MBS在不同丢弃率下的线性分类top-1准确率、视频检索的R@10以及推理GFLOPs。
表6:在Kinetics-400上使用高分辨率输入结合DropToken与低分辨率输入的视频动作识别top-1准确率。

我们建议避免使用低分辨率输入(这是训练中降低计算成本的最常用方法)。相反,我们建议使用高分辨率输入结合DropToken,因为其准确率和训练成本与低分辨率输入相当或更优。

5 结论与讨论

本文提出了一种基于Transformer的自监督多模态表示学习框架。我们的研究表明,即使在多模态共享一个模型的情况下,Transformer在学习语义化的视频/音频/文本表示方面依然有效。此外,多模态自监督预训练有望降低对大规模标注数据的依赖。我们展示了DropToken能够显著降低视频和音频模态的预训练复杂度,且对模型的泛化能力影响较小。我们的实验在视频动作识别和音频事件分类上创下了新纪录,同时在图像分类和视频检索上表现出竞争力。

尽管取得了这些成果,我们的工作仍然存在一些局限性。首先,并非所有视频都包含自然的音频或语音,而我们的方法依赖于有意义的多模态对应。此外,文本模态当前由语音转录组成,这些数据存在噪声且有时稀疏。潜在的社会负面影响主要集中在应用方面,如果我们的方法被应用于不具有代表性的多模态视频,模型可能会带有偏见。最后,尽管我们已避免使用人工标签,但该方法在计算上依然要求较高。未来的工作可以针对这些局限性进行改进。

致谢与资金披露

我们感谢Min-Hsuan Tsai、Jean-Baptiste Alayrac、Andrew Audibert、Yeqing Li、Vidush Mukund,以及TensorFlow团队在代码、基础设施和富有洞见的讨论中给予的帮助。

标签:模态,视频,Transformer,Transformers,VATT,Text,va,vt
From: https://blog.csdn.net/buyaotutou/article/details/143664173

相关文章

  • System.Text.Json官方文档(链接)
    下面的微软官方文档中介绍了,如何使用System.Text.Json来序列化和反序列化JSON:JSONserializationanddeserialization其中这里讲解了如何避免循环引用序列化:HowtopreservereferencesandhandleorignorecircularreferencesinSystem.Text.Json其中下面的章节还介绍了......
  • ServletContext对象的生命周期监听器
    ServletContextListener接口定义了ServletContext对象生命周期的监听行为。voidcontextInitialized(ServletContextEventsce)ServletContext对象创建之后会触发该监听方法,并将ServletContext对象传递到该方法中。@OverridepublicvoidcontextI......
  • Transformers显存优化策略
    (原创)Transformers显存优化简易策略(本教程目标:4G显存也能跑BERT-Large)......
  • PoliFormer:使用 Transformers 扩展策略在线 RL,打造熟练导航员
    24年6月来自西雅图AI2的论文“PoliFormer:ScalingOn-PolicyRLwithTransformersResultsinMasterfulNavigators”,获得CoRL‘24最佳论文之一。POLIFORMER(策略Transformer),这是一个仅限RGB的室内导航智体,通过大规模强化学习进行端到端训练,尽管纯粹在模拟中训练,但它......
  • 《Consensus-Aware Visual-Semantic Embedding for Image-Text Matching》中文校对版
    文章汉化系列目录文章目录文章汉化系列目录摘要关键词引言2相关工作2.1基于知识的深度学习2.2图文匹配3共识感知的视觉-语义嵌入3.1利用共识知识增强概念表示3.2共识感知表示学习3.3训练和推理4实验4.1数据集和设置4.2实现细节4.3与最新技术的比较4.4消......
  • 解决R报错: fatal error: hb-ft.h: No such file or directory 下载textshaping时
    >下载textshaping包,出现路径依赖错误。#解决路径依赖问题```condainstall-cconda-forgeharfbuzzfreetypefribidipkg-configwhichpkg-config  #看是否返回路径,返回即正常find/-name"harfbuzz.pc"2>/dev/nullfind/-name"freetype2.pc"2>/dev/nullfi......
  • 第四话: 纹理(Texture)和渲染器(Renderer)
    SDL简单教程第四话:纹理(Texture)和渲染器(Renderer)SDL简单教程前言第四话:纹理(Texture)和渲染器(Renderer)4.1创建渲染器和纹理概念介绍4.2加载图像并转换为纹理4.3在渲染器上绘制纹理4.4错误处理的深度剖析4.5跨平台考虑4.总结前言  SDL2(SimpleDirectMedia......
  • 学习笔记(三十):ArkUi-UIContext.getPromptAction(弹窗)
    概述:基于promptAction弹窗演进而来,支持全局自定义弹窗,不依赖UI组件,依赖UIContext,支持在非页面文件中使用,弹窗内容支持动态修改,支持自定义弹窗圆角半径、大小和位置,适合在与页面解耦的全局弹窗、自定义弹窗显示和退出动画等场景下使用。注意:需先使用UIContext中的getPromptAct......
  • 深入解析 Transformers 框架(四):Qwen2.5/GPT 分词流程与 BPE 分词算法技术细节详解
    前面我们已经通过三篇文章,详细介绍了Qwen2.5大语言模型在Transformers框架中的技术细节,包括包和对象加载、模型初始化和分词器技术细节:深入解析Transformers框架(一):包和对象加载中的设计巧思与实用技巧深入解析Transformers框架(二):AutoModel初始化及Qwen2.5模型加载全......
  • Context的典型使用场景
    获取应用文件路径基类Context提供了获取应用文件路径的能力,ApplicationContext、AbilityStageContext、UIAbilityContext和ExtensionContext均继承该能力。应用文件路径属于应用沙箱路径,上述各类Context获取的应用文件路径有所不同。通过ApplicationContext获取应用级别的......