点击下方卡片,关注“CVer”公众号
AI/CV重磅干货,第一时间送达
本文转载自:Smarter
目前 Amusi 已看到 ICCV 2021上的两篇Self-Supervised和Transformer相结合的论文。
一篇是来自何恺明团队的:ICCV 2021 Oral | 何恺明团队提出MoCo v3:训练自监督视觉Transformer的实证研究
另一篇就是本文要分享的DINO,同样来自Facebook公司(FAIR)。
DINO主要有两点惊艳的新特性:
self-supervised ViT的features包含关于图像语义分割的明确信息。
这些features使用kNN分类器可以在ImageNet上达到78.3%的top-1精度。
先看一下DINO的特征可视化效果,orz
上图显示的是指定类别的响应图。这难道不是语义分割的标注吗???要知道self-supervised是不使用标注信息的无监督方法啊。
01
DINO
Emerging Properties in Self-Supervised Vision Transformers
论文:https://arxiv.org/abs/2104.14294
代码:https://github.com/facebookresearch/dino
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通过指数滑动平均来更新,公式为:
如左图所示,centering鼓励输出均匀分布,而sharpening鼓励输出的一个维度占主导地位。
KL散度为0表示出现退化解。当单独使用centering和sharpening时,DINO无法正常训练;当同时使用centering和sharpening时,随着训练epoch增加,KL散度先增大后减小,避免出现退化解。
总体流程如伪代码所示。
02
实验结果
最终实验结果中,DINO不管是相同架构下还是不同架构下,均大幅度超过之前的self-supervised方法,其中KNN分类器下最好能达到78.3,Linear分类器下最好能达到80.1,这是相当惊人的结果。
可视化
对比一下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+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群
▲长按加小助手微信,进交流群
▲点击上方卡片,关注CVer公众号