▊ 写在前面
在本文中,作者提出了VX2TEXT,一个用于从“视频+X”(X代表文本、语音或音频等)的多模态输入来生成文本 的框架。为了利用Transformer网络,每个模态首先由可学习的 tokenizer转换为一组语言embedding。
这使得VX2TEXT能够在语言空间中执行多模态融合,从而消除了特殊跨模态融合模块的需要。为了解决在连续输入(如视频或音频)上的tokenization的不可微性,作者使用了一个relaxation方案,可以实现端到端训练。
此外,与之前的仅编码器模型不同,VX2TEXT网络包括一个自回归解码器,可以从语言编码器融合的多模态embedding中生成开放式文本。这使得VX2TEXT能够进行生成任务,并使它直接适用于不同的“视频+X到文本 ”问题,而不需要为每个任务设计专门的head。
VX2TEXT不仅在概念上很简单,而且非常有效:实验表明,VX2TEXT在三个基于视频的文本生成任务上【captioning(字幕), question answering(问答),audio-visual scene-aware dialog(视听场景感知对话框)】优于SOTA方法。
▊ 1. 论文和代码地址
VX2TEXT: End-to-End Learning of Video-Based Text Generation From Multimodal Inputs
论文地址:https://arxiv.org/abs/2101.12059
代码地址:尚未开源
▊ 2. Motivation
人工智能的基本目标之一是开发出能够可靠地用自然语言感知真实世界并与人类交流的对话多模态系统。近年来,这一领域取得了巨大的进展,主要体现在video captioning、question answering、audio-visual dialog等任务的发展。要在这些任务上达到比较好的性能,模型需要完成三个基本的目标:
1)从每个单独的模态中提取显著的信息;
2)有效地结合不同模态的线索来生成query;
3)生成并以人类可理解的文本呈现结果。
在本文中,作者提出了VX2TEXT,它将这三个步骤嵌入到一个统一的、端到端可训练的框架中。目标(1)和(2)是通过利用特定模态的分类器,将每个模态的输入信号的语义转换为一个公共的语义语言空间,使用特定于模态的预训练语言模型能够直接解释多模态内容。
具体来说,VX2TEXT将在现有数据集上预训练好的特定模态的分类器的分类结果作为文本标签,并使用预训练的语言模型将其转换为单词embedding 。这个解决方案的好处是,它能够通过现有的语言编码器进行多模态信息的融合,而不需要设计专门的跨模态网络模块或通过代理任务(pretext tasks)学习如何融合不同模态的信息。实验证明,这样的设计不仅要简单得多,而且还比以前的方法具有更好的性能。
为了实现目标(3),作者采用了生成式文本解码器,将编码器计算出的多模态特征转换为文本,从而实现了以人类可理解的语言生成结果的目标。另外,由于VX2TEXT对不同模态的特征进行分别编码,所以VX2TEXT可以使用相同的结构解决不同的“视频+X到文本”问题,不必为每个任务设计专门的head。
作者将这些步骤集成到一个单一的体系结构中,并对其进行端到端训练。此外,作者在连续的模态(如音频或视频)上采用了可微分的tokenization,这使得整个模型(包括特定于模态的分类器)可以基于最终目标进行端到端的训练。实验表明,统一的VX2TEXT框架训练比单独学习模块产生了显著的性能提升。
▊ 3. 方法
本文的框架如上图所示。
网络的目标是设计一个统一的框架,可以从视频和伴随的模态(例如,音频,语音,或对话框历史)中生成开放式文本 。为了方便表示,首先对符号进行定义。
设,,,是一个多模态样本,其中表示第m个模态。对于特定的任务t,作者采用了一个单独的token来表示,其中。
然后,目标是训练一个模型,,,,;,该模型是针对任务t,来生成输出的文本,,,。W表示可训练的参数。根据任务的不同,生成的文本可能是answers、questions、对interactive responses或 captions的形式。
总的来说,本文的方法可以总结为三个步骤:
1)首先,利用预训练的模态特定分类器来获得每种模态最可能的类别预测(也就是对预测结果进行采样)。
2)然后,通过作者提出的可微tokenization方案,将预测类别的文本embedding到语义语言空间中,这使得对整个系统可以进行端到端训练。
3)最后,使用基于编码器-解码器的 生成 语言模型将多种模态的embedding向量映射到自由形式的文本中。
3.1. Differentiable Tokenization
目前,大多数方法依赖于额外的跨模态融合模块来组合来自不同模态的输入数据,但是这种方式会导致额外的计算。相反,作者提出了通过一个简单的方案将不同模态的输入信号映射到一个公共的语义语言空间来执行多模态融合。
首先使用一个预训练的模态分类器来预测预定义语言词汇上的大量类别。然后,作者利用现有的语言嵌入模型,将每个模态特定的分类器预测的top 个文本类别映射到一个公共的语义语言空间中。
但这样的方法也有一些缺点,首先,预训练的模态特异性分类器可能不能推广到目标数据域(source数据域和target数据域可能不匹配 )。其次,从每个分类器中选择top 个类别是不可微分的,因此阻碍了针对目标任务来微调特定于模态的分类器(由于不可微分,阻碍了分类器的微调 )。为了解决这些限制,作者提出了一种可微的tokenization方案,能够对整个网络进行端到端的训练。
首先,用、、,表示一组特异于模态的网络。对于每个模态m,我们使用一个网络模型,在一个预定义的类别空间,,上进行分类任务。设为类别c,,的网络的归一化概率输出,其中。
然后,我们将这些分类预测通过两步转换为一组文本embedding:
1)每个模态,根据概率采样个类别;
2)将这些类别通过矩阵乘法进行embedding:
其中是用于embedding的矩阵,是模态m、第k个采样类别的one hot向量。
为了使得采样这个过程是可微的,作者采用了Gumbel-Softmax Trick和一种可微近似的tokenization方法。具体来说,作者通过添加Gumbel噪声来重新参数化预测的概率分布,其中,。然后,我们从每个模态m的重新参数化分布中采样top 类别。
使用这种重新参数化的分布,选择Top 类别相当于从原始分布中抽样的类别。然而,选择Top 的过程仍然是不可微的。为了解决这个问题,我们使用了一个Straight-Through Estimator。具体来说,在正向传播过程中,我们采样了如上所述的Top 类别。在反向传播过程中,我们估计每个类别c的梯度为:
这就形成了一个统一的公式,它使整个模型能够端到端的训练。
3.2. Generative Encoder-Decoder
在相同的语言空间中嵌入了不同的模态,这使得我们可以直接使用文本编码器来融合多模态信息。具体操作是,将特定任务t得到的embedding 全部喂入到一个文本编码器中:
其中代表用于分隔的token,这里的就是一个聚合了所有模态信息的特征。
然后,我们将新的多模态特征提供给解码器进行文本生成。解码器以一种自动回归的方式生成结果,这意味着它使用以前被解码的输出作为其输入的一部分。
其中,是当前时间步的生成结果,为前面时间步生成的结果。
3.3. Training
在训练过程中,作者遵循teacher-forcing的做法,这意味着我们在相应的位置用ground-truth tokens 替换前面时间步生成的结果:
损失函数为标准的交叉熵函数:
3.4. Inference
大多数以前的多模态Transformer依赖于特定于任务的head来处理不同的任务。因此,为生成任务设计的head通常与在鉴别任务中使用的head有很大的不同。然而,VX2TEXT可以无缝地解决了这两种类型的任务,而不需要更改其体系结构。
对于生成任务( generative tasks),例如,字幕和视频对话框,作者使用Beam Search或 Greedy Decoding来生成连贯的句子。相反,对于鉴别任务(discriminative tasks),例如,在TVQA上的问题回答,该模型需要从提供的候选集中选择最可能的答案。
在这种情况下,作者将整个候选答案集作为模型的额外输入,然后在自回归解码器定义的概率分布下估计每个候选输出。最后,选择最高概率的答案作为预测的输出。
▊ 4.实验
4.1. Assessing the Importance of Each Modality
上图展示了AVSD和TVQA数据集上不同模态的实验结果。我们观察到,每种模态都为这两个任务提供了性能增益。
4.2. The Effect of Differentiable Tokenization
上图展示了AVSD和TVQA数据集上各种Tokenization的实验结果。可以注意到, Differentiable Tokenization通过联合端到端优化整个模型,进一步提高了这两个任务的性能。
4.3. The Benefit of a Generative Model
以生成方式训练的VX2TEXT模型在所有训练集大小上都显著优于其鉴别模型。
4.4. Comparison With the State-of-the-Art
4.4.1. AVSD
在AVSD数据集上,VX2TEXT比现有的方法都有显著的提升。
4.4.2. TVQA
上表显示,在TVQA上,VX2TEXT在验证集和测试集上都显著优于之前的所有方法。
4.4.3. TVC
在TVC的captioning任务上,VX2TEXT显著优于SOTA方法。
4.5. Qualitative Results
从上图可以看出,VX2TEXT成功地识别出了视频中的action。
▊ 5. 总结
在这项工作中,作者提出了一个统一框架来解决从“视频+X”多模态输入中生成文本 的问题。作者首先将所有模态特征映射到语义空间,以便实现Transformer网络的应用。
然后,作者引入了一种可微 tokenization的机制,将模态特定分类器的连续输出转换为语言空间,这使得整个模型可以进行端到端的训练。
▊ 作者简介
研究领域:FightingCV公众号运营者,研究方向为多模态内容理解,专注于解决视觉模态和语言模态相结合的任务,促进Vision-Language模型的实地应用。
知乎/公众号:FightingCV