无需contrastive学习,微软亚研提出基于实例分类的无监督预训练方法

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

机器之心发布,机器之心编辑部。

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

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

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

方法介绍

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

  1. Data Scheduler:用来从数据集中采样需要传入网络中的图片;
  2. Data augmentation module:用来对采样出来的图片进行随机数据增强,使网络学到更具区分度的特征;
  3. Backbone network:用来对每个增强后的图像进行特征提取,同时这一部分网络也会在下游任务中使用;
  4. Small projection head:用来将高维的特征投影到低维空间,并且在投影后的特征上施加实例分类的损失函数;
  5. 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 可以作为一个简单、实用、高效且易于复现的基准方法,使得领域内未来的研究得以受益。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!