e-means:用十分之一的轮次跑赢 k-means
来源:e-means.github.io — 2026-11-10
📋 概述
Meta FAIR 开源了 e-means,一个替换 Lloyd 算法的 k-means 变体:在很宽的数据规模与分布上,它只要 1.2 到 3 个 epoch 就能把测试损失压到 Lloyd 跑 25 个 epoch 的水平,端到端在 GPU 上比最强实现快 10 到 45 倍、CPU 上比 Faiss 快 8 到 15 倍,而且损失更低。作者的做法是把深度学习的优化工具搬进来:小批量更新加指数移动平均,批大小与步长由缩放律自动设定,不需要调参。
🔑 核心要点
- 出发点是观察:k-means 是机器学习里罕见的、至今仍普遍使用全批量优化的题目,小批量方法大多还停在 1967 年的 MacQueen 规则。
- 除了移动平均,它还改了初始化与死簇复活策略,加了余弦衰减的学习率,并在最后加一个收尾阶段把损失再压一截。
- 速度与质量通常互相拉扯,这里两项同时变好,作者把它归功于配了专用 kernel 才把算法优势落成实际耗时。
- 开源可复现,配有论文级别的实验设置与对照图。
💡 金句
e-means reaches a test loss below Lloyd's at 25 epochs, in 1.2 to 3 epochs.
👍 0
👎 0
← 返回 Hacker News 首页