作者丨Linz@知乎 (已授权)

来源丨https://zhuanlan.zhihu.com/p/366819594

编辑丨极市平台

导读

本文通过解读DisCo,一种基于蒸馏的轻量化模型的自监督学习方法,解释作者如何实现从Teacher到Student更有效的知识迁移,进而显著提升轻量化模型的效果。 >>加入极市CV技术交流群,走在计算机视觉的最前沿

前言

该论文已被 ECCV 2022 录用!

论文链接:https://arxiv.org/pdf/2104.09124.pdf

代码实现:https://github.com/Yuting-Gao/DisCo-pytorch

Motivation

自监督学习通常指的模型在大规模无标注数据上学习通用的表征,迁移到下游相关任务。因为学习到的通用表征能显著提升下游任务的性能,自监督学习被广泛用于各种场景。通常来讲,模型容量越大,自监督学习的效果越好 [1,2]。反之,轻量化的模型(EfficientNet-B0, MobileNet-V3, EfficientNet-B1) 在自监督学习上效果就远不如容量相对大的模型 (ResNet50/101/152/50*2)。

目前提升轻量化模型在自监督学习上性能的做法主要是通过蒸馏的方式,将容量更大的模型的知识迁移给学生模型。SEED [2]基于MoCo-V2框架 [3,4],容量大的模型作为Teacher,轻量化模型作为Student,共享MoCo-V2框架中负样本空间(Queue),通过交叉熵迫使正样本与相同的负样本在Student与Teacher空间中的分布尽可能相同。CompRess [1]还尝试了Teacher和Student维护各自的负样本空间,同时使用KL散度来拉近分布。以上方法可以有效的将Teacher的知识迁移给Student,从而提升轻量化模型Student的效果(本文会交替使用Student与轻量化模型)。

本文提出了Distilled Contrastive Learning (DisCo),一种简单有效的基于蒸馏的轻量化模型的自监督学习方法,该方法可以显著提升Student的效果并且部分轻量化模型可以非常接近Teacher的性能。该方法有以下几个观察:

  1. 基于自监督的蒸馏学习,因为最后一层的表征包含了不同样本的在整个表征空间中的全局的绝对位置和局部的相对位置信息,而Teacher中的这类信息比Student更加的好,所以直接拉近Teacher与Student最后一层的表征可能是效果最好

  2. 在CompRess [1] 中,Teacher 与 Student 模型共享负样本队列(1q) 与拥有各自负样本队列(2q) 差距在1%内。该方法迁移到下游任务数据集CUB200, Car192,该方法拥有各自的负样本队列甚至可以显著超过共享负样本队列。这说明,Student并没有从Teacher共享的负样本空间学习中获得足够有效的知识。Student不需要依赖来自Teacher的负样本空间。

  3. 放弃共享队列的好处之一,是整个框架不依赖于MoCo-V2,整个框架更加简洁。Teacher/Student 模型可以与其他比MoCo-V2更加有效的自监督/无监督表征学习方法结合,进一步提升轻量化模型蒸馏完的最终性能。

  4. 目前的自监督方法中,MLP的隐藏层维度较低可能是蒸馏性能的瓶颈。在自监督学习与蒸馏阶段增加这个结构的隐藏层的维度可以进一步提升蒸馏之后最终轻量化模型的效果,而部署阶段不会有任何额外的开销。将隐藏层维度从512->2048,ResNet-18可以显著提升3.5%。

Method

本文提出一个简单却很有效的框架 Distilled Contrastive Learning (DisCo) 。Student 会同时进行自监督学习和学习相同的样本在Teacher的表征空间中分布。

DisCo的框架

如上图所示,通过数据增广 (Data Augmentation) 操作将图像生成为两个视图 (View)。除了自监督学习,还引入一个自监督学习获得的Teacher模型。要求相同样本的相同视图,经过Student和固定参数的Teacehr的最终表征保持一致。在本文的主要实验中,自监督学习基于MoCo-V2 (Contrastive Learning),而保持相同样本通过Teacher与Student的输出表征的表征相似是通过一致性正则化(Consistency Regularization)。本文采用均方误差来使Student学习到样本在对应Teacher空间中的分布。

Experiments

此处我们列出一些重要的实验结果。

在ImageNet验证集,对不同轻量化模型进行线性评估 (Linear Evaluation)

在上图,DisCo 大大超出了轻量化模型(EfficientNet-B0, MobileNet-V3, Efficient-B1, ResNet18, ResNet34)直接使用MoCo-V2的自监督学习得到的效果,并且超越了SOTA(SEED)。特别值得注意的是,EfficientNet-B0的结果非常接近作为Teacher的ResNet-50,而EfficientNet-B0的参数仅为ResNet-50的16.3%。

除了与SOTA对比,我们还从以下几个方面的实验来验证DisCo的有效性:

  1. 表征泛化能力

  • 迁移到下游分类任务:Cifar10/100

  • 迁移到检测/分割任务:VOC07,COCO2012

DisCo相比已有蒸馏方法,能更好的拉近Teacher与Student的表征分布。同时,与已有的蒸馏方法结合,能进一步提升蒸馏效果

半监督学习下的表现

消融实验:两部分损失函数的影响

其他实验:

  • Teacher采用其他的自监督学习方法的影响,包括CNN/Transformer 差异的影响

  • Student/Teacher同时采用其他的自监督学习方法的影响

除此之外,本文还从分析了MLP隐藏层维度的影响,使用IB理论进一步分析隐藏层的维度可以有效提升方法轻量化模型性能的原因。详情可见论文链接。

Visualization

本文还可视化了相同样本在 经过MoCo-2得到的EfficientNet-B0, 经过MoCo-V2得到的ResNet-50,以及本文的方法得到的EfficientNet-B0的表征。可以观察到ResNet-50形成比EfficientNet-B0更多的分离簇,单独使用MoCo-V2,本文的方法得到的EfficientNet-B0有更清晰的分离簇,也与ResNet-50更接近。

在ImageNet测试集上聚类结果(不同的颜色代表不同的类别)

Conclusion

针对怎么缓解轻量化的模型在自监督任务上性能远不如容量大的模型的现象,本文通过知自监督学习和知识蒸馏,约束轻量级模型Student的输出表征与容量大的模型Teacher的输出表征在空间上尽量相近。该方法可以不依赖特定的自监督方法。特别是,当ResNet101 / ResNet-50被用作教师,EfficientNet-B0在ImageNet上的 Linear Evaluation 结果非常接近ResNet-101 / ResNet-50,但EfficientNet-B0的参数量仅为ResNet101 / ResNet-50的9.4%/ 16.3%。

References

  1. Soroush Abbasi Koohpayegani, Ajinkya Tejankar, and Hamed Pirsiavash. Compress: Self-supervised learning by compressing representations. In NeurIPS, pages 12980– 12992, 2020.

  2. Zhiyuan Fang, Jianfeng Wang, Lijuan Wang, Lei Zhang, Yezhou Yang, and Zicheng Liu. Seed: Self-supervised distillation for visual representation. In ICLR, 2021.

  3. Kaiming He, Haoqi Fan, Yuxin Wu, Saining Xie, and Ross Girshick. Momentum contrast for unsupervised visual representation learning. In CVPR, pages 9729–9738, 2020.

  4. Xinlei Chen, Haoqi Fan, Ross Girshick, and Kaiming He. Improved baselines with momentum contrastive learning. In CVPR, pages 9729–9738, 2020.

  5. Hao Cheng, Dongze Lian, Shenghua Gao, and Yanlin Geng. Evaluating capability of deep neural networks for image classification via information plane. In ECCV, pages 168–182, 2018.

本文仅做学术分享,如有侵权,请联系删文。

干货下载与学习

后台回复:巴塞罗自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件

后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf

后台回复:3D视觉课程,即可学习3D视觉领域精品课程

计算机视觉工坊精品课程官网:3dcver.com

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

14.ROS2从入门到精通:理论与实战

15.国内首个3D缺陷检测教程:理论、源码与实战

16.基于Open3D的点云处理入门与实战教程

重磅!计算机视觉工坊-学习交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有ORB-SLAM系列源码学习、3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、深度估计、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

ECCV2022|腾讯优图开源DisCo:拯救小模型在自监督学习中的效果相关推荐

  1. 腾讯优图开源深度学习推理框架 TNN,助力 AI 开发降本增效

    从学界到工业界,"开源"已经成为AI领域的一个关键词.一方面,它以"授人以渔"的方式为AI构建了一个开放共进的生态环境,帮助行业加速AI应用落地:另一方面,在解 ...

  2. 重构ncnn,腾讯优图开源新一代移动端推理框架TNN

    来源 | 腾讯优图 从学界到工业界,"开源"已经成为AI领域的一个关键词.一方面,它以"授人以渔"的方式为AI构建了一个开放共进的生态环境,帮助行业加速AI应用 ...

  3. 腾讯优图开源业界首个3D医疗影像大数据预训练模型

    整理 | Jane出品 | AI科技大本营(ID:rgznai100) 近日,腾讯优图首个医疗AI深度学习预训练模型 MedicalNet 正式对外开源.这也是全球第一个提供多种 3D 医疗影像专用预 ...

  4. 打破两项世界纪录,腾讯优图开源视频动作检测算法DBG

    近日,腾讯优图实验室提出一种新的视频动作检测算法DBG并开源,这是继今年4月人脸检测算法DSFD开源后,优图的又一次开源动作. 目前,DBG算法在全球两大权威视频动作数据集ActivityNet-1. ...

  5. 全球首个!腾讯优图开源3D医疗影像大数据预训练模型

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自腾讯优图. 近日,腾讯优图首个医疗AI深度学习预训练模型MedicalNet正式对外开源.这也是全球第一个提供多种3D医疗影像专用预训练模型的 ...

  6. 腾讯优图开源项目全景图!

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 腾讯优图属于国内工业界CV领域实验室的第一梯队,其不仅服务腾讯内部线上产品,也开源了多个前沿研究和工程 ...

  7. 腾讯优图开源项目TNN总结与实践

    一.Github的license 1.开源软件的License,一般是授权用户使用.拷贝.修改和再发布的合法权利及应当遵守的约定,同时包含作者的免责声明和使用自担责声明. 2.使用合适的开源许可证可以 ...

  8. 腾讯优图开源深度学习框架ncnn,主打手机端,同类cpu框架最快

    点击打开链接 编译跑了一下,崩 有谁搞定了的?  终于找到大牛的分享了: http://blog.csdn.net/best_coder/article/details/76201275

  9. 2018,这一年的腾讯优图,我们总结一下!

    2018,腾讯年满20,恰逢弱冠: 2018,巨头持续布局AI,可谓"落地生花"的一年. 毋庸置疑,腾讯也"玩"AI,最具代表性的,就是"玩出&quo ...

最新文章

  1. 共利、共济、共赢 铸就黔南大数据时代丰碑
  2. mysql自动添加多条数据_用一条mysql语句插入多条数据
  3. ubuntu vim php配置文件在哪,ubuntu vim的配置文件在哪
  4. 三相四线怎样查漏电_老电工支招!漏电保护器的接线方法
  5. 关于汉语转换拼音的组件
  6. java awt 边距_Java Swing - 使用Line Border在TextArea上设置边距
  7. jmeter开发导入excel脚本
  8. Alios-Things之wifi模块二次开发-(1)搭建Alios-Things开发环境(基于ubuntu 16.0.4)
  9. 量子计算机模拟黑洞纠缠,科学家想用量子纠缠探查黑洞内部?那得先找到自旋方向相反的光子...
  10. 矩阵分解实现个性化推荐算法实践
  11. Qgis教程10:如何自定义工程坐标系
  12. c语言编程一个数的质子求出来,量子力学第一章课外练习题
  13. Servlet的生命周期,及Servlet和CGI的区别
  14. QGIS编译(跨平台编译)之四十四:HDF5编译(Windows、Linux、MacOS环境下编译)
  15. “双减+大龄”:35+教培程序员即将失业的感受
  16. rem+vw简单适配
  17. Python 数据合并方法 —— Pandas concat() 详解
  18. 铁打的营盘,流水的兵
  19. 中科方德服务器操作系统找到外置光盘,方德高可信服务器操作系统Meltdown和Spectre漏洞修复-中科方德.PDF...
  20. @font-face 加载字体引用字体之后不起作用

热门文章

  1. windows 10 安装 db2 v11.1(血淋淋的教训)
  2. 4K字记一次血淋淋的MySQL崩溃修复案例
  3. 操作系统之文件管理系统
  4. 先马后看!详解线性回归、朴素贝叶斯、随机森林在R和Python中的实现应用!(附代码)...
  5. win10关闭自带的杀毒
  6. java三次指数平滑_时间序列挖掘-预测算法-三次指数平滑法(Holt-Winters)
  7. MySQL limit 2种写法
  8. 终端环境如何下载谷歌网盘google drive文件
  9. 使用Excel连接WINCC生成报表的实现方法
  10. 修改element-ui默认的开关样式