← 返回论文库
奠基 Groundwork ICCV 2019 · 2019 arXiv:1904.01766 ↗

VideoBERT: A Joint Model for Video and Language Representation LearningVideoBERT:视频与语言的联合表征学习

把视频量化为离散 token,与文本一起做 BERT 式掩码建模,是视频-语言自监督的开端。

作者:Chen Sun, Austin Myers, Carl Vondrick, Kevin Murphy, Cordelia Schmid
机构:Google
发布:ICCV 2019
时间:2019-04
视频-语言自监督
原文摘要 · English Abstract

Inspired by the success of BERT in language modeling, we build upon the BERT model to learn bidirectional joint distributions over sequences of visual and linguistic tokens, derived from vector quantization of video data and off-the-shelf speech recognition outputs, respectively. We show it can be applied to open-vocabulary classification and outperform the state-of-the-art on video captioning.

概要

VideoBERT 提出了一种无需人工标注、直接从海量教学视频中学习视觉-语言联合表征的方法。它把 BERT 的掩码语言建模框架从纯文本扩展到「视觉词+语言词」的混合序列:视频先经 S3D 网络提取时空特征,再用分层 k-means 聚类离散化为「视觉词」,与 ASR 转录文本共同输入 BERT 做完形填空训练。所得联合分布 p(x,y) 既能做开放词表的零样本动作分类,也能作为特征提取器用于视频描述生成,验证了大规模自监督跨模态预训练对高层语义表征学习的价值。

此前的视频自监督表征学习大多聚焦低层特征——纹理、光流、短时运动模式,时间尺度通常只有一两秒,难以刻画分钟级的高层语义事件。与此同时,NLP 领域的 BERT 通过掩码语言建模学到了强大的语言表征,但视频没有天然的离散词表,无法直接套用。本文的出发点是:人类语言本身就是对高层视觉事件的天然标注,教学视频里经 ASR 转成文本的旁白恰好提供了这种「自监督」信号,只需把视频也转成离散符号序列,就能借用 BERT 框架同时建模两种模态。

关键贡献

  • 首次将 BERT 的掩码语言建模框架从纯文本扩展到视觉-语言联合序列建模。
  • 提出用分层向量量化将视频片段的深度特征离散化为「视觉词」的简单方案。
  • 设计了语言-视觉对齐分类任务,让模型学习判断文本句子与视频片段是否时间对齐。
  • 构建了包含 31.2 万段 YouTube 烹饪教学视频、总长 2.3 万小时的大规模预训练数据集。
  • 在零样本动作分类与视频描述生成两个任务上验证了联合表征的有效性,并取得当时最优的描述生成结果。
  • 实验证明预训练数据规模越大,下游零样本分类性能单调提升,尚未出现饱和迹象。

方法详解(完整做法)

总体思路

VideoBERT 的核心思路是把视频和文本统一表示成离散符号序列,直接套用 BERT 的掩码语言建模框架来学习二者的联合分布 p(x,y)。具体流程分三步:先用预训练的 S3D 网络把 1.5 秒视频片段编码成特征向量,再用分层 k-means 把特征离散化成「视觉词」;然后把视觉词序列和 ASR 转录文本的词序列拼接成一条混合序列,喂给 BERT 做完形填空式的掩码预测训练;训练完成后,模型学到的联合分布既可以用于零样本分类和未来预测,也可以作为特征提取器服务于视频描述等下游任务。

BERT 掩码语言建模基础

BERT 把一组离散 token 的联合分布定义成能量模型的乘积形式,每个位置的对数势函数由一个双向 Transformer 在「挖掉当前位置」后的上下文上计算得到,训练目标是让模型在给定其余所有位置的条件下正确还原被挖掉的 token,整个过程不需要任何人工标签:

p(x∣θ)=1Z(θ)∏l=1Lϕl(x∣θ)p(x\mid\theta)=\frac{1}{Z(\theta)}\prod_{l=1}^{L}\phi_l(x\mid\theta)

其中每个位置的对数势函数由取出该位置真值向量与网络输出的内积给出:

log⁡ϕl(x∣θ)=xl⊤fθ(x\l)\log\phi_l(x\mid\theta)=x_l^{\top}f_\theta(x_{\backslash l})

视觉词的构造:分层向量量化

视频不像文本天然带有离散词表,因此需要先把连续的视觉信号转换成离散符号才能套用 BERT。具体做法是:把视频按 20fps 采样,每 30 帧(1.5 秒)切成一个不重叠片段,用在 Kinetics 上预训练好的 S3D 网络提取该片段的时空特征并做 3D 平均池化,得到 1024 维向量;再对这些特征做分层 k-means 聚类,把连续特征映射为离散的聚类中心编号,也就是「视觉词」:

d=4,k=12,kd=124=20736d=4,\quad k=12,\quad k^{d}=12^{4}=20736

分层聚类既保证了词表规模可控,又通过粗到细的层级结构保留了一定的语义连续性;论文的可视化表明相邻聚类中心对应视觉上相似而非像素级重合的片段,说明量化过程保留的是语义信息而非低层纹理细节。

跨模态序列拼接与完形填空训练

得到视觉词后,VideoBERT 把 ASR 转录出的语言句子与对应的视觉词序列用特殊分隔符 [>] 拼接成一条混合序列,例如「[CLS] orange chicken with [MASK] sauce [>] v01 [MASK] v08 v72 [SEP]」,直接沿用 BERT 的完形填空目标,随机遮盖文本词或视觉词并让模型从双向上下文中还原它们,训练时对采样到的序列位置和句子同时随机化,近似最大化下面的伪对数似然:

L(θ)=Ex∼D∑l=1Llog⁡p(xl∣x\l;θ)\mathcal{L}(\theta)=\mathbb{E}_{x\sim\mathcal{D}}\sum_{l=1}^{L}\log p(x_l\mid x_{\backslash l};\theta)

由于文本词和视觉词共享同一套 Transformer 参数和位置编码机制,模型在还原被遮盖的视觉词时会自然利用旁白提供的语义线索,反之亦然,这正是「联合」表征学习的关键。

语言-视觉对齐分类任务

BERT 原本用「下一句预测」任务判断两个句子是否连续,但视频和文本天然存在时间错位——说话人常常在描述即将发生或刚发生的动作,直接判断视觉句和语言句是否对齐会引入大量噪声标签。为此作者用 [CLS] 位置的最终隐状态训练一个二分类器,预测某段语言句子与某段视觉句子是否在时间上对齐,而不强求两者语义完全一致。为了降低时间错位带来的噪声,训练时还引入两个技巧:随机把相邻句子拼接成更长的句子,让模型有机会在更宽的时间窗口内找到语义对应;并以 1 到 5 步的随机步幅对视觉词做下采样,使模型对不同视频的动作节奏变化更鲁棒,同时学习更长时间跨度的状态转移。这两个设计说明作者清楚地意识到,时间对齐噪声若不处理,对齐任务提供的监督信号会非常弱。

三种训练机制与联合目标

VideoBERT 的预训练同时使用三种数据配置:纯文本句子(只做语言掩码预测)、纯视觉词序列(只做视觉掩码预测)以及文本-视觉混合句子(在掩码预测之外再加上语言-视觉对齐分类)。整体训练目标是这三部分损失的加权和:

Ltotal=Ltext+Lvideo+Lalign\mathcal{L}_{\text{total}} = \mathcal{L}_{\text{text}} + \mathcal{L}_{\text{video}} + \mathcal{L}_{\text{align}}

纯文本目标保证模型不丢失原有的语言建模能力;纯视觉目标使模型学到一个「视觉词的语言模型」,可以直接用于视觉序列的生成与远期预测;文本-视觉目标则专门负责建立两个模态之间的对应关系。三者缺一不可:如果只训练文本-视觉对齐,视觉词表征会退化为弱监督信号,预测的多样性和长程一致性都会下降。

小结

VideoBERT 的关键在于把视频「降维」成离散视觉词后,不改变 BERT 本身的结构和训练目标,就能把掩码语言建模直接复用到多模态联合表征学习上,这种「文本化」视觉信号的思路后来成为视频-语言预训练的一条主线。

实验与关键数据

实验基于自建的 YouTube 烹饪视频语料预训练,在 YouCook II 上评估零样本动作分类与视频描述生成(BLEU/METEOR/ROUGE-L/CIDEr)。跨模态预训练显著优于纯语言先验,top-5 可与全监督基线相当;数据规模越大性能越好;VideoBERT 与 S3D 拼接后取得最优描述结果。

关键数据

YouCook II 零样本动作分类 verb top-5
43.3%
vs VideoBERT(仅语言先验)6.9%(+36.4)
YouCook II 零样本动作分类 object top-5
33.7%
vs 全监督 S3D 30.9%(+2.8)
YouCook II 视频描述 CIDEr(VideoBERT+S3D)
0.55
vs Zhou et al. 基线 0.38(+0.17)
YouCook II 视频描述 BLEU-4(VideoBERT+S3D)
4.33
vs S3D 基线 3.24(+1.09)
预训练数据规模
31.2 万段视频 / 2.3 万小时
预训练数据 300K 时 verb top-5
43.3%
vs 10K 数据 15.5%(+27.8)

影响与局限

VideoBERT 是把 BERT 式掩码预训练迁移到多模态视频领域的开创性尝试,证明了「离散化视觉词+语言模型架构」可以直接复用 NLP 预训练框架的成功经验,为后续 ActBERT、UniVL、VideoCLIP 等视频-语言预训练模型确立了「视觉标记化+联合掩码建模」的基本范式。

局限与不足

作者在文中明确指出的局限包括:视觉词的量化基于整段 30 帧片段的池化特征,只能表达帧/片段级的粗粒度语义,无法区分片段内的具体物体及其属性,难以支持需要空间细粒度理解的任务,作者提出未来可引入预训练的目标检测或语义分割模型来获得更细粒度的视觉表示;当前方法只在单一时间尺度上跳帧采样并共享同一套视觉词表,没有显式建模多时间尺度的视觉动态;评测中零样本预测使用固定模板句子和有限的名词/动词词表,VideoBERT 实际具有开放词表能力,但真实的语义正确预测常因与标注不完全匹配而被判错,现有指标未能充分反映这一点;实验目前只在烹饪这一个领域上验证,尚未扩展到其他类型的教学视频或更广泛的视频理解任务,作者认为这只是学习视频-语言联合表征方向上的第一步。