CVPR 2021 | 何恺明等人新作!深入探究无监督时空表征学习

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

本文转载自:Smarter

先看一下阵容,何恺明+Ross Girshick!!!

目前该工作已收录于CVPR 2021

A Large-Scale Study on Unsupervised Spatiotemporal Representation Learning

论文:https://arxiv.org/abs/2104.14558
代码:https://github.com/facebookresearch/SlowFast

一句话总结

时空的Self-Supervised采样同一个视频的positive pair时间跨度越长效果越好优化目标比momentum encoder影响要小,训练时间、backbone、数据增强和精选数据对于得到更好性能至关重要。

以下先说一下本文的设计,然后回顾一下4种Self-Supervised方法,最后看一下精彩的对比实验(做对比实验只服FAIR,实验详尽,有理有据)。

01

Persistent temporal feature learning

在一段时间跨度内,假设视频的视觉内容是时间连续的。FAIR的目标是希望同一个视频的不同clips判断为相似。于是FAIR提出了persistent temporal feature learning的方法来学习时空的无监督特征。

persistent temporal feature learning具体做法是从一个batch的无label视频中分别采集clips,然后送入encoder产生q,其中同一个视频中采集的clips认为是positive pair,尽可能的判断为相似,不同视频中采集的clips认为是negative pair,尽可能的判断为不相似。(上面图片的第二行就是同一个视频采样3个clip的例子)

其中encoder是时空ConvNet,默认为ResNet-50(3D ResNet-50),是SlowFast Networks的slow分支,去掉了temporal pooling的操作,然后接了一个MLP projection head。输入的clips是由t个连续的RGB frames堆叠形成的,维度为   ,其中T是每个视频划分的视频段数量,S是尺寸大小。给定B个视频,如果每个视频采集   个clips,那么总共clips数量为   个。

02

SimCLR/MoCo/BYOL/SwAV

下面简单回顾一下SimCLR、MoCo、BYOL和SwAV四种Self-Supervised方法。首先将positive定义为集合   ,negative定义为集合   。

那么InfoNCE loss可以表示为

   

其中q和k分别为query和key,   为温度系数,   。

SimCLR

SimCLR使用其他视频clips的embeddings作为negatives。如(a)图所示,右边分支同时送入positives和negtives。

MoCo

MoCo引入了mentum encoder,右边分支的encoder参数通过左边分支的encoder参数滑动更新。同时,MoCo将右边分支encoder得到的postives/negatives的embedding通过一个memory queue保存然后迭代更新queue。

BYOL

BYOL和MoCo相似,但是去除了memory queue,右边分支不传入negatives,左边分支增加了一个MLP predictor,并且右边分支不进行梯度更新。

SwAV

SwAV引入了prototypes,同时在右边分支增加一个Sinkhorn-Knopp (SK),将postives进行转换,和prototypes进行对比学习。

03

Experiments

Datasets

解释一下Kinetics-400、IG-Gurated、IG-Uncurated和IG-Uncurated-Short四个数据集的含义有什么不同。

Kinetics-400使用了约240k个训练视频,包括400个行动分类。IG-Cureated是修正后的Instagram视频数据集,和K400类别相似。IG-Uncurated从Instagram视频中随机选取。IG-Uncurated-Short只包含IG-Uncurated中的短视频。数据集的视频时间统计如上图所示。

下面的实验结果通过两种方式来进行评估。一种是先frozen encoder,然后用linear classifier来判断Top-1的acc。另一种是先通过finetuning视频数据集然后计算acc。

Persistent temporal learning

如table2所示,当cllips数量为1时,SimCLR和SwAV的精度大幅度下降。更多的clips,可以改善精度。并且有无negatives不太影响精度,说明negatives不是的关键。但是有momentum encoder(MoCo、BYOL)和没有momentum encoder(SimCLR、SwAV)大概有4%的差距。

table3说明,增加训练epoch,也可以持续改善精度。

Timespan between positives

table4说明不同视频数据集下,视频时间越长效果越好,即长视频获得了更好的全局采样。其中IG-Uncurated-1M视频时长超过36s时会出现轻微衰退的现象。

Backbone architectures

table5说明更深的网络可以得到更好的精度,另外,   从(8x8->16x4)精度也有提升。R2+1D和S3D-G在K400上精度下降,在UCF101上精度上升,可能是因为UCF101是小数据集,容易产生过拟合,R2+1D和S3D-G模型更小过拟合程度更轻。

Uncurated data and video duration

1.在IG-Curated数据集上预训练后MoCo比BYOL效果更好。

2.MoCo和SwAV在不同数据集上预训练后,随着epoch增加,效果会更好。

3.BYOL和SimCLR在IG-Cureated比IG-Uncurated上预训练后好约1%。

4.BYOL和SimCLR在IG-Uncureated-Short上预训练后效果更好。可能长视频对于BYOL和SimCLR来说没有什么收益。

5.BYOL在更大的epoch下,会出现衰退现象。可能是因为没有针对性调整参数。

Data augmentations

上面两个table表明合适的数据增强可以获得更好的精度。

Alternative downstream tasks

从上面两个table可以看出,下游任务中,MoCo和BYOL的表现更为稳定。最后使用BYOL在几个视频数据集上超过之前的方法。也证实了momentum encoder对于时空无监督学习的重要性

04

总结

这详尽的实验,orz。感觉每次看恺明的文章,打眼一看就这,看完就orz,真牛逼。虽然只是做实验,但是确实提供了一些有指导性的结论,方便后面的人follow。

最后该文章留了两个值得思考的大坑,一个是positive pair时间间隔,另一个是momentum encoder

论文PDF和代码下载

后台回复:0501,即可下载上述论文PDF

后台回复:CVPR2021,即可下载CVPR 2021论文和代码开源的论文合集

后台回复:Transformer综述,即可下载最新的两篇Transformer综述PDF

重磅!Transformer交流群成立

扫码添加CVer助手,可申请加入CVer-Transformer 微信交流群,方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。

一定要备注:研究方向+地点+学校/公司+昵称(如Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

▲长按加小助手微信,进交流群

▲点击上方卡片,关注CVer公众号

整理不易,请给CVer点赞和在看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值