1. 论文和代码地址
Survey: Transformer based Video-Language Pre-training
论文地址:https://arxiv.org/abs/2109.09920
▊ 2. Introduction
Transformer已经在性能上显示出巨大的优势,并在深度学习(DL)中流行起来。与多层感知器(MLP)、卷积神经网络(CNN)和递归神经网络(RNN)等传统深度学习网络相比,transformer更适合于预训练和网络化,因为其网络结构易于深化,且模型bias较小。
典型的pretraining和finetuning是,模型首先在大量(通常是自监督的)训练数据上进行训练吗,然后在较小(通常是任务特定的)下游任务数据集上进行微调。预训练阶段有助于模型学习通用表示法,这有助于完成下游任务。
基于Transformer的预训练方法首次被提出用于自然语言处理(NLP)任务,并取得了显著的性能提升。受NLP领域基于Transformer的预训练方法突破的启发,计算机视觉(CV)研究人员近年来也将Transformer应用于各种任务中。
视频分析和理解更具挑战性,因为视频自然携带多模态信息。对于具有代表性的视频语言任务,如视频字幕和视频检索,现有的方法主要侧重于基于视频帧序列和相应字幕学习视频的语义表示。
在本文中,我们重点对视频语言处理中基于Transformer的预训练方法的最新进展进行了全面概述,包括相应基准的常用度量、现有模型设计的分类,以及一些进一步的讨论。
标准Transformer的结构如上图所示。
▊ 3. Proxy Tasks
代理任务(Proxy Tasks)主要可以分为三类:
1)完成任务(Completion tasks)的目的是重建被mask的token。典型任务包括Masked Language Modeling (MLM), Masked Frame Modeling (MFM), Masked Token Modeling (MTM), Masked Modal Modeling (MMM) and Language Reconstruction (LR)。
2)匹配任务(Matching tasks)旨在学习不同模态之间的一致性,视频语言匹配(Video Language Matching,VLM)是经典的匹配任务,其目标是匹配视频和文本模态。
3)排序任务(Ordering tasks)是在输入端对序列进行排序,并迫使模型识别原始序列顺序。例如,帧顺序建模(FOM)专门用于利用视频序列的时间特性,而句子顺序建模(SOM)专门用于文本模态。
MLM方法首先从输入句子中随机抽取一定比例的词,然后根据其他词的token对被mask的词进行预测。MLM用于视频语言预训练,不仅学习句子内在的关系,而且将视觉信息与句子结合起来。根据经验,掩蔽百分比始终设置为15%。MLM的损失函数可以定义为:
Masked Frame Modeling(MFM)类似于MLM,因为它只是把句子改成视频序列。然而,由于视频是连续的,没有固定的词汇作为文本,研究人员对MFM任务的输入端或目标端进行了不同的调整。
我们根据损失函数将MFM分为三个子任务:1)交叉熵MFM(MFMCL),2)回归MFM(MFMR),以及3)对比学习MFM(MFMCO)。
MFMCL的典型例子可以在VideoBERT中找到,VideoBERT将连续视频分割成片段token,并通过分层k均值将片段token聚类成固定大小的字典。这样,被mask的视频特征就可以被预测为具有类似然的视频word。ActBERT从视频中提取动作概念和局部对象特征,并强制模型分别预测mask视频token的动作类别和对象类别。MFMCL的损失函数可表示为:
MFMR的典型例子可以在HERO中找到,它学习将每个mask帧上的输出回归到其视觉特征。HERO在输入视频特征和输出视频特征之间使用L2回归:
然而,由于视频包含丰富的信息量,用回归方法很难恢复出原始的视频特征。MFMCO采用对比学习来最大化mask视频token和原始视频token之间的互信息(MI):
MTM将MLM和MFM用一个损失函数统一:
与MLM和MFM相比,MTM学习视频和文本token的联合token嵌入。此外,它还在MFM和MLM两个单独的损失中扩展了对比的负样本。
MMM屏蔽了所有视频token或所有文本token,这鼓励模型使用来自一个模态的token从另一个模态恢复token。
LR是一项生成性任务,其目的是使预训练的模型具有视频字幕生成的能力。LR和mask language modeling之间的区别在于,LR从左到右生成句子,这意味着模型在预测下一个文本标记时只关注前一个文本token和视频token,损失函数如下所示:
其中是单词序列的ground truth,是mask版本。
VLM的目标是学习视频和语言的对齐。VLM有不同的任务形式,我们将其分为1)全局视频语言匹配(GVLM)和2)局部视频语言匹配(LVLM)。
对于GVLM,一个目标函数来将特殊token [CLS]的隐藏状态带入FC层进行二分类。目标函数是:
其中,如果v和w匹配,y=1。另一种VLM是匹配两种模态的序列嵌入。具体地说,它将视频和语言的两个嵌入序列通过均值合并或线性转移转换为两个单一特征,然后通MIL-NCE迫使成对的样本接近,而推开不同样本的特征。这一目标通常用于多流结构的预训练模型,该模型不包含用于直接匹配预测的特殊token [CLS]。
另一种VLM的目标是在局部实现视频和语言的匹配,因此我们将其简称为LVLM(Local Video Language Match)。也就是说,通过点积计算查询视频匹配分数,其中q是从语言序列获得的查询。对匹配分数应用两个可训练的1D CNN,然后进行softmax操作,以获得两个概率向量,它们表示每个位置作为ground-truth跨度的起点和终点的概率。目标函数使用交叉熵损失,可以表示为:
SOM的目的是从顺序的角度学习文本token的关系。具体而言,选择15%的句子,随机分成3个片段,并随机打乱顺序。.因此,它可以建模为3!类的分类问题。具体来说,在多模态融合后,将特殊token[cls]嵌入FC层,然后进行softmax操作进行分类。总体目标函数是:
其中y是分段顺序的groundtruth,而是Shuffled的单词序列。
FOM的核心思想是随机选择固定百分比的帧,并预测其原始顺序。VICTOR随机选择了15%的帧。每个压缩帧的嵌入通过FC层进行转换,然后对类进行softmax操作,其中是帧序列的最大长度。FOM可以概括为一个目标函数:
其中y是帧顺序的groundtruth,是帧顺序。
▊ 4.Video-Language Downstream Tasks
预训练的目标是通过迁移学习更好地将从大型语料库中学习到的知识应用于下游任务。视频语言的下游任务主要包括:Text-based Video Retrieval、Action Recognition、Action Segmentation、Action Step Localization、Video Question Answering、Video Captioning。
▊ 5. Video-Language Datasets
基于标签的数据集是在视频级别带有标签的数据集。它们广泛用于分类任务,如动作识别。例如,HMDB51总共包含51个动作类别的6841个视频。UCF101、MPII Cooking、Kinetics系列和AVA是其他代表性数据集。
基于字幕的数据集要求对每个视频或视频片段进行描述。例如,Activitynet包括2万个YouTube未经剪辑的视频,其中有10万个手动字幕句子。每个标题描述了由开始和结束时间戳注释的相应视频片段的内容。
字幕是视频数据集的主要注释,有着广泛的应用。一方面,基于字幕的大规模数据集可用于视频语言预训练。例如,Howto100M是迄今为止最大的英语视频数据集,其中包含1.36亿个视频片段,并配有YouTube上的字幕。
除了标题和标签注释外,其他类型的标注还用于其他下游任务。TVQA是一个基于6个热门电视节目的视频QA数据集,共有460小时的视频和152.5K对人类标注的QA。COIN设计用于综合教学视频分析,该分析采用三层结构,从领域、任务到步骤。
该数据集共包含11827个教学视频,包括12个领域、180项任务和778个预先定义的步骤。CrossTask包含从YouTube上抓取的4.7k教学视频,涉及83项任务。对于每个任务,都会提供一个带有简短描述的有序步骤列表。
▊ 6. Video-Language Transformer Models
VideoBERT是第一个利用基于Transformer的预训练方法探索视频语言表达的人。它遵循单流结构,将原始的BERT结构移植到多模态域。具体地说,它将视频token和语言语句的组合输入到多层Transformer中,通过预测被mask的token来训练模型学习视频和文本之间的相关性。
为了将连续视频离散化为离散单词token,他们将视频切割成固定长度的小片段,并将标记聚类以构建视频词典。在预训练阶段,使用MLM、MFM和VLM代理任务对模型进行训练,对应于纯文本域、纯视频域和视频文本域的特征学习。
HERO包含一个来融合视频帧序列和相应句子的跨模态Transformer,以及从全局上下文学习上下文化视频嵌入的时间Transformer。HERO设计了LVLM(局部视频语言匹配)和FOM(帧顺序建模)的代理任务,考虑了视频的顺序性质。他们发现,基于文本的视频片段检索对domain gap更为敏感。
更具体地说,HERO分别使用ResNet和SlowFast提取2D和3D视频特征。跨模态转换以视频序列和文本序列的组合为输入,通过跨模态注意力学习语境化嵌入。视觉嵌入的输出被进一步输入到时间转换器中,以从全局视频上下文中学习语境化嵌入。
HERO在预训练阶段应用MLM、MFM、VLM和FOM的代理任务,并将其转移到视频检索、视频QA、视频和语言推理以及视频字幕的下游任务。消融研究表明,FOM可以有效地帮助完成依赖时间推理的下游任务(如QA任务),全局和局部对齐的VLM可以帮助完成检索任务。
ClipBERT是一个通用的视频文本表示学习框架,可以端到端的方式进行训练。ClipBERT的具体结构是单流,视频输入是单个片段的patch序列。2D主干为每个片段的T帧生成T视觉特征图后,时间融合层将帧级特征图聚合为单个片段级特征图。然后应用交叉Transformer将片段特征映射和文本序列结合起来,以捕获交叉模态关系。在推理过程中,当使用多个clip时,预测将融合在一起作为最终输出。
DeCEMBERT采用单流结构,使用类似于BERT的Transformer对视频特征、密集字幕和一组连续ASR字幕之间的关系进行编码。整个模型经过MLM、VLM任务的预训练,并在视频字幕、基于文本的视频检索和视频QA进行了微调。综合实验表明,DECEMBERT是一种改进的预训练方法,用于从噪声、未标记的数据集中学习。
VLM引入了两种新的mask任务方案:Masked Modality Modeling(MMM)和Masked Token Modeling(MTM)。VLM是在基于文本的视频检索、动作分割、动作step定位和videoQA等下游任务上进行评估的。
VATT(Video-Audio-Text Transformer)是一种端到端框架,用于从原始视频、音频和文本中学习多模态表示。VATT验证了大规模的自监督预训练是一个很有希望的方向,可以通过纯基于注意力的模型和端到端训练来学习多模态表征(视频、文本、音频)。
VICTOR是在中文视频语言数据集上训练的。VICTOR遵循单流模型结构,使用编码器Transformer获得交叉模态关系,使用解码器Transformer生成任务。此外,受MoCo的启发,VICTOR使用memory bank和动量更新扩展了负样本,以更好地进行对比学习,VICTOR还使用了记忆队列来保存负样本,以计算对比损失。
CBT提出噪声对比估计(NCE)作为视频语言学习的损失目标,与视频中的vector quantization(VQ)和softmax损失相比,它保留了视频的细粒度信息。在预训练阶段,两个单模态Transformer通过对比学习分别学习视频和文本表示。第三个跨模态Transformer将两个模态序列组合在一起,计算它们的相似度,并通过NCE loss学习配对视频和句子的关系。
ActBERT是一种多流模型,带有Tangled Transformer块以增强通信,如上图所示。以前的多流结构总是使用一个额外的Transformer层来编码多模态信息的相互关系,而Tangled Transformer块使用共同注意Transformer层,即来自一个模态的key-value对可以通过到另一个模态。
Univl是第一个对理解和生成性代理任务进行预训练的模型。Univl遵循多数据流结构,其中包含两个分别嵌入视频和文本的单个Transformer编码器,一个用于完全交互文本和视频嵌入的跨模态Transformer,一个用于生成任务的解码器。
▊ 7. Conclusion
预训练已成为NLP中的一种流行方法,并在视觉任务中得到了进一步应用。与其他视觉语言预预训练工作相比,Video-Language的预训练作品较少。因此,本文对视频语言处理的预训练方法进行了全面概述。
尽管预训练在各种视频语言任务上都有明显的改善,但Transformer在视频语言上的潜力还没有得到充分的挖掘,还有几个亟待解决的问题:预训练数据集,Video-Language Transformer的设计和Transormer结构的运行效率。