From Logits to Hierarchies: Hierarchical Clustering made Simple¶
会议: ICML 2025
arXiv: 2410.07858
代码: 论文附录提供完整 Python 实现(NumPy + SciPy)
领域: 人类理解
关键词: 层次聚类, Logits, 预训练模型, 树状图, 无监督学习
一句话总结¶
提出 L2H(Logits to Hierarchies)算法,仅利用预训练平面聚类模型的 logits 输出,通过掩码 softmax 和迭代合并策略,在无需微调的情况下构建高质量层次聚类,大幅超越专用深度层次聚类模型,且在 ImageNet 规模数据集上 CPU 运行不到一分钟。
研究背景与动机¶
层次聚类(Hierarchical Clustering)是机器学习中的经典问题,在系统发育树、肿瘤亚型、社交网络等领域广泛应用。相较于平面聚类,层次聚类能提供多粒度视角,无需预先指定聚类数,增强可解释性。
近年来出现了一批基于深度学习的专用层次聚类方法,如 DeepECT(基于自编码器嵌入空间的层次聚类)和 TreeVAE(基于 VAE 潜空间的层次生成模型)。然而作者发现这些方法存在两个关键局限:
可扩展性差:在大规模数据集上计算需求极高,难以处理大量聚类。TreeVAE 为每个叶节点增加一个解码器,导致类别数增加时计算量急剧膨胀。
叶层性能下降:引入层次结构反而牺牲了叶层聚类质量,与非层次模型相比差距显著。这意味着层次化带来了不必要的代价。
这些发现促使作者反思:是否有必要设计专用的深度层次聚类架构?能否从已有的高质量平面聚类模型中,以极低开销提取层次结构?
方法详解¶
整体框架¶
L2H 的核心思想极为精巧:利用预训练平面聚类模型的 logits 中蕴含的聚类间关系信息,通过迭代式自底向上合并,构建完整的层次树。整个过程不需要访问模型内部表示,不需要微调,甚至可以作用于黑盒模型(如 API 调用的商用模型)。
输入:数据集 \(\mathcal{D} = \{x_1, \dots, x_N\}\),预训练 \(K\)-聚类模型 \(f_\theta\) 输出的 logits(\(N \times K\) 矩阵)。
输出:完整的层次聚类树 \(\mathcal{H}\)(以合并步骤列表表示)。
关键设计¶
1. 基础函数定义¶
定义两个关键函数:
- 聚类分配函数 \(h_\theta(x) = \arg\max_k \text{softmax}_k(f_\theta(x))\):返回数据点 \(x\) 的聚类分配
- 预测概率函数 \(g_\theta(x) = \max_k \text{softmax}_k(f_\theta(x))\):返回最大分配概率
2. 掩码 Softmax(Masked Softmax)——核心创新¶
为了度量聚类组之间的关联性,作者引入掩码 softmax:
给定一组聚类 \(G\),掩码 softmax 将 \(G\) 中的聚类从 softmax 计算中排除。这使得我们可以回答一个关键问题:如果某组聚类不存在,其数据点会被重新分配到哪里?
基于此定义掩码版的分配和概率函数:
- \(h_\theta^m(x; G)\):在排除 \(G\) 后的聚类上重新分配
- \(g_\theta^m(x; G)\):对应的重分配概率
3. 迭代合并算法¶
L2H 算法从 \(K\) 个单聚类组开始,每步合并两个组,经过 \(K-1\) 步构建完整的层次树。每一步分为两个阶段:
阶段一:选择待合并组
为每个组 \(G\) 计算得分:
其中 \(\Lambda\) 为聚合函数(实验中使用每聚类均值之和)。选择得分最低的组 \(G^*\) 进行合并——直觉上,得分低意味着该组内的数据点对其当前聚类分配"不够自信",更可能与其他组存在关联。
阶段二:寻找最相关组
对 \(G^*\) 中的所有数据点,使用掩码 softmax 重新计算排除 \(G^*\) 后的分配。统计每个外部聚类 \(c\) 收到的总重分配概率:
然后选择平均重分配概率最高的组 \(G^\dagger\) 进行合并:
4. 方法的关键优势¶
- 无需微调:直接利用预训练模型的 logits,保留叶层聚类性能
- 黑盒适用:不需要模型内部表示,仅需 logits 输出
- 避免成对距离:不计算数据点间的成对距离,大幅降低计算复杂度
- 通用性强:适用于任何输出 logits 的聚类/分类模型
- 监督扩展:可直接应用于监督分类器,从中恢复有意义的类别层次
损失函数 / 训练策略¶
L2H 本身无需训练,没有损失函数或可学习参数。它是一个纯推理阶段的后处理算法。整个流程为:
- 使用预训练的平面模型(如 TURTLE、TEMI)对数据集推理,获取 \(N \times K\) 的 logits 矩阵
- 在 logits 上运行 L2H 算法,\(K-1\) 步迭代合并
- 输出层次结构(树的合并顺序列表)
聚合函数 \(\Lambda\) 是唯一的设计选择(超参数),实验默认使用每聚类均值:
实验关键数据¶
主实验¶
在 CIFAR-10、CIFAR-100、Food-101 上与专用深度层次聚类方法全面对比。
| 数据集 | 方法 | NMI | ARI | ACC | DP↑ | LHD↓ |
|---|---|---|---|---|---|---|
| CIFAR-10 | DeepECT | 0.006 | 0.002 | 0.110 | 0.101 | 0.369 |
| CIFAR-10 | TreeVAE | 0.414 | 0.313 | 0.497 | 0.341 | 0.410 |
| CIFAR-10 | L2H-TEMI | 0.907 | 0.906 | 0.956 | 0.902 | 0.348 |
| CIFAR-10 | L2H-TURTLE | 0.985 | 0.989 | 0.995 | 0.988 | 0.277 |
| CIFAR-100 | DeepECT | 0.016 | 0.005 | 0.070 | 0.052 | 0.121 |
| CIFAR-100 | TreeVAE | 0.199 | 0.098 | 0.228 | 0.103 | 0.484 |
| CIFAR-100 | L2H-TEMI | 0.778 | 0.565 | 0.682 | 0.502 | 0.298 |
| CIFAR-100 | L2H-TURTLE | 0.917 | 0.831 | 0.896 | 0.803 | 0.235 |
| Food-101 | DeepECT | 0.003 | 0.000 | 0.011 | 0.010 | 0.333 |
| Food-101 | TreeVAE | 0.114 | 0.017 | 0.057 | 0.016 | 0.483 |
| Food-101 | L2H-TEMI | 0.917 | 0.841 | 0.904 | 0.801 | 0.270 |
| Food-101 | L2H-TURTLE | 0.894 | 0.800 | 0.876 | 0.758 | 0.297 |
L2H 在所有数据集上全面碾压专用深度层次聚类模型,NMI 提升通常超过 5-10 倍。
消融实验¶
| 配置 | DP (CIFAR-10) | LHD (CIFAR-10) | DP (CIFAR-100) | LHD (CIFAR-100) | 说明 |
|---|---|---|---|---|---|
| 聚合函数 \(\sum_c \sum_x\) | 0.988 | 0.258 | 0.801 | 0.244 | 简单求和 |
| 聚合函数 \(\sum_c \text{mean}_x\) | 0.988 | 0.248 | 0.793 | 0.283 | 组内均值后求和 |
| 聚合函数 默认选择 | 0.988 | 0.277 | 0.803 | 0.235 | 每聚类均值之和(最优) |
| 替代合并策略(全对) | - | - | 0.797 | 0.246 | 每步考虑所有组对,计算开销大但无收益 |
| L2H-TCL (弱 backbone) | 0.733 | 0.398 | 0.218 | 0.351 | 非 CLIP backbone,仍超越专用模型 |
关键发现¶
-
深度专用模型的根本缺陷:DeepECT 在所有彩色数据集上树坍缩(仅 2-3 个叶节点),TreeVAE 在 CIFAR-100 上只能建模 20 个叶节点(实际有 100 类),受限于每叶一个解码器的架构设计。
-
ImageNet 案例研究:将 L2H 应用于预训练 InternImage 分类器的 logits,成功从 1000 类中恢复出与 WordNet 层次高度一致的类别树。有趣的发现包括:雪橇、雪地摩托等雪地人造物与北极犬种被合并,揭示了模型中的虚假相关性。
-
超参数 \(K\) 的鲁棒性:在 CIFAR-100 上将 \(K\) 从 85 变到 115(真实值 100),性能优雅退化,证明方法对聚类数估计不敏感。
-
INaturalist21 多层级实验:在 2.7M 图像、1103 个 family 级类别上训练 TURTLE,L2H 在更粗粒度的 order/class/phylum/kingdom 层级上的聚类性能优于为每个层级单独训练的 TURTLE 模型。
亮点与洞察¶
- "简单就是美"的典范:整个 L2H 算法用 NumPy + SciPy 不到 50 行代码实现,却大幅超越需要 GPU 训练数小时的专用深度模型。
- 掩码 softmax 的巧妙设计:通过"如果这些聚类不存在,数据点会去哪里"这一反事实思维来度量聚类亲缘关系,既直观又高效。
- 保留叶层性能:L2H 是纯后处理方法,不影响原始模型的聚类质量,这是相对于 end-to-end 层次模型的本质优势。
- 跨范式通用性:同一算法既适用于无监督聚类也适用于监督分类,为模型可解释性提供了新工具。
- 极致效率:ImageNet-1K 规模数据集上 CPU 运行 <1 分钟,而 TreeVAE 需要 GPU 训练数小时。
局限与展望¶
- 依赖 logits 质量:L2H 的效果取决于预训练模型的 logits 的信息量。如果模型校准差(poorly calibrated),logits 可能无法准确反映聚类间的真实关系。
- 无自动层级选择:产生完整的树后,仍需人工检查以提取有意义的粒度层级,缺乏自动选择机制。
- 仅验证了视觉数据:实验集中在视觉数据集上,在 NLP、图数据等其他模态上的表现尚未验证。
- 聚合函数的选择:虽然消融实验表明不同聚合函数的影响有限,但最优选择可能因数据集而异,缺乏自适应机制。
- 与传统凝聚聚类在表示空间上的对比不够充分:使用 CLIP 嵌入的凝聚聚类已有不错表现(如 CIFAR-10 上 NMI=0.799),对比中可以进一步分析 L2H 的信息增益来源。
相关工作与启发¶
- TURTLE / TEMI:作为 L2H 的 backbone 模型,代表当前最强的平面聚类方法,利用 CLIP/DINOv2 预训练表示。L2H 表明高质量的平面聚类已蕴含丰富的层次信息。
- TreeVAE / DeepECT:代表深度层次聚类的两条路线(VAE 生成式 vs. AE 嵌入式),本文揭示了其在现实场景下的根本局限。
- HypHC:基于双曲嵌入的 Dasgupta cost 优化,理论优雅但实际聚类性能不佳。
- Dasgupta Cost:层次聚类评估的理论基石,L2H 的 DP 和 LHD 指标与之相关。
- 启发:该工作启示我们,在许多场景下,轻量级后处理 + 强预训练模型的组合可能优于专门设计的端到端方法。这一思路可推广到其他结构化预测任务。
评分¶
| 维度 | 分数 (1-5) | 说明 |
|---|---|---|
| 新颖性 | 4 | 方法本身简单但视角新颖,对"需要专用架构"的假设提出有力挑战 |
| 技术深度 | 3 | 算法设计精巧但技术门槛不高,核心是掩码 softmax + 贪心合并 |
| 实验充分性 | 5 | 多数据集、多 backbone、多指标、完整消融和敏感性分析,非常扎实 |
| 实用性 | 5 | 无需训练,CPU 即可运行,代码简洁,即插即用 |
| 写作质量 | 4 | 论述清晰,图表丰富,对现有方法的批判性分析有说服力 |
| 总分 | 4.2 | 实用价值极高的工作,以极简方法取得了令人信服的 SOTA 结果 |
相关论文¶
- [ICML 2025] Erwin: A Tree-based Hierarchical Transformer for Large-scale Physical Systems
- [ECCV 2024] VideoClusterNet: Self-Supervised and Adaptive Face Clustering for Videos
- [NeurIPS 2025] A Simple Linear Patch Revives Layer-Pruned Large Language Models
- [CVPR 2025] HEIE: MLLM-Based Hierarchical Explainable AIGC Image Implausibility Evaluator
- [ECCV 2024] SCAPE: A Simple and Strong Category-Agnostic Pose Estimator