【AAAI 2024】MuLTI:高效视频与语言理解

 一、背景

1.1 多模态的发展

多模态理解模型具有广泛的应用,比如多标签分类(Classification)、视频问答(videoQA)和文本视频检索(Retrieval)等。现有的方法已经在视频和语言理解方面取得了重大进展,然而,他们仍然面临两个巨大的挑战:

1、在处理长序列时平衡计算效率和模型性能。

2、减少预训练和下游任务之间的领域差距。

多模态理解模型一般由三个模块组成:文本编码器(Text Encoder)、视频编码器(VIdeo Encoder)和特征融合模块(Feature Fusion)。后两者通常会导致较高的计算成本。

对于特征融合模块,很难做到既高效又有效。以前的一些工作,比如VIOLET和Clover,它们直接连接视频和文本编码器的输出,然后由Transformer的Encoder进行特征融合,此时模型的计算复杂度和显存消耗与级联序列长度的平方成正比,当长文本与长视频输入到这些模型中时,特征融合所消耗的显存消耗会大幅度上升。为了减轻计算负担,一些工作如ALPRO,FrozenBiLM,CLIPBert在特征融合之前通过均值池化或Class Token的方式压缩视频特征,然而,在多模态融合之前将所有信息压缩到一个向量中可能会丢失重要的细节。一些工作如Flamingo采用Sampler和随机查询来进行有效的视频特征压缩,这种方法是次优的,可能会损害视频特征的完整性。基于上述分析,我们面临了一个难题:如果去压缩特征,容易导致特征的细节丢失;如果不压缩处理特征,特征融合的显存占用过大。此时,如何平衡模型的计算量和准确性是特征融合模块的挑战。

图1
图1

如何将预训练与下游任务相结合也是一项挑战。以前的预训练框架通常应用四个典型的预训练任务:用于视频编码器优化的掩码帧建模(MVM)任务,用于文本编码器优化的掩码语言建模(MLM)任务,用于视频和文本编码器的联合优化的视频文本匹配(VTM)和视频文本比较(VTC)任务。在大规模视频文本数据集上进行预训练可以显著提高视频文本模型的性能。然而,现有的预训练任务和下游任务之间仍然存在领域差距,特别是在视频QA中。将videoQA引入预训练任务的困难在于构建合适的问答对。

1.2 模型的提出

为了应对这些挑战,我们像图1(d)一样设计 MuLTI。它具有用于序列压缩和多模态融合的文本引导多路采样器(Text-Guided MultiWay-Sampler)。现有的方法如Flamingo,通常使用可学习的查询向量(Query)通过采样器对视频特征进行采样。随机初始化的查询向量可能会丢弃重要的原始特征信息,从而导致性能下降。我们在文本引导多路采样器中设计了一种轻量级的自适应池方法,通过计算每个序列块的重要性来获得压缩特征。然后,我们将压缩特征添加到采样特征中,并使用短文本特征对长视频特征进行采样和融合。我们共享了采样器与特征融合模块的注意力权重,并为采样器中的不同模态保留不同的前馈网络。

图1显示,以前的模型(a)和(b)通过其冗长的级联特征融合消耗了大量的GPU内存。(b)和(c)都压缩视频特征,这是一种常见的选择,因为与文本相比,它们的长度更大。然而,由于视频特征中的信息丰富,过度压缩可能会损害性能。相反,我们设计了类似于(d)的MuLTI,并引入了文本引导的多路采样器来有效地压缩文本特征以进行融合。由于文本更简洁准确,我们使用精简的文本来指导视频特征采样,从而提高了性能。

为了减少视频QA中预训练任务和下游任务之间的领域差距,我们引入了一种新的预训练任务——多选建模(Multiple Choice Modeling,MCM)并基于WebVid2M与CC3M数据集进行了预训练。MCM可以通过在大规模视频文本数据集上构建多项选择题回答任务来弥合预训练任务和下游任务之间的任务差距。它要求模型从随机构建的集合中找到与视频最匹配的文本描述,这增强了视频和文本编码器的表示能力以及视频和文本特征之间的对齐。

  • 我们提出了MuLTI,这是一个高度准确和内存高效的视频和语言框架,它通过特征采样和注意力模块实现了高效和有效的特征融合。
  • 我们提出了一种文本引导多路采样器(Text-Guided MultiWay-Sampler)来对长序列特征进行采样,并促进视频和文本特征之间的交互,从而降低内存成本并提高性能。
  • 我们设计了一种新的预训练任务,称为多选建模(MCM),以建好预训练和下游任务之间的任务差距。在七个英语任务和一个汉语多标签分类任务上的实验结果证明了MuLTI的有效性。

二、模型结构

image

2.1 视觉与文本编码器

2.2 特征融合模块

image
图2

多模态融合模块的核心是Text-Guided MultiWay-Sampler,如图2(b)所示。多路采样器由Transformer的Decoder修改而来。具体而言,我们设计多路采样器模块来有效地压缩文本特征并融合不同的模态特征。

2.3 不同型号的MuLTI

在本节中,我们考虑在有足够资源的情况下实现更高的性能。我们首先将视频编码器从VIT-B/16替换为VIT-L/14,并将文本编码器从Bert-Base替换为Bert-Large。然后,我们得到MuLTI-L。此外,为了满足有限资源的训练要求,我们将视频编码器从VIT-B/16替换为VIT-B/32,并将文本编码器从12层减少到6层。不同模型的浮点运算(FLOPs)、参数(Params)和每秒帧数(FPS)显示在表1。

image
表1

三、模型的预训练

我们使用四个目标对 MuLTI 进行预训练,包括三个经典的目标:Masked Language Modeling (MLM),Video Text Matching(VTM),and Video Text Comparison(VTC)。 在本节中,我们重点介绍我们提出的一种新技术:Multiple Choice Modeling(MCM)。

尽管MLM、VTC、VTM已经证明了它们在学习视频和文本表示方面的有效性,但预训练任务和下游任务(如视频问答)之间仍然存在很大的领域差距。将视频问答引入预训练任务的难点在于如何构建合适的问答对。选择题是视频问答的常见形式。受多项选择题的启发,我们发现原始配对视频文本描述是自然正确的答案。在这个基础上,我们引入了Multiple Choice Modeling(MCM),这是一种新的预训练任务,提高了模型对视频问答题的敏感性。具体来说,它的结构如下,这是一个四选择题。

"[CLS]<Question> ? [SEP] Option 1: <Answer 1>. [SEP] Option 2: <Answer 2>. [SEP] Option 3: <Answer 3>. [SEP] Option 4: <Answer 4>."

我们将正确的描述随机放入

image

中,并通过文本语料库获取正确描述以外的答案。问题也有多种选择,如"What does this picture describe?","What does this video describe?","What can we learn from the video?"等。 MCM 不需要大量额外的手动注释或大量的数据预处理,这是一种高效且可扩展的解决方案。 MCM 的动机是加强模型对 videoQA 任务的敏感性。 由于 MCM 可以提高模型从文本中提取视频相关内容的能力,这也提高了模型在文本视频检索任务上的性能。

考虑到 MLM、VTM 和 VTC的有效性,我们还采用它们进行预训练。MLM 以 15% 的概率随机屏蔽输入标记,并用 [MASK] 替换它们,之后根据视频和文本预测屏蔽的文本标记。VTC 将匹配的视频文本对视为正对,将批次中的其他视频文本对视为负对。VTM 与 VTC 非常相似,它预测视频和文本描述是否相互匹配。 VTM需要通过特征融合模块来融合特征,基于交叉熵损失而不是对比损失来训练分类任务。MuLTI 的整体预训练目标是:

image

四、实验

4.1 实现细节

i、预训练数据集

ii、下游任务与数据集

在视频问答方向,MuLTI模型在五个广泛使用的开放视频QA任务上进行了评估:

  • MSRVTT-QA基于MSRVTT的视频和字幕。该数据集有10k个视频,其中有243k个问答对,该数据集中有1.5k个候选答案。
  • MSVD-QA基于MSVD的视频和文本描述。该数据集有1970个视频,其中有50k个问答对,该数据集中有2423个候选答案。
  • TGIF-QA要求模型了解GIF视频的细节,以回答有关它们的问题。在TGIF-QA中,TGIF Action和TGIF Transition是多项选择任务,而TGIF Frame是一项开放式视频QA任务。

在文本视频检索方向,MuLTI模型在两个广泛使用Retrieval任务上进行了评估:

  • MSRVTT包含来自YouTube的10K个视频和200K个注释。我们遵循VIOLET,使用9k视频进行培训,使用1k视频进行测试。
  • DiDeMo包含来自Flickr的10K个视频,其中有40K个注释。我们遵循CLIPBERT并将同一视频中的所有注释连接到标题中。

还有一个中文的多标签分类数据集:

  • 视频标签是在线广告排名模型所需的重要特征,我们构建了一个大规模的内部多标签短视频数据集,其中包含486k个短视频,486k个文本字幕和21696个标签。每个视频文本对有多个标签。标签由来自短视频推荐平台的多位专业编辑进行交叉检查。我们还应用了一个在icdar挑战中具有最高性能的端到端文本检测仪,为每一帧生成OCR。每帧OCR拼接后截断为512。

4.2 建议方法的性能比较

image
表2 MSRQ代表MSRVTT-QA,MSVQ代表MSVD-QA

表2比较了MuLTI与现有方法在七个常用的公共数据集上的表现。

在视频问答任务中,MuLTI在MSRVTT-QA、MSVD-QA、TGIF-Action、TGIF-Transition和TGIF-Frames等数据集上超过了所有已经发表的基线模型。表格中FrozenBILM的结果是没有使用Speech的。总的来说,MuLTI在各种QA任务中实现了最先进的性能。

在文本-视频检索任务中,最有竞争力的文本-视频检索方法是基于CLIP的Vision Transformer和BERT在400M文本-图像对上的预训练。然而,尽管使用较少的预训练数据,MuLTI在两个基准任务上仍然具有很强的竞争力。值得注意的是,在使用DSL进行后处理后,MuLTI的性能优于CAMoE、QB-Norm和TS2-Net。

image
表3

表3比较了MuLTI与现有方法在多标签数据集上的表现。

对于多标签分类,我们将multi与VIOLET和ALPRO进行了比较,但排除了FrozenBiLM,因为其尺寸不适合在线部署。VIOLET和ALPRO不使用OCR,因为它们会导致V100 GPU内存不足。为了进行公平的比较,我们还在表3中报告了MuLTI的无OCR的性能;MuLTI显著超过VIOLET和ALPRO。

image
图3

如图所示,当训练期间帧计数增加时,MuLTI保持的视频内存成本不到ALPRO和VIOLET的一半,因为其高效的融合模块最大限度地减少了内存成本的增加。

image
表4 TGMS代表Text-Guided MultiWay-Sampler,PB代表Pretraining Baseline,MSRQ代表MSRVTT-QA,MSVQ代表MSVD-QA,MSRR代表MSRVTT-Ret

最后,我们在表4中评估了我们的主要技术贡献。与基线模型相比,我们的主要技术贡献提高了所有数据集的性能。文本引导多路采样器增强了MuLTI的多模式融合能力,精确定位多余视频功能中的关键细节。MCM提高了模型的对齐能力,缩小了预训练和下游任务之间的差距。

4.3 消融实验:

i、文本引导多路采样器的重要性

image
表5 MSRQ代表MSRVTT-QA,MSVQ代表MSVD-QA

image
图4 F代表Flatten,E代表Encoder,D代表Decoder,S代表Sampler

我们在表5中比较了不同聚合方法的性能。结果表明,Flatten优于其他聚合方法,但需要大量的视频内存。在模型结构的分析中,我们得知部分解码器在长序列中使用的内存比编码器少。虽然它可以很好地处理像MSRVTT-QA这样的数据集。然而,但在处理长文本和视频时,成本仍然很高。具体内存成本如图4所示。

正在上传…重新上传取消

image

表6 CV代表压缩视频特征,CT代表压缩文本特征,SS代表Shared-Sampler,AP代表Adapt- Pooling

Flamingo使用基于解码器的采样器浓缩视频特征,这是次优的。文本特征更密集、更语义。通过使用文本查询来过滤冗余,语言指导对于从视频表示中提取有用信息是必要的。表6比较了不同的压缩方法,显示了文本压缩的优越性。

采样器和特征融合模块使用相同的解码器结构,可以在不影响性能的情况下共享权重,简化了模型优化。我们共享采样器和解码器的自注意力权重,但为每个模态保留单独的FFN,在保持性能的同时减少参数。与Flatten方法相比,Shared-Sampler在MSRVTT-QA和MSVD-QA上的精度分别提高了0.32%和1.45%。

如表6所示,采样器在压缩文本和视频特征时会导致较差的性能。采样器的随机查询向量具有丢失原始关键特征的风险;我们设计了一个轻量级的聚合模块Adapt-Pooling,以保留原有的功能。如表6所示,Adapt-Pooling提高了MSRVTT-QA和MSVD-QA的准确性。此外,我们探索了各种组合方法(添加、连接和相乘)都只有轻微的性能差异,在MSRVTT-QA上使用连接和相乘分别获得了45.51%和45.45%的准确率。

为了验证这些技术的鲁棒性,我们将其Shared-Sampler和Adapt-Pooling应用于压缩视频特征,这也提高了性能。

ii、Multiple Choice Modeling的重要性

正在上传…重新上传取消image

表7 PB代表Pretraining Baseline,MSRQ代表MSRVTT-QA,MSVQ代表MSVD-QA,MSRR代表MSRVTT-Ret

MCM旨在通过将视频QA集成到预训练中来弥合预训练和下游任务之间的差距,增强模型对视频和句子主题的关注,以更好地提取多模式特征。

我们使用经典的MLM、VTM和VTC任务来预训练模型作为基线。由于MVM会导致视频内容损坏,与其他任务发生冲突,在我们最初尝试将MVM包括在预训练中时,我们观察到性能下降,如表7所示。因此,我们决定不使用MVM进行预训练。为了证实MCM的鲁棒性,我们还在使用MVM的基础上添加了MCM进行预训练。结果表明,MCM仍然显著提高了模型的性能。与用基线预训练的模型相比,MCM通过缩小预训练和下游任务之间的任务差距,显着提高了模型在视频QA任务上的性能。MCM对多模态特征对齐的促进提高了模型的检索任务性能。如表7所示,用MCM预训练的模型在视频QA和检索任务中都优于基线,证明了其有效性。

五、未来工作

1、在Audio上进行探索,引入音频信息提升性能。2、进一步降低模型中的计算量最大的VIT的FLOPs与显存占用。

3、优化蒸馏模型模型,保证性能不损失的情况下降低VIT的FLOPs与显存占用。

论文标题:

MuLTI: Efficient Video-and-Language Understanding

论文作者:

刘波、陈云阔、程孟力、徐家琪、施兴

论文PDF链接:

https://arxiv.org/abs/2303.05707

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/754516.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

unity发布安卓获取读取权限

一、Player Settings 设置 Player Settings>Player>Other Settings> Android > Write Permission > External (SDCard). 二、代码 using System.Collections; using System.Collections.Generic; using System.IO; using UnityEngine; using UnityEngine.Andr…

【c++】内联-引用-重载

主页&#xff1a;醋溜马桶圈-CSDN博客 专栏&#xff1a;c_醋溜马桶圈的博客-CSDN博客 gitee&#xff1a;mnxcc (mnxcc) - Gitee.com 目录 1.【c】内联函数 1.1 背景 1.2 内联函数的概念 1.3 内联函数的特性 1.4 宏和内联的小知识 宏的优缺点&#xff1f; C有哪些技术替代…

mac npm install 很慢或报错

npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED npm ERR! request to https://registry.npm.taobao.org/pnpm failed, reason: certificate has expired 1、取消ssl验证&#xff1a; npm config set strict-ssl false 修改后一般就可以了&#xff0c;…

kingbase 服务器配置(参数修改)

引言&#xff1a; 人大金仓作为国产数据库的佼佼者(单机)&#xff0c;也是每位数据库从业者必须数据库之一 配置文件 kingbase 参数配置 主要由 kingbase.conf 和 kingbase.auto.conf 设置 kingbase.conf 该参数文件为主配置文件&#xff0c;一般情况下&#xff0c;需要 重启…

day03vue学习

day03 一、今日目标 1.生命周期 生命周期介绍生命周期的四个阶段生命周期钩子声明周期案例 2.综合案例-小黑记账清单 列表渲染添加/删除饼图渲染 3.工程化开发入门 工程化开发和脚手架项目运行流程组件化组件注册 4.综合案例-小兔仙首页 拆分模块-局部注册结构样式完善…

数据可视化-ECharts Html项目实战(3)

在之前的文章中&#xff0c;我们学习了如何创建堆积折线图&#xff0c;饼图以及较难的瀑布图并更改图标标题。想了解的朋友可以查看这篇文章。同时&#xff0c;希望我的文章能帮助到你&#xff0c;如果觉得我的文章写的不错&#xff0c;请留下你宝贵的点赞&#xff0c;谢谢。 …

【接口防重复提交】⭐️基于RedisLockRegistry 分布式锁管理器实现

目录 前言 思路 实现方式 实践 1.引入相关依赖 2.aop注解 3.切面类代码 4.由于启动时报错找不到对应的RedisLockRegistry bean&#xff0c;选择通过配置类手动注入&#xff0c;配置类代码如下 测试 章末 前言 项目中有个用户根据二维码绑定身份的接口&#xff0c;由于用户在…

【Unity动画】Unity如何导入序列帧动画(GIF)

Unity 不支持GIF动画的直接播放&#xff0c;我们需要使用序列帧的方式 01准备好序列帧 02全部拖到Unity 仓库文件夹中 03全选修改成精灵模式Sprite 2D ,根据需要修改尺寸&#xff0c;点击Apply 04 创建一个空物体 拖动序列上去 然后全选所有序列帧&#xff0c;拖到这个空物体…

SpringBoot中使用验证码easy-captcha

easy-captcha使用的大概逻辑: 当一个请求发送到后端服务器请求验证,服务器使用easy-captcha生成一个验证码图片,并通过session将验证信息保存在服务器,当用户登录校验时候,会从ession中取出对比是否一致 但是前后端分离之后 由于跨域问题 以上就无法实现了 下面这种情况没…

完整指南:如何使用 Stable Diffusion API

Stable Diffusion 是一个先进的深度学习模型&#xff0c;用于创造和修改图像。这个模型能够基于文本描述来生成图像&#xff0c;让机器理解和实现用户的创意。使用这项技术的关键在于掌握其 API&#xff0c;通过编程来操控图像生成的过程。 在探索 Stable Diffusion API 的世界…

Linux进程通信补充——System V通信

三、System V进程通信 ​ System V是一个单独设计的内核模块&#xff1b; ​ 这套标准的设计不符合Linux下一切皆文件的思想&#xff0c;尽管隶属于文件部分&#xff0c;但是已经是一个独立的模块&#xff0c;并且shmid与文件描述符之间的兼容性做的并不好&#xff0c;网络通…

【K8S】docker和K8S(kubernetes)理解?docker是什么?K8S架构、Master节点 Node节点 K8S架构图

docker和K8S理解 一、docker的问世虚拟机是什么&#xff1f;Docker的问世&#xff1f;docker优点及理解 二、Kubernetes-K8SK8S是什么&#xff1f;简单了解K8S架构Master节点Node节点K8S架构图 一、docker的问世 在LXC(Linux container)Linux容器虚拟技术出现之前&#xff0c;业…

云手机的数据安全有保障吗?

随着移动互联网的迅速发展&#xff0c;云手机作为一种新兴的移动终端技术&#xff0c;正在逐渐受到人们的关注和应用。然而&#xff0c;对于云手机而言&#xff0c;数据安全问题一直是人们关注的焦点之一。本文将探讨云手机的数据安全性&#xff0c;并分析其是否具备足够的保障…

打造坚不可摧的防线:容灾策略的实践与探索

在当今这个信息化时代&#xff0c;数据已成为企业最宝贵的财富之一。因此&#xff0c;保护数据免受意外损坏或灾难性事件的影响变得至关重要。这就需要企业建立一个有效的容灾体系&#xff0c;来确保业务连续性和数据安全。 容灾&#xff0c;即灾难恢复&#xff08;Disaster Re…

huawei 华为交换机 配置手工模式链路聚合示例

组网需求 如 图 3-21 所示&#xff0c; SwitchA 和 SwitchB 通过以太链路分别都连接 VLAN10 和 VLAN20 的网络&#xff0c;SwitchA 和 SwitchB 之间有较大的数据流量。 用户希望SwitchA 和 SwitchB 之间能够提供较大的链路带宽来使相同 VLAN 间互相通信。 同时用户也希望能够提…

基于Java+SpringBoot+Vue前后端分离婚纱影楼管理系统设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行交流合作✌ 主要内容&#xff1a;SpringBoot、Vue、SSM、HLM…

MacBook远程桌面Windows使用Microsoft Remote Desktop for Mac_亲测使用

MacBook远程桌面Windows使用Microsoft Remote Desktop for Mac_亲测使用 像Windows上有自带的远程桌面连接软件.MacBook没有自带的远程连接Windows桌面的工具,需要安装软件来实现. 像远程桌面控制软件一般有 TeamViewer、向日葵远程控制, ToDesk, Microsoft Remote Desktop f…

vue实现element-UI中table表格背景颜色设置

目前在style中设置不了&#xff0c;那么就在前面组件给设置上 :header-cell-style"{ color: #ffffff, fontSize: 14px, backgroundColor: #0E2152 }" :cell-style"{ color: #ffffff, fontSize: 14px, backgroundColor: #0E2152 }"

Javaweb的学习19_CSS概念+css与html的结合方式

CSS CSS&#xff1a;页面美化和布局控制 1. 概念&#xff1a;Cascading Style Sheets 层叠样式表 层叠&#xff1a;多个样式可以作用在同一个html的元素(标签)上&#xff0c;同时生效 2. 好处&#xff1a; 1.功能强大 2.将内容展示(HTML)和样式控制(CSS)分离 *降低耦合度。解耦…

电话机器人语音识别用哪家更好精准度更高。

语音识别系统的选择取决于你的具体需求&#xff0c;包括但不限于识别精度、速度、易用性、价格等因素。以下是一些在语音识别领域表现较好的公司和产品&#xff1a; 科大讯飞&#xff1a;科大讯飞是中国最大的语音识别技术提供商之一&#xff0c;其语音识别技术被广泛应用于各…