论文阅读“2021AAAI-Contrastive Clustering”

Li Y, Hu P, Liu Z, et al. Contrastive clustering[C]//2021 AAAI Conference on Artificial Intelligence (AAAI). 2021.

摘要翻译

在该论文中,作者利用instance-level和cluater-level的对比学习提出了一个在线的聚类方法Contrastive Clustering(CC)。具体来说,对于给定的数据集,通过数据增强构建正例和负例样本对,然后映射到特征空间。其中,instance-level和cluster-level的对比学习分别在行和列对应的空间进行,其目的是最大化与正例样本间的相似度,同时最小化与负例样本之间的相似度。作者的主要观察结果是,特征矩阵的行可以被视为实例的软标签,相应地,列可以进一步被视为聚类表示。通过同时优化instance-level和cluster-level对比损失,该模型以端到端的方式联合学习表示和聚类分配。此外,即使数据以流的形式呈现,该方法也能及时计算每个样本的聚类分配。同时,实验效果也展示出所提模型的优异性能。

Key observation


对于给定的数据集,使用神经网络学习数据的特征表示矩阵,矩阵的行和列分别对应样本和类簇的表示。换句话说,作者通过将输入样本降维映射到一个低维(给定的类簇个数)子空间,将其对应的软标签(类簇分配的概率)信息作为一种特殊的标签表示。因此,特征矩阵中的行可以解释为样本对应于每个类簇概率,列则看做样本在某个类簇中的分布。作者在这里指出,因为是将“表示映射为标签信息”,代表着聚类预测被重铸为独立于其他样本的特殊表示学习任务,因此,执行在线聚类是可行的。(这里我有一点疑问,学习软标签信息意味着类簇个数是作为先验知识给出的,对于在线聚类来说,是没有办法提前预测类簇个数的。。所以是怎么做的在线聚类呢

作者提出的双对比学习框架去学习样本和类簇的表示。具体的步骤如下:1)通过数据增强学习数据对的特征矩阵;2)分别在特征矩阵的行列的空间对正例对和负例对进行instance-level和cluater-level的对比学习。

通过两种类型的相似度学习的对比,提出的方法可以学习具有判别性的特征,并且可以以在线和端到端的方式进行在线聚类。

模型浅析

可以由上图看出,该方法由三个共同学习的组件组成,即对构造主干(PCB)、一个instance-level对比头(ICH)和一个cluster-level对比头(CCH)。经过训练后,通过CCH预测的软标签,可以很容易地获得聚类分配。
作者指出,虽然基本思想是这种双对比学习可以直接应用在同一个特征矩阵上,但实验结果表明将特征矩阵解耦为两个独立的子空间分别进行instance-level和cluster-level对比学习的聚类性能更高。可能的原因是这种解耦策略可以提高ICH和CCH的表示性能。下面,我们将依次详细阐述这三个组成部分,并介绍使用的目标函数。

  • Pair Construction Backbone
    所提出的模型使用数据增强的方法进行数据对的构建。具体来说,给定一个样本数据,从一族数据增强算法中随机两种数据转换方法,,并运用于,得到的两个结果分别为,。先前有研究表明,正确选择正确的增强策略对于在下游任务中获得良好的性能至关重要(该项工作中使用了五种类型的数据增强方法,包括裁剪、色抖动、灰度、水平翻转和高斯模糊)。对于给定的图像,以一定的概率独立应用每个增强方法(这个设置同SimCLR一致)。在此之后,一个共享的深度神经网络用于从增强的样本中抽取特征,分别表示为。另外,关于的结构,作者并没有什么特别的指定,可以根据各自的数据集进行设计。
  • Instance-level Contrastive Head
    对比学习的目的是最大化正例样本对的相似性,而最小化负例样本对的相似性。在本工作中,由于在聚类任务中没有先验标签,因此根据数据增强生成的伪标签,在instance-level构造正、负例样本对。更具体地说,正例样本对由来自同一样本的增强样本组成,反之是负例样本对。
    从形式上来说,对于给定的batch_size=N,CC对每个实例执行两种类型的数据扩充,并得到2N个数据样本。对于特定的样本,共有2N-1个样本对。其中,选择其相应的增强样本形成一个正例样本对,其余的2N-2个样本对为负例。
    为了减轻对比损失引起的信息损失,在模型中并不直接对特征矩阵进行对比学习。因此,模型堆叠了一个两层非线性MLP,通过将特征矩阵映射到一个子空间,并在此基础上应用instance-level对比损失。样本对的相似度由cosine来度量:
    其中, and 。为了优化成对相似性,在不丧失一般性的情况下,给定样本的损失形式和整体的对比损失如下:
  • Cluster-level Contrastive Head
    按照“label as representation”的思想,当将一个数据样本投影到一个维数等于类簇数的空间时,其特征的第个元素可以被解释为该样本属于第个聚类的概率,该特征向量相应地表示类簇分配的软标签。
    从形式上来讲,设是第一次增强下的CCH的输出(第二次增强的输出为),然后可以解释为样本n分配给类簇m的概率,其中为batch_size的大小,等于类簇的数量。由于每个样本只属于一个簇,理想情况下,的行往往是one-hot的。从这个意义上说,的第个列可以看作是第个簇的表示,所有的列都应该彼此不同。
    与instance-level类似,在cluster-level的对比学习中,模型中针对特征矩阵中的列向量也使用两层MLP做映射得到。给定,共含有2M-1个样本对,其中为正例样本对,2M-2个负例样本对。类似的,该模块对应的对比损失函数有如下构造:
    与instance-level的对比学习不同,为了避免所有样本都被分配到同一类簇,在损失函数中加入了熵。
  • Objective Function

    ICH和CCH的优化是一阶段、端到端的过程。总体损失为两个对比函数相加,模型通过该总体损失同时优化ICH和CCH。整体的算法流程如下:

你可能感兴趣的:(论文阅读“2021AAAI-Contrastive Clustering”)