Vid2Seq: Large-Scale Pretraining of a Visual Language Model for Dense Video Captioning(23CVPR)

个人认为这是继PDVC之后的又一篇要读的工作,不过这个Vid2Seq的训练消耗资源较大,比较难复现。PDVC模型是将密集视频描述视为一组集合预测任务,并行预测每个事件的定位和描述,并加了一个事件计数器模块,控制生成事件数量。

本文提出一个端到端的方法,预训练一个视觉语言模型完成DVC任务。提出一个多模态单阶段密集视频描述模型Vid2Seq,在大规模的叙述视频上预训练(无真实事件标注),能同时输出序列中的事件边界和文本描述。该模型的架构在语言模型的基础上进行了扩展,增加了特定的时间标记,使其能够在同一个输出序列中无缝预测事件边界和文字描述。由于这样的统一模型需要大量的训练数据,而现有的标注数据集无法满足需求,因此作者提出了一种方法:通过将叙述视频中的语音转录边界重新定义为伪事件边界,将转录的语音句子视为伪事件描述,从而有效利用这些未标注的叙述视频来进行密集视频描述。

1.介绍

提出两个难点,两阶段模型缺乏定位任务和描述任务之间的交互,单阶段模型需要引入特定于任务的组件,比如事件计数器。无论单阶段还是双阶段模型当前只在有限大小的人工标注数据集上进行训练,由于人工标注密集视频描述的数据集代价高昂且难以大规模扩展,现有数据集规模较小,无法支持模型充分学习如何处理复杂的多事件描述任务。

2.相关工作

Video and language pretraining

随着图像-文本预训练的成功,最近开始探索视频-文本预训练方法。图像-文本预训练的核心思想是通过大规模数据集上的图像和文本配对进行训练,使模型能够在视觉和语言之间进行有效和转换的理解。但是目前大多数现有研究专注于全局视频表征,即从视频整体学习一个全局的表示,用于解决与视频级别预测相关的任务。这种方法适用于像视频片段描述或视频问答这类任务,因为它们通常不需要细粒度的事件定位和描述。Vid2Seq的研究则专注于细粒度的表征,用于密集视频描述任务,要求模型能够推理视频中的多个事件并用自然语言进行描述,这是一个生成任务,不仅是简单的事件理解或分类。

3.方法

3.1 模型

首先将密集视频描述任务转化为序列到序列问题。输入序列:包含事件的语义信息以及对应的时间戳。输出序列:每个事件的文字描述和对应的时间戳(表示事件在视频中的发生时间)。为了充分利用视觉信息(视频帧)和语言信息(转录的语音),开发一个合适的多模态编码-解码架构,这个架构能够同时处理视频和文本输入,从中提取有效信息以生成事件的描述和时间定位。

序列转化

为了在密集视频描述中捕捉不同事件之间的关系,将该任务转化为预测单一输出序列的问题。该输出序列包含表示事件的多个标记(tokens),这些标记通过一个增强的文本分词器生成,其中增加了特殊的时间标记。从一个具有词汇量为 V(32,128) 的文本分词器SentencePiece分词器开始,模型通过添加 N(100) 个额外的时间标记来增强分词器。最终的分词器包含 V+N个标记。时间标记代表视频中的相对时间戳,视频时长 T被量化为 N个等间隔的时间点。利用增强的分词器,构建包含视频时间戳和文本描述的序列。每个事件 k 都有一个对应的文本段、开始时间和结束时间。在构建事件 k的序列时,首先将它的开始时间标记 tstartk​​、结束时间标记 tendk和文本标记 zk拼接在一起。然后,按事件的开始时间升序排列所有事件的序列,并将它们连接在一起。实际操作中,每个文本段以一个点符号(.)结束,用以分隔不同的事件。最后,指示序列的开始和结束,在事件序列的开头和结尾分别加上序列起始标记(BOS)序列结束标记(EOS)。为了让模型能够使用转录的语音及其时间戳,将语音转录转换为类似于事件序列的语音序列 y。通过Google Cloud API将原始语音转录分割为句子,并将每个转录句子及其对应的时间戳与事件相似地处理和表示。

多模态编码-解码架构

设计了一个多模态编码-解码架构,用于处理密集视频描述任务。视觉编码器处理视频帧,文本编码器处理转录语音,并通过Transformer模型进行时间和语义信息的交互。解码器使用这些嵌入向量来生成事件的时间边界和文本描述,逐步输出包含事件和时间戳的完整序列。

视觉编码器,使用CLIP ViT-L/14(预训练的视觉模型,参数冻结),对每帧进行独立编码,输出每帧的嵌入 xs,然后,使用Transformer编码器 ft对不同帧之间的时间交互进行建模,输出带上下文的视觉嵌入 xt=ft(xs+xp),其中 xp 是学习到的时间位置嵌入,向模型传递视频输入的时间信息。

文本编码器,处理一个长度为S的转录语音序列y,其中包括词汇标记和时间标记。词汇大小为 V,时间标记大小为 N。通过嵌入层 gs 将每个标记独立嵌入,输出语义嵌入 ys=gs(y)。随后,Transformer编码器 gt计算转录语音序列中的交互,输出带上下文的语音嵌入 yt=gt(ys)。

文本解码器,使用编码器的输出嵌入来生成事件序列 z,这些嵌入是通过将视觉和语音嵌入 xt和 yt拼接得到的。解码器基于一个因果Transformer解码器,该解码器在每一步 k时交叉关注编码器的输出,并对之前生成的标记进行自注意力计算,生成带上下文的表示 。然后,语言建模头 hl预测下一个标记在词汇表中的概率分布 ,词汇表包括文本标记和时间标记。

使用了 T5-Base 作为文本编码器(text encoder)和文本解码器(text decoder)的初始化模型。T5-Base 是一个在网页文本语料库上经过预训练的模型,训练时使用了去噪(denoising)损失函数。因此,文本编码器和解码器的实现及参数设置都与 T5-Base 模型高度一致。比如,它们使用了相对位置嵌入(relative positional embeddings),并且共享它们的词嵌入层,即 gs=hs。

3.2 训练

预训练

视频旁白(即旁白视频)容易大规模获取,因此被用于模型的预训练。然而,这些视频通常没有密集事件描述的标注。为了解决这个问题,用视频中的转录语音句子及其对应的时间戳作为监督信号。但由于转录的语音文本并不总是与视觉内容严格对应,且在时间上可能存在对齐问题,因此这些语音文本只能提供较弱的监督。同时,语音转录与密集事件标注之间存在很大差异。Vid2Seq 模型特别适合处理这种弱监督数据,因为它将语音序列构建得类似于手动标注的事件序列,并能够同时对长达几分钟的视频的语音边界和语义信息进行上下文化处理。这使得模型能够学习不同语音片段之间的长时间关系。提出的两个训练目标生成目标(Generative objective):这个目标使用转录语音作为监督信号,教模型的解码器在给定视觉输入的情况下预测事件序列。模型接收视频帧作为输入,并通过解码器预测转录语音序列。需要注意的是,这个任务中没有将文本输入给编码器,以避免模型学习纯文本的捷径。(如果模型同时使用转录的语音(即把语音转录成的文本)作为输入和目标,模型可能会倾向于学习一种纯文本的捷径。模型可能只关注如何简单地从输入复制文本,而不是深入理解输入的视觉或其他信息。因此,为了防止模型走捷径、仅依赖文本进行学习,作者没有让编码器接收文本输入。)去噪目标(Denoising objective):由于生成目标只训练视觉编码器和文本解码器,而没有训练文本编码器,因此提出了一个去噪目标来联合训练视觉编码器、文本编码器和文本解码器。这个目标借鉴了 T5 模型的去噪任务,随机遮盖语音序列中的部分文本和时间标记,然后要求解码器根据视觉输入和带有遮盖符号的语音序列来恢复被遮盖的文本。

下游任务微调

微调:为了微调模型以适应密集视频描述任务,作者使用了基于事件序列的最大似然目标函数。给定视频帧 x和语音转录 y,模型的解码器需要预测事件序列 z。

推理:在推理过程中,文本解码器通过自回归方式生成事件序列,即基于模型的似然函数进行采样。在实践中,作者发现使用束搜索(beam search)可以比其他采样方法(如argmax采样nucleus采样)生成更高质量的描述。最后,事件序列通过逆序构造的方式转化为一组事件预测。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值