关注公众号,发现CV技术之美

 写在前面

在本文中,作者提出了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

END,入群????备注:图像字幕

Vx2Text-多模态任务新进展!哥大Facebook提出VX2TEXT模型,实现了“视频+X”到“文本”的任务...相关推荐

  1. 更精准地生成字幕!哥大Facebook提出Vx2Text:多模态融合,性能更强!

    点击上方"CVer",选择加"星标"置顶 重磅干货,第一时间送达 子豪 发自 凹非寺 本文转载自:量子位(QbitAI) 现在,给视频添加字幕,又有了新玩法. ...

  2. 多项NLP任务新SOTA,Facebook提出预训练模型BART​

    2019-11-04 13:38:14 论文选自arXiv 作者:Mike Lewis等机器之心编译参与:魔王.一鸣 FaceBook 近日提出了一个名为BART的预训练语言模型.该模型结合双向和自回 ...

  3. 性能不打折,内存占用减少90%,Facebook提出极致模型压缩方法Quant-Noise

    对于动辄上百 M 大小的神经网络来说,模型压缩能够减少它们的内存占用.通信带宽和计算复杂度等,以便更好地进行应用部署.最近,来自 Facebook AI 的研究者提出了一种新的模型量化压缩技术 Qua ...

  4. java list 占用内存不释放_性能不打折,内存占用减少90%,Facebook提出极致模型压缩方法Quant-Noise...

    对于动辄上百 M 大小的神经网络来说,模型压缩能够减少它们的内存占用.通信带宽和计算复杂度等,以便更好地进行应用部署.最近,来自 Facebook AI 的研究者提出了一种新的模型量化压缩技术 Qua ...

  5. 更精准地生成字幕!哥大Facebook开发AI新框架,多模态融合,性能更强

    子豪 发自 凹非寺 量子位 报道 | 公众号 QbitAI 现在,给视频添加字幕,又有了新玩法. 这就是Facebook.哥伦比亚大学等大学的新研究,共同开发了一个框架--Vx2Text. 这个框架可 ...

  6. 多模态任务新蓝海:视觉语言导航最新进展

    [专栏:前沿进展]2 月 17 日,澳大利亚阿德莱德大学副教授吴琦在青源 Talk 第 12期中带来了题为「视觉-语言导航新进展:Pre-training与Sim2Real」的报告. 吴琦首先简要介绍 ...

  7. 13亿参数,无标注预训练实现SOTA:Facebook提出自监督CV新模型

    作者|陈萍 来源|机器之心 Facebook AI 用 10 亿张来自Instagram的随机.未标注图像预训练了一个参数量达 13 亿的自监督模型 SEER,该模型取得了自监督视觉模型的新 SOTA ...

  8. 华南理工提出多模态ReID新数据集,语义自对齐网络SSAN达到SOTA性能!代码数据集均已开源!...

    关注公众号,发现CV技术之美 本篇分享论文『Semantically Self-Aligned Network for Text-to-Image Part-aware Person Re-ident ...

  9. 周伯文对话斯坦福教授曼宁:人机对话智能新进展需要新“图灵测试”

    过去一年里,人工智能进展最大的方向在自然语言处理(NLP),BERT.GPT-2 等预训练模型引领了很多方向的新时代,又催生出了大量商业应用机会.面对技术的进步,AI 领域的顶级学者和从业高管是如何看 ...

最新文章

  1. 他们提出了一个大胆的猜想:GWT(深度学习)→通用人工智能
  2. python字典内存分析_Python减少字典对象占用的七成内存
  3. Effective C++ --7 模板与泛型编程
  4. maven常见问题问答
  5. 时间序列预测系统α版本迭代总结
  6. lua 获取网络时间_Lua脚本引擎教程:学习路线
  7. Linux kernel 国内repo
  8. android真实项目教程(四)——MY APP MY STYLE_by_CJJ
  9. opengl在windows中使用最新的opengl
  10. 黑马乐优商城项目资源分享
  11. 史上最著名的电脑病毒
  12. cad画直角命令_给CAD图形进行倒直角的方法步骤
  13. 微信小程序——云开发实现图片上传到云存储并实时预览当前上传的图片
  14. codingdojo kata 之fizzbuzz
  15. android 多个按键精灵,给大家分享一个,按键精灵安卓版,找多图, 以及找多图返回多个坐标的,相信大家绝对用得到 _ 按键精灵手机版 - 按键精灵论坛...
  16. 第十九章 Caché 函数大全 $INCREMENT 函数
  17. mysql数据库idb_数据库 - MysqliDb
  18. animator动画
  19. Python变量的理解与内存管理
  20. 离散数学-图论知识总结(修改版)

热门文章

  1. 截取视频段转换为GIF动图
  2. VC皮肤库SkinCrafter v3 4 0 0使用
  3. qt5.8连接mysql代码_qt5.8如何连接mysql
  4. 单频和混频是什么意思_科研| 谐波混频器常见电路小结
  5. python列表框_Python列表框
  6. java返回类型自动_java-Apache Flink:由于类型擦除,无法自动确定函数的返回类型...
  7. xss 全编码两次_URL编码与XSS
  8. java 发送带basic认证的http post请求实例代码_图解HTTP学习笔记(八)—确认访问用户身份的认证...
  9. java nio 客户端_Java网络编程:Netty框架学习(二)---Java NIO,实现简单的服务端客户端消息传输...
  10. zipkin brave mysql_zipkin mysql表结构