
摘要
本文提出了一种通过在实例级和聚类级进行双对比学习(Twin Contrastive Learning, TCL)来实现在线聚类的方法。具体而言,我们发现当数据被投影到目标聚类数维度的特征空间时,其特征矩阵的行和列分别对应于实例表示和聚类表示。基于这一观察,对于给定的数据集,所提出的TCL首先通过数据增强构建正样本对和负样本对。随后,在特征矩阵的行空间和列空间中,分别通过拉近正样本对并推开负样本对来进行实例级和聚类级的对比学习。为了减轻固有假负样本对的影响并修正聚类分配,我们采用了一种基于置信度的标准来选择伪标签,以增强实例级和聚类级的对比学习效果。因此,聚类性能得到了进一步提升。除了双对比学习这一优雅的思想外,TCL的另一个优势在于它可以独立地预测每个实例的聚类分配,从而轻松适应在线场景。在六个广泛使用的图像和文本基准数据集上进行的大量实验验证了TCL的有效性。代码将在GitHub上发布。
代码仓库
XLearning-SCU/2022-IJCV-TCL
官方
pytorch
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| image-clustering-on-cifar-10 | TCL | ARI: 0.780 Accuracy: 0.887 Backbone: ResNet-34 NMI: 0.819 Train set: Train |
| image-clustering-on-cifar-100 | TCL | ARI: 0.357 Accuracy: 0.531 NMI: 0.529 Train Set: Train |
| image-clustering-on-imagenet-10 | TCL | ARI: 0.837 Accuracy: 0.895 NMI: 0.875 |
| image-clustering-on-imagenet-dog-15 | TCL | ARI: 0.516 Accuracy: 0.644 NMI: 0.623 |
| image-clustering-on-stl-10 | TCL | ARI: 0.757 Accuracy: 0.868 Backbone: ResNet-34 NMI: 0.799 Train Split: Train |
| short-text-clustering-on-biomedical | TCL | Acc: 49.8 NMI: 42.9 |
| short-text-clustering-on-stackoverflow | TCL | Acc: 88.2 NMI: 0.786 |