ICCV 2021 | 当Transformer遇见自监督学习!Facebook重磅开源DINO

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

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

本文转载自:Smarter

目前 Amusi 已看到 ICCV 2021上的两篇Self-Supervised和Transformer相结合的论文。

一篇是来自何恺明团队的:ICCV 2021 Oral | 何恺明团队提出MoCo v3:训练自监督视觉Transformer的实证研究

另一篇就是本文要分享的DINO,同样来自Facebook公司(FAIR)。

DINO主要有两点惊艳的新特性:

  1. self-supervised ViT的features包含关于图像语义分割的明确信息。

  2. 这些features使用kNN分类器可以在ImageNet上达到78.3%的top-1精度。

先看一下DINO的特征可视化效果,orz

ICCV 2021 | 当Transformer遇见自监督学习!Facebook重磅开源DINO_第1张图片

上图显示的是指定类别的响应图。这难道不是语义分割的标注吗???要知道self-supervised是不使用标注信息的无监督方法啊。

01

DINO

Emerging Properties in Self-Supervised Vision Transformers

ICCV 2021 | 当Transformer遇见自监督学习!Facebook重磅开源DINO_第2张图片

论文:https://arxiv.org/abs/2104.14294

代码:https://github.com/facebookresearch/dino

ICCV 2021 | 当Transformer遇见自监督学习!Facebook重磅开源DINO_第3张图片

DINO整体结构如图所示。给定图片x,student和teacher两个分支输出k维概率分布的   和   ,概率P由softmax得到。

最小化student和teacher两个分支的输出,优化函数可以表示成:

   

其中   。

具体的,DINO给定一个图片,先产生不同views的集合V,这个结合包含了两个global views   和   ),和几个local(crop) views。所有crop的views只送入student分支,而global的views只送入teacher分支,这样可以让DINO学习到上下文关系。

于是优化函数可以表示成:

   

其中2个global views使用224的尺寸,而local views使用96的尺寸。teacher的参数   由student的参数   经过指数滑动平均得到,公式为   ,梯度更新的时候只更新student分支,teacher分支stop gradient。

网络结构g由backbone和projection head组成,其中projection head由3层MLP构成,最终得到K维的输出。当DINO使用ViT时,backbone和projection都是BN-free的。

Avoiding collapse

DINO通过一个centering和momentum teacher输出的sharpening来避免退化解。

用这种方法来避免退化解,可以减少对batch的依赖来增加稳定性:centering在一阶batch统计量中可以解释为给teacher增加一个bias项c:   ,并且这个c通过指数滑动平均来更新,公式为:

   

ICCV 2021 | 当Transformer遇见自监督学习!Facebook重磅开源DINO_第4张图片

如左图所示,centering鼓励输出均匀分布,而sharpening鼓励输出的一个维度占主导地位。

KL散度为0表示出现退化解。当单独使用centering和sharpening时,DINO无法正常训练;当同时使用centering和sharpening时,随着训练epoch增加,KL散度先增大后减小,避免出现退化解。

ICCV 2021 | 当Transformer遇见自监督学习!Facebook重磅开源DINO_第5张图片

总体流程如伪代码所示。

02

实验结果

ICCV 2021 | 当Transformer遇见自监督学习!Facebook重磅开源DINO_第6张图片

最终实验结果中,DINO不管是相同架构下还是不同架构下,均大幅度超过之前的self-supervised方法,其中KNN分类器下最好能达到78.3Linear分类器下最好能达到80.1,这是相当惊人的结果。

可视化

ICCV 2021 | 当Transformer遇见自监督学习!Facebook重磅开源DINO_第7张图片

对比一下supervised和DINO可视化结果,可以看到DINO学出来的特征解释性更强,感觉就跟mask的标注一样,tql。

03

总结

从DINO对self-supervised+transformer的探索中可以看出,self-supervised的上限还有待进一步挖掘。

为什么DINO可以学习到解释性这么强的特征?

self-supervised+transformer的上限在哪里?

论文PDF和代码下载

后台回复:DINO,即可下载上述论文和代码

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

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

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

重磅!Transformer交流群成立

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

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

ICCV 2021 | 当Transformer遇见自监督学习!Facebook重磅开源DINO_第8张图片

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

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

整理不易,请点赞和在看ICCV 2021 | 当Transformer遇见自监督学习!Facebook重磅开源DINO_第9张图片

你可能感兴趣的:(计算机视觉,人工智能,深度学习,微软,deep,learning)