CVPR'23 VideoMAE V2: 可扩展的视频基础模型预训练范式,训练出首个十亿参数量视频自监督大模型

2023-05-04 19:42 753 阅读 ID:1026
将门
将门

本文将介绍我们最近被 CVPR 2023 接收的工作,VideoMAE V2: Scaling Video Masked Autoencoders with Dual Masking。

此项工作由南京大学,上海人工智能实验室和中科院联合完成。

论文链接:

https://arxiv.org/abs/2303.16727

一 、研究动机

 在大规模数据上进行大基础模型的预训练,逐渐成为学习通用表征的成功范式,这已经在多种数据模态(如语言、音频、图像、视频、视觉语言)上得到验证。通过零样本识别(zero-shot recognition)、线性探针(linear probe)、提示微调(prompt finetune)、微调(fine-tuning)等手段,这些基础模型可以被广泛应用到各种下游任务中。与针对单一任务的专用模型相比,它们表现出很强的泛化性,有力地推动了许多 AI 领域的发展。

在视觉领域,有很多工作致力于发展预训练模型。其中,采用掩码自编码方法预训练的 Transformer 模型正受到越来越多的关注,作为一种自监督视觉学习器,它在概念上简单却十分有效。NLP 的一些研究表明,增大模型容量和训练数据规模,是实现性能跃升的重要途径。但由于图像数据维数高,计算开销大,只有极少数工作将掩码自编码预训练的图像模型扩展到十亿参数量级。视频有额外的时序维度和极高的时序冗余性,其计算开销更甚于图像,这阻滞了掩码自编码预训练方法在视频领域的可扩展性研究。

建立在语言和图像领域富有前景的发现之上,本文旨在研究视频掩码自编码器(VideoMAE)的可扩展性,并推动其在多种视频下游任务上的性能极限。为实现这一目的,我们从模型尺寸和数据规模两方面对 VideoMAE 进行扩展。在模型尺寸上,我们用十亿参数级别的 Vision Transformer(如 ViT-g)实例化 VideoMAE;在数据规模上,我们将预训练数据增加到百万量级,以充分释放 ViT-g 的性能。然而,为了成功地在如此大规模的数据集上训练十亿参数级别的视频模型,并在各种视频下游任务上实现显著的性能提升,仍有一些问题亟需解决,包括:1)扩展 VideoMAE 会导致高昂的计算开销和显存占用,在现有硬件上难以承受;2)掩码自编码预训练方法依然需要大量数据来减小训练大模型时的过拟合风险,但已有的公开视频数据集比较小;3)如何充分释放十亿参数级别的预训练大模型的性能

基于上述分析,我们提出了一种在百万视频片段的预训练数据集上,将 VideoMAE 扩展到十亿参数量级的简单有效的方法。技术上,我们设计了一种双重掩码策略,基于视频数据冗余性的先验,同时遮蔽编码器和解码器的输入标记。训练策略上,我们遵循中间微调方法,采用渐进的训练范式,在百万级无标签多源混合视频数据集上进行视频掩码预训练,然后在带标签混合视频数据集上进行后预训练微调。这些核心设计和方法构建了一个高效的十亿参数量级的视频自编码框架,称为 VideoMAE V2。在这个框架内,我们成功训练出了第一个具有十亿参数的 Video Transformer 基础模型,它在动作识别、时空动作检测、时序动作检测等多种下游任务上取得了领先的性能。

二 、背景介绍

视觉基础模型(Vision foundation models): 基础模型指的是在大规模数据上预训练,并可适用于各类下游任务的强大模型。早期的视觉基础模型工作通常使用带标签的大规模数据集,例如 ImageNet, JFT 等,对 CNN 或 Transformer 结构的模型进行有监督训练。最近一些工作也尝试用对比学习(contrastive learning)或者连体学习(siamese learning)的范式进行无监督预训练。借鉴 NLP 领域的成功经验,掩码自编码(masked autoencoding)也被引入到图像基础模型的自监督预训练中,相关的工作如 BEiT, SimMIM 和 MAE 等。另外还有一类视觉语言预训练模型,例如 CLIP 和 ALIGN,通过在网络规模的带噪样本上学习图像和文本的对齐完成训练。与图像基础模型相比,视频基础模型的发展相对滞后。早期的视频模型通常在 Kinetics 数据集上进行有监督预训练。最近一些工作将图像掩码建模的方法拓展为视频掩码建模,训练出了一些新的视频模型。然而,这些模型在预训练数据规模和模型尺寸上比较受限,通常也只关注动作识别,忽视了其他视频下游任务的研究。

掩码视觉建模(Masked visual modeling): 早期的研究将掩码建模视作一类去噪自编码器或者内容修复工作。受 NLP 的启发,iGPT 将图像转变为像素序列,预测被遮掩的像素序列。ViT 也初步探索了掩码标记建模(masked token prediction)在自监督预训练中的应用。近来,基于 Transformer 模型的掩模视觉建模方法的研究激增:BEiT、BEVT 和 VIMPAC 预测离散标记,MAE 和 SimMIM 恢复被遮掩的像素,MaskFeat 重建被遮掩的 HOG 特征。VideoMAE 和 MAE-ST 将 MAE 扩展到视频领域进行自监督视频预训练,在动作识别任务上取得了很好的结果。

视觉模型扩展(Vision model scaling): 许多工作试图扩展 CNN 模型以提高识别精度。EfficientNet 提出了一种平衡深度、宽度和图像输入分辨率的扩展策略。还有一些工作扩展模型容量和训练数据规模,训练出具有优异性能的更大的 CNN。最近也出现了基于 Transformer 的模型扩展工作,如在 JFT-3B 或者 IN-22K-ext-70M 等大规模数据集上,进行有监督预训练或自监督预训练,将 vision transformer 模型扩展到十亿参数量级以上。MAE-ST 也基于掩码自编码方法,在包含百万视频片段的 IG-uncurated 数据集上完成了自监督预训练,但并未在 Kinetics 上获得性能优势。

最近也出现了基于 Transformer 的模型扩展工作,如在 JFT-3B 或者 IN-22K-ext-70M 等大规模数据集上,进行有监督预训练或自监督预训练,将 vision transformer 模型扩展到十亿参数量级以上。MAE-ST 也基于掩码自编码方法,在包含百万视频片段的 IG-uncurated 数据集上完成了自监督预训练,但并未在 Kinetics 上获得性能优势。

三 、方法介绍

                                                             用双重掩码策略的 VideoMAE

VideoMAE V2 是 VideoMAE 的可扩展性研究,其整体框架如上图所示。VideoMAE 的预备知识可参考相关论文、代码,作者此前也有介绍。下面说明本文采用的双重掩码设计,扩展方案和渐进式训练范式。

1.双重掩码

VideoMAE 的解码器相对低效,因为它需要重建输入视频片段中的所有像素。而最近的一项工作 MAR 发现,只使用部分的视频标记进行训练和推理,就可以达到和全部标记相近的性能。这启发我们思考重建目标的冗余性问题,尝试只重建部分的视频立方块。

为保持 VideoMAE 的预训练性能,我们需要为解码器掩码图选择恰当的掩码策略。编码器选择高掩码率的管道掩码策略,从而缓解时序相关性导致的“信息泄露”问题。与之相反,在解码器掩码策略中,我们需要鼓励“信息互补”,即选择尽可能多样化的立方块重建,以减少该过程中的监督信号损失。我们比较了不同的掩码策略,最终选择运动单元掩码策略(running cell masking)。更多细节参照实验部分。

2.扩展方案

  • 模型尺寸

我们选择 ViT-g/14 作为编码器骨干网络,解码器的深度和宽度则分别控制在 4 和 512 以减少计算开销,具体结构如下所示

                                                        图表2. VideoMAE V2-g 框架细节
  • 数据规模

VideoMAE V2 旨在训练出一个更加通用的视频基础模型,能够泛化到不同的下游任务中。为了让模型更好地学到通用表征,我们增加了预训练视频数据的规模和多样性。具体来说,我们混合网络、YouTube、Instagram、电影、人工拍摄等不同来源的视频数据,构建出了一个包含 135 万视频片段的无标签多源数据集。值得说明的是,这是首次在如此大规模且多样化的视频数据集上对 video transformer 模型进行预训练。数据集的具体构成如下,更多细节可参考论文。

                                                      图表3. 无标签多源混合数据集的构成

3.渐进式训练

为了让预训练的 video transformer 模型更好地适应下游任务,需要确定一个合适的迁移方案。掩码自编码预训练能让模型学到某些不变性特征,为模型的参数空间提供一个有利的初始化,但模型也需要更高语义的监督来释放性能。原始的 VideoMAE 只在对应数据集上微调模型,监督信号比较受限。这种直接迁移策略可能无法充分释放大型预训练 video transformer 模型的性能。因此,我们遵循中间微调方法,采用了一种渐进式的训练范式,降低模型过拟合风险的同时,充分释放其潜在性能。

首先,我们在无标签多源视频数据集上进行自监督预训练(Pre-training);然后,我们合并多个公开的带标签监督视频数据集来建立一个带标签的混合数据集,并在该数据集上对模型进行有监督的后预训练微调(Post-pre-training)阶段,以融入多源的高维语义;最后,我们在目标数据集上进行专门微调(Specific Fine-tuning),使模型迁移到以该任务为中心的知识域中。

四 、实验结果

1.主要结果

双重掩码

图表4. 解码器掩码策略消融实验。None 即原始 VideoMAE,不做解码器掩码;1 在所有需要重建的 tokens 上计算损失;2 只在对编码器不可见的需重建 tokens 上计算损失

VideoMAE V2 尝试了随机掩码,帧掩码,运动单元掩码等策略。随机掩码不区分视频块的时空位置,随机选取部分视频块进行重建;帧掩码只重建奇数帧或偶数帧;运动单元掩码由 MAR 提出,按照空间位置将视频划分为不同单元,以固定的模式在不同时间点选取每个单元的不同视频块重建。如上表所示,采用运动单元掩码策略并只重建编码器不可见的视频块时,即使掩码比率提高到 75%,VideoMAE V2 也始终能保持优异的性能。

              图表5.双重掩码和单编码器掩码的对比。1 根据若干 epoch 的训练时长估计的总训练时长

  对比发现,双重掩码策略可以进一步降低原始 VideoMAE 非对称框架的训练开销,节省接近一半的显存占用,这也使模型能以更大的 batch size 进行预训练。

扩展实验

                                                             图表6.Kinetics 400 上的结果
                                                  图表7.Something-Something V2 上的结果

我们在 Kinetics 400 和 Something-Something V2 上进行了实验,通过直接在目标数据集上微调来探究数据规模和模型尺寸的扩展对模型预训练的影响,结果如上所示。

数据规模:我们对所有骨干网络进行了比较,并发现在大规模多源数据集上预训练的 VideoMAE V2 相比于小规模数据集上预训练的原始 VideoMAE,展现出更高的性能。随着模型尺寸的增大,两者之间的性能差异越来越明显。在 SSv2 数据集上,ViT-H 模型的性能差距达到 2%,这突显了预训练数据规模的重要性。

此外,与 MAE-ST 在百万级的 IG-uncurated 上预训练的 ViT-L 模型相比,VideoMAE V2-L 在 K400 上的性能高出 1%。这表明,训练数据的质量和多样性可能是影响模型性能的另一个重要因素。

模型尺寸:我们比较了以 ViT-B、ViT-L、ViT-H 和 ViT-g 作为骨干网络时,模型尺寸对性能的影响。结果显示,随着模型从 ViT-B 扩展到 ViT-g,性能稳步提高,展现出掩码自编码方法的可扩展性。其中,从 ViT-B 到 ViT-L 的性能提升显著,但从 ViT-L 到 ViT-H 的性能提升幅度则较小。

虽然模型进一步扩展到 ViT-g 后性能有所提高,但提升幅度只有 0.3% 以内。我们注意到,在图像领域中,ViT-H 和 ViT-g 的性能差距也非常小(0.1%~0.2%),这与我们的实验结果一致。我们分析认为,在不使用额外的有监督数据集的情况下,K400 的性能似乎在 87.0% 左右饱和,SSv2 的性能在 77.0% 左右饱和。

  • 渐进式训练
                                                              图表8. 渐进式训练的研究

我们研究了渐进式训练范式中后预训练微调(Post-pre-training)的影响。为了将更多的人类监督融入到预训练模型中并降低过拟合风险,VideoMAE V2 合并不同版本的 Kinetics 数据集,并在该带标签混合数据集上进行后预训练微调(或称中间微调)。不同模型的 K400 微调性能详见上表。

我们观察到,后预训练微调能够显著提升大规模数据预训练模型的性能,这一现象与图像领域中的研究结果一致。此外,我们也将后预训练微调手段应用在小规模数据预训练的原始 VideoMAE 上,结果显示 VideoMAE V2-H 模型的精度比原始模型高 0.5%,这也说明了大规模无监督数据预训练的重要性。采用 ViT-H 作为骨干网络,VideoMAE V2 模型在中间微调后的性能比 MAE-ST 高 1.8%。这一性能优势可能归功于更大的无监督预训练数据集和更大的中间微调数据集。尽管我们也在 SSv2 上进行了后预训练微调的实验,但结果表明这会导致微调精度下降。

2.性能表现

  • 动作识别
                                                               图表9. 动作识别任务结果

VideoMAE V2 在 Kinetics-400/600, Something-Something V1/V2, UCF101, HMDB51 等数据集上测试动作识别性能。

  • 时空动作检测
                                                               图表10. 时空动作检测结果

VideoMAE V2-g 在 AVA,AVA-Kinetics 等数据集上测试时空动作检测性能。我们采用双阶段方案,人物框由人检测器单独给出,训练时采用真实框,测试时采用由 AIA 检测的人物框,具体流程与原始 VideoMAE 一致。

  • 时序动作检测
                                                                 图表11. 时序动作检测结果

VideoMAE V2-g 在 THUMOS14,FineAction 等数据集上测试时序动作检测性能。我们采用 ActionFormer 的框架进行训练和测试。训练时我们固定最大输入序列长度,测试时使用 Soft-NMS 筛去高度重叠的候选位置。

3.模型蒸馏

                                                                 图表12. 蒸馏实验结果

性能。具体来说,我们用 VideoMAE V2-B 初始化学生 ViT-B 模型的参数,以 VideoMAE V2-g 作为教师模型(此处的 VideoMAE V2 模型都是后预训练微调阶段后的模型);接着在混合带标签数据集 K710 上进行 100 轮次的蒸馏实验,最小化教师模型和学生模型输出 logits 的 KL 散度。

五 、总结

本文提出了一种简单有效的方法,在百万级的预训练数据集上,成功将 VideoMAE 扩展到十亿参数量级的模型。我们的工作表明,视频掩码自编码器是一种可用于视频理解的通用可扩展的表示学习器。希望我们的工作可以在未来给更多的视频理解任务提供良好的表征。

尽管 VideoMAE V2 在很多任务上的结果都比较出色,我们也发现从 ViT-H 扩展为 ViT-g 时,模型在一些测试基准上的性能提升比较小。部分原因可能是这些视频基准的结果已经饱和。

但另一方面,V2 的训练数据规模依然比图像和 NLP 的大规模预训练数据集小几个数量级。如何更进一步在十亿级视频数据集上完成预训练,是一项十分重要且极具挑战性的任务,这需要更加高效的视频预训练框架。希望本文可以启发扩展视频模型预训练的相关后续工作。

作者:congee王利民

来源:https://zhuanlan.zhihu.com/p/618887786

Illustration by IconScout Store from IconScout

免责声明:作者保留权利,不代表本站立场。如想了解更多和作者有关的信息可以查看页面右侧作者信息卡片。
反馈
to-top--btn