机器之心发布

机器之心编辑部

在本文中,微软亚洲研究院的研究员和实习生们提出了一个简单且高效的无监督预训练方法——参数化实例分类(PIC)。和目前最常用的非参数化对比学习方法不同,PIC 采用了类似于有监督图片分类的框架,将每个实例或图片看作一个独立的类别进行实例分类从而进行无监督学习。与 SimCLR 或 MoCo 这类方法相比,PIC 不需要处理潜在的信息泄漏问题,因此结构简单直观。研究者在实验中证明了 PIC 可以在 ImageNet 数据集中取得与这些非参数化对比学习方法相匹配的性能。

论文地址:https://arxiv.org/abs/2006.14618

面对着自然世界中越来越多的无标注数据,研究者们都希望找到一种正确的方式,从中学习对于视觉任务有帮助的特征,从而使得各类视觉任务能有进一步的突破,也使各类算法和模型能在实际生产环境中有更加充分的应用。最近的研究已经证明,在一些下游任务上,无监督的视觉特征学习可以取得与有监督学习同等甚至更高的迁移学习性能。

在本文中,微软亚洲研究院的研究员和实习生们提出了一个简单且高效的无监督预训练方法——参数化实例分类(Parametric Instance Classification,简称 PIC)。和目前最常用的非参数化对比学习方法不同,PIC 采用了类似于有监督图片分类的框架,将每个实例或图片看作一个独立的类别进行实例分类,从而进行无监督学习。

方法介绍

如图 1 所示,PIC 的框架非常简单,通过将每一个实例看作一个独立的类别即可驱动网络训练,完成特征表示的学习。与大多数常见的有监督分类框架相似,PIC 也包含如下五个主要的组成部分:

Data Scheduler:用来从数据集中采样需要传入网络中的图片;

Data augmentation module:用来对采样出来的图片进行随机数据增强,使网络学到更具区分度的特征;

Backbone network:用来对每个增强后的图像进行特征提取,同时这一部分网络也会在下游任务中使用;

Small projection head:用来将高维的特征投影到低维空间,并且在投影后的特征上施加实例分类的损失函数;

Instance classification loss:整个网络中唯一的损失函数,用于驱动整个网络训练。

作者发现,完全采用有监督分类的设计模块会导致训练效果不太理想。因此,他们对各个模块进行适当的调整,使其适应实例分类问题,从而使得 PIC 学到的特征质量大幅度提高。

具体而言,作者借鉴了最近一些无监督预训练的工作,比如 SimCLR 与 MoCo,采用了合适的数据增强方法和强度,使用两层 MLP 作为 projection head,以及使用 cosine soft-max loss 作为损失函数等。

除此之外,在 PIC 框架中仍然有许多挑战,比如对每个实例类别的优化频率过低或者面对大数据集时负样本过多等。这些挑战也给 PIC 在走向实用的过程中带来了一些问题,如训练时间过长、显存消耗过大等。因此,为了在提升特征质量的同时增强实用性,作者提出了两项新技术。

滑动窗数据调度方法(Sliding window data scheduler):具体做法如图 2 所示,将完整训练过程中使用到的数据看作是周期重复出现的连续数据,然后在连续数据上有重叠地进行采样,保证两个训练周期中会有相同的样本出现。这一调度方法可以帮助解决对于某个实例类别采样间隔过大的问题,使训练稳定的同时更加有效。

负实例类别采样和分类权重校正(Negative instance class sampling and classification weight correction):负实例类别采样即在计算损失函数时,只将最近采样到的 K 个样本作为负样本进行计算,而分类权重校正即为了解决在 SGD 优化过程中因为动量(momentum)和权重衰减(weight decay)的存在依然需要对未被采样样本进行梯度计算的问题。由此可以使得训练时间和显存消耗不会随着训练数据的增长而线性增长,而是与训练数据大小无关,同时可以保持 PIC 模型的性能表现。

实验结果

消融实验

采用不同的通用模块设定:表 1 展示了更合适的数据增强、两层 MLP 的 project head 和 cosine soft-max 损失函数均可大幅度提高框架的有效性,尤其是 cosine soft-max 损失函数带来了接近 20% 的 top-1 acc 的提升。

实例类别采样和分类权重校正:从表 2 中可以看到,当没有分类权重校正时,随着负样本的减少,准确度会出现明显的下降;而当采用分类权重校正后,即使大幅度减少负样本数,其准确度的下降幅度依然很小。

滑动窗数据调度方法:表 3 展示了当选取滑动窗数据调度方法中不同的超参数时模型的性能表现。表 4 则展示了对于不同长度的训练轮数,滑动窗数据调度方法均能带来一定的性能提升,短轮数的实验性能提升更为明显。

与其他框架的性能比较

系统级性能比较:如表 5 所示,PIC 在短轮数的实验上表现非常出色,相比于之前的最优方法能获得 1.5%~3.2% 不等的性能提升。表 6 则展示了与更多前沿方法的比较。综合来看,PIC 能取得与 MoCo v2 相当的性能表现,同时远高于其他的无监督预训练方法。

下游视觉任务的性能比较:如表 7 和表 8 所示,PIC 在半监督学习、iNaturalist18 细粒度分类、Pascal VOC 检测任务和 Cityscapes 语义分割任务上都展示出了一致优异的表现,性能均与之前最好的方法相当或优于之前的方法。

分析

作者表示,PIC 框架和有监督分类框架的相似性促使他们去找寻这两者之间的关联,并希望通过这些关联来更好地理解 PIC 框架。他们首先对这两项任务所使用的卷积神经网络输出的特征对不同区域的显著性进行可视化,如图 3(a) 所示,可以看出 PIC 关注的显著区域和有监督分类所关注的显著区域非常相似,由此进一步统计两者所关注的显著区域的重合度,如图 3(b) 所示,可以发现绝大部分图片的显著区域重合度大于 0.6,平均值达到了 0.762,这展现出了两个方法在显著区域上具有统计意义上的相似性。图 3(c) 则揭示了显著区域重合度与 PIC 模型准确度之间的关联,从图中可以明确地看出这两者之间的正相关性。显著区域重合度越高,PIC 的性能表现也就越好。

此外,作者还特意寻找了一些 PIC 和有监督分类方法输出的显著区域存在较明显差异的图片,如图 3(a) 右侧所示。可以发现,这些显著区域的差异主要是由图片中包含多个物体所造成的。在这种情况下,有监督分类方法所输出的显著区域主要集中在特定的单个物体上,通常这一物体与标注的类别相符,而 PIC 则倾向于将注意力分散在所有具备显著性的物体上,这种不受标注信息干扰的显著区域或许是 PIC 在下游视觉任务上有更好表现的原因之一。

总结

本文针对无监督特征学习提出了参数化实例分类(Parametric Instance Classification,PIC)这样一个简单而又高效的框架。相比于之前方法需要考虑信息泄漏的问题,PIC 并没有任何内在的限制。通过结合一些现有框架中的组成部分,和文中提出的滑动窗数据调度方法、以及负实例类别采样与分类权重校正这两项技术,PIC 可以达到非常高的性能表现,并且可以应用在各种训练场景中。对于无监督学习与预训练这一领域而言,PIC 可以作为一个简单、实用、高效且易于复现的基准方法,使得领域内未来的研究得以受益。

训练损失越来越大_无需contrastive学习,微软亚研提基于实例分类无监督预训练方法...相关推荐

  1. dqn在训练过程中loss越来越大_深度强化学习——从DQN到DDPG

    想了解更多好玩的人工智能应用,请关注公众号"机器AI学习 数据AI挖掘","智能应用"菜单中包括:颜值检测.植物花卉识别.文字识别.人脸美妆等有趣的智能应用.. ...

  2. CV和NLP中的无监督预训练(生成式BERT/iGPT和判别式SimCLR/SimCSE)

    文 | Smarter 在之前的文章中讲过unsupervised learning主要分为生成式和判别式,那么unsupervised pretrain自然也分为生成式和判别式.目前CV和NLP都出 ...

  3. 时序动作定位 | 面向时序行为定位任务的无监督预训练

    ​论文链接:https://arxiv.org/abs/2203.13609 代码地址:https://github.com/zhang-can/UP-TAL 主要贡献: 首次面向时序行为定位任务进行 ...

  4. 花书+吴恩达深度学习(二十)构建模型策略(超参数调试、监督预训练、无监督预训练)

    目录 0. 前言 1. 学习率衰减 2. 调参策略 3. 贪心监督预训练 4. 贪心逐层无监督预训练 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔~我会非常开心的~ 花书+吴恩达深度学习(十 ...

  5. 无需Grouping,中科大和微软亚研院提出Group-Free的三维物体检测方法,性能远超之前最好方法。...

    ©PaperWeekly 原创 · 作者|刘泽 学校|微软亚洲研究院实习生 研究方向|计算机视觉与深度学习 无需 Grouping,中科大和微软亚研院提出 Group-Free 的三维物体检测方法,性 ...

  6. 何恺明一作,刷新7项检测分割任务,无监督预训练完胜有监督

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转自机器之心. 机器之心报道 机器之心编辑部 Facebook AI 研究团队的何恺明等人提出了一种名为动量对比(MoCo)的无监督训练方法.在 7 ...

  7. UP-DETR:收敛更快!精度更高!华南理工微信开源无监督预训练目标检测模型...

    关注公众号,发现CV技术之美 0 写在前面 基于Transformer编码器-解码器结构的DETR达到了与Faster R-CNN类似的性能.受预训练Transformer在自然语言处理方面取得巨大成 ...

  8. CVPR 2021 Oral | Transformer再发力!华南理工和微信提出UP-DETR:无监督预训练检测器...

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 本文作者:飞奔的啦啦啦   |  来源:知乎 https://zhuanlan.zhihu.com/p/31 ...

  9. ICLR 2022 | BEIT论文解读:将MLM无监督预训练应用到CV领域

    如果觉得我的算法分享对你有帮助,欢迎关注我的微信公众号"圆圆的算法笔记",更多算法笔记和世间万物的学习记录- 1. BEIT整体介绍 今天跟大家聊一聊ICLR 2022微软亚研院的 ...

最新文章

  1. 【Opencv】直方图函数 calchist()
  2. lsa五类_OSPF外部路由4类5类LSA
  3. python constructor_python – 无法成功启动boa-constructor
  4. visual studio code python插件下载_visual studio code 的必装推荐插件plugin, vscode, vsc
  5. [Spring5]IOC容器_Bean管理注解方式_组件扫描配置细节
  6. 【Q】【poj 1144】【poj 1523】
  7. 如果你是一位资深的玩机人士,那么你不能错过它——uTools
  8. 数据库备份checksum选项你会用么?
  9. Async/Await FAQ
  10. 【RobotStudio学习笔记】(三)程序创建
  11. Qt初学者的一些学习方法、参考资料
  12. SSM(Spring+springMVC+MyBatis)框架-springMVC实现图片上传
  13. windows xp虚拟机安装教程
  14. python npv 计算公式_Python中IRR的计算
  15. visio 去除“讨厌”的自动捕捉
  16. kika平台广告sdk集成问题
  17. NYOJ 33 蛇形填数
  18. Pytest测试框架(二):pytest 的setup/teardown方法
  19. 计算机视觉到底有多热?它的前景是这样的……
  20. 超市会员管理系统,数据库课程设计

热门文章

  1. JavaScript事件与jQuery方法
  2. servlrt程序的入口点是_小程序深度报告:全网数量约550万,日活跃超4.4亿
  3. 五分钟入门文本处理三剑客grep awk sed
  4. “面试不败计划”:集合知识整体总结
  5. Error:Cannot build artifact ‘ssm:war exploded‘ because it is included into a circular dependency
  6. Android APK反编译就这么简单 详解(图文详解)
  7. hibernate教程--抓取策略详解
  8. 数组线性表ArrayList的内部实现
  9. 【Spring注解系列11】Spring后置处理器BeanPostProcessor用法与原理
  10. BigDecimal add方法问题:调用add后,求和结果没变