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

本文分享论文『SWIN BERT: End-to-End Transformers with Sparse Attention for Video Captioning』,微软提出第一个端到端的Video Captioning方法《SWIN BERT》,涨点显著!

详细信息如下:

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

  • 项目链接:未开源

导言:

视频字幕的标准方法是定义一个字幕生成模型,以从大量提取的密集视频特征中学习。这些特征提取器通常对以固定帧率采样的视频帧进行操作,并且通常对图像/视频理解任务进行预训练,而没有适应视频字幕数据。在这项工作中,作者提出了S WIN BERT ,这是一种基于端到端Transformer的视频字幕模型,该模型直接将视频帧patch作为输入,并输出自然语言描述。

本文的方法不是利用多个2D/3D特征提取器,而是采用视频Transformer来编码时空表示,该表示可以适应可变长度的视频输入,而无需针对不同帧率进行专门设计。基于这个模型结构,作者证明了视频字幕可以从更密集的采样视频帧中获得显著的增益。此外,为了避免连续视频帧中固有的冗余,作者提出自适应学习稀疏注意掩码,并通过更好的远程视频序列建模来优化任务特定性能的改进。通过对5个视频字幕数据集的广泛实验,作者表明S WIN BERT比以前的方法实现了全面的性能改进,通常提升幅度很大。

      01      

Motivation

视频字幕是用自然语言描述给定视频的视觉内容的任务,因此,这需要模型理解和建模视频中的时空动态以及视觉和文本元素之间的关系,并生成一系列输出单词。这通常是通过基于Transformer的模型来解决的,该模型从提取的视频表示中学习 ,如上图所示。

具体而言,多个特征提取器,通常在图像/视频理解任务 (例如,图像分类或动作识别) 上训练,用于从密集采样的视频帧中提取2D外观特征和3D运动特征。虽然取得了不错的结果,但这些现成的特征提取程序和下游视频字幕在数据域和任务制定方面存在差异。在这样的情况下,使用多个特征提取器进行端到端训练密集的视频帧是计算密集型的,甚至是不可行的。

最近,CLIP BERT 指出连续视频帧中呈现的重复信息对于下游视频和语言任务不是必需的,并提出了一种稀疏采样策略,该策略可以对原始像素输入进行负担得起的端到端训练。

尽管它在视频和语言理解任务中显示出巨大的成功,例如视频问题回答和文本到视频检索,但仍不清楚这些稀疏采样的视频帧是否足以生成丰富的描述性字幕。此外,CLIP BERT利用2D卷积神经网络以及平均池化,该平均池化直接对原始视频帧进行操作以学习视频表示,这可能会丢失按时间顺序描述视觉事件必不可少的时间信息。

在这项工作中,作者的目标是为视频字幕任务找到端到端的解决方案。受最近在计算机视觉中基于Transformer的模型的成功的启发,特别是对于视频理解任务,作者提出了SWIN BERT (如上图所示),一种基于纯Transformer的模型,直接将原始视频帧作为端到端字幕生成的输入。

与以前的方法在固定帧率下利用现成的2D/3D特征提取器不同,作者采用了能够从可变长度的视频帧序列中学习的视频Transformer,而无需针对不同帧率的专门设计。基于这种特定的模型设计,作者研究了有多少视频帧适合视频字幕任务?实验表明,更密集的采样帧 (例如,本文: 64帧,CLIP BERT: 16帧) 可以大大提高字幕性能 (即CIDEr得分)。

最后,为了避免连续视频帧中自然出现的冗余,作者进一步引入了一种可学习的稀疏注意掩码作为正则化器,该正则化器允许模型更多地关注包含更多时空移动的视频帧patch。与先前的模型与预先确定的注意力结构相比,本文的模型可以学习自适应注意力图,以通过更好的视频序列建模来优化任务特定性能的改进。

      02      

方法

2.1. Model Architecture

上图展示了本文所提出的模型。S WIN BERT将一系列原始视频帧作为输入,然后输出描述输入视频的自然语言描述。S WIN BERT由两个模块组成: 视频Swin Transformer (VidSwin) 和多模态Transformer编码器。首先,作者利用VidSwin从原始视频帧中提取时空视频表示。然后,本文的多模态Transformer编码器将视频表示作为输入,并通过序列到序列 (seq2seq) 生成输出自然语言句子。

Video Swin Transformer

视频理解得益于长期时间的建模。一种简单的方法是堆叠大量帧以捕获远程结构。然而,这将大大增加计算成本。最近,VidSwin被设计为利用视频中固有的时空局部性,并实现了良好的速度-精度权衡。在本文框架的第一个模块中,作者提出使用VidSwin作为视频编码器,将原始视频帧编码为视频特征token。VidSwin接受了动作识别任务的预训练。

给定大小为T×H×W×3的原始视频帧,由T帧组成,每个帧具有H×W×3像素。作者将它们提供给VidSwin,并从VidSwin的最后一个编码器块中提取网格特征。VidSwin的网格特征的size为,其中C为通道尺寸。通过本文的通用设计,它可以从原始视频帧进行端到端的视频字幕训练。此外,得益于Transformer结构的灵活性,本文的模型能够处理可变长度的视频序列。

Multimodal Transformer Encoder

在本文的第二个模块中,作者使用Transformer编码器来生成自然语言描述。具体来说,它具有文本和视觉模态输入,包括标记化的字幕描述从VidSwin计算的视频token。然后,模型执行seq2seq生成以形成自然语言句子。与图像字幕工作相同,作者使用causal self-attention mask,其中字幕token只能关注现有的输出token。这有效地模拟了单向seq2seq生成过程。此外,所有文本token都对视频token给予了充分的关注。

2.2. Learning with Sparse Attention Mask

通常,跨多个视频段的较长输入包含更多信息。但是,注意力的计算需求与输入长度成二次方的关系,这限制了输入帧的数量。另一方面,考虑到视频属性的本质,具有连续视频帧的密度采样方案包含冗余且可能不相关的信息,这可能会损害性能。因此,在本文提出的框架中,如何有效地对长序列的视频token进行建模是一个独特的挑战。作者通过在多模态Transformer编码器中引入可学习的稀疏注意掩码作为正则化器来解决此问题。

如上图所示,Transformer的输入分为两部分: N个word token和M个视频token。在本文的实验中,整个注意力mask可以被定义为大小 (N+ M)×(N+ M),其中N是50,。将V表示为大小为M × M的可学习注意力mask,以控制视频token之间的注意力。为了更准确的视频字幕,模型允许文本token不受限制地关注,以便它们可以利用视觉细节。为了解决视频token之间的冗余,作者通过以下方式在V上施加稀疏约束:

其中 λ 是正则化超参数,是可学习注意力mask V的激活值。在学习过程中,稀疏性约束将正则化模型训练,以发现视频序列的基础结构。通过稀疏注意,该模型学习通过减少无意义连接的可能性来加强不同token之间最重要的关系,同时更多地关注包含丰富时空信息的视频token。通过这种方式,该模型可以生成更具表现力和描述性的自然语言句子。

在本文的实现中,作者将sigmoid激活函数应用于稀疏注意mask。因此,稀疏注意mask由0和1之间的连续激活组成。此外,也可以通过简单地使用0.5的阈值来实现二进制mask。

Training

作者通过在多模态Transformer编码器上应用Masked Language Modeling (),以端到端的方式训练S WIN BERT。作者通过用预定义的特殊token [MASK] 替换它们来mask一定比例的单词token。

然后,要求多模态Transformer预测被mask的单词。为了预测mask单词token,模型将不得不求助于视频token和其他单词token。这有助于跨模态表示学习,以帮助在视频上下文中建立字幕描述的基础。此外,本文将提出的稀疏性约束应用于可学习注意mask,以增强视频token序列的建模。

综上所述,本文的损失函数包括和,作者通过简单地最小化它们的和来训练S WIN BERT。

Inference

在推理过程中,本文的模型将视频序列作为输入 (单个视觉模态),并输出自然语言句子。作者以自回归的方式生成输出句子。换句话说,本文的模型一次生成一个单词token,将先前生成的token用作多模态Transformer编码器的输入,直到模型输出预定义的结束token [EOS]或达到最大输出长度。

      03      

实验

上表展示了本文方法在MSVD和MSRVTT上的实验结果。

上表展示了本文方法在其他数据集上和SOTA方法的对比。

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

上表展示了本文稀疏注意力的消融实验结果。

上表展示了不同维度attention的实验结果。

上表展示了soft和hard attention mask的实验结果。

上表展示了帧数和数据集迁移的实验结果。

上图展示了不同位置的token attention的实验结果。

上图展示了本文模型在施加正则化约束和不施加正则化约束的训练结果。

上图展示了本文方法的定性实验结果。

      04      

总结

在本文中,作者提出了一个端到端是VIdeo Captioning的方式,以前的方法都是用离线的特征,本文采用了预训练的Video Swin Transformer来进行特征的提取,然后用随机初始化的多模态Transformer进行生成任务,整个过程进行端到端的优化。

作者发现对于caption任务,采样帧数的提高能够提升模型的性能,因此作者提高了帧数,为了解决帧数提高带来的计算量提升的问题,作者在训练的时候进行了稀疏的attention mask约束,从而达到比较低的计算量。

▊ 作者简介

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

知乎/公众号:FightingCV

END

欢迎加入「视频字幕交流群

微软提出第一个端到端的Video Captioning方法:SWIN BERT,涨点显著!相关推荐

  1. 微软提出极低资源下语音合成与识别新方法,小语种不怕没数据!| ICML 2019

    作者 | 谭旭 转载自微软研究院AI头条(ID: MSRAsia) 编者按:目前,人类使用的语言种类有近7000种,然而由于缺乏足够的语音-文本监督数据,绝大多数语言并没有对应的语音合成与识别功能.为 ...

  2. CVPR2021 Oral《Seeing Out of the Box》北科大中山大学微软提出端到端视觉语言表征预训练方法...

    本文分享一篇 CVPR 2021 Oral 论文,由北科大&中山大学&微软提出端到端视觉语言表征学习的预训练方法.『Seeing Out of the Box: End-to-End ...

  3. UCSB微软提出VIOLET,用Masked Visual-token Modeling进行端到端的视频语言学习!性能SOTA...

    关注公众号,发现CV技术之美 ▊ 写在前面 视频语言(VidL)建模的一个巨大挑战在于,从图像/视频理解模型提取的固定视频表示与下游VidL数据之间的脱节 .最近的研究试图通过端到端的训练来解决这个问 ...

  4. 端到端问答新突破:百度提出RocketQA,登顶MSMARCO榜首

    机器之心发布 机器之心编辑部 开放域问答(Open-domain QA)一直是自然语言处理领域的重要研究课题.百度从面向端到端问答的检索模型出发,提出了RocketQA训练方法,大幅提升了对偶式检索模 ...

  5. 百度宣布AI语音调用登顶中国第一,自研芯片+最新端到端模型颠覆传统语音识别算法...

    晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI 2019年,NLP和语音技术取得了多项技术突破,但是科技公司考虑更多的是AI的"场景",如何在各种场景中都能方便地集成语 ...

  6. 通信网络基础期末复习-第一章和第二章-概论和端到端的传输协议

    写在前面:本课程授课教师为韩彦芳.本文仅供个人复习学习.构建知识体系所用. 文章目录 第1章 通信网络概述及数学基础 1.1 通信网络的基本构成 1.2 协议体系及分层的概念 1.2.1分层的概念 1 ...

  7. NAACL 2021 | AWS AI 提出基于对比学习的端到端无监督聚类方法

    ©PaperWeekly 原创 · 作者 | 李婧蕾 学校 | 北京邮电大学硕士生 研究方向 | 自然语言处理 Abstract 无监督聚类的目的是根据在表示空间中的距离发现数据的语义类别.然而,在学 ...

  8. 扔掉目标检测器,实现真正的端到端多模态预训练!阿里提出E2E-VLP(ACL2021)...

    关注公众号,发现CV技术之美 ▊ 写在前面 基于大规模图文对的视觉-语言预训练(VLP)已经让许多跨模态的下游任务取得了巨大的性能提升.现有的大多数预训练方法主要采用两步 训练过程,即首先使用预训练的 ...

  9. KD-VLP:知识蒸馏和预训练还能这么结合?上科大IntelMSRA提出基于知识蒸馏的端到端多模态预训练模型...

    关注公众号,发现CV技术之美 本文分享论文『KD-VLP: Improving End-to-End Vision-and-Language Pretraining with Object Knowl ...

最新文章

  1. 招聘|华为诺亚方舟实验室AI算法实习生
  2. html调用js进行MD5加密,js实现md5加密
  3. 当铺密码解密脚本--[GKCTF2020]汉字的秘密
  4. mysql 操作类 C .net_.NET MYSQL数据库操作基类( C#源码)
  5. Java之品优购课程讲义_day16(2)
  6. Windows 64位下装Oracle 11g,PLSQL Developer的配置问题,数据库处显示为空白的解决方案...
  7. 如何在Linux中使用ulimit命令
  8. 孤独最高境界:这款单人VR游戏竟能带来多人组队体验
  9. 四川中小学计算机能力提升,四川省中小学教师信息技术应用能力提升工程2.0
  10. 基金定投应该什么时候终止?
  11. 【离散数学】单射、满射、双射、映射的合成与逆映射
  12. 数据分析与爬虫实战视频——学习笔记(二)(千图网图片爬虫、fiddler抓包分析、腾讯视频评论爬虫、多线程爬虫(糗百))
  13. 解析G652,G657A,G655和G654光缆之间的区别
  14. vue饿了么项目实现评论列表的筛选
  15. 关于批量添加用户和域用户
  16. (财务应用程序:比较不同利率下的贷款)编写程序,让用户输入贷款总额和以年为单位的贷款期限,然后显示利率从5%到8%,每次递增1/8的过程中,每月的支付额和总支付额
  17. Lossless CNN Channel Pruning via Decoupling Remembering and Forgetting
  18. 工程师应培养哪些基本功?听美团技术大咖怎么说
  19. 7-1 过河 (15分) Java实现
  20. VM安装CentOS虚拟机详细教程

热门文章

  1. Origin绘图之条形图上加曲线拟合图
  2. C++/C--相对路径与绝对路径【转载】
  3. for循环一种不常见的用法
  4. 手把手教你搭建Nginx-rtmp流媒体服务器+使用ffmpeg推流
  5. django的视图与模板
  6. KMP算法(待优化)--2015年7月25日14:04:25V1.0版
  7. 前端实习生笔试_前端实习生面试题——HTML
  8. 广播地址的作用_跟百哥学网络16:ARP地址解析协议分析
  9. mysql 属性函数_4-MySQL函数(字段处理函数条件判断函数)
  10. python代码测试_Python入门学习系列——Python代码测试