Multimodal Video Pre-trainin

news2024/12/23 14:41:02

视频领域的多模态预训练工作近年来逐渐兴起。多模态模型通常融合了图像、视频、文本等多类特征,性能优于单模态模型。预训练模型通常以自监督的方式在大批量数据集上进行训练,而后服务于下游任务。本文梳理了近年来视频多模态预训练领域的相关工作,首先简单介绍各大多模态预训练数据集,而后阐述了近年来基于不同多模态预训练任务的工作成果并罗列了常见的下游任务,最后本文讨论了当前研究存在的问题,并对未来多模态预训练领域做出展望。

https://zhuanlan.zhihu.com/p/408111890

1.引言

当前主流的视频理解算法包含多个基础领域,例如动作识别时序动作定位视频问答视频检索等。视频相对于纯文本和图像的特点在于其多模态性质,视频包含了大致同步的音频、文字、图像信息,为视频理解分析提供了丰富的信息来源。视觉和语言两种模态的信息可以互相作为指引,提高面向单一模态或跨模态任务的完成效果。

基于视觉语言的任务有很多,不过不同任务之间若分别使用专有数据训练,时间和经济成本较高。使用预训练与微调可以极大降低成本,近年来预训练被逐渐应用于视频理解领域,视频预训练模型首先在大规模通用数据集上做预训练,方式通常以自监督为主,习得通用表征,再在小型专有数据集做微调应用于特定任务

目前视频多模态预训练依旧存在较大的挑战,难点之一在于数据集的缺乏,尤其是多模态数据集。手动注释麻烦且昂贵,这极大地限制了视频领域的发展,除此之外,目前视频领域数据集的噪声问题也对模型训练造成了困扰,典型的噪声来源中,最主要的一个是视频和语言之间的弱对齐,即当前视频帧与对应语言描述的低相关性。除了数据集之外,另一个难点在于如何对不同模态有效建模,高质量地建立起多模态之间的联系,提升下游任务性能。

对于数据集缺乏和噪声问题,当前的工作通常采取从互联网中获取大量相关叙述性视频、附带字幕的影视剧的方式制作数据集,并引入多实例学习和对比学习、噪声估计等方式降低训练噪声的影响。除此之外,人们还设计 VideoBERT、CBT、HERO、MERLOT 等模型用于预训练和多类下游任务。
本文梳理了近年来视频多模态预训练领域的相关工作,简要介绍当前多模态模型经常使用到的预训练数据集,从多类预训练方法出发论述了自 2019 年至今的主要模型架构,并罗列了常见的下游任务,最后做了对多模态预训练模型的总结与展望。

2. 预训练数据集

常用公开的视频文本数据集有 HowTo100MYT-Temporal-180MWebVid-2MVQA 等。
在这里插入图片描述

3. 视频-文本多模态预训练模型

2018 年,自然语言推出 BERT 预训练模型,从此各领域预训练大模型研究工作逐渐受到重视,在视频领域近年来也出现了许多基于预训练与多模态的研究成果。下面分别以从多种不同的预训练方式出发介绍历年来的主要模型。

3.1掩蔽(MASK)方法

多模态预训练中常使用掩蔽某一模态或某几个模态部分信息的方式进行训练,常用的预训练方式包括掩蔽语言预测 MLM、掩蔽区域预测 MTM、掩蔽帧预测 MFM 等.

3.1.1 VideoBERT

VideoBERT [15] 由 Sun 等人于 2019.9 月提出,该模型首次将 Transformer 结构扩展到了视频语言多模态预训练中,其可以在无需明确监督的条件下学习到高级特征。VideoBERT受到自然语言模型 BERT 的启发,在其基础上学习了视频数据矢量量化和语音识别后输入的双向联合分布,该工作同时说明了大规模训练数据和跨模态信息对于模型性能的重要性。 VideoBERT 将自然语音处理得到的文本做类 BERT 处理提取文本特征,用 S3D 处理视频段然后做层级 k 聚类提取视频特征,然后将两种特征一起输入到 Transformer 中, 使用掩蔽语言预测 (MLM)、视频文本匹配 (VTM) 以及掩蔽视频预测 (VOM) 三种预训练任务做训练。

3.1.2 ActBERT

ActBERT [19] 引入了全局动作的概念,该模型对输入视频使用了两种编码方式,一种是将视频帧堆叠得到全局堆叠帧,另一种则是对每一帧图像用 Faster-RCNN 提取 RoI 特征。预训练过程中,除了使用已有的视频文本匹配、掩蔽语言预测、和掩蔽区域类别分类以外,该方法还提出了掩蔽动作分类 (mask action classification,MAC),具体而言,是对输入的动作表示向量做随机掩蔽,用以让模型根据其余信息预测动作标签。

3.1.3 HERO

HERO [8] 模型使用了 ResNet 和 Slow-Fast 提取视频帧中的二维和三维视觉特征,而后利用全连接层将特征投影使得其文本编码同一维度,从而与文本编码一样处理,将该视频编码与位置编码相加后做 LN 得到最终帧编码。除此之外,HERO 还引入了时序 Transformer,使用每一帧周围的所有帧作为全局上下文。HERO 针对时序 Transformer 设计了新的预训练任务,即帧序列预测 (frame order modeling,FOM), 该任务意在学习利用视频的序列性,首先随机打乱部分输入帧的顺序,然后再预测每一帧对应的实际位置。

3.1.4 ClipBERT

ClipBERT [7]于 2021.2.11 提出,使用稀疏采样替代了密集采样提取视频帧的方式,减轻了前期模型的计算量。ClipBERT 认为视频中存在大量冗余信息,而整体信息的提取仅需要少量间断的图像,因而在训练过程中采用稀疏采用进行训练。ClipBERT 还将图像-文本预训练模型用作参数的初始化,并使用了 ResNet 结构作为视频编码网络。

3.1.5 UniVL

Luo 等人提出了 UniVL [10] 模型用于下游生成式任务,采用自回归解码器,输入为处理后的文本和视频帧,意在输出原始文本。该工作同时提出了逐阶段预训练和增强视频表示的方法,前者先对输入使用 NCE 做训练,再做所有目标训练;后者以 15% 的概率屏蔽全部文本输入。

3.1.6 MERLOT

Zellers 等人于(2021.6.4)训练了具有时间常识学习能力的模型 MERLOT(multimodal event representation learning over time)[18],该模型使用了比以往提出的模型中用到的更为大量的数据集做训练,即作者团队与 MERLOT 同时发布的 YT-Temporal-180M 数据集。MER-LOT 使用了视觉、语音和链和编码器并使用三个预训练任务进行优化:Contrastive Frame- caption matching(标题帧匹配) 任务,MLM 任务以及 Temporal Reordering 任务。MERLOT模型能够将图像与时间对应的单词进行匹配,还能依据时间变化推理全局上下文事件。

3.1.7 MERLOT Reserve

MERLOT Reserve [16] 于 2022.5.13 提出,在 2021 年 MERLOT 的基础之上进一步融合了视频中的语音信息,对于每一个训练批次的输入,仅选择文本语音中的一个与视频帧一起作为输入,同时掩蔽文本或语音中的一部分。与此同时,作者们提出了对比区域匹配 (Contrastive Span Matching) 这一任务以在多个模态之间学习文本信息.

3.2 对比学习(Contrastive)方法

对比学习方法通过自动构造相似实例和不相似实例,要求习得一个表示学习模型,通过这个模型,使得相似的实例在投影空间中比较接近,而不相似的实例在投影空间中距离比较远。

3.2.1 CBT

由于 VideoBERT 在视频特征提取过程中采用了层级 k 聚类方法,致使丢失了细粒度视觉信息,Sun 等人进一步研究在同年提出了一种双流网络结构取代了 k 聚类方法的特征提取,该结构首先对语音识别的输入使用 BERT 网络做处理得到文本特征,同时将视频帧使用 S3D 提取特征后送入该工作提出的 CBT 模块(对比学习模块)(contrastive bidirectional transformer) [14] 得到视频特征。将文本特征和视频特征一起输入到 cross-modal transformer进行模态结合计算相似度,同时还使用到了噪声估计来学习视频文本对之间的关系。

3.2.2 MIL-NCE

针对当前数据集的视频文本不对齐现象产生的噪音,Miech 等人于 2019.9.27 提出了多实例学习 (multiple instance learning, MIL) 的方法。该方法假设在同一视频中的相邻帧图像语义相似,截取目标视频段的相邻视频文本对作为对比学习的候选正例。同时利用噪声估计优化了视频文本对特征的学习, 得到了 MIL-NCE [12] 方法.

3.2.3 VATT

Akbari 等人于 2021.4.22 提出的 VATT(video-audiotext transformer)[1] 模型探究了视频、文本、音频三个模态之间的对应关系,同时取消了所有特征提取的 backbone, 仅对每个模态做了线性映射,再将得到的三个模态的特征向量输入到 Transformer 编码器中,而后构造了视频文本对和视频语音对的负样本用来做多模态对比学习。

3.3 特征匹配(Matching)方法

3.3.1 MMT

Gabeur 等人提出了 Multi-modal Transformer [5] 模型,使用 transformer 将图像、语音和文字三种特征结合编码,成功在预训练中引入了更多模态信息 (图4)。

3.3.2 Frozen

Bain 等人于 2021.4.1 提出的 Frozen [3] 模型 (图5) 在预训练过程中使用图像与视频一起作为训练输入。视觉编码器的输入为一张图像或者一段由 M 帧图像组成的视频,文本编码器的输入则是传统的文字序列。模型参考 ViT 方法,图像或视频的输入都是 patch 级别,而后做线性变换,与时空位置编码一起输入到 Transformer 中得到视觉特征。

3.3.3 CLIP4CLIP

CLIP4Clip [11] 来源于视觉-文本领域的 CLIP 工作,作者验证了如何基于预训练好的图文 CLIP 模型,通过迁移学习和微调完成视频检索的任务.

3.3.4 M2HF

于 2022.8.16 发布的 M2HF 模型 (multi- multimodal Hybrid Fusion) [9], 通过建立语言对与从视频中提取的图像、音频、运动和文本之间的关系,设计了多层次的框架. 除此之外,作者还设计了一种后期多模态平衡融合方法,通过在各层次中选择最优排序结果进行融合来得到最终的排序结果。

3.4 其他方法

3.4.1 Multiple Choice Questions(MCQ)

模型结构上包含一个 VideoFormer 编码器用来提取视频特征,一个 TextFormer 文本编码器用来提取文本特征。MCQ [6] 通过抹去文本描述中的名词或动词短语从而构造名词或动词
问题。该工作利用对比学习训练 BridgeFormer 通过分析 VideoFormer 提取到的视频特征以从多个选项中选出正确答案,其中的多个选项由所有被抹去的名词和动词短语构成。

4. 预训练模型的常见下游任务

与视频相关的下游任务如今也发展得十分多样。具体而言,如今涉及到多模态的下游任务包括动作分割、视频描述生成、文本-视频检索、视频问答、视频摘要、视频故事讲述等。这里简单介绍几个常见方向。
动作分割,即对一段视频依据某一分割标准进行分段处理,并对每段分配一个预先定义好的动作标签。视频描述生成,即从视频中自动生成针对该视频的描述性文字。文本-视频检索:通过将视频与文字建立联系,给定查询文本,用相似度估计等方法从视频库中检索与该文本相关的视频段。视频问答,根据视频内容回答自然语言问题,是一项新兴的挑战任务。

5. 总结与展望

本文简单梳理了近年来多模态视频预训练领域的工作,对比了多模态预训练常用的数据集,对历年主要的多模态预训练架构做了介绍,并罗列了常见的下游任务。

目前的多模态预训练工作已取得了一定的成果,能够成功应用于多类下游任务,不过多模态预训练在未来仍有很大发展空间,具体而言:

多模态预训练任务仍需更为精细地挖掘不同模态数据间的相关信息,利用到不同模态的内在特点,比如建立名词与视频中物体对象之间的相关性。
视频信息较为冗余,未来预训练模型的视频帧采样可以更多地从密集采样逐渐向稀疏采样过渡,节省算力,同时如何弥补稀疏采样带来的信息上的损失以及如何提取细粒度的信息也是未来可以研究的方向。
目前多模态视频数据集的收集难度仍然较大,手工标注尤其昂贵,尤其是细粒度标注,所以也急需能解决数据集获取以及标注困难问题的方法。如何在短时间低成本提升数据集的质量也是重要课题之一。
预训练数据集和下游目标任务数据集之间可能存在领域之间的差异,数据域的差异会导致模型迁移到下游任务时性能下降,这就需要想办法提高数据集的差异性以及预训练模型的可泛化性。
虽然大模型往往意味着更高的性能,但参数量和数据量的增加也会导致计算量的急剧上升,极大地消耗了计算资源。因此当前领域也需要更少参数更优性能的研究。
现有视频预训练模型通常是利用少数几个下游任务数据集测试性能,而缺少一个能通用地评估预训练模型的评价指标,用以评估模型的效率和可迁移性。一个通用预训练评估指标
尚待被提出。
目前的视频多模态预训练语言多数以英语为主,而中文等其他语言数据集仍十分缺乏,就当今各大视频网站的实际需求而言,应用于中文视频的预训练模型是一个重要的需求也是未来多模态预训练可以发展的方向之一。

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

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

相关文章

Redis多机数据库实现

Redis多机数据库实现 为《Redis设计与实现》笔记 复制 客户端可以使用SLAVEOF命令将指定服务器设置为该服务器的主服务器 127.0.0.1:12345> SLAVEOF 127.0.0.1 6379127.0.0.1:6379将被设置为127.0.0.1:123456的主服务器 旧版复制功能的实现 Redis的复制功能分为同步&a…

扫地僧静态养站王站群:搜狗SEO站群收录养站效果

扫地僧静态养站王站群:Sogou搜狗SEO出站及收录效果,扫地僧静态站群采用了静态生成式的方式,只需要一个后台管理系统即可管理多个网站,大大提高了建站效率。建站大概45天左右,收录率百分之三十至百分之五十左右 如果对购买的域名进行把控&…

Spring系列文章1:Spring入门程序

一、什么是spring 一个java框架、java语言开发,轻量级、开源框架、在j2se、j2ee中都可以使用。它是一个管理对象的容器,Spring 容器不装文本,数字。装的是java对象。 核心技术:ioc、aop 官网地址 https://spring.io 项目列表…

汇编-外中断

我们知道, CPU在计算机系统中, 除了能够执行指令,进行运算以外,还应该能够对外部设备进行控制,接收它们的输入,向它们进行输出。也就是说, CPU除了有运算能力外, 还要有I/O(Input/Output, 输入/输出) 能力。比如, 我们按下键盘上的一个键, CPU最终要能够处理这个键。…

栈trace(kprobe)

最近在看CPU/GPU的调用&#xff0c;于是就有了&#xff1a; 与事件跟踪器类似&#xff0c;不需要通过 current_tracer 激活。相反&#xff0c;通过 /sys/kernel/tracing/kprobe_events 添加探测点&#xff0c;并通过 /sys/kernel/tracing/events/kprobes/<EVENT>/enable…

图片怎么转换成pdf格式?好方法必须分享

图片怎么转换成pdf格式&#xff1f;也许一些朋友会问&#xff0c;为什么要将图片转换成PDF文件呢&#xff1f;众所周知&#xff0c;PDF文件格式具有较高的安全性和兼容性&#xff0c;并且不容易编辑。因此&#xff0c;在打印时&#xff0c;将图片转换成PDF格式后再进行打印可以…

Ubuntu-22.04通过RDP协议连接远程桌面

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、RDP是什么&#xff1f;二、配置1.打开远程桌面功能2.验证服务3.防火墙配置4.测试效果 总结 前言 由于一些特殊需要&#xff0c;我需要通过远程桌面连接到U…

0017Java程序设计-spr农业过程化管理系统

摘 要目 录系统设计开发环境 摘 要 本农业过程化管理系统就是建立在充分利用现在完善科技技术这个理念基础之上&#xff0c;并使用IT技术进行对农业过程化的管理&#xff0c;从而保证种植户能种植出优质的农作物&#xff0c;可以实现农业过程化的在线管理&#xff0c;这样保证…

传输层-TCP 的安全机制和高效策略

可靠性&#xff1a; 之前我们在UDP中谈到了&#xff0c;UDP不可靠但是简单&#xff0c;TCP可靠但是也要做更多的工作&#xff0c;那这些工作具体是什么呢&#xff1f;接下来让我们详细了解一下。 确认应答机制&#xff08;ACK机制&#xff09; 序号&#xff1a;我们可以把TCP…

Qt配置使用MSVC编译器

Qt配置使用MSVC编译器_qt msvc-CSDN博客注意:Qt支持的MSVC就是2017和2015&#xff0c;所以vs也要下载2017&#xff0c;不要直接用最新的&#xff0c;安装路径都用默认的。程序运行失败时可以尝试windeployqt拷贝库文件到本地&#xff0c;然后有可能就能运行了。VS官网下载Visua…

SOLIDWORKS工程图自动零件序号的极致体验

在装配体工程图中零件序号的标注要求不能漏标、要和明细表项目相对应、位置适当并且要按序排列。 这些要求看似简单&#xff0c;但是却需要极大的精力去完成。当然在SOLIDWORKS中这些问题都被很好的解决了&#xff0c;这也是本次分享的内容。 自动序号标注 1) 在进行尺寸标注前…

内网父子项目pom依赖依赖导入出现

这是拉下来两个独立的项目&#xff0c;子项目依赖父项目 我就把父项目install maven仓库中 再加载子项目 在子项目中就出现了有父项目导入类的提示但无论如何也导入不了该类 最后找错 我把本地父项目 install在maven仓库中删了 让子项目自动加载 就根据pom配置加载到内网仓库…

初始化一个 vite + vue 项目

创建项目 首先使用以下命令创建一个vite项目 npm create vite然后根据提示命令 cd 到刚创建的项目目录下&#xff0c;使用npm install安装所需要的依赖包&#xff0c;再使用npm run dev即可启动项目 配置 vite.config.js 添加process.env配置&#xff0c;如果下面 vue-route…

a_bogus 音 算法还原大赏

a_bogus算法还原大赏 hello&#xff0c;大家好呀&#xff0c;我是你的好兄弟&#xff0c;[星云牛马]&#xff0c;花了几天时间算法还原了这个参数的加密过程&#xff0c;一起看看吧&#xff0c;记得加入我们的学习群&#xff1a;529528142 天才第一步&#xff0c;F12你会不&am…

jframe生成柱状图片+图片垂直合并+钉钉机器人推送

需求&#xff1a; 后端根据数据自动生成2个图片&#xff0c;然后把两张图片合并成一张图片&#xff0c;再发到钉钉群里&#xff0c;涉及到定时生成和推送&#xff0c;当时我们测试同事说他们写定时脚本放到服务器上&#xff0c;然后让我提供生成图片的方法和钉钉机器人的逻辑 天…

rhcsa5(日志、维护准确时间)

分析和存储日志 许多系统都以文本文件的方式记录事件日志&#xff0c;而这些文件保存在/var/log目录中。 在红帽中有systemd-journald和rsyslog服务管理日志进程。systemd-journald服务是操作系统事件日志架构的核心&#xff0c;包括内核、引导过程早期阶段的输出、守护进程启动…

第16章_多版本并发控制MVCC

1. 什么是MVCC MVCC &#xff08; Multiversion Concurrency Control &#xff09;&#xff0c;多版本并发控制。顾名思义&#xff0c; MVCC 是通过数据行的多个版本管理来实现数据库的 并发控制 。这项技术使得在 InnoDB 的事务隔离级别下执行 一致性读 操作有了保证。换…

计算机毕业设计 基于SSM的问卷调查管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

孙哥Spring源码第20集

第20集 refresh()-invokeBeanFactoryPostProcessor 四-处理Configuration下的Bean生成代理对象 【视频来源于&#xff1a;B站up主孙帅suns Spring源码视频】【微信号&#xff1a;suns45】 1、二行InvokeBeanFactoryPostProcessors的作用 registryProcessors&#xff1a;处理的…

c语言逻辑思维

c语言逻辑思维 1.如何问问题? 有甲、乙两人&#xff0c;其中&#xff0c;甲只说假话&#xff0c;而不说真话;乙则是只说真话&#xff0c;不说假话。但是&#xff0c;他们两个人在回答别人的问题时&#xff0c;只通过点头与摇头来表示&#xff0c;不讲话。有一天&#xff0c;一…