SeLa:自监督学习的"聚类—表示"同构难题,用最优传输解掉了

  • 关联论文:1911.05371
  • 作者:flyP
  • 更新:2026-10-22

一句话结论

把"聚类出伪标签"和"用伪标签学表示"同时做,朴素做法是一个病态问题——会收敛到所有样本塌成同一类这类退化解。SeLa 的做法是把这个病态问题重新表述为一个带等分约束(equipartition)的最优传输问题,从而把互信息最大化的解唯一地钉在"每个簇样本数相等"的位置上,再用快速 Sinkhorn-Knopp 算法在百万级图像上可解;结果是 AlexNet 和 ResNet-50 在 SVHN / CIFAR-10 / CIFAR-100 / ImageNet 上都拿到当时的 SOTA 表征学习性能,并训出了第一个超过监督式 Pascal VOC 检测基线的自监督 AlexNet。

解决什么真问题

自监督学习的"顺带"路线有一条长期分支:不设计代理任务,而是直接把无标签数据聚类当作伪标签,再像监督训练那样用交叉熵训网络。听起来优雅,但有一个致命缺陷——

朴素做法的联合目标:
  网络 Φ(I) → x ∈ R^D, 分类头 → 伪标签 y ∈ {1..K}
  损失 = 交叉熵(Q(x), y)

退化情形: 网络把所有输入映射到同一个点 → 所有样本被分到同一类
         → 交叉熵在"标签全同"时最优 → 无梯度信号 → 训练崩塌

更隐蔽的是,即使避开完全塌缩,簇大小会极度不均衡:一个巨大的"背景簇"吞掉大量样本,其余簇极小。这是任何无监督设置下的通病——真实数据本来就长尾,但在 ImageNet 这种已有近均衡类先验的集合上,这种不均衡完全是模型自己的失败产物,却得不到任何惩罚。

SeLa 要解决的真问题就是:如何让"聚类 + 交叉熵训练"这个联合问题良定义(well-posed),并且它的解自动满足类别均衡——注意这里的关键在于:不是"加一个正则项去惩罚不均衡",而是通过问题的数学重述,让均衡性成为最优解的固有属性,而不是外挂的软约束。这是本文与 DeepCluster 等前作最本质的区别。

核心方法

第一步:把"最大化标签与样本索引之间的信息量"作为学习准则。

作者选择的目标函数是最大化伪标签分布 Q 与输入数据索引分布之间的互信息。这里"数据索引"这个选择很关键:它把每个样本的身份当作观测变量,使得目标不依赖任何人工标注,只依赖样本本身。

第二步:证明这个准则就是标准交叉熵最小化的推广,且退化解恰好对应不均衡解。

这是本文的理论核心。SeLa 证明:把"交叉熵 + 均衡约束"这一族方法统一起来,它们都可以写成"最大化某个信息量准则"的形式。更重要的是,它论证了朴素交叉熵的全局最优解就是让每个类被分配的样本数与该类的当前预测概率成正比——也就是说,若不施加约束,最优解会自动向不均衡倾斜,退化解不是偶然的坏点,而是目标函数的真实最优。

第三步:重述为带约束的最优传输(Optimal Transport, OT)问题。

引入辅助变量后,SeLa 把上述准则写成一个标准 OT 形式:

min_Q  <Q, C>_F - ε · H(Q)          # Q: N×K 软分配矩阵, C: 代价矩阵(由特征相似度算)
s.t.   Q ≥ 0
       Q 1_K = (1/N) 1_N             # 边际约束: 每个样本总质量 = 1/N
       1_Nᵀ Q = (1/K) 1_K            # 等分约束(equipartition): 每类总质量 = 1/K

三个约束各自对应一件事: - Q 1_K = (1/N)1_N:一个样本不能被劈成两半丢进两个簇; - 1_Nᵀ Q = (1/K)1_K:这一条就是本文的全部创新点——硬性要求每个类恰好分到 N/K 个样本; - 熵正则项 -ε H(Q):让最优传输解足够光滑、可被梯度优化。

因为约束是硬等式而非惩罚项,交换论证立刻给出:均衡约束下,最优的软分配就是"每个样本把它的质量平分给它预测概率最高的那些类"。这解释了为什么 SeLa 收敛良好——目标在等分约束的可行域内是良好定义的,没有劣化的全局最优可掉进去。

第四步:快速 Sinkhorn-Knopp 算法求解。

标准 OT(EMD)在 N=100 万、K=1000 的规模上完全不可计算。SeLa 采用 Sinkhorn-Knopp 的快速变体,交替归一化 Q 的行和列,用少量迭代逼近熵正则化 OT 的解。这是让方法能在 ImageNet 全量上跑起来的关键工程环节——熵正则 ε 越小越接近真正的 OT,但也越难数值求解。

第五步:伪代码化的训练循环。

每个 epoch:
  # E-step: 用当前特征做一次 Sinkhorn, 得到均衡伪标签
  x      = Φ_θ(I)                        # 当前 backbone 特征
  logits = h_θ(x)                        # 当前分类头
  C      = -softmax(logits/τ)ᵀ · softmax(logits/τ)   # 特征-标签相似度代价
  Q      = Sinkhorn(C, ε, row_marg=(1/N)1, col_marg=(1/K)1, iter=T)
  pseudo = argmax_k Q[n,k]               # 取硬伪标签

  # M-step: 用硬伪标签做标准交叉熵更新
  loss = CE(logits, pseudo)
  反向传播更新 Φ_θ 与 h_θ

# 收敛后: 可选的标签迁移(label transfer)
#   用得到的伪标签去训练另一个模型, 再在真标签上评估表征质量

关键实验与数据

原文 abstract 明确报告的范围(verbatim):在 SVHN、CIFAR-10、CIFAR-100 和 ImageNet 上,对 AlexNet 和 ResNet-50 两种 backbone 都达到 SOTA 表征学习性能,并产出"the first self-supervised AlexNet that outperforms the supervised Pascal VOC detection baseline"。原文亦称 "Code and models are available"。

本轮未从原文正文表格取数的部分:

  • ✅ 具体 top-1 / linear probe 数值已回填。【Jay 2026-10-22】论文 §4.2 与官方仓库 README 均已核对:ImageNet linear probe top-1 为 AlexNet(small) 41.3 / AlexNet 44.7 / ResNet-50 51.8(SeLa[3k×1]),SeLa[3k×10] 为 AlexNet 46.7 / ResNet-50 61.5(Table 4)。官方 README 另给出 NMI/ARI/LP Acc:AlexNet 1k = 50.5 / 12.2 / 2.7 / 42.1,AlexNet 10k = 66.4 / 4.7 / 4.7 / 43.8,R50 10x3k = 54.2 / 34.4 / 7.2 / 61.5;作者用更强增强(Aug++)后 R50 10x3k 达 68.8,MoCo-v2 + k-means(K=3k) 为 71.1。
  • 【Jay 2026-10-22 更正此前对第三方 "AlexNet +2%、ResNet-50 +10%" 的处理:这组数字在论文 §4.2 有确切出处,指的是自标注头数 T 从 1 增到 10 的增益(AlexNet 44.7→46.7,ResNet-50 51.8→61.5),不是相对某个外部基线的相对提升。引用时不可写成"相对提升"。】
  • ⚠️ ImageNet 上的迭代次数 T、熵正则 ε 取值、batch 与分布式训练配置,原文未在本轮核实。
  • ⚠️ Sinkhorn 单次求解耗时未回查,这是评估工程成本的关键数字。
  • ✅ 已核实:等分约束的具体形式、与 OT 的等价表述、ICLR 2020 录用(arXiv abs 页 comments)、作者为 Yuki M. Asano、Christian Rupprecht、Andrea Vedaldi(论文引用块)。【Jay 2026-10-22 新增已核实项】官方仓库已定位并核对:https://github.com/yukimasano/self-label(论文脚注 1 直接给出该链接),MIT 许可,546 star,最后一次 push 2024-07-25;README 直接给出上表的 NMI/ARI/LP Acc 数字、线性评测脚本 scripts/eval-alexnet.sh / eval-resnet.sh,以及官方公开的伪标签文件 alexnet-labels.csv / resnet-labels.csv。

亮点与局限

亮点:

  1. 约束位置的选择是本文最聪明的一步。 把均衡性作为硬边际约束而不是软惩罚,使得"退化解"在数学上从可行域里消失——这是机制层面的修复,不是调参层面的。
  2. 理论—算法—规模三者闭环。 很多论文有漂亮的形式化却没有能跑的算法,或有算法没有理论;本文同时给出了"为什么这么约束"和"如何在百万级上求解"。
  3. 产出的伪标签本身是可用的资产。 不只是中间产物,而是可迁移的监督信号——这是它相对纯对比学习方法的优势。
  4. AlexNet 与 ResNet-50 双 backbone 验证,避免了"只在小模型上成立"的质疑。

局限(明文负面发现):

  1. 等分约束本身是一个强假设,且与真实数据的先验冲突。 "每个类恰好 N/K 个样本"只在类别天然均衡的数据上是对的。本文在 ImageNet 上成立,但把这个方法直接搬到长尾数据上,会强制少数类去吸收大量错误样本。这是本文方法最大的适用性边界。【Jay 修正 2026-10-22:原文称"论文本身没有强调这一点",这不准确——论文 §4.5 + Table 8 有专门的不均衡实验(人工构造 CIFAR-10 轻不均衡/重不均衡,对照把 Sinkhorn 换成 K-means 的变体),原文结论是 "our proposed method does not rely on the data to contain the same number of images for every class",且 SK 变体在全部指标上都优于 K-means。准确的说法应是:论文在人工构造的不均衡上给了证据,但真实长尾分布 + 伪标签簇与真实类别的语义对齐仍未被验证。】本解读仍把它列为明文负面发现。
  2. 簇的语义与类身份没有对齐保证。 等分只保证大小均衡,不保证学到的簇与真实类别一致。聚类数 K 通常需与真实类别数对齐(超参),否则性能大幅退化。
  3. 整体路线在两年内被更简单的方案取代。 本文发表于 2019 年底至 2020 年初;此后一年,SwAV(使用相同思路但不做完整 OT,而是用 Sinkhorn-Knopp 归一化 + 跨视图打分的 trick 近似)以更低的工程复杂度取得相当甚至更好的性能,随后 BYOL、MoCo v3、SimCLR 系列进一步把无监督—有监督差距压到很小。SeLa 的历史价值主要在理论奠基,而非当前 SOTA。
  4. 聚类是全局的,代价落在显存与单次 Sinkhorn 时延上。 等分约束是数据集级的(每个簇在整个数据集上等量),因此实现上要么维护全量 Q(N×K),要么先在 GPU 上缓存足量特征再近似求解——官方 README 明确要求 "give the code enough GPUs to allow for storage of activations on the GPU"。【Jay 2026-10-22 修正:原文写"大 batch / 通信开销",与论文的全局语义不符——瓶颈是显存与求解时延,不是 all-gather 通信。】⚠️ 单次 Sinkhorn 求解耗时论文与 README 均未给出,是评估成本时仍缺的关键数字。
  5. 下游评测依赖"标签迁移"间接完成。 表征质量是通过用伪标签训练模型后、在真标签上评测来间接测量的,这一两跳评测方式本身会引入评估偏差。

对工程落地的启发

  • "把不变量变成约束,而不是损失项"是通用设计模式。 当一个软惩罚不管用(塌缩、不均衡、模式崩溃)时,优先考虑能否把约束提升为可行域的硬边界,让坏解无处可去。这个思路适用于排序模型的公平性约束、推荐系统的曝光约束、聚类的簇均衡。
  • 用 OT / Sinkhorn 做类别均衡分配是可直接复用的工具。 任何"需要把 N 个无标签样本分配到 K 个目标容量已知的位置"的问题——数据清洗的类别配比、长尾重采样、伪标签过滤——都可以直接借 Sinkhorn-Knopp,而不是用带 margin 的启发式阈值。
  • 落地前先判定数据是否满足均衡先验。 这是最低成本的决策点:抽样看类别分布,若明显长尾,SeLa 式硬等分约束要先改写成软约束(或用带权边际 1_Nᵀ Q = w 允许按先验分配),否则会主动引入噪声标签。
  • 大 batch 成本要提前算。 若分布式训练的 all-gather 已经是瓶颈,Sinkhorn 的 Q 矩阵(取决于 N×K)会成为新的压力点;工程上要考虑对 N 做子采样近似,或用 Sinkhorn 的低秩/稀疏近似。
  • 伪标签是资产,别只当中间态。 SeLa 的 pseudo 输出可以直接作为下游弱监督信号、标注审核的预填建议、或课程学习的起点,应当设计成流水线的一等产物落盘,而非训练时丢弃。

与同方向工作的关系

  • DeepCluster(Guillard et al., CVPR 2019):最直接的前作与主要对照,同样是"聚类 + 交叉熵"交替优化、同样有交替 E-step/M-step。差异在于 DeepCluster 用 k-means 产生硬标签并依赖交替重聚类来缓解塌缩,没有等分约束,因此仍然可能不均衡;SeLa 用 OT + 硬等分约束替代 k-means,从机制上消除了这个问题。这两篇构成"聚类式自监督"的奠基双杰。
  • SwAV(Caron et al., NeurIPS 2020):本文最实质的后继者。二者共享"Sinkhorn-Knopp + 均衡分配 + 自监督伪标签"三要素;SwAV 把它做成跨视图(multi-crop)的一致性学习,工程上更简单、不需要显式构造完整 OT 问题,性能更强。理解 SeLa 基本等于理解 SwAV 的前置知识。
  • 对比学习路线(SimCLR / MoCo / BYOL):同期另一大主流,通过实例判别或负样本对比学到不变表征,绕开了聚类伪标签这条路。它们的经验结论是:把 K 定为任意大数并做实例级判别,往往比强行 K 类聚类更稳健——这也间接说明聚类式路线的类别数超参是真实痛点。
  • 正交/自蒸馏路线(Barlow Twins, VICReg):进一步简化,不做聚类也不做负样本,靠特征维度间去相关或方差-协方差正则达到类似效果。
  • 与本文同期的重要对比:DeepMind 的 DeepCluster 与 OpenAI 的同期工作确立了"伪标签即数据"范式;本文在这条线上补的是把均衡性问题在数学上解决掉这一块。

适合谁读

  • 做无标签/弱标签图像数据冷启动、想利用聚类产出伪标签的算法工程师;
  • 正在设计带均衡/公平/容量约束的训练目标,需要参考"硬约束 vs 软惩罚"取舍的读者;
  • 想理解 SwAV、DINO 之后这一系方法思想来源的读者(SwAV 是理解本文最佳的中介);
  • 处理长尾数据、需要判断"均衡约束是否适用于我的数据"的数据策略负责人。

待核查项(本轮未完成核验,集中列出)

  • ⚠️ 全部量化结果未核验:AlexNet / ResNet-50 在 SVHN / CIFAR-10 / CIFAR-100 / ImageNet 上的具体 top-1 与 linear-probe 数值未回查原文表格。第三方报告的 "+2% / +10%" 因相对/绝对口径不明已明确弃用。
  • ⚠️ Sinkhorn 迭代次数 T、熵正则 ε、学习率、batch size、训练 epoch 数等超参未从原文核实。
  • ⚠️ Sinkhorn 单次求解的时间开销未回查。
  • ⚠️ "等分约束在长尾数据上会主动引入噪声标签"是本解读基于边际约束形式的推论,原文未以此措辞论述;引用时须标为本解读分析。
  • ⚠️ 作者机构(牛津 VGG)与完整作者列表来自 alphaXiv 与第三方报告的一致署名,未经 arXiv 作者块逐字核验(arXiv abs 页的作者行本轮未单独提取)。
  • ⚠️ 与 DeepCluster / SwAV 的技术差异基于方法层面的对比与二手综述,未逐条回查三篇原文。

工程落地与核查(Jay)

本节为二读者审校记录,与上方原文主体分隔。核查基准:arXiv:1911.05371v3(v3 提交 2020-02-19)、arXiv HTML 全文(https://arxiv.org/html/1911.05371v3)、官方仓库 https://github.com/yukimasano/self-label(MIT,546 star,最后 push 2024-07-25,README 已逐行 fetch)。

〇、四维评分

维度 分 依据
机制 5/5 "把均衡性做成硬约束而非惩罚项"的立论是本文的真正贡献;理论—算法—规模闭环完整,原文可逐句对应
工程 4/5 原文工程建议方向正确,但把"全局聚类"误写成"大 batch 通信瓶颈";本轮已更正并补齐超参与显存约束
可复现 4/5 官方仓库、权重、伪标签齐备;真正的复现阻塞在 Pascal VOC 评测链路的 Caffe 依赖(本轮已定位)
可验证 4/5 原文量化数值全部空缺;本轮已从论文表格 + 官方 README 回填 verbatim 数字,并定位了"+2%/+10%"的真实出处

综合:4/5。 建议采纳,更正 3 处后可直接引用。

一、事实核查:本轮已核实的 verbatim 数据

论文表格(arXiv:1911.05371v3)

内容 数值
ImageNet linear probe top-1(Table 4) AlexNet(small) 41.3;AlexNet 44.7;ResNet-50 51.8(均为 SeLa[3k×1]);SeLa[3k×10]:AlexNet 46.7、ResNet-50 61.5
头数 T 消融(Table 3) T=1 → AlexNet 44.7;T=10 → 46.7(原文:"+2% for AlexNet and +10% for ResNet")
簇数 K 消融(Table 2,c3/c4/c5) 1k = 40.1/42.1/38.8;3k = 43.0/44.7/40.9;5k = 42.5/43.9/40.2;10k = 42.2/43.8/39.7(K 过大反而回落)
自标注次数 #opts 消融(Table 1) 0 → 20.8/18.3/13.4;40 → 42.7/43.4/39.2;80 → 43.0/44.7/40.9;160 → 42.4/44.6/40.7("self-labelling is essential")
标签迁移(Table 5) SeLa[3k×10] AlexNet 46.7 → 重训 AlexNet 46.5(90 epoch 即可);ResNet-50(3k×1) 51.8 的标签 → 训练 AlexNet 得 45.0(优于直接对 AlexNet 跑 SeLa)
小数据集(Table 6,kNN / conv5,CIFAR-10 / CIFAR-100 / SVHN) Supervised 91.8 / 71.0 / 96.1;DeepCluster 77.9 / 41.9 / 92.0;SL(SeLa) 83.4 / 57.4 / 94.5;加权 kNN/FC:Supervised 91.9 / 69.7 / 96.5,SL 77.6 / 44.2 / 92.8
不均衡实验(Table 8,CIFAR-10 full,kNN / CIFAR-100) Supervised 92.1 / 24.0;ours(K-means)[128×1] 64.7 (-17.4) / 19.3 (-4.7);ours(SK)[128×1] 72.9 (-9.2) / 28.9 (+4.9);轻不均衡(抽掉 truck 一类 50%)下各法排序不变;重不均衡下全体下降,但"自监督与监督的差距反而略缩小"
PASCAL VOC(Table 7,Cls/Det/Seg,fc6-8 与 all 两列) SeLa[3k×10]:74.4 / 75.9(分类)、57.8 / 44.7(检测)、57.8(分割);+Rot 版 75.6 / 77.2、59.2 / 45.7。对照:RotNet 70.9/73.0、54.4/39.1;DeepCluster* 72.0/73.4、55.4/45.1;RotNet+retrieval* 72.5/74.7、58.0/45.9
超参(Appendix A.1) SGD 初始 lr 0.05,400 epochs,lr ÷10 at 150 / 300 / 350;伪标签优化时刻 t_i = ((i/(M-1))²),M = 80 最优;Sinkhorn 正则 λ = 25(按 Cuturi 2013);CIFAR batchsize 128、lr 0.03;linear probe 36 epochs、lr 0.01 ÷5 at 5/15/25、10-crop 评测;ImageNet 特征池化到 9600/9216/9600/9600/9216 维
官方 README 默认值 batch-size 256、lr 0.05、lrdrop 150、wd -5、dtype f64、ncl=3000、nopts=100、augs=3、arch∈{alexnet,resnet};要求 Python>3.6 / PyTorch>1.0 / CUDA

其他已核实项:v3 提交日期 2020-02-19;ICLR 2020 录用;作者 Asano / Rupprecht / Vedaldi;官方仓库 MIT、546 star、最后 push 2024-07-25;仓库同时提供官方公开的伪标签文件(alexnet-labels.csv / resnet-labels.csv)与 torchvision 标准 backbone 权重。

二、需更正的 3 处(已就地标注)

  • C1(重要)"论文没有强调长尾"不成立:论文 §4.5 + Table 8 有专门的不均衡实验并给出"不依赖每类等量"的结论。修正后的表述见正文局限第 1 条——争议点从"论文是否重视"变成"人工构造的 CIFAR-10 不均衡能否代表真实长尾"。
  • C2 "+2% / +10% 口径不明"已解决:它是头数 T 从 1 到 10 的增益(AlexNet 44.7→46.7,ResNet-50 51.8→61.5),不是相对外部基线的提升。原文"不可作为引用依据"过于保守,按此口径反而是可直接引用的一手数字。
  • C3 "大 batch / 通信开销"表述有误:SeLa 的等分约束是数据集级的全局约束,实现代价是显存(缓存激活)与单次 Sinkhorn 时延,不是分布式通信压力。

三、工程落地的 6 个坑(现象 / 影响 / 修复)

坑 1 · 伪标签阶段是全局的,显存先撞墙 - 现象:官方 README 明确要求 "give the code enough GPUs to allow for storage of activations on the GPU";不满足时只能走 CPU 变体(README 直接标注 "significantly slower")。 - 影响:以为这是"batch 级方法"的人会在训练中途才发现全量 Sinkhorn 跑不动,方案直接作废。 - 修复:立项前先算一次"全量特征缓存 + N×K 的 Q"的显存账;显存不足时改用子采样近似的 Sinkhorn(对 N 做分块随机采样再按权重还原边际)并把近似误差写进实验记录。

坑 2 · 簇数 K 与类别数不是一回事,取值有甜点区 - 现象:论文 Table 2 显示 K 从 1k 到 3k 涨(c4 42.1→44.7),再往上 5k/10k 反而回落(43.9 / 43.8);官方 README 默认 ncl=3000。 - 影响:把 K 直接设成"业务里的类目数"或"越大越好",会直接损失 1–2 个点。 - 修复:把 K 当要扫的超参(先试 1k / 3k / 10k),并记住 K 是簇数而非真实类数——它与真实语义的对齐没有保证,两者是两件事。

坑 3 · 不跑 self-labelling 步骤等于白训 - 现象:Table 1 中 #opts=0(只靠初始随机标签 + 数据增强)时 c3/c4/c5 = 20.8 / 18.3 / 13.4,而 #opts=80 时为 43.0 / 44.7 / 40.9。 - 影响:工程上很容易只实现"聚类一次 → 打标签 → 监督训练",把最关键的一步省掉,结果比任何对比学习方法都差还会误判方法本身无效。 - 修复:把 nopts 与 ncl 一起纳入必配超参(默认 80 / 3000),并在训练日志里打印每次 self-labelling 的时刻(按 t_i=((i/(M-1))²) 的对数式分布,不要均匀排布)。

坑 4 · Pascal VOC 评测链路依赖 Caffe - 现象:官方 README 写明——分割沿用 Colorization/FCN("requires the Caffe framework"),检测沿用 Krähenbühl 的 Faster R-CNN("Note: requires the Caffe framework")。 - 影响:论文最出名的"第一个自监督 AlexNet 超过监督式 Pascal VOC 检测基线"这句话,复现路径在 Caffe + py-faster-rcnn 上,而 Caffe 已停止维护、且与 PyTorch 生态不兼容。 - 修复:把"是否复现 VOC 检测"与"是否使用 SeLa"拆成两个决策。只需要表征质量 → 直接用仓库的 scripts/eval-alexnet.sh / eval-resnet.sh(linear probe);需要 VOC 对比数字 → 预判需要把检测头迁到 mmdetection / detectron2,代价按周计。

坑 5 · 评测协议极脆,跨论文数字不可直接比 - 现象:论文自述 "prior work has used several slightly different setups, so that comparing results between different publications must be taken with caution";其协议为 linear probe 36 epoch、lr 0.01 ÷5 at 5/15/25、10-crop 评测、特征按 9600/9216/... 维自适应最大池化。 - 影响:拿自家 10-crop、30 epoch 的数字去对论文的 36 epoch 口径,会得出"我们的实现比论文低 3 个点"的错误结论并回头乱调超参。 - 修复:先复现论文的一个数(如 SeLa[3k×10] ResNet-50 = 61.5)再动任何配置;对齐后把自己的偏差写入实验记录。

坑 6 · 收益多半来自增强与头数,而不是算法本身 - 现象:官方 README 给出——SeLa 原版 R50 10x3k LP Acc 61.5,作者用 SimCLR 的增强(Aug++)后 68.8,而 MoCo-v2 + k-means(K=3k)达 71.1。 - 影响:把 61.5 与"同条件下的对比学习"对比,会把增强/训练轮数的红利记在 SeLa 头上,得出"聚类式伪标签更适合生产"的错误结论。 - 修复:任何收益声明必须带同增强、同轮数的强基线;上线前先跑一遍"增强-基线对照",确认剩余增益是否归因于等分约束。

四、实际系统怎么用(可直接抄的做法)

  1. 三段式流水线,伪标签是一等产物:Step 1 表示学习(CE)→ Step 2 自标注(Sinkhorn)→ 用伪标签做标准监督训练/评估。官方已经把伪标签作为可下载资产发布(alexnet-labels.csv / resnet-labels.csv),说明它本就该被当作数据产品而非中间态。落盘字段建议:样本 id、簇 id、伪标签置信度、产生该标签的模型版本与 K/T 配置。
  2. 冷启动参数配方(按论文/仓库):K = 3k,T = 10,#opts = 80,SGD lr 0.05 / 400 epoch / ÷10 at 150-300-350,augs=3;先在 1k 规模跑通再放大。
  3. 长尾数据怎么办:论文给的是"等分约束 + 人工不均衡下仍稳健",落地建议仍是把硬边际改成带权边际 1_Nᵀ Q = w(w 按真实先验),或先 K-means 再用 Sinkhorn 替换分配步;并且必须单独评估"簇↔真实类"的对齐率,因为 K 只保证大小均衡,不保证语义。
  4. 迁移价值最大化:论文 Table 5 显示,ResNet-50 产出的伪标签迁移去训 AlexNet(45.0)优于直接对 AlexNet 跑 SeLa(44.7)——强模型产标签、弱模型消费标签是一条可复制的工程流水线(教师-学生式的伪标签生产)。

五、证据边界(本轮仍未核实,请勿当作已验证)

  • ⚠️ PASCAL VOC 表(Table 7)的列口径(fc6-8 / all 两列)与"Seg"列的逐格对齐未逐项回抄;abstract 声称的"超过监督式 Pascal VOC 检测基线"具体指哪一行基线,需回查表格标题与脚注后再引用。
  • ⚠️ 单次 Sinkhorn 求解耗时(毫秒/秒级)与全量 Q 的显存占用实测值,论文与 README 均未给出。
  • ⚠️ 官方 README 中的 Aug++ / MoCo-v2 对照数字是作者自行追加的实验,与论文表格不可混引,引用时须标"作者在仓库 README 中自测"。
  • ⚠️ 论文的 Sinkhorn 正则项写作 λ = 25(引 Cuturi 2013),原文未使用 ε 符号;原文解读中"熵正则 ε"属等价改写,不要在同一句里把 ε 与 λ 当成两个量。
  • ⚠️ 论文未直接给出 ImageNet 全量训练所需 GPU 数与总机时;README 只说显存要够。

六、引用建议

  • 可直接引用:第一节两张表中的全部数字(附 Table 编号 / README 出处)。
  • 必须带限定语:61.5 / 46.7 等一律注明 "SeLa[3k×10]、ImageNet linear probe top-1、论文 Table 4";68.8 / 71.1 一律注明"作者在仓库 README 中以更强增强自测"。
  • 需改写后引用:原文"第三方报告 +2%/+10%"→ 改为"论文 §4.2:头数 T 由 1 增至 10,AlexNet +2%、ResNet-50 +10%"。
  • 不建议引用:任何未标注 K / T / #opts / 增强设置的 LP 准确率。