Sundareswaran R, Herrera-Gerena J, Just J, et al. Cluster Analysis with Deep Embeddings and Contrastive Learning[J]. arXiv preprint arXiv:2109.12714, 2021.
摘要导读
本文提出了一种新的端到端的聚类框架,结合基于深度嵌入的聚类中心预测器,以及样本级对比学习进行深度嵌入的图像聚类。这是通过一种三管齐下的方法来实现的,该方法结合了聚类损失、实例级的对比损失和锚定损失。该方法结合了聚类损失、样本级的对比损失和锚点损失进行三方面的学习。
- 样本特征的对比学习和依赖语义相似性的聚类过程的集成可以加强样本在潜在空间中的表示学习
- 可以产生几何可分的类簇嵌入表示
- 对比学习的目的是学习表征,使相似的样本保持接近,而不同的样本保持遥远的距离
- 学习学习表示和预测类簇中心
方法浅析
模型结构图模型包含三个联合学习的部分,分别对应样本级对比学习,聚类,以及Anchor head。此外,该模型还使用一个backbone网络用于产生低维度的映射空间,然后用于计算对比损失,聚类损失以及anchor损失。
-
Backbone
本文使用ResNet34作为backbone网络, 并从原始输入样本中提取低维特征空间。并对输入样本使用数据增强模块产生、。可以产生,以及原始样本对应的低维表示。其中,anchor部分的学习需要依赖原始高维空间的输入。 -
Instance-wise Contrastive Head
其中 用来计算两个样本之间的相似度得分。当前batch对应的损失计算如下:
该部分使用的映射函数记为,将和得到和,用于构造样本间对比损失。给定大小为N的minibatch,对应2N个数据样本,从中构造正例样本,剩余的2N-2个为负例样本。对应到样本对比学习的部分,其正例为。给定样本对比损失的函数可以写成如下形式: -
Clustering network
其中, 为当前表示下的软聚类分配,为对应的辅助目标分布。给定batch下的聚类损失计算如下:
为了进一步最大化样本之间的一致性,获得紧凑的聚类结果。作者在这一部分引入了DEC中的聚类层用于得到聚类分配。 -
Anchor network
直观上来看,是用没有添加噪声的样本低维空间分布来约束两个增强后的样本分布。这里也可以看作是对比的思路,不包含噪声的样本anchor分布可以看作监督信息作为目标分布以约束增强的样本anchor分布。给定batch的损失计算可以写成:
作者指出,虽然聚类损失将语义上更紧密的聚类聚集在一起,但它只在原始图像组成的小批量样本执行参数优化。因此本文提出Anchor loss意在使得原始样本的聚类分配和增强样本的聚类分配相似度最大化。假设给定样本的anchor分布为,和分别为增强之后的样本对应的anchor分布。该分布其实就是使用学生分布为核,计算样本对应于每个类簇中的概率。这里的损失计算给的也比较直接: -
Objective function
本文的优化目标为以上三项的综合: 作者指出,较高的对比学习损失的权重有助于学习有效的表征,并影响梯度向全局最优运动。相比之下,一旦梯度在狭窄的范围内,聚类和anchor权值有助于微调聚类中心,以实现良好的聚类。
实验
本文在4个公开图像数据集上进行了实验这里仅展示一个可视化:
并且其消融实验证明使用数据增强和各部分的loss的使用都有提升。
简单且有效?
网友评论