分享

不同网络结构的特征也能进行对比学习?蚂蚁&美团&南大&阿里提出跨架构自监督视频表示学习方法CACL,性能SOTA!

 我爱计算机视觉 2022-06-22 发布于江苏

详细信息如下:

  • 论文链接:https:///abs/2205.13313

  • 项目链接:https://github.com/guoshengcv/CACL

      01      

摘要

在本文中,作者提出了一种新的用于自监督视频表示学习的跨架构对比学习(cross-architecture contrastive learning,CACL)框架。CACL由一个3D CNN和一个视频Transformer组成,它们被并行使用以生成用于对比学习的各种正对。这使得模型能够从这些不同但有意义的对中学习强表示。

此外,作者引入了一个时间自监督学习模块,该模块能够按照时间顺序显式预测两个视频序列之间的编辑距离,这使得模型能够学习丰富的时间表示。作者对本文的方法在UCF101和HMDB51数据集上的视频检索和动作识别任务进行了评估,结果表明本文的方法取得了优异的性能,大大超过了Video MoCo和MoCo+BE等最先进的方法。

      02      

Motivation

视频表征学习是视频理解的一项基本任务,因为它在各种任务中发挥着重要作用,例如动作识别、视频检索。最近的工作致力于通过以监督学习方式使用深度神经网络来提高其性能,这通常需要一个具有非常昂贵的人类标注的大规模视频数据集,如Sports1M、Dynamics、HACS和MultiSports。巨大的标注成本不可避免地限制了深度网络在学习视频表示方面的潜力。因此,利用易于大规模访问的未标记视频来改进这项任务非常重要。

近年来,自监督学习在学习强图像表示方面取得了重大进展。它还被扩展到了视频领域,在视频领域对比学习得到了广泛的应用。例如,在最近的工作中,引入对比学习来捕获两个视频实例之间的区别,这使得对比学习能够学习每个视频实例中的表示。然而,在这些方法中,对比学习主要侧重于学习视频的全局时空表示,而很难捕获有意义的时间细节,这些细节通常为区分不同的视频实例提供重要线索。因此,与学习图像表示不同,建模时间信息对于视频表示至关重要。在这项工作中,作者提出了一种新的自监督视频表示方法,该方法能够在一个独特的框架中同时执行视频级对比学习和时间建模。

通过探索视频的序列性质,可以创建学习时间信息的监督信号,从而实现自监督学习。最近的一些方法遵循这一研究路线,创建了一个实现自监督时间预测的借口任务( pretext task)。在这项工作中,shuffle。这使模型能够明确地量化编辑距离中的时间差异程度,而现有的自监督方通常仅限于估计时域中两个视频的大致差异。例如,以前的方法经常创建一个借口任务来预测两个视频序列的速度或播放速度是否相同,但忽略了这种时间差异中的细节。

虽然大多数自监督对比学习方法使用各种数据增强生成正对,这些数据增强提供了实例的不同视图,但作者开发了一种新方法,能够从不同结构中通过对比学习得到更强的表示。3D CNN系列在各种视频任务中取得了显著的性能,包括C3D、R3D、R(2+1)D等。由于CNN的固有特性,它们能够捕获时域中的局部相关性。但是CNN的有效感受野可能会限制其建模长期依赖性的能力。

另一方面,transformer架构可以使用自注意力机制自然捕获这种长距离依赖关系,其中每个token都能够学习对整个序列的注意力,从而将有意义的上下文信息编码到视频表示中。此外,当在足够大的数据上进行训练时,CNN的归纳偏置可能会限制其性能,而由于自注意力的动态加权,这种限制可能不会在Transformer中发生。

作者认为,建模局部和全局依赖关系对于视频理解至关重要;CNN的归纳偏置和Transformer的容量可以相互补偿。在这项工作中,作者提出了一种新的用于自监督视频表示学习的跨架构对比学习(CACL)框架。CACL能够从3D CNN和视频Transformer生成的各种更有意义的对比对中学习。作者证明了视频Transformer可以极大地增强由3D CNN生成的视频表示。它产生丰富的高级上下文特征,并鼓励3D CNN捕获更多详细信息。这允许两个结构协同工作,这是提高性能的关键。

本文的主要贡献总结如下:

  1. 作者设计了一个新的跨架构对比学习(CACL)框架,用于自监督视频表示学习。CACL使用3DCNN和Transformer协同生成多样但有意义的正对,从而实现更有效的对比表征学习。
  2. 作者通过显式测量视频与其时间self-shuffle之间的编辑距离,引入了一种新的自监督时间学习方法。这有助于学习丰富的时间信息,以补充从CACL学习到的表示。
  3. 作者在两个下游视频任务上验证了本文的方法:动作识别和视频检索。在UCF101和HMDB51上的实验结果表明,所提出的CACL可以显著优于现有的方法,如VideoMoCo和MoCo+BE。



      03      

方法

作者以自监督的方式处理视频表示学习问题。在本节中,首先介绍所提出方法的总体框架。然后详细描述了所提出的对比学习方法,以及基于帧级无序度预测的自监督时间学习。

3.1. Overall Framework

上表展示了本文方法的总体框架,本文的框架由两条路径组成,包括一个transformer视频编码器和一个3D CNN视频编码器。自监督学习信号由两个任务计算:片段级对比学习和帧级时间预测。

3D CNN video encoder

在这项工作中,采用3D CNN作为主要视频编码器,也用于推理。任何3D CNN架构可以应用于本文的框架中。将原始片段和shuffle片段的输出特征concat起来,然后输入对比头和分类头。两个头都是全连接的前馈网络。

Transformer video encoder

transformer编码器由2D CNN和transformer架构组成,如上图所示。首先,通过2D CNN计算视频片段的各个图像帧,该CNN执行特征提取以获得帧级token序列。然后,输出的CNN特征通过全连接层投影到768-D的帧token。然后按时间顺序将帧token concat起来,并在帧token序列中加入可学习的嵌入。

最后,一个6层6头Transformer模型以片段级特征序列作为输入,可学习嵌入的输出作为视频表示。值得注意的是,特征提取网络是通过使用自监督方法MoCo,使用UCF101训练集的视频帧进行预训练的ResNet50,其权重在自监督视频表示学习期间冻结。

3.2. Cross-Architecture Contrastive learning

本文的自监督对比学习的目标是最大化具有相同上下文的视频片段之间的相似性,同时最小化来自不同视频的片段之间的相似性。与以前的对比学习方法不同,本文的CACL利用跨架构对比学习信号更好地联合捕获局部和远程依赖。

Construction of positive pairs

对比学习的根本问题在于正负样本的设计。以往关于自监督对比学习的工作通常利用各种数据增强来生成特定实例的不同版本,从而形成正对。在这项工作中,作者从两个角度丰富了正对:嵌入层(使用不同的网络结构)和数据层。

从网络的角度来看,CACL利用了3D CNN和Transformer的优势。给定一个输入视频片段,每个视频片段分别生成一个视频表示,与以前的方法相比,这将使正样本数增加一倍。在数据层,作者对原始片段x进行时间维度上的随机shuffle,并获得一个shuffle视频片段。这两个实例然后cancat在一起。

如图1所示,作者通过使用不同的数据增强和编码器,最大化了从每个视频片段生成的四个正对的相似性。将不同的数据增强表示为,Transformer编码器表示为,三维CNN编码器表示为,然后可以为视频片段生成四个特征表示

Negative pairs

来自不同视频的片段被视为负样本。作者使用MoCo提出的动量编码器和memory dictionary queue进一步增强了对比学习,为提高对比学习的性能提供了更有意义的负样本。

Data augmentations

作者在输入视频片段的空间域和时间域中执行数据增强。注意,在片段内的所有帧上一致地执行空间增强。因此,作者将三种相似度最大化:(1)由相同网络计算但执行不同数据扩充的片段之间的相似度;(2) 具有相同数据扩充但由不同网络计算的片段之间的相似度;(3) 使用不同网络和不同数据增强的片段之间的相似性。

Loss function

形式上,作者考虑一个由N个不同视频实例组成的随机抽样batch,然后从每个视频中抽取一个片段。这将导致一个batch中总共有N个片段(C)。作者随机shuffle每个片段的顺序,产生一组新的N个片段()。然后将每个片段及其shuffle版本concat起来,并使用数据增强进行进一步处理。

这将生成两个具有不同数据增强的concat视频片段。生成的片段分别由不同的视频编码器处理:基于3D-CNN的视频编码器和基于Transformer的编码器。因此,作者为每个视频实例生成了四个片段级别的视频表示:,用于在对比学习期间构建正对。作者利用基于InfoNCE的对比损失的实例判别思想:


其中是两个向量之间的相似性度量。是两种特征表示。τ是一个可调参数。在这项工作中,作者将视频表征学习的对比学习扩展为:


其中,是来自队列大小为m的memory dictionary queue的负样本。如上式所示,本文的CACL能够生成比标准对比学习更多的正对。

3.3. Temporal Prediction with Edit Distance

本文的目标是学习对时间细节敏感的视频表示。为此,作者试图通过明确预测视频片段与其shuffle版本之间的时间差异来训练网络。作者认为这种时间预测任务需要运动和外观线索。这使模型能够学习有意义的时间细节,从而有利于下游任务。在这项工作中,作者提出使用最小编辑距离(MED)来衡量视频片段与其shuffle版本之间的时间差异程度。

MED提供了一种通过计算将一个字符串转换为另一个字符串所需的最小操作数来衡量两个字符串(例如单词)之间的差异性的方法。从数学上讲,两个字符串a,b之间的Levenshtein距离由表示,其中:


其中,是一个指示函数,当时等于0,否则为1。在这项工作中,将shuffle预测任务描述为一个分类问题,并使用交叉熵损失对三维CNN模型进行训练。给定一个视频片段及其shuffle版本,可以计算:


其中m是所有shuffle的视频数量。

Uniform shuffle-degree sampling

给定一个有16帧的视频片段,作者对其进行随机shuffle,并计算原始片段和shuffle片段之间的MED。作者发现在本文的例子中,MED是一个从0到16的离散整数(1除外),这使得作者可以将MED预测的回归问题重新表述为一个分类任务。然而,这些离散整数的分布并不均匀,这可能导致分类不平衡,使训练过程不稳定。从技术上讲,作者首先从均匀分布中随机抽样一个MED数,然后随机shuffle视频片段,直到它满足抽样的MED数。该操作使得模型很好地平衡分类中的标签分布,这对于时间建模和联合学习非常重要。

Compared with other shuffle&learn method

与早期的方法相比,如Shuffle&Learn、OPN和VCOP。本文的方法侧重于程度感知,而不是顺序预测/验证,这自然会导致以下特征。它可以通过增加帧数来学习更有意义的时间信息,而以前的方法通常仅限于使用非常少的帧数。因为随着帧/片段数量的增加,顺序数量会急速增长。本文的方法可以捕获视频片段之间更详细和有意义的差异,这使得模型可以学习更丰富的时间特征。


      04      

实验


作者研究了 shuffle degree prediction(SDP)从视频中学习时间信息的能力,并将其与最近专门为自监督时间学习开发的VCOP和PRP进行了比较。上表对结果进行了比较,其中本文的SDP显著优于VCOP,并取得了与PRP相当的结果。


如上表所示,表示3D CNN的正对,具有不同的数据增强,这等于使用SDP在视频上执行原始MoCo。使用所有可能的正对是本文的CACL的完整实现。通过增加更多的正对组,可以逐步提高性能。这表明本文的视频Transformer编码器可以提供更有意义的对比度信息。


为了进一步研究不同的正样本对对自监督对比学习的影响,作者计算了UCF101 test split 1分中正样本对的平均相似度,如上表所示。


在上表中,作者展示了本文方法和不同的自监督学习方法在视频检索任务上的检索结果对比,可以看出本文的方法具有明显的优势。


在上表中,作者展示了本文方法和不同的自监督学习方法在动作识别任务上的检索结果对比。


      05      

总结


在本文中,作者提出了一种新的自监督视频表示学习框架CACL。通过引入Transformer视频编码器,设计了一个对比学习框架,为三维CNN的对比学习提供了丰富的对比样本。作者还引入了一个新的pretext任务来训练一个预测视频shuffle程度的模型。为了验证本文的方法的有效性,作者在两个不同的下游任务上跨三种网络架构进行了广泛的实验。实验结果表明,本文的shuffle degree prediction和transformer视频编码器可以鼓励模型学习可迁移的视频表示,与基于对比学习的方法相比,所学习的特征是异构的。

参考资料

[1]https:///abs/2205.13313
[2]https://github.com/guoshengcv/CACL

END

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多