Propagate Yourself: Exploring Pixel-Level Consistency for Unsupervised Visual Representation Learning
https://arxiv.org/abs/2011.10043
https://hub.fastgit.org/zdaxie/PixPro
https://hub.fastgit.org/lucidrains/pixel-level-contrastive-learning
https://hub.fastgit.org/CoinCheung/SelfSup/tree/master/PixPro
https://ancientmooner.github.io/doc/recent-progress-self-supervised-learning-cv-hanhu.pdf
https://mp.weixin.qq.com/s/ZYp6T1TBpjx_2J1W1oQWYA
非监督视觉表征学习的对比学习方法在迁移学习上达到了显著水平。我们认为,对比学习的力量还没有完全释放出来,因为目前的方法只在实例级的代理任务上进行训练,导致视觉表示对于需要密集像素预测的下游任务来说可能是次优的。在本文中,我们介绍了像素级的代理任务学习密集的特征表示。第一个任务是在像素级直接运用对比学习。此外,我们还提出了一个像素到传播一致性任务,该任务可以产生更好的结果,甚至大大超过最先进的方法。具体来说,当使用ResNet-50的主干时,其迁移至Pascal VOC检测、COCO检测、Cityscapes语义分割时,分别达到60.2AP、41.4/40.5 mAP和77.2mIoU,比之前实例级对比学习的最佳结果要好2.6AP、0.8/1.0 mAP、1.0mIoU。此外,像素级的代理任务不仅可用于主干网络,也可用于密集下游任务的头网络,是实例级对比方法的补充。这些结果显示了在像素级定义代理任务的强大潜力,并为无监督视觉表示学习提供了一条新的途径。
1. 引言
Yann LeCun认为,“如果智力是一块蛋糕,那么蛋糕的大部分就是无监督的学习”。这句话反映了他的信念,即人类对世界的理解主要是从其中大量未标记的信息中学到的。随着无监督和自监督学习的实质性进展,机器智能的研究越来越朝着这个方向发展[41,19,29,9,35]。在计算机视觉中,最近的进展很大程度上可以归因于一种被称为实例辨别(instance discrimination)的代理任务的使用,该任务将训练集中的每幅图像视为一个单独的类,目的是学习能辨别每个类的特征表示。
虽然自监督学习已被证明是非常成功的,我们认为,仍然有很大的潜力尚未开发。在现有的表征学习方法中,表征学习的自监督是基于图像级比较的。这导致,预训练表示可能非常适合于图像级的推断,例如图像分类,但是可能缺乏需要像素级预测的下游任务所需的空间敏感性,例如,物体检测和语义分割。如何在像素级进行自监督表示学习是一个迄今为止还没有被探索过的问题。
在本文中,我们通过引入像素级的代理任务来解决这个问题。受最近实例辨别方法的启发,我们的第一个尝试是构建一个像素级的对比学习任务,将图像中的每个像素视为一个单独的类,目标是将图像中的每个像素与其他像素区分开来。通过包含同一像素的两个随机裁剪区域来提取同一像素的特征,并利用这些特征形成正的训练对。另一方面,从不同像素获得的特征被视为负对。通过这种自监督的方式收集训练数据,采用对比损失来学习表示。我们称这种方法为PixContrast。
除此之外,我们还提出了一种基于像素到传播一致性的方法,通过两条非对称管道从同一像素中提取特征来获得正对。第一条管道是带有投影头的标准主干网。另一条管道具有类似的形式,但后接的是我们提出的
像素传播模块(pixel propagation module,PPM),该模块通过向像素传播相似像素的特征来滤波像素的特征。这种滤波引入了一定的平滑效果,而标准特征保持了空间敏感性。这种方法与PixContrast的一个不同之处在于,它鼓励正例之间的一致性,而不考虑负例对。众所周知,对比学习的表现很大程度上受负例对处理方式的影响[19,9],但在这种基于一致性的代理任务中,这个影响是可以避免的。经验上,我们发现这种像素到传播的一致性方法,我们称之为PixPro,在各种下游任务中显著优于PixContrast方法。
除了学习良好的像素级表示外,本文提出的像素级代理任务不仅对主干网有效,而且对用于密集下游任务的头网络也有效,而实例级对比学习方法只能用于主干网络。这对于具有有限注释数据的下游任务尤其有利,因为所有层都可以很好地初始化。此外,所提出的像素级方法是对现有实例级方法的补充,前者擅长学习空间敏感的表示,后者提供更好的分类能力。将两种方法组合起来使用可以利用它们各自的优点,而且保持了预训练的计算效率,因为两者可以共享 data loader和主干编码器。
所提出的PixPro在需要密集预测的常见下游基准上实现了最先进的迁移性能。具体来说,使用ResNet-50主干,它使用Faster R-CNN检测器(C4版本)在Pascal VOC对象检测上获得60.2 AP,使用Mask R-CNN检测器在COCO检测上获得41.4/40.5 mAP(两者都是FPN/C4版本,1x设置),以及使用FCN方法的77.2 mIoU的Cityscapes语义分割,比之前实例级对比学习的最佳结果要好2.6AP、0.8/1.0 mAP、1.0mIoU。尽管过去对无监督表示学习的评价大多偏向于ImageNet上的线性分类,但我们主张将注意力转移到下游任务的性能上,这是无监督表示学习的主要目的,也是像素级方法的一个很有前景的设置。
2 相关工作
实例辨别 无监督的视觉表征学习目前主要是以实例辨别为代理任务,它将每个图像作为一个类,通过区分每个图像和所有其他图像来学习表征。这一研究路线可追溯到[15],经过多年的发展[41、34、22、46、1、43],MoCo[19]在广泛的下游任务中实现了优于监督方法的迁移性能。在这一里程碑之后,相当多的工作集中在这个方向上[9,35,3,18,5]。虽然后续工作已使用ResNet-50主干将ImageNet-1K的线性评估精度(top-1)从约60%[19]快速提高到75%[5]以上,但对下游任务(如Pascal VOC和COCO上的目标检测)的改进微不足道。
我们的工作不是使用实例级的代理任务,而是在像素级探索用于无监督特征学习的代理任务。本文主要研究对象检测和语义分割等下游任务的迁移性能,这些问题在以往的研究中没有得到很多的关注。我们证明了像素级的表示学习可以大大超过现有的实例级方法,显示了这一方向的潜力。
使用单个图像的其他代理任务 除了实例辨别之外,还有许多其他代理任务,包括上下文预测[14]、灰度图像彩色化[44]、拼图[30]、split-brain auto-encoding[45]、旋转预测[17]、学习聚类[4]和缺失部分预测[22、37、8]。由于这些方法在结构和训练策略上很复杂,而且性能差,在这些方法上的无监督特征学习的兴趣已经大大降低。在这些方法中,与我们最相关的方法是缺失部分预测[22,37,8],这是受到自然语言处理中成功的借代理任务的启发[13,2]。像我们的像素传播一致性技术一样,这种方法也是关注于局部模式。然而,缺失部分预测要么将图像分割成块[37,22],要么需要特殊的结构/训练策略才能很好地执行[22,8],而我们的方法直接操作像素,对编码网络没有特殊要求。用我们的方法训练也很简单,不需要什么花里胡哨的东西(with few bells and whistles)。更重要的是,我们的方法在目标检测和语义分割等重要的密集预测任务上实现了最先进的迁移性能。
视频或多幅图像的像素级自监督学习 视频或多幅图像自然会在多个视图上提供重复的像素,用于相关性学习(correspondence learning)[38、25、23、24]。由于不同图像上的真值像素对应关系未知,这些工作通常通过前后关联的弱循环一致性检验形成像素级的代理任务。与这些工作相反,我们通过对一幅图像的不同视角直接构建像素级的对应代理任务,从而可以精确地计算出真值对应关系。利用单个图像还可以利用大规模图像数据集进行训练(如ImageNet-1K)。
利用单个图像进行像素级学习的同期/后续工作 在我们工作的同时,也有一些论文探讨了像素级的自我监督表征学习代理任务[31,6,39,42]。其中大部分是基于对比学习的,在对比学习中,负例对需要仔细调整。在我们的方法中,我们将对比学习作为实例辨别方法的一个直接扩展,同时我们还提倡在像素级表示学习中使用一致性代理任务。我们还研究了像素级学习和实例级学习的互补性、预训练头部网络的优点以及在半监督目标检测中的应用。我们的方法在基准测试上,尤其是在Pascal VOC目标检测基准测试上,也取得了显著的提高。
3. 方法
3.1 像素级对比学习
目前最先进的无监督表征学习方法都是建立在实例辨别的代理任务上。在这一节中,我们展示了实例辨别的思想也可以应用于像素级的学习视觉表征,从而很好地推广到下游任务。我们采用了流行的对比损失来实例化像素级的辨别任务,并将此方法称为PixContrast。
与大多数实例级对比学习方法一样,PixContrast首先从同一幅图像中抽取两个增强视图。这两个视图都被重新调整为固定分辨率(例如,224x224),并通过常规编码器网络和动量编码器网络(momentum encoder network)[19,10,18]来计算图像特征。编码器网络由主干网络和投影头网络组成,前者可以是任何一个图像神经网络(我们默认采用ResNet),后者由两个连续的1×1卷积层组成(2048和256个输出通道,分别使用批处理归一化层和中间的ReLU层生成特定分辨率的图像特征图,例如7×7。以前的方法为每个增强视图计算一个单一的图像特征向量,而PixContrast计算一个特征图,在这个特征图上可以应用像素级的代理任务。学习的主干表示然后用于特征迁移。该体系结构的图示如图2所示。
像素对比 通过从两个视图计算出的两个特征映射,我们可以构造像素对比度代理任务来进行表征学习。首先将特征图中的每个像素warped到原始图像空间,然后计算两个特征图中所有像素对之间的距离。将距离标准化为特征图bin的对角线长度以考虑增强视图之间的比例差异,并且基于阈值使用标准化过的距离来生成正对和负对:
其中和是分别来自两个视图中的像素,表示原始图像空间中像素和之间的归一化距离;阈值默认设置为。
与实例级对比学习方法类似,我们采用对比学习的损失:
其中是来自第一个视图中的像素并且也位于第二个视图中;和是第二个视图中被指定为相对于是正例或负例的像素集合。和是两个视图中的像素特征向量;是标量温度超参数,默认设置为0.3。损失是两个视图相交处第一个视图上所有像素的平均值。类似地,第二个视图上像素的对比损失也被计算并取平均。最终的损失是一个小批量中所有图像对的平均值。
如后面的实验所示,这种将实例级对比学习直接扩展到像素级的方法在表征学习中表现得很好。
3.2. 像素到传播一致性
学习到的表征的空间敏感性和空间平滑性可能会影响密集预测的下游任务的迁移性能。前者衡量的是区分空间上相近像素的能力,在标签变化的边界区域需要精确预测的情况下是很有用的。而空间平滑性鼓励空间上接近的像素相似,这有助于预测属于同一标签的区域。上一小节中描述的PixContrast方法只鼓励学习到的表示具有空间敏感性。接下来,我们提出了一个新的像素级代理任务,它在表示学习中引入了空间平滑性。
这项新的代理任务涉及两个关键部分。第一个是像素传播模块(pixel propagation module),它通过传播相似像素的特征来滤波像素的特征。这种传播对所学习的表示具有特征去噪/平滑效果,从而在像素级预测任务中导致像素之间更一致(coherent)的解。第二个组件是非对称架构设计,其中一个分支生成规则的特征图,另一个分支包含像素传播模块。代理任务在不考虑负对的情况下,寻求两个分支特征之间的一致性。一方面,由于规则分支的存在,这种设计在一定程度上保持了学习表征的空间敏感性。另一方面,尽管对比学习的表现受到负例处理的严重影响[19,9],不对称设计使得表征学习只依赖于正例之间的一致性,而不需要面对仔细调整负例对的问题[18]。我们将此代理任务称为像素到传播一致性(PPC),并在下面描述这些主要组件。
像素传播模块 对于每个像素特征,像素传播模块通过在同一图像内传播来自所有像素的特征来计算其平滑变换:
其中是相似性函数,定义为:
其中是指数,用来控制相似函数的尖锐程度,默认值是2。是一个变换函数,它可以是个线性层,每两层之间有一个BN层和一个ReLU激活层。当,就是一个恒等映射,公式(3)就是一个无参数模块。我们实验发现效果都挺好,我们默认设为因为其性能稍微好一点。图3是我们提的像素传播模块。
像素到传播一致性损失 在非对称结构设计中,有两种不同的编码器:一种是带有像素传播模块的常规编码器,用于产生平滑的特征;另一种是没有传播模块的动量编码器。两个增强视图都通过两个编码器,并且鼓励来自不同编码器的特征一致:
其中和是根据等式(1)中的分配规则来自两个增强视图的正像素对;和分别是动量编码器和传播编码器的像素特征向量。该损失在每幅图像的所有正对上取平均,然后在小批量图像上进一步平均,以驱动表征学习。
与PixContrast的比较 像素到传播一致性(PPC)方法的总体架构如图2所示。与3.1节中描述的PixContrast方法(参见图2中的蓝色损失)相比,有两个区别:引入像素传播模块(PPM)和用一致性损失替换对比损失。表2c和表3表明,这两个区别对特征传输性能至关重要。
计算复杂度 所提出的PixContrast和PixPro方法采用了与基于实例识别的表示学习方法相同的data loader和backbone结构。因此,预训练中的计算复杂度与对应实例级方法(即BYOL[18])类似:使用ResNet-50主干架构的8.6G对8.2G的FLOPs,其中头部和损失在头部上贡献约0.4G的FLOPs。
3.3. 根据下游网络调整预训练 以往的视觉特征预训练方法一般局限于分类主干。对于有监督的预训练,即通过ImageNet图像分类为代理任务,在应用预训练模型时是仅将预训练的主干特征转移到下游任务。最近的无监督预训方法延续了这一做法。一个原因是,预训练方法在实例级运行,使得它们与下游任务的头部网络所需的密集预测不太兼容。
相比之下,像素级代理任务的细粒度空间推断更自然地与密集的下游任务保持一致。为了检验这一点,我们考虑了一种物体检测方法FCOS[36],用于密集COCO检测。FCOS[36]从P3(8x下采样)到P7(128x下采样)应用了特征金字塔网络(FPN)[26],然后在ResNet主干的输出特征图上应用两个单独的卷积头网络(所有金字塔级别共享),以产生分类和回归结果。
从输入图像,到头部网络的第3个3x3卷积层,我们使用相同的网络结构。在FPN中。我们使用P3到P6级的特征图,P7分辨率太小了所以我们不用。具有共享权重的像素传播模块(PPM)和第3.2节中描述的像素到传播一致性(PPC)损失应用于每个金字塔层级。最后的损失首先在每个金字塔水平上取平均值,然后在所有金字塔上取平均值。
预训练FPN层和用于下游任务的头部网络通常可以提高迁移精度,如表5和表6所示。
3.4.与实例级对比学习结合
所提出的像素级代理任务采用与最新实例级辨别方法相同的data loader和编码器[19,18],从每幅图像中采样两个增强视图,并将其输入主干编码器。因此,通过共享相同的data loader和主干编码器,我们的像素级方法可以方便地与实例级代理任务相结合,而预训练开销很小。
具体地,使用独立于像素级任务的投影头,在第五级的输出上应用实例级代理任务。在这里,我们使用一种流行的实例级方法SimCLR[9],其包含一个动量编码器与像素级的代理任务对齐。在这种组合中,像素级和实例级代理任务的两个损失由乘法因子(默认设置为1)来平衡,如下所示:
一般来说,这两个任务是互补的:像素级的代理任务学习有利于空间推理的表征,而实例级的借口任务学习有利于分类表征。表4显示,额外的实例级对比损失可以显著改善ImageNet-1K的线性评估,表明学习了更好的分类表示。很可能是因为更好的分类能力,它用FCOS[36]在COCO目标检测的下游任务上显著提高了迁移精度(大约提高了1个mAP)。
4实验
4.1. 预训练设置
数据集 我们采用广泛使用的ImageNet-1K[12]数据集进行特征预训练,该数据集由128万张训练图像组成。
结构 遵循最近的无监督方法[19,18],我们采用ResNet-50[21]模型作为骨干网络。这两个分支使用不同的编码器,一个使用常规主干网和常规投影头,另一个使用动量网络,并对常规主干网和投影头的参数进行移动平均。我们提出的像素传播模块(PPM)应用于常规分支。在一些实验里还测试了FPN结构(从P3到P6)。
数据增强 在预训练中,数据增强策略遵循[18],其中两个图形块是分别独立地随机裁剪于一张图像,并随机水平翻转,并缩放至224×224,然后是颜色畸变、高斯模糊和日光化操作(solarization operation)。我们跳过了无重叠的裁剪对的损失计算,因为它们只占所有裁剪对的一小部分。
优化 训练长度从50到400个epoch不等,在我们的消融研究中使用100个epoch的训练。学习率衰减为cosine,优化器为LARS,基本学习率为1。学习率与批量大小成线性比例,。权重衰减为1e-5。总批量大小设置为1024,使用8个V100 gpu。对于动量编码器,动量值从0.99开始增加至1,和[18]一样。训练期间启用同步批处理规范化(Synchronized batch normalization)。
4.2. 下游任务和设置
我们评估了四个下游任务的特征迁移性能:Pascal VOC上的目标检测[16]、COCO上的目标检测[27]、Cityscapes上的语义分割[11]和COCO上的半监督目标检测[33]。在一些实验中,我们还报道了ImageNet-1K[12]的线性评价性能,以供参考。
Pascal VOC目标检测 我们严格遵循[19]中介绍的设置,即Faster R-CNN检测器[32],具有ResNet50-C4主干,它使用Conv4特征图生成物体候选框,并使用Conv5阶段进行分类和回归。在微调中,我们同步所有批处理规范化层并优化所有层。在测试中,我们报告了2007年测试集上的AP、AP50和AP75。在代码里使用了Detectron2[40]。
COCO目标检测与实例分割 我们分别采用ResNet50-FPN和ResNet50-C4[20,26]主干的Mask R-CNN检测器。在优化中,我们遵循1x设置,所有批处理规范化层同步,所有层微调[19]。我们采用Detectron2[40]作为这些实验的代码。
我们还考虑了其他具有完全卷积结构的检测器,例如FCOS[36]。对于这些实验,我们遵循1x设置并使用mmdetection代码[7]。
Cityscapes语义分割 我们遵循MoCo的设置[19],其中使用了基于FCN的结构[28]。FCN网络由一个ResNet-50主干组成,conv5的3x3卷积层的扩张率为2,滑动步幅为1,后面再接2个通道数为256、扩张率为6的卷积层。再接一个1x1卷积层作为分类层。
半监督目标检测 我们还研究了半监督学习在COCO上的目标检测。为此,从训练集中随机抽样的一小部分(1%-10%)图像被分配标签并用于微调。每种方法五次随机试验的结果取平均值。
ImageNet-1K线性评估 在这个任务中,我们固定预训练的特征,只微调了一个额外的线性分类层,完全遵循MoCo的设置[19]。我们报告这些结果以供参考。
4.3. 主要的迁移学习结果
表1比较了所提出的方法与以前最先进的无监督预训练方法对4个下游任务,这4个任务都需要密集的预测。我们的Pix Pro在Pascal VOC对象检测(R50-C4)、COCO对象检测(R50-FPN/R50-C4)和Cityscapes语义分割(R50)上实现了60.2 AP、41.4/40.5 mAP和77.2 mIoU。该方法在Pascal-VOC上的性能优于以往的最佳无监督方法,在Pascal-VOC上的性能优于2.6 AP,在COCO上的性能优于0.8/1.0 mAP,在城市景观上的性能优于1.0 mIoU。
4.4. 消融研究
我们使用Pascal VOC(R50-C4)和COCO目标检测(R50-FPN)任务进行消融研究。在一些实验中,包括了FCOS检测器对COCO的检测结果和半监督检测结果。
PixPro的超参数 表2检验了PixPro对超参数的敏感性。对于每个超参数的消融,我们将所有其他超参数固定为以下默认值:C5的特征映射,距离阈值,锐度指数,像素到传播模块的变换层数,训练长度为100个epoch。
表2a-b使用C5和P3的特征图来消融距离阈值。对于这两种情况,T=0.7会产生良好的性能。由于P3的分辨率较大,其结果更稳定。
表2c列出了锐度指数,其中显示了最佳结果。过于平滑或过于尖锐的相似函数会损害传输性能。
表2d列出了中变换层的数量,其中的性能略好于其他。注意,当时,也即像素传播模块(PPM)中没有可学习参数,预训练也能很好地执行,而移除PPM模块则导致模型崩溃。PPM模块中的平滑操作引入了相对于其他规则分支的不对称性,从而避免了崩溃解[18]。
表2e列出了特征图的选择。可以看出,使用p3和p4的高分辨率特征图与使用c5的性能相似。使用所有的p3-p6特征图可以显著提高COCO目标检测的迁移学习准确度,但在Pascal-VOC目标检测中的迁移准确度较差。由于Pascal VOC数据集使用ResNet-C4主干,COCO数据集使用ResNet-FPN主干,这一结果表明,预训练和下游任务之间的一致架构可能会给出更好的结果。
表2f说明了训练长度的影响。增加训练长度通常会导致更好的迁移学习性能。我们的最大训练长度是400。与200次epoch训练相比,对Pascal VOC的AP增益为0.7,而对COCO的AP增益几乎为饱和。我们将在今后的工作中审查长期训练的结果。
PixPro与PixContrast的比较 表3列出了具有不同的、使用或不使用像素传播模块(PPM)的PixContrast的迁移学习性能。表3还列出了使用或不使用PPM的PixPro方法的结果。可以看出,虽然PixContrast方法实现了合理的迁移性能,但是PixPro方法更好,特别是在Pascal VOC和COCO上分别比PixContrast方法好0.7AP和2.0MAP。
包含像素传播模块(PPM)会导致PixContrast方法的性能较差,可能是过度平滑的原因。相反,对于PixPro,在Pascal VOC和COCO上添加PPM分别提高了0.8 AP和1.1 mAP的传输性能,并且避免了使用超参数。注意:虽然直接删除PPM会导致模型崩溃,但我们添加了一个线性变换层来避免这种崩溃问题。还请注意,表2c也证明了这种空间平滑在表征学习中的好处,其中过于平滑或过于尖锐的相似性函数会损害传递性能。
结合实例级对比方法
表4展示了将所提出的PixPro方法与实例级代理任务(Sim-CLR*)相结合进行表征学习的效果。由于data loader和编码器的共享,这种组合带来的额外计算量微乎其微。
可以看出,额外的实例级代理任务可以显著提高ImageNet-1K的线性评估准确度,同时保持COCO(Mask R-CNN R50-FPN)和Pascal VOC的迁移准确度。我们还观察到在一些任务上1.2 mAP的显著转移改进,例如COCO上的FCOS[36],如表5所示。
头网络预训练的效果 表5列出了COCO目标检测的头部网络预训练(或使用更类似于微调任务的架构)。对于COCO目标检测,我们使用FCOS检测器,它是完全卷积的。我们评估额外的FPN结构,一个由三个连续卷积层组成的头部网络的迁移性能。可以看出,更多的预训练层可以更好地传递下游任务的准确性。
半监督目标检测结果 表6显示了使用1%和10%COCO标记数据的半监督结果。对Mask R-CNN(R50-FPN)检测器进行了测试。我们最好的预训练模型明显优于以前的实例级监督/无监督方法。使用1%和10%的训练数据,增益分别为+3.9map和+2.3map。
结果表明,在预训练和下游任务之间对齐网络具有优势。在预训练中加入额外的FPN层比只预训练骨干网的方法带来+0.9和+0.7 mAP增益(14.1和26.6 vs.13.2和25.9)。
在ImageNet-1K预训练之后,我们还增加了一个额外的COCO预训练阶段,使用我们提出的像素级代理任务,训练120个epoch。当分别使用1%和10%的训练数据时,它导致额外的+0.7 mAP增益和+0.2 mAP增益。当只有稀缺的标记数据可用时,直接对下游未标记数据进行额外的预训练可能有利于学习。
5 结论
本文探讨了使用像素级的代理任务来学习密集的特征表示。我们首先直接在像素级应用对比学习,从而在需要密集预测的下游任务上获得合理的传输性能。我们还提出了一个像素到传播一致性任务,该任务在表示学习过程中引入了一定的平滑度先验,并且不需要对负样本进行处理。这种方法称为PixPro,当学习到的表示被转移到Pascal VOC(Faster R-CNN R50-C4)和COCO目标检测(mask R-CNN R50-FPN/R50-C4)的下游任务时,达到60.2 AP和41.4/40.5 mAP精度,其中2.6ap和0.8/1.0map优于以往的最佳监督/无监督预训练方法。这些结果显示了在像素级代理任务的强大潜力,并为无监督视觉表征学习提供了一条新的途径。作为学习单个图像的强表征的一个通用代理,该方法同样适用于视频和多模态信号的视觉表征学习。