从对比学习(Contrastive Learning)到对比聚类(Contrastive Clustering)

从对比学习(Contrastive Learning)到对比聚类(Contrastive Clustering)

作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/

    想要了解对比聚类,首先应该清楚对比学习的整个过程。最经典的对比学习的文章是Hinton团队提出的SimCLR,该方法首先将一个实例(图像)变换成两种不同的增广实例(图像),然后用神经网络训练得到投影表示,用余弦相似性求出两两投影表示之间的相似性,并最大化相同实例投影表示之间的一致性。而对比聚类(CC)完全借鉴SimCLR的思想,唯一的区别是之前的对比学习是实例层面的,横向进行对比,而CC则添加了一个聚类层面的对比学习,纵向进行对比。通过同时最小化两个层面的损失函数,最终得到聚类层面上的网络权重,进而得到划分结果。

1. 对比学习

从对比学习(Contrastive Learning)到对比聚类(Contrastive Clustering)

从对比学习(Contrastive Learning)到对比聚类(Contrastive Clustering)

从对比学习(Contrastive Learning)到对比聚类(Contrastive Clustering)

2. 对比聚类

从对比学习(Contrastive Learning)到对比聚类(Contrastive Clustering)

从对比学习(Contrastive Learning)到对比聚类(Contrastive Clustering)

从对比学习(Contrastive Learning)到对比聚类(Contrastive Clustering)

CC创新:

  • 一方面,从聚类的角度,受益于“标签即表示”及“列空间对应类别表示空间”的洞见,本文提出的方法无需所有数据输入后才能进行聚类,而是采用在线的方式实时对当前数据进行聚类隶属预测,适用于大规模在线场景和流式数据处理。大量实验表明,提出的方法在CIFAR10,CIFAR100等数据集上比当时最优聚类算法提升精度30%以上。
  • 另一方面,从对比学习角度,该工作是最早的面向任务的对比学习方法,而不再是流行的任务无关无监督表示学习范式。
  • 此外,本文提出的算法也可认为是一种新的引入聚类性质从而增强表示学习能力的对比学习方法,为对比学习研究领域引入新的洞见。
  • 本文的整个idea非常优雅、简洁及自洽。相对于最新的SimCLR等对比学习算法,本文提出的算法仅需在考虑数据特征行空间对比学习的同时再考虑列空间的对比学习即可。

思考:

    对比聚类中用红色方框框出来的就是不同于SimCLR的地方,如果去掉红框的内容,那就完全是SimCLR。以往都是在行空间上进行对比学习,CC的创新之处在于引入列空间上的对比学习(矩阵大小为:样本数*聚类个数)。但列空间上的对比学习的损失函数与SimCLR完全一致,没有任何改进。对比学习主要目的是最大化同一实例之间的相似性,而最小化不同实例之间的相似性。总体来说,该算法最适用于图像类型的数据,因为刚开始涉及到随机变换函数是对图像进行一系列变换操作。本人理解有限,欢迎指正。

3. 采用最近邻进行语义聚类(SCAN)

    在没有真实标注的情况下,我们是否能自动将图像划分为语义意义上的簇?无监督图像分类在计算机视觉领域仍然是一个重要的开放的挑战性任务。最近有几种方法试图以端到端的方式解决这个问题。在这篇论文中,通过两步的方法进行聚类,其中特征学习和聚类是分开进行的。首先,利用表征学习的自监督任务来获取语义特征。其次,在可学习的聚类方法中,使用获得的特征作为先验。在此过程中,去掉了依赖于底层特征的聚类学习能力,这在当前的端到端学习方法中是存在的。具体来看该算法Semantic Clustering by Adopting Nearest neighbors (SCAN)。

从对比学习(Contrastive Learning)到对比聚类(Contrastive Clustering)

从对比学习(Contrastive Learning)到对比聚类(Contrastive Clustering)

从对比学习(Contrastive Learning)到对比聚类(Contrastive Clustering)

4. 参考

[1] Ting Chen, Simon Kornblith, Mohammad Norouzi, Geoffrey Hinton. A Simple Framework for Contrastive Learning of Visual Representations, ICML, 2020.

Paper: http://proceedings.mlr.press/v119/chen20j.html

Code: https://github.com/google-research/simclr

[2] Yunfan Li, Peng Hu, Zitao Liu, Dezhong Peng, Joey Tianyi Zhou, Xi Peng, Contrastive Clustering, AAAI, 2021.

Paper: http://pengxi.me/wp-content/uploads/2020/12/2021AAAI-CC.pdf

Code: https://github.com/XLearning-SCU/2021-AAAI-CC

彭玺老师报告视频(从第21分钟开始看):https://www.bilibili.com/video/BV1Ny4y127v6

[3] CCF A类会议AAAI 2021论文收录结果出炉:我院彭玺教授有两篇论文入选 http://cs.scu.edu.cn/info/1246/15202.htm

[4] The Illustrated SimCLR Framework - Amit Chaudhary https://amitness.com/2020/03/illustrated-simclr/

[5] Van Gansbeke W., Vandenhende S., Georgoulis S., et al. SCAN: Learning to Classify Images Without Labels. ECCV 2020. 

Paper: https://www.ecva.net/papers/eccv_2020/papers_ECCV/papers/123550273.pdf

Code: https://github.com/wvangansbeke/Unsupervised-Classification

上一篇:《SAFe 4.0参考指南:精益软件与系统工程的规模化敏捷框架》一3.7 团队待办事项列表


下一篇:Multimodal Contrastive Training for Visual Representation Learning