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

本文分享论文『Align and Prompt: Video-and-Language Pre-training with Entity Prompts』,由 Salesforce&ANU 提出ALPRO,进行细粒度的视频文本对齐!代码已开源!

详细信息如下:

  • 论文链接:https://arxiv.org/abs/2112.09583

  • 项目链接:https://github.com/salesforce/alpro

导言:

视频和语言预训练在各种下游任务上显示出显著的性能优势。以前的大多数方法都使用基于标准Transformer的多模态编码器捕获跨模态交互,而不能完全解决单模态视频和文本特征之间的未对齐问题。此外,学习细粒度视觉语言对齐通常需要现成的目标检测器来提供目标信息,检测器的词汇量有限和昂贵的计算成本限制了这一方法的发展。

在本文中,作者提出了Align and Prompt:一个新的视频和语言预训练框架(ALPRO),该框架在稀疏采样的视频帧上运行,在没有显式目标检测器的情况下实现更有效的跨模态对齐。首先,作者引入了一种视频文本对比(VTC)损失,在实例级对齐单模态视频文本特征,简化了跨模态交互的建模。然后,作者提出了一种新的视觉基础预训练任务,即提示实体建模(PEM),该任务通过实体提示器模块以自监督的方式学习视觉区域和文本实体之间的细粒度对齐。最后,作者使用提出的VTC和PEM损失,以及掩码语言建模 (MLM) 和视频文本匹配 (VTM) 的两个标准损失,在大型网络源视频文本对上预训练了视频和语言Transformer模型。

      01      

Motivation

视频和语言预训练旨在共同学习多模态表示,有效地将其转移到下游任务,如文本视频检索和视频问答。与图像相比,视频通常在连续帧中包含更多冗余,这对容量和计算效率的模型提出了挑战。大多数先前的方法通过使用离线提取的特征来规避昂贵的计算开销。由于视频特征提取器是固定的,不需要进行网络调整,因此当迁移到不同的目标域时,这些方法是次优的。相比之下,最近出现的方法从视频中采样很少的帧,这使得视频主干能够进行端到端的预训练和微调。在这项工作中,作者采用了稀疏视频文本预训练范式。

尽管目前的视频文本预训练模型具有良好的性能,但仍存在一些局限性:

  1. 视频和文本特征之间的交互通常使用点积或交叉模态Transformer编码器进行简单建模。然而,来自各个模态的特征通常位于不同的嵌入空间中,这种错位使得直接模拟跨模态相互作用的效果降低。

  2. 许多以视觉为基础的预训练任务没有明确建模细粒度区域视觉信息,这对于视觉推理的下游任务(如videoQA)是非常重要的。尽管有人尝试使用目标检测器生成伪标签作为监督,但它们的检测不精确,并且物体类别数量有限。例如,在MSCOCO上训练的检测器识别不到100个不同的类别。

  3. 先前的稀疏预训练模型使用图像编码器使用图像-文本对进行训练,这使得其在建模时间信息时效率较低。

在本文中,作者使用一个新的视频和语言预训练框架:Align and Prompt(ALPRO)来应对这些挑战。从结构角度看,ALPRO首先使用基于Transformer的视频编码器和文本编码器对帧和文本进行独立编码,然后使用多模态编码器捕获跨模态交互。ALPRO学习实例级视频文本对齐和细粒度区域实体对齐。实例级对齐是通过在单模态特征上应用视频文本对比损失(VTC)来学习的,这鼓励成对的视频文本实例具有相似的表示。

为了更好地捕获细粒度视觉信息并加强区域实体对齐,ALPRO引入了一个新的视觉基础预训练任务,称为提示实体建模(prompting entity modeling),要求视频文本模型使用视频和文本输入联合预测随机选择的视频中出现的实体(如上图所示)。

为了解决实体标注不可用的问题,作者设计了一个独立的实体提示器(entity prompter)模块,该模块生成可靠的伪标签。具体地说,实体提示器由两个单模态编码器组成,分别用于提取视频和文本特征。作者首先仅使用VTC损失对实体提示器进行训练,然后冻结其参数。然后在预训练中,作者输入视频片段和文本提示(例如“A video of { Entity }”),对于提示语,每个实体都来自预训练语料库中经常出现的名词。然后,计算实体提示和视频片段之间的标准化相似度作为伪标签来监督预训练。

      02      

方法

2.1. ALPRO Architecture

上图展示了ALPRO的结构图。ALPRO由两个主要模块组成,视频-语言预训练模型和提示器(prompter)。提示器用于生成soft的实体标签,以监督视频语言模型的预训练。这两个模块都包含自己的视频编码器和文本编码器,分别用于提取视频和文本输入的特征。预训练模型有一个额外的多模态编码器,以进一步捕获两种模态之间的相互作用。

Visual Encoder

作者使用12层TimeSformer来提取视频特征,输入帧的高度和宽度为224。对于从每个输入视频中稀疏采样的个帧,TimeSformer首先将每个帧划分为K个不重叠的patch,这些patch被过滤并送到线性投影层以产生patch token序列。可学习的位置嵌入也被添加到patch token。

然后,TimeSformer在时间和空间维度上分别应用自注意力,从而产生每帧特征,d为特征维数。然后沿时间维度应用时间融合层(即,mean pooling),以将每帧特征聚合为视频特征。作为视觉编码器的输出,可以得到了一个视觉嵌入序列:,其中,表示视频[CLS] token的嵌入。

Text Encoder

作者使用6层Transformer模型来表示文本token。给定个token的输入文本描述,文本编码器输出一个嵌入序列,其中,为文本 [CLS]  token的嵌入。与视频编码器类似,作者还向文本token添加位置嵌入。

Multimodal Encoder

多模态编码器采用三层的Transformer,进行跨模态的交互。由于位置嵌入已经注入到每个单模态编码器中,因此作者直接concat视频和文本特征,然后送入到多模态编码器。输出是多模态嵌入,其中。

2.2. Pre-training for ALPRO

作者用四个目标对ALPRO进行预训练,其中包括两个常见的目标,即掩蔽语言建模(MLM)和视频-文本匹配(VTM)。另外两个训练目标为视频文本对比(VTC)损失和提示实体建模(PEM)损失。VTC和PEM的动机都是加强视频和文本之间的跨模态对齐。VTC强调捕获视频文本对的实例级对齐,PEM鼓励模型将局部视频区域与文本实体对齐

2.2.1 Contrastive Video-Text Alignment

现有的稀疏视频语言预训练模型使用点积或完全依赖于Transformer编码器来建模跨模态交互。然而,由于视频和文本特征位于不同的嵌入空间,这种方法导致不太好的对齐。为此,作者提出了一种视频文本对比(VTC)方法,用于在将单模态编码器的特征发送到多模态编码器之前对其进行对齐。具体而言,给定视频和文本[CLS] token的嵌入,作者优化了视频V和文本T之间的相似性函数:

这样成对的视频和文本描述具有更高的相似性分数,其中和是线性投影,将[CLS]嵌入转换为通用的标准化低维(例如256-d)空间。

对比损失将匹配对视为正样本,而将batch中可以形成的所有其他对视为负样本。对于每个输入视频文本对 , 视频文本对比损失由两个对称项组成,一个用于视频到文本的分类:

另一个用于文本到视频分类:

式中,τ是可学习的温度参数,B是batch大小。视频文本对比损失定义为:。

2.2.2 Prompting Entity Modeling

尽管MLM已经证明了其在学习token级文本表示方面的有效性,但设计visually-grounded的任务仍然是一个挑战。因此,视觉推理的有限能力对以前在下游任务上的工作产生了不利影响,尤其是那些需要区域级视觉信息的任务。这对于现有的视频语言预训练模型来说尤其是一个问题,它通常在pooling只保留粗粒度的空间信息,从而丢失细粒度的视觉线索。

ActBERT使用现成的目标检测器来获取区域特征。除了效率低下之外,使用图像训练的检测器往往会在视频输入上产生不可靠的检测结果。此外,检测器通常使用受限的目标类别(例如,小于100)进行训练,限制模型的性能。

作者引入了提示实体建模(PEM),这是一项新的基于视觉的预训练任务,它提高了模型捕获局部区域信息的能力,并加强了视频区域和文本实体之间的跨模态对齐。具体而言,PEM需要一个提示器模块,该模块生成soft伪标签,识别随机视频中出现的实体。然后,以伪标签为目标,要求预训练模型预测视频片段中的实体类别。

提示器用于产生给定视频crop的实体类别的伪标签,除了可能带有噪声对齐的网络来源的视频文本对之外,没有使用任何密集的标注信息。CLIP能从噪声对中学习图像-文本对齐。受此启发,作者首先在视频文本对上预训练提示器,该提示器由两个单模态编码器组成,具有VTC loss,然后冻结其参数。

提示器维护M个文本提示的预定义列表。每个文本提示都是一个模板的实例,例如“A video of { ENTITY }”,其中实体是预训练语料库中的常用名词,如dog, grass, sky等。提示语经过预训练后,它会计算每个文本提示的[CLS]嵌入。

为了生成实体标签,给定一个视频输入,作者首先从提示器的视频编码器获取随机视频crop(例如,采样帧上的相同空间区域)及其[CLS]嵌入。提示器然后计算实体伪标签表示视频crop,作为和所有提示嵌入之间的softmax归一化相似性:

在视频语言模型的预训练期间,作者对来自多模态编码器的嵌入应用平均池化。作者使用一个分类器(如MLP)来计算softmax标准化实体预测。然后将提示实体建模(PEM)损失定义为和之间的交叉熵:

提示实体建模具有不同的实体范围,同时不需要额外的人工标注,这产生了一个高效且可扩展的解决方案,以生成跨模态学习的区域级监督。

2.2.3 Overall Pre-training Objectives

此外,作者还使用了广泛采用的掩蔽语言建模(MLM)损失和视频文本匹配损失。MLM目标利用视频和上下文文本来预测mask的文本token。作者以15% 的概率随机mask输入token,并用特殊token  [mask] 替换它们。视频文本匹配是一项二分类任务,用于预测视频和文本描述是否相互匹配。作者使用多模态[CLS] token作为视频-文本对的联合表示,并使用交叉熵损失训练模型。ALPRO的总体预训练目标是:

      03      

实验

上表展示了不同预训练任务下的实验结果。

上图展示了不同视频crop生成的伪标签结果。

上表展示了与现有的文本到视频检索方法的比较,包括MSRVTT上的finetuning和zero-shot设置。

上表展示了与现有的文本到视频检索方法的比较,包括DiDeMo上的finetuning和zero-shot设置。

上表展示了MSRVTT-QA和MSVD-QA上的实验结果。

上表展示了不同PEM的实例数量的实验结果。

上表展示了不同采样帧数下的实验结果。

      04      

总结

在本文中,作者提出了一个预训练框架,希望通过在预训练的过程中进行模态间局部和全局的对其,因此除了经典的VTM和MLM两个预训练任务之外,作者还引入了两个新的预训练任务:VTC和PEM。VTC和CLIP的操作大致相同,通过比较图像和文本的cls token来判断图像样本和文本样本是够匹配。PEM则是对随机裁剪的帧通过prompt操作进行类别的预测,然后将预测的结果作为伪标签来监督预训练的过程,从而使模型能够感知视频帧中的局部区域。

▊ 作者简介

研究领域:FightingCV公众号运营者,研究方向为多模态内容理解,专注于解决视觉模态和语言模态相结合的任务,促进Vision-Language模型的实地应用。

知乎/公众号:FightingCV

END

欢迎加入「计算机视觉交流群

Align and Prompt:SalesforceANU提出ALPRO,进行细粒度的视频文本对齐!代码已开源!...相关推荐

  1. 北大FAIR自动化所快手提出基于动量对比学习的层次Transformer—HiT,用于视频文本检索!代码已开源!...

    关注公众号,发现CV技术之美 ▊ 写在前面 随着互联网上多媒体数据的增长,视频文本检索已经成为一个热门的研究课题.用于视频文本学习的Transformer因其良好的性能而受到越来越多的关注.然而,现有 ...

  2. 国防科大提出基于可变形三维卷积的视频超分辨,代码已开源

    原文链接:https://bbs.cvmart.net/articles/3041 专注计算机视觉前沿资讯和技术干货 微信公众号:极市平台 官网:https://www.cvmart.net/ 视频是 ...

  3. 国防科大提出基于可变形三维卷积(D3Dnet)的视频超分辨,代码已开源

    视频是具有时间连续性的图像集合,其中每帧图像的上下文信息(空域信息)与不同帧之间的互补信息(时域信息)都有助于提升视频超分辨的性能. 近日,来自国防科技大学的学者提出基于可变形三维卷积的视频超分辨网络 ...

  4. 国科大港中文提出带视觉语言验证和迭代推理的Visual Grounding框架,性能SOTA,代码已开源!(CVPR2022)...

    关注公众号,发现CV技术之美 本文分享 CVPR 2022 的一篇论文『Improving features Visual Grounding with Visual-Linguistic Verifi ...

  5. VLM:Meta AI CMU提出任务无关视频语言模型视频理解预训练VLM,代码已开源!(ACL 2021)...

    关注公众号,发现CV技术之美 本文分享 ACL 2021 论文『VLM: Task-agnostic Video-Language Model Pre-training for Video Under ...

  6. 国科大提出FreeAnchor,新一代通用目标检测方法,代码已开源

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自新智元(ID:AI_era),请勿二次转载.   新智元专栏   作者:张小松 (中国科学院大学) [新智元导读]中国科学院大学联合厦门大学和 ...

  7. CVPR 2019 | 国防科大提出双目超分辨算法,效果优异代码已开源

    点击我爱计算机视觉标星,更快获取CVML新技术 近年来,双摄像头成像系统在智能手机.自动驾驶等领域取得了广泛的应用. 近日,来自国防科技大学等单位的学者提出了新型双目超分辨算法,充分利用了左右图的信息 ...

  8. CVPR 2019 Oral 亮风台提出端到端投影光学补偿算法,代码已开源

    点击我爱计算机视觉置顶,更快获取CVML新技术 导读:图像增强是一个历久弥新的研究方向,大多数计算机视觉学习者最开始接触的图像平滑.去噪.锐化是增强,现在研究比较多的去雾.去雨雪.暗光图像恢复也是增强 ...

  9. 基于java的语义分割,NeruIPS2019 | 深圳大学提出点云语义分割框架ELGS,效果拔群(代码已开源)...

    标题:Exploiting Local and Global Structure for Point Cloud Semantic Segmentation with Contextual Point ...

最新文章

  1. 小程序canvas的一个坑
  2. Bear and Finding Criminals
  3. python androidhelper怎么点击屏幕_python:如何模拟helper方法?
  4. mysql5.6 临时表_MySQL5.6 运用临时表做SQL优化
  5. ZJOI 2017 线段树
  6. 域组策略--+域控中组策略基本设置
  7. ES6的Set使用方法
  8. 机器学习基础:K近邻算法(Machine Learning Fundamentals: KNN)
  9. linux 文件前缀,【整理】Linux系统中通过前缀加点,即.xxx表示隐藏文件
  10. MySQL 到底能不能放到 Docker 里跑? 1
  11. 数据可视化分析工具大集合
  12. ITEXT-PDF彩色字体显示-支持中文
  13. playframework 2.6 refused to apply inline style because it violates the following Content Security
  14. 电音中DJ/Producer/MC/EDM/Remix/Mix的名词解释(转)
  15. PICkits3调试功能
  16. 字节跳动实习面经(已拿offer附攻略)
  17. 【错误】E45: ‘readonly‘ option is set (add to override)
  18. 朱晔的互联网架构实践心得S1E10:数据的权衡和折腾【系列完】
  19. 有哪些电影一定要趁年轻看? - 风之影的回答 - 知乎
  20. Protobuf简单使用

热门文章

  1. JS中的基本数据类型与引用数据类型
  2. Windows 8/8.1 系统备份
  3. 微信小程序 【笔记003】小程序的事件处理
  4. [ARM] [基础][编译]ARM的浮点功能历史分类和对应的编译选项
  5. netty心跳过程中 发送消息失败_netty心跳机制和断线重连(四)
  6. db2有主键时默认hash分区_不允许设置db2主键问题的解决
  7. 怎么配置linux中es搜索的主机名,分布式搜索elasticsearch中文分词集成
  8. java jedis_Java操作Redis之Jedis用法详解
  9. 计算机中考什么时候报名,中考报名时间
  10. bl小说里面有个机器人管家_5G无人扫地机器人+进口吸扫一体机 杭州环卫工装备升级了...