Deep Plug-and-Play Clustering with Unknown Number of Clusters
TL;DR 精炼摘要
本文提出了一种深度即插即用聚类模块,能够在未知聚类数量的情况下自动调整聚类数。通过分析聚类目标,该模块采用分裂与合并框架,利用聚类间的熵来调节类内差异和类间差异。实验表明,该方法在多个基准数据集上表现出色,与最先进的方法相媲美。
摘要
Clustering is an essential task for the purpose that data points can be classified in an unsupervised manner. Most deep clustering algorithms are very effective when given the number of clusters . However, when is unknown, finding the appropriate for these algorithms can be computationally expensive via model-selection criteria, and applying algorithms with an inaccurate can hardly achieve the state-of-the-art performance. This paper proposes a plug-and-play clustering module to automatically adjust the number of clusters, which can be easily embedded into existing deep parametric clustering methods. By analyzing the goal of clustering, a split-and-merge framework is introduced to reduce the intra-class diversity and increase the inter-class difference, which leverages the entropy between different clusters. Specifically, given an initial clustering number, clusters can be split into sub-clusters or merged into super-clusters and converge to a stable number of clusters at the end of training. Experiments on benchmark datasets demonstrate that the proposed method can achieve comparable performance with the state-of-the-art works without requiring the number of clusters.
思维导图
论文精读
中文精读
1. 论文基本信息
1.1. 标题
Deep Plug-and-Play Clustering with Unknown Number of Clusters (深度即插即用聚类:应对未知聚类数量)
论文标题清晰地指出了研究的核心:提出一种可以轻松集成(即插即用)到现有深度学习聚类方法中的模块,其主要功能是解决聚类任务中一个经典且棘手的难题——在预先不知道真实类别数量()的情况下进行有效聚类。
1.2. 作者
-
作者团队: An Xiao, Hanting Chen, Tianyu Guo, Qinghua Zhang, Yunhe Wang
-
隶属机构: 华为诺亚方舟实验室 (Huawei Noah's Ark Lab)
该团队来自工业界顶尖的研究实验室,通常其研究更侧重于解决实际应用中遇到的问题,这与本文致力于解决“未知聚类数”这一现实挑战的目标相符。
1.3. 发表期刊/会议
- 发表平台: OpenReview
- 影响力: OpenReview 是一个开放的同行评审平台,被许多顶级的计算机科学会议使用,如 ICLR (International Conference on Learning Representations)、NeurIPS (Conference on Neural Information Processing Systems) 等。这篇论文在该平台接受评审,意味着它是一篇投向顶级学术会议的高质量研究工作。
1.4. 发表年份
论文提交至 OpenReview 进行评审,从其内容和引用来看,应为 2022 年左右的工作(例如,它引用了 2022 年的 DeepDPM 论文)。
1.5. 摘要
聚类是一种核心的无监督学习任务,旨在将数据点自动分组。大多数先进的深度聚类 (deep clustering) 算法在给定聚类数量 的情况下表现出色。然而,当 未知时,通过模型选择标准来寻找最优 的过程计算成本极高,而且使用一个不准确的 会严重损害算法性能。
本文提出了一种即插即用 (plug-and-play) 的聚类模块,能够自动调整聚类的数量。该模块可以轻松嵌入到现有的深度参数化聚类 (deep parametric clustering) 方法中。通过分析聚类的目标——减小类内差异 (intra-class diversity) 并增大类间差异 (inter-class difference),作者引入了一个分裂与合并 (split-and-merge) 框架。该框架利用不同聚类之间的熵 (entropy) 来度量相似性。具体来说,从一个初始的聚类数开始,算法可以在训练过程中将某些聚类分裂为子类,或将另一些聚类合并为超类,最终收敛到一个稳定的聚类数量 。在多个基准数据集上的实验表明,该方法在无需预先知道聚类数量的情况下,能够达到与最先进的 (state-of-the-art) 方法相媲美的性能。
1.6. 原文链接
-
发布状态: 该链接指向 OpenReview 上的论文 PDF,为提交评审的预印本版本。
2. 整体概括
2.1. 研究背景与动机
-
核心问题: 传统的深度聚类方法大多是参数化的 (parametric),这意味着它们需要一个至关重要的超参数:聚类数量 。在现实世界的应用中(例如,对海量未知用户进行画像分析,或对新发现的物种进行分类),真实的类别数量 往往是未知的。
-
现有挑战与空白 (Gap):
- 暴力搜索成本高昂: 为确定最佳 ,一种常见方法是在一个范围内(例如, 从 2 到 100)多次运行复杂的深度聚类算法,然后使用某种评估标准(如轮廓系数)来挑选最佳 。对于训练过程动辄数小时甚至数天的深度模型而言,这种方法的计算成本是无法接受的。
- 错误 导致性能骤降: 如果为算法提供一个错误的 ,其性能会急剧下降。例如,将本应分为 10 类的数据强行分为 3 类,或分为 100 类,结果都将毫无意义。
- 非参数化方法性能不足: 虽然存在一些不需要预设 的非参数化 (non-parametric) 聚类方法(如
DBSCAN或DeepDPM),但它们的性能通常落后于那些被告知了正确 值的参数化方法。
-
本文切入点/创新思路: 作者没有尝试从头设计一个新的、性能卓越的非参数化聚类算法,而是另辟蹊径,提出一个通用模块。这个模块的核心思想是:“我们能否赋予现有的、强大的参数化聚类算法一种‘动态调整 K’的能力?” 这种“即插即用”的设计思路使得大量已有的优秀算法可以被轻松改造,以适应 未知的场景,从而弥合了参数化方法的高性能与非参数化方法的灵活性之间的鸿沟。
2.2. 核心贡献/主要发现
-
主要贡献:
- 提出了一个即插即用的分裂-合并 (Split-Merge) 模块: 这是本文最大的贡献。该模块可以无缝集成到各种深度参数化聚类方法中,使其能够在训练过程中自动调整聚类数量 ,而无需对原算法进行伤筋动骨的修改。
- 设计了基于优化目标的自适应分裂/合并准则: 作者从聚类的根本目标(最小化类内距离,最大化类间距离)出发,构建了一个统一的优化函数。并从该函数严格推导出了决定何时分裂、何时合并的数学条件。这使得 值的调整不再是基于经验或启发式规则,而是有坚实的理论依据。
- 应用 Jensen-Shannon 散度进行相似度度量: 作者选择 JS 散度 (Jensen-Shannon divergence) 来衡量不同聚类之间的相似性,并基于此设计了动态的分裂阈值 () 和合并阈值 (),使得决策过程更加鲁棒和自适应。
-
主要发现:
-
性能媲美 SOTA: 实验证明,将该模块应用于先进的参数化聚类算法(如
SCAN)后,即使从一个与真实值相差甚远的初始 开始,最终也能达到与“被告知真实 ”的原始算法相媲美的性能。 -
准确估计 : 该方法能够相当准确地推断出不同数据集的真实聚类数量。
-
良好的泛化性: 该模块不仅在
SCAN上有效,在NNM和GCC等其他深度聚类框架上也表现出色,证明了其“即插即用”的通用性。
-
3. 预备知识与相关工作
3.1. 基础概念
-
聚类 (Clustering): 聚类是一种无监督学习 (unsupervised learning) 技术,其目标是将一个数据集中的样本划分为若干个组(称为“簇”或“类”),使得同一组内的样本彼此相似,而不同组的样本彼此相异。由于没有真实标注数据 (Ground Truth),聚类的好坏通常由“类内紧凑度”和“类间分离度”来衡量。
-
参数化与非参数化聚类 (Parametric vs. Non-parametric Clustering):
- 参数化聚类: 这类算法需要预先指定聚类的数量 。最经典的例子是 K-均值 (K-means)。大多数深度聚类方法,因为其网络结构(如最后的分类层神经元数量)通常需要预定义,所以也属于参数化方法。
- 非参数化聚类: 这类算法不需要预先指定 , 是由算法根据数据分布自动发现的。典型的例子有 DBSCAN,它根据密度来识别簇,能够发现任意形状的簇且对噪声不敏感。
-
深度聚类 (Deep Clustering): 传统的聚类方法(如 K-means)直接在原始数据空间(如像素空间)中计算距离,对于高维复杂数据(如图像)效果不佳。深度聚类则利用深度神经网络 (Deep Neural Networks, DNNs) 的强大能力,将原始数据映射到一个更具判别性的特征空间 (feature space) 中,然后再进行聚类。通常,特征提取和聚类过程是联合优化的,从而实现端到端的学习,达到更好的效果。
-
Jensen-Shannon 散度 (JS Divergence): JS 散度是一种衡量两个概率分布之间相似性的方法。它基于 KL 散度 (Kullback-Leibler Divergence),但与之不同的是,JS 散度是对称的(即 )且取值范围在 之间,这使其在实际应用中更像一个“距离”度量。JS 散度为 0 表示两个分布完全相同,值越大表示差异越大。本文用它来衡量两个簇所代表的数据分布之间的相似性。
3.2. 前人工作
-
传统聚类算法:
- K-means: 简单高效,但需要预设 ,且对初始中心点敏感,难以处理非球形簇。
- DBSCAN/OPTICS: 基于密度的非参数化方法,无需预设 ,但对密度参数敏感。
- 层次聚类 (Hierarchical Clustering): 如
BIRCH,CHAMELEON,可以产生一个聚类的层次结构,但计算复杂度较高。
-
深度参数化聚类算法: 这是本文模块主要的应用对象。
- DEC (Unsupervised Deep Embedding for Clustering Analysis): 首次将深度学习与传统聚类(K-means)紧密结合,通过一个聚类损失函数来同时优化特征表示和聚类分配。
- DAC (Deep Adaptive Image Clustering): 将聚类问题转化为一个成对的二元分类问题,判断任意两个样本是否属于同一类。
- SCAN (Learning to Classify Images without Labels): 一个两阶段方法,首先通过自监督学习预训练一个强大的特征提取器,然后在提取的特征上进行聚类。这是本文实验中主要使用的基座模型。
- CC (Contrastive Clustering): 将对比学习 (contrastive learning) 的思想引入聚类,通过最大化同一样本不同增强视图之间的一致性来学习特征。
-
处理未知 的深度方法:
- Dirichlet Process (DP): 一种贝叶斯非参数模型,常用于混合模型中以自动推断成分(即簇)的数量。
- DeepDPM (Deep Dirichlet Process Mixture Model): 将 DP 与深度学习结合,是本文在 ImageNet-50 数据集上进行比较的一个重要的非参数化基线模型。它也采用了分裂-合并策略,但本文的方法旨在成为一个更通用的“插件”。
3.3. 技术演进
聚类技术的发展脉络大致如下:
-
早期经典算法 (Pre-2000s): 如 K-means, 层次聚类,主要处理低维、结构简单的数据。
-
密度与网格方法 (Late 1990s - 2000s): 如 DBSCAN, STING,开始解决非球形簇和大规模数据问题。
-
深度学习兴起 (Post-2010s): 深度神经网络被用于学习数据的低维嵌入表示。早期工作(如
AE)只是将自编码器作为特征提取器,与聚类是分离的。 -
端到端深度聚类 (Mid-2010s - Present): 以
DEC为代表,将特征学习和聚类过程统一到一个框架中联合优化,性能大幅提升。后续的DAC,SCAN,CC等工作不断引入新的思想(如对比学习),刷新了性能记录。 -
应对未知 的探索: 与此同时,如何摆脱对 的依赖一直是研究热点。传统方法有
DBSCAN,贝叶斯领域有Dirichlet Process。近年来,DeepDPM等工作尝试将这些思想与深度学习结合。本文正处在技术演进的第 4 和第 5 点的交汇处。它不抛弃第 4 点中性能强大的参数化模型,而是通过一个巧妙的模块,将第 5 点中对未知 的处理能力“嫁接”了上去。
3.4. 差异化分析
与相关工作相比,本文的核心区别在于其定位和方法:
-
vs. 其他深度聚类方法 (SCAN, CC): 它们是高性能的参数化方法,必须提供 。本文不是要取代它们,而是要增强 (empower) 它们,使其能够在 未知时也能使用。
-
vs. 深度非参数化方法 (DeepDPM):
DeepDPM是一个独立的、端到端的非参数化模型。而本文的方法是一个模块化、非侵入式的方案。开发者可以继续使用自己熟悉的、性能最强的参数化模型,只需额外“插入”本文的模块即可,这在工程实践中具有更高的灵活性和复用性。 -
vs. 传统非参数化方法 (DBSCAN):
DBSCAN等方法在原始数据空间操作,难以处理图像等高维复杂数据。本文方法作用于深度神经网络学习到的特征空间,因此性能远超传统方法。
4. 方法论
4.1. 方法原理
方法的核心思想源于对聚类本质目标的数学建模。一个好的聚类结果应该同时满足两个条件:簇内紧凑 (Compactness) 和簇间分离 (Separation)。作者将这两个目标统一到一个优化函数中,并将寻找最优聚类数 的问题转化为最小化该函数值的过程。
基于此优化目标,作者推导出了分裂和合并操作能够降低目标函数值的具体条件。当某个操作(分裂或合并)满足其对应条件时,执行该操作就会使当前的聚类结果向更优的方向迭代。整个过程就像一个贪心算法 (greedy algorithm),在每一步都做出能让目标函数值下降的局部最优决策(增加或减少 ),最终收敛到一个稳定的、近似最优的 。
4.2. 核心方法详解 (逐层深入)
4.2.1. 统一优化目标
首先,作者定义了聚类的两个基本度量:
-
紧凑度 (Compactness, CP): 衡量所有簇内部样本之间的总距离,值越小说明簇内越紧凑。
-
分离度 (Separation, SP): 衡量所有不同簇之间样本的总距离,值越大说明簇间越分离。
为了便于分析,作者简化了表示。令 表示第 个簇的内部总距离(与紧凑度相关), 表示第 和 两个簇之间的外部总距离(与分离度相关)。
于是,在 未知的情况下,寻找最优聚类的问题可以被形式化为最小化以下目标函数:
公式讲解:
-
: 这是所有簇的内部总距离之和,对应总紧凑度。我们的目标是最小化这一项。
-
: 这是所有不同簇对之间的外部总距离之和,对应总分离度。我们的目标是最大化这一项,因此它前面有一个负号。
-
: 一个超参数,用于平衡紧凑度和分离度这两个目标的重要性。
-
: 对分离度项进行归一化,以计算簇间的平均距离,避免 越大分离度项天然越大的问题。
这个公式构成了整个分裂-合并框架的理论基石。
4.2.2. 簇分裂 (Cluster Split) 策略
动机: 当当前的聚类数 小于真实值时,必然有些簇内部包含了本应属于不同类别的数据点,导致这些簇的“内部总距离” D(k,k) 过大。此时,我们需要分裂这些内部差异大的簇。
决策准则: 假设我们要把某个簇 分裂成两个子簇 和 。只有当分裂后的目标函数值小于分裂前的值时,我们才执行分裂。作者在附录中给出了详细推导,最终得到分裂的条件(Proposition 1):
公式讲解: 这个不等式直观上可以理解为:当两个子簇 和 之间的距离 足够大(超过了由当前所有簇间平均距离决定的某个阈值)时,将它们分开是值得的。
用 JS 散度实现: 直接计算高维空间中的距离 是困难且不稳定的。作者选择使用 JS 散度来衡量簇之间的“距离”,因为它能很好地度量概率分布的相似性。深度聚类模型的输出可以看作是样本属于各个簇的概率分布。
将上述条件中的距离 替换为 JS 散度 ,经过化简,可以得到一个更实用的分裂判断准则:
于是,我们可以定义一个动态的分裂阈值 :
执行分裂: 对于每一个现有的簇,算法会尝试将其内部分成两个子簇,然后计算这两个子簇间的 JS 散度。如果 ,就执行分裂。
分裂损失函数: 为了在分裂后能真正将两个子簇推开,作者引入了一个分裂损失 (split loss),加入到原聚类算法的损失函数中:
- 是原聚类算法的损失函数。
- 第二项通过最大化新分裂出的子簇之间的 JS 散度,来鼓励它们在特征空间中彼此远离。 是一个指示器,仅当 和 是刚刚由同一个父簇分裂而来时才为 1。 是一个超参数。
4.2.3. 簇合并 (Cluster Merge) 策略
动机: 当当前的聚类数 大于真实值时,一些本是同类的样本可能被分到了不同的簇中,导致这些簇之间非常相似,“外部总距离” 过小。此时,我们需要合并这些过于相似的簇。
决策准则: 首先,找到当前所有簇中最相似的一对 ,即它们的 JS 散度最小: 然后,判断是否应该合并它们。同样地,只有当合并后的目标函数值小于合并前的值时,才执行合并。根据 Proposition 2 推导出的合并条件是: 其中 是合并后的新簇。
用 JS 散度实现: 将距离 替换为 JS 散度,得到合并的判断准则:
由此定义一个动态的合并阈值 :
执行合并: 计算所有簇两两之间的 JS 散度,找到最小的一对。如果这个最小的 JS 散度值小于 ,就将这两个簇合并。在神经网络中,合并操作通常通过平均这两个簇在最后一个全连接层中对应的权重向量来实现。
4.2.4. 整体算法流程
下图(原文 Figure 1)直观地展示了分裂与合并模块如何作用于深度聚类方法。
该图像是一个示意图,展示了提出的可插入模块在深度聚类模型中的应用。图中分为两个阶段:分裂阶段和合并阶段。在分裂阶段,数据点根据相似性被细分以最小化类内差异;在合并阶段,相似数据点被合并以最大化类间差异。模块的设计可以有效调整聚类数目 。
完整的算法流程如 Algorithm 1 所述:
-
初始化: 选择一个基座参数化聚类算法 (如
SCAN),并设定一个初始聚类数 (可以任意设置,比如 3)。 -
重复直至收敛: a. 训练: 使用当前的聚类数 和算法 训练网络,直到模型收敛。 b. 分裂阶段: * 对当前的每一个簇(共 个),尝试将其内部分为两个子簇。 * 计算这两个子簇间的 JS 散度,并与根据当前全局情况计算出的分裂阈值 比较。 * 如果 JS 散度大于 ,则确定该簇需要分裂。 * 执行所有需要分裂的操作,更新聚类数 ( 增加),并使用分裂损失 短暂地继续训练网络,以确保新簇被有效分离开。 c. 合并阶段: * 计算当前所有簇两两之间的 JS 散度,找到值最小的一对。 * 将这个最小 JS 散度值与根据当前全局情况计算出的合并阈值 比较。 * 如果 JS 散度小于 ,则合并这对最相似的簇,更新聚类数 ( 减少)。 d. 循环: 返回步骤 a,使用新的 继续训练。
-
结束: 当训练过程中 不再发生变化,且模型性能稳定时,算法收敛。最终得到的 就是推断出的最佳聚类数。
作者还证明了该算法的一些重要性质,如分裂和合并条件不会同时满足(Lemma 3),以及K 值在训练中是单调变化的(Lemma 4),保证了算法的稳定收敛性(Proposition 5)。
5. 实验设置
5.1. 数据集
实验在多个标准的计算机视觉数据集上进行,涵盖了从简单到复杂的各种场景:
-
CIFAR-10: 包含 10 个类别的 60000 张 32x32 彩色图像。这是一个基础的图像分类/聚类基准。
-
CIFAR-100-20: CIFAR-100 数据集的子集,包含 100 个小类,这些小类被分组成 20 个超类。实验任务是聚类这 20 个超类。
-
STL-10: 包含 10 个类别,但训练数据量较少(5000 张有标签),而有大量无标签图像(100000 张)。图像分辨率为 96x96,比 CIFAR-10 更具挑战性。
-
ImageNet-10 / ImageNet-50: ImageNet 数据集的子集,分别包含 10 个和 50 个类别。这些是更复杂、更接近真实世界场景的数据集。
选择这些数据集是为了全面评估该方法在不同类别数量、不同图像复杂度和不同数据规模下的性能和鲁棒性。
5.2. 评估指标
为了衡量聚类性能,论文采用了三个标准的外部评估指标。这些指标都需要使用真实标注数据 (Ground Truth) 来计算,仅在评估阶段使用。
-
聚类准确率 (ACC - Clustering Accuracy):
- 概念定义: ACC 衡量聚类结果与真实标签的匹配程度。它首先通过匈牙利算法 (Hungarian algorithm) 找到聚类簇与真实类别之间的最佳一一映射关系,然后计算被正确分配的样本占总样本的比例。ACC 的值越高,表示聚类结果与真实类别越一致。
- 数学公式:
- 符号解释:
- : 样本总数。
- : 第 个样本的真实标签。
- : 第 个样本被分配到的聚类簇标签。
- : 匈牙利算法找到的最佳映射函数,它将每个聚类簇标签映射到一个真实类别标签。
- : 指示函数,当内部条件为真时取值为 1,否则为 0。
-
归一化互信息 (NMI - Normalized Mutual Information):
- 概念定义: NMI 源于信息论,用于衡量两个数据分布之间的一致性。在这里,它衡量聚类结果(一个分布)与真实标签(另一个分布)之间的共享信息量。NMI 的值被归一化到 [0, 1] 区间,值越高表示聚类结果与真实标签的关联性越强,聚类效果越好。与 ACC 不同,NMI 不要求簇的数量与真实类别数量完全相等。
- 数学公式:
- 符号解释:
- : 样本的真实标签集合。
- : 算法给出的聚类标签集合。
I(Y, C): 和 之间的互信息 (Mutual Information)。H(Y): 的熵 (Entropy)。H(C): 的熵 (Entropy)。
-
调整兰德指数 (ARI - Adjusted Rand Index):
- 概念定义: ARI 用于衡量两个数据划分之间的一致性。它通过考虑所有样本对,计算被正确地“分在同一组”和“分在不同组”的样本对的比例,并进行机会调整(Adjusted for Chance)。ARI 的取值范围通常在 [-1, 1] 之间,值越高表示一致性越好,1 表示完美一致,0 表示随机划分水平。
- 数学公式:
- 符号解释:
- : 兰德指数 (Rand Index),定义为 ,其中 TP, TN, FP, FN 分别是真阳性、真阴性、假阳性、假阴性的样本对数量。
- : 在随机分配标签的情况下,兰德指数的期望值。
- : 兰德指数的最大可能值。
5.3. 对比基线
论文将自己的方法(将模块应用于 SCAN)与多种类型的聚类算法进行了比较:
-
传统聚类方法:
AC(Agglomerative Clustering),NMF(Non-negative Matrix Factorization)。这些方法不使用深度学习。 -
早期深度学习方法:
AE(Autoencoder),DAE(Denoising Autoencoder),VAE(Variational Autoencoder)。这些方法主要使用自编码器进行特征学习。 -
现代深度参数化聚类方法:
DEC,DAC,DCCM,CC,MiCE,SCAN等。这些是当前领域最先进的方法,但都需要预设 。 -
深度非参数化聚类方法:
DeepDPM。这是在 未知场景下的一个强有力对比基线。
6. 实验结果与分析
6.1. 核心结果分析
6.1.1. 与最先进方法的性能比较
以下是原文 Table 1 的结果,它展示了在四个数据集上,本文方法(Ours)与众多基线方法的性能对比。
| Method | CIFAR-10 | CIFAR-100 | STL-10 | ImageNet-10 | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| NMI | ACC | ARI | NMI | ACC | ARI | NMI | ACC | ARI | NMI | ACC | ARI | |
| AC (Gowda & Krishna, 1978) | 10.5 | 22.8 | 6.5 | 9.8 | 13.8 | 3.4 | 23.9 | 33.2 | 14.0 | 13.8 | 24.2 | 6.7 |
| ... (中间多行基线省略) ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| IDFD (Tao et al., 2021) | 71.4 | 81.5 | 66.3 | 42.6 | 42.5 | 26.4 | 64.3 | 75.6 | 57.5 | 89.8 | 95.4 | 90.1 |
| CC (Li et al., 2021) | 70.5 | 79.0 | 63.7 | 43.1 | 42.9 | 26.6 | 76.4 | 85.0 | 72.6 | 85.9 | 89.3 | 82.2 |
| MiCE (Tsai et al., 2020) | 73.7 | 83.5 | 69.8 | 43.6 | 44.0 | 28.0 | 63.5 | 75.2 | 57.5 | - | - | - |
| SCAN (Van Gansbeke et al., 2020) | 71.2 | 81.8 | 66.5 | 44.1 | 42.2 | 26.7 | 65.4 | 75.5 | 59.0 | 86.2 | 92.0 | 83.3 |
| Ours (K0=3) | 71.9 | 82.4 | 67.5 | 45.2 | 43.8 | 28.1 | 64.3 | 74.5 | 57.6 | 88.6 | 91.2 | 87.1 |
| Ours (K0=20) | 71.1 | 81.6 | 66.2 | - | - | 65.1 | 74.7 | 58.9 | 86.9 | 91.8 | 84.7 | |
| Ours (K0=30) | - | - | - | 44.9 | 43.1 | 27.8 | - | - | - | - | - | - |
分析:
- 核心结论: 本文方法(Ours)在所有数据集上的所有指标都达到了与
SCAN,CC,MiCE等最先进的参数化方法相当甚至略优的水平。 - 重要意义: 请注意,所有这些 SOTA 基线都是在被告知了数据集的真实 值(例如 CIFAR-10 的 )的情况下取得的成绩。而本文方法并不知道这个真实 值,它从一个错误的初始值
K0(如 3 或 20)出发,通过自动调整,最终达到了和“开了天眼”的对手一样的水平。这有力地证明了该模块的有效性。 - 鲁棒性: 无论初始
K0是远小于真实值(),还是远大于真实值( 或 ),最终性能都非常稳定,说明分裂和合并机制都能有效工作。
6.1.2. 推断的聚类数 K
以下是原文 Table 2 的结果,展示了最终推断出的 值。
| Dataset | 3 | 20 | 30 |
|---|---|---|---|
| Initial K | |||
| CIFAR-10 | 10±0 | 10±0 | |
| CIFAR100-20 | 19.7±2.1 | 19.8±1.5 | |
| STL-10 | 9.7±0.5 | 10.3±0.9 | |
| ImageNET-10 | 10±0 | 10.3±0.5 |
分析:
- 该表格清晰地显示,无论初始
K0是多少,本文方法最终推断出的 值都非常接近数据集的真实类别数(CIFAR-10/STL-10/ImageNet-10 的真实 是 10,CIFAR100-20 的真实 是 20)。 - 在 CIFAR-10 和 ImageNet-10 上,推断结果几乎完美。在其他数据集上,结果也仅有微小偏差,这证明了分裂-合并框架在估计 方面的准确性。
6.1.3. 在复杂数据集上的表现 (ImageNet-50)
以下是原文 Table 3 的结果,该实验更具挑战性,因为它比较了参数化、非参数化和本文方法在 未知情况下的表现。
| Init k | Inferred k | ACC | NMI | ARI | |
|---|---|---|---|---|---|
| SCAN Van Gansbeke et al. (2020) | 50 | - | 73.7±1.7 | 79.7±0.6 | 61.8±1.3 |
| SCAN Van Gansbeke et al. (2020) | 10 | - | 19.4±0.1 | 60.6±0.4 | 23.0±0.3 |
| DBSCAN Ester et al. (1996) | - | 16.0 | 24.0±0.0 | 52.0±0.0 | 9.0±0.0 |
| moVB Hughes & Sudderth (2013) | - | 46.2±1.3 | 55.0±2.0 | 70.0±1.0 | 43.0±1.0 |
| DPM Sampler Dinari et al. (2019) | 72.0±2.6 | 57.0±1.0 | 72.0±0.0 | 43.0±1.0 | |
| DeepDPM Ronen et al. (2022) | 10 | 55.3±1.5 | 66.0±1.0 | 77.0±0.0 | 54.0±1.0 |
| Ours | 10 | 50.6±1.7 | 73.3±1.3 | 80.1±0.7 | 62.3±1.5 |
分析:
- 参数化方法的困境: 当
SCAN被告知正确的 时,ACC 高达 73.7%。但如果给它一个错误的 ,ACC 骤降至 19.4%,几乎不可用。这凸显了本文研究的动机。 - 非参数化方法的差距: 即使是 SOTA 的深度非参数化方法
DeepDPM,其 ACC 也只有 66.0%,与知道正确 的SCAN有显著差距。并且它推断出的 (55.3) 也偏离真实值 (50)。 - 本文方法的优越性: 本文方法从 开始,最终不仅准确地推断出 ,而且其性能 (ACC 73.3%) 与“上帝视角”下的
SCAN(ACC 73.7%) 几乎完全一样,同时显著优于其他所有非参数化方法。这个结果极具说服力。
6.2. 消融实验/参数分析
6.2.1. 对不同初始 的鲁棒性
以下是原文 Table 5 的结果,展示了在 CIFAR-10 上,随着初始 K0 变化,SCAN 和本文方法的 ACC 变化。
| K0 | 3 | 10 | 15 | 20 | 30 | 40 | 50 | 100 |
|---|---|---|---|---|---|---|---|---|
| SCAN | 28.6 | 82.2 | 58.8 | 45.9 | 33.4 | 25.9 | 21.9 | 11.9 |
| Ours | 82.4 | 82.4 | 82.9 | 81.6 | 82.0 | 77.5 | 70.9 | 72.4 |
| K Inferred | 10 | 10 | 10 | 10 | 10 | 11 | 12 | 12 |
分析:
SCAN的性能对K0极度敏感,只有在 (真实值)时达到峰值,其他情况下性能都很差。- 本文方法则表现出惊人的鲁棒性。当
K0在一个相当大的范围(3 到 30)内变化时,ACC 始终稳定在 82% 左右,并且都能准确推断出 。即使K0设置得非常离谱(如 100),性能虽有下降,但仍远高于SCAN,并且推断出的 (12) 仍然接近真实值。
6.2.2. 各组件的有效性分析
以下是原文 Table 7 的结果,通过移除模块的不同部分来验证其作用。
| K0=3 | K0=10 | K0=20 | |||||||
|---|---|---|---|---|---|---|---|---|---|
| ACC | NMI | ARI | ACC | NMI | ARI | ACC | NMI | ARI | |
| No split/merge | 28.7 | 46.2 | 26.4 | 82.2 | 71.6 | 66.8 | 47.3 | 62.3 | 43.2 |
| No split | 28.9 | 46.1 | 26.4 | 75.4 | 68.9 | 62.1 | 81.2 | 70.9 | 65.6 |
| No merge | 79.7 | 71.3 | 66.9 | 82.1 | 71.5 | 66.8 | 47.1 | 61.7 | 42.6 |
| No split loss | 28.6 | 44.5 | 25.3 | 77.6 | 69.9 | 63.3 | 81.7 | 71.1 | 66.4 |
| Full method | 82.4 | 72.2 | 67.9 | 82.4 | 71.7 | 67.4 | 82.7 | 72.3 | 67.7 |
分析:
- 当 (小于真实值 10) 时:
- 移除分裂 (split) 模块 (
No split),性能与不使用任何模块 (No split/merge) 一样差 (ACC 28.9%),因为模型无法增加 来匹配数据复杂度。 - 移除分裂损失 (
split loss),性能同样很差 (ACC 28.6%),这说明即使增加了 ,如果没有一个专门的损失函数来推开新簇,它们也会很快坍缩回一起,分裂失败。
- 移除分裂 (split) 模块 (
- 当 (大于真实值 10) 时:
- 移除合并 (merge) 模块 (
No merge),性能很差 (ACC 47.1%),因为模型无法减少冗余的簇。
- 移除合并 (merge) 模块 (
- 结论: 分裂模块、合并模块以及分裂损失函数都是不可或缺的关键组件,共同保证了方法的有效性。
6.2.3. 可视化分析
下图(原文 Figure 2)展示了从 开始的训练过程。

分析:
-
初始状态 (Epoch 0, k=3): 在训练开始时,无论是特征空间还是输出空间,数据点都混杂在一起,只能被粗略地分为 3 个大簇。
-
中间过程 (Epoch 80, k=7): 随着训练进行,分裂模块开始工作,聚类数 增加到 7。可以看到,数据点开始形成更清晰的、分离的群组。
-
最终状态 (Epoch 200, k=10): 训练结束时,算法收敛到 。此时,t-SNE 可视化结果显示,不同颜色的数据点(代表不同真实类别)形成了非常清晰和紧凑的簇,彼此分离良好,与真实类别高度对应。这直观地展示了分裂-合并模块如何逐步优化聚类结构并找到正确的 。
7. 总结与思考
7.1. 结论总结
本文成功地解决了一个在深度聚类领域长期存在的痛点:如何在未知真实类别数 的情况下进行高效准确的聚类。作者没有提出一个全新的聚类算法,而是设计了一个巧妙的、通用的即插即用 (plug-and-play) 模块。该模块基于一个统一的优化目标,通过理论推导出的分裂 (split) 和合并 (merge) 准则,在训练过程中动态地调整聚类数量 。大量的实验证明,将该模块集成到现有的先进参数化聚类方法后,能够在无需预知 的情况下,自动找到接近真实的 值,并取得与“被告知真实 ”的原始算法相媲美的最先进的 (state-of-the-art) 性能。
7.2. 局限性与未来工作
尽管论文取得了显著成功,但仍存在一些潜在的局限性:
-
计算开销: 尽管比暴力搜索 高效得多,但引入分裂-合并模块仍然增加了额外的计算成本。例如,在每个迭代周期,都需要计算簇间的 JS 散度,并可能需要额外的训练步骤来稳定分裂后的新簇。
-
超参数 : 整个理论框架依赖于平衡参数 。尽管实验(Table 6)表明该方法对 在一定范围内不敏感,但它仍然是一个需要用户设定的超参数。在完全无监督的场景下,如何自适应地确定 可能是未来的一个研究方向。
-
贪心策略的局部最优问题: 分裂和合并决策是基于当前状态使目标函数下降最快的贪心策略。这不能从理论上保证找到全局最优的 。例如,一个错误的早期合并可能会导致后续难以通过分裂来纠正。
-
单调性限制: 论文证明了 的变化是单调的。这意味着如果算法一开始方向错了(例如,从 错误地合并到 ,而最优值其实是 ),它将无法再通过分裂回到 。这可能在某些复杂的数据分布上成为一个限制。
未来的工作可以探索更高效的相似度计算方法,研究自适应调整 的机制,或者引入非贪心、允许回溯的搜索策略来寻找更优的 。
7.3. 个人启发与批判
-
启发:
- “赋能”而非“取代”的设计哲学: 这篇论文最亮眼的地方在于其“即插即用”的思想。它没有试图推翻现有的 SOTA 模型,而是通过一个通用模块来增强它们,使其适用范围更广。这种思路在科研和工程中都极具价值,因为它能最大化地利用和盘活已有的研究成果。
- 从第一性原理出发: 整个方法的核心——分裂与合并准则,并非凭空拍脑袋想出的启发式规则,而是从聚类的根本目标(最小化类内距离,最大化类间距离)的数学公式中严格推导出来的。这种从问题本质出发进行建模和推导的思路,使得方法有很强的理论根基和说服力。
- 理论与实践的优雅结合: 作者将理论推导出的抽象距离 ,巧妙地用实践中易于计算且鲁棒的 JS 散度来实例化,并设计了动态阈值,这是理论指导实践、实践反哺理论的典范。
-
批判性思考:
- JS 散度的可靠性: 该方法的核心是依赖于神经网络
相似论文推荐
基于向量语义检索推荐的相关论文。