news 2026/7/15 1:54:44

ECCV-2020《SCAN: Learning to Classify Images Without Labels》

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ECCV-2020《SCAN: Learning to Classify Images Without Labels》

2. 核心思想

该论文的核心思想是解耦(decouple)。作者认为,当前主流的端到端无监督图像分类方法将特征学习和聚类过程耦合在一起,导致聚类过程容易受到网络初始化的影响,并“抓住”(latch onto)颜色、纹理等低级特征,从而难以实现真正有意义的语义聚类。

为此,SCAN提出了一种两阶段(two-step)的方法:

  1. 第一阶段:学习语义特征。使用自监督学习(self-supervised learning)中的一个前置任务(pretext task)——特别是满足特征不变性约束(即对同一图像的不同增强视图,其特征表示应相近)的实例判别(instance discrimination)任务——来学习一个强大的、语义上有意义的特征表示。
  2. 第二阶段:基于特征进行语义聚类。利用第一阶段学到的特征,为每个图像挖掘其K近邻(mine its K nearest neighbors)。由于这些近邻在语义上高度相关(如论文图2所示),它们可以作为强有力的先验信息。然后,设计一个可学习的聚类目标函数,强制模型对一个图像及其近邻给出一致且区分度高(one-hot)的预测。最后,通过自标签(self-labeling)步骤,利用高置信度的预测作为伪标签来进一步微调模型,以纠正近邻中可能存在的噪声(错误配对)。

3. 目标函数及其优化过程

目标函数

SCAN的聚类阶段目标函数Λ\LambdaΛ由两部分组成,如下所示:

Λ=−1∣D∣∑X∈D∑k∈NXlog⁡⟨Φη(X),Φη(k)⟩+λ∑c∈CΦηc′log⁡Φηc′ \Lambda = -\frac{1}{|D|} \sum_{X \in D} \sum_{k \in N_X} \log \langle \Phi_\eta(X), \Phi_\eta(k) \rangle + \lambda \sum_{c \in C} \Phi'_{\eta c} \log \Phi'_{\eta c}Λ=D1XDkNXlogΦη(X),Φη(k)⟩+λcCΦηclogΦηc

其中:

  • DDD是数据集。
  • Φη(⋅)\Phi_\eta(\cdot)Φη()是待训练的聚类网络(以η\etaη为参数),其输出是经过softmax后的类别概率分布。
  • NXN_XNX是图像XXX的K近邻集合,这些近邻是基于第一阶段学到的特征挖掘得到的。
  • ⟨⋅⟩\langle \cdot \rangle表示点积(dot product)操作。⟨Φη(X),Φη(k)⟩\langle \Phi_\eta(X), \Phi_\eta(k) \rangleΦη(X),Φη(k)⟩的值在两个预测都是one-hot(高度自信)且指向同一个类别(高度一致)时达到最大。因此,该损失项的目标是最大化这种一致性和自信度。
  • 第二项是熵正则化项(entropy regularization term)。其中Φηc′=1∣D∣∑X∈DΦηc(X)\Phi'_{\eta c} = \frac{1}{|D|} \sum_{X \in D} \Phi_{\eta c}(X)Φηc=D1XDΦηc(X)代表了整个数据集上预测到类别ccc的平均概率。该项的作用是最大化预测的熵,即强制类别分布尽可能均匀,防止模型将所有样本都预测到同一个簇中(避免“坍塌”)。
  • λ\lambdaλ是一个超参数,用于平衡两项的权重。
优化过程
  1. 预训练阶段:首先,使用实例判别(如SimCLR或MoCo)作为前置任务,在整个数据集DDD上预训练一个特征提取网络Φθ\Phi_\thetaΦθ。这个网络学习到的特征空间具有良好的语义结构。
  2. 近邻挖掘:在预训练好的特征空间中,为数据集DDD中的每个样本XiX_iXi,使用K近邻算法(如KNN)找到其K个最近的邻居,构成集合NXiN_{X_i}NXi。这些近邻关系在整个聚类训练过程中是固定不变的先验。
  3. 聚类训练:初始化聚类网络Φη\Phi_\etaΦη(通常直接使用预训练好的Φθ\Phi_\thetaΦθ的权重)。然后,通过最小化上述目标函数Λ\LambdaΛ来优化η\etaη。在实践中,使用小批量(mini-batch)随机梯度下降(如Adam优化器)进行优化。在每个训练步中,会随机增强样本XXX及其近邻kkk,以提高模型的鲁棒性。
  4. 自标签微调(Self-labeling Fine-tuning):
    • 在聚类训练结束后,模型会产生一个预测概率分布。
    • 选择预测置信度最高(即max⁡cΦηc(X)>threshold\max_c \Phi_\eta^c(X) > \text{threshold}maxcΦηc(X)>threshold,阈值通常设为0.99)的样本。
    • 将这些高置信度样本的预测类别作为伪标签(pseudo labels)。
    • 使用交叉熵损失(cross-entropy loss)在这些伪标签上对模型Φη\Phi_\etaΦη进行微调。为了防止过拟合,微调时使用更强的图像增强(如RandAugment)。
    • 这个过程是渐进的:随着模型越来越自信,会有越来越多的样本被加入到伪标签集合中,从而逐步提升聚类质量。

整个算法流程在论文的Algorithm 1中有清晰的总结。

4. 主要贡献点

  1. 提出解耦范式:明确地将特征学习与聚类过程解耦,避免了端到端方法对网络初始化和低级特征的依赖,为无监督图像分类提供了一个更稳健、更有效的框架。
  2. 引入近邻作为语义先验:创新性地利用自监督特征空间中的K近邻作为语义聚类的强大先验,并通过实验证明了其有效性(图2)。
  3. 设计新颖的聚类损失函数:提出的目标函数通过点积项直接优化预测的一致性和自信度,并通过熵正则化项保证簇的均衡性,有效避免了聚类坍塌问题。
  4. 引入自标签微调机制:通过利用高置信度预测作为伪标签进行微调,有效纠正了近邻挖掘中引入的噪声,进一步提升了性能。
  5. 卓越的实验性能:在CIFAR10、CIFAR100-20和STL10等标准数据集上大幅超越了当时的SOTA方法(提升超过20%),并且首次在大规模ImageNet数据集上展示了有竞争力的无监督分类结果,甚至在1%标签的半监督设定下超越了部分半监督方法。

5. 算法实现过程详解

根据论文第2节和第3.1节,算法实现的关键步骤如下:

  1. 网络架构:使用标准的ResNet-18作为主干网络。
  2. 前置任务选择
    • 在小规模数据集(CIFAR, STL10)上,使用SimCLR的实例判别任务进行预训练。
    • 在ImageNet上,使用MoCo的实例判别任务进行预训练。
    • 这些任务都满足论文提出的特征不变性约束(公式1)。
  3. 近邻挖掘:在预训练好的特征提取器(移除最后的投影头)的输出特征空间中,为每个训练样本计算其20个最近邻(K=20)。使用余弦相似度或L2距离作为度量。
  4. 聚类阶段训练
    • 初始化:聚类网络Φη\Phi_\etaΦη的权重直接从预训练的特征提取器Φθ\Phi_\thetaΦθ加载。
    • 损失函数:使用公式(2)的SCAN损失,其中熵权重λ=5\lambda=5λ=5
    • 数据增强:对样本及其近邻应用RandAugment进行强增强。
    • 优化器:使用Adam,学习率10−410^{-4}104,权重衰减10−410^{-4}104
    • 训练细节:批量大小128,训练100个epoch。
  5. 自标签阶段训练
    • 伪标签生成:选择预测概率大于0.99的样本,其预测的argmax作为伪标签。
    • 损失函数:使用加权交叉熵损失,以补偿不同簇之间伪标签数量的不平衡。
    • 数据增强:同样使用RandAugment进行强增强。
    • 训练细节:继续训练200个epoch,当高置信度样本的数量趋于稳定时停止。
  6. 评估:由于没有验证集标签,聚类阶段保存损失最低的模型,自标签阶段保存高置信度样本数最多的模型。

6. 局限性分析与总结

尽管SCAN取得了巨大成功,但作为一名研究者,我们必须客观地审视其存在的局限性:

  1. 依赖于前置任务的质量:SCAN的性能高度依赖于第一阶段自监督前置任务(如SimCLR, MoCo)所学习到的特征质量。如果前置任务本身学习到的特征语义性不强,SCAN的性能也会大打折扣。论文的消融实验(Table 2)也证明了这一点,使用RotNet作为前置任务时性能明显下降。
  2. 需要预估簇的数量:和大多数聚类算法一样,SCAN需要预先指定簇的数量∣C∣|C|C。虽然论文展示了其对“过聚类”(overclustering)具有一定的鲁棒性,但这仍然是一个超参数,在真实场景中可能难以准确估计。
  3. 近邻挖掘的计算和存储开销:在大规模数据集(如完整的ImageNet)上,为所有样本计算并存储K近邻需要大量的计算资源(如FAISS库)和内存。这限制了其在超大规模数据集上的直接应用。
  4. 对近邻噪声的敏感性:虽然自标签步骤旨在纠正近邻中的噪声(即不同语义类别的样本被错误地作为邻居),但初始的聚类训练阶段仍然会受到这些噪声的影响。如果特征空间本身在某些语义边界上不够清晰,噪声可能会对最终结果产生负面影响。
  5. 两阶段的次优性:解耦虽然带来了稳定性和性能提升,但也可能引入次优性。因为第一阶段的前置任务目标(实例判别)与第二阶段的最终目标(语义聚类)并不完全一致。一个真正端到端、能联合优化这两个目标的框架(如果能克服其不稳定性)理论上可能更优。

总结:SCAN是一篇极具影响力的论文,它通过巧妙的解耦设计、利用近邻先验和创新的损失函数,成功地将无监督图像分类的性能提升到了一个新的高度,并成功扩展到了大规模数据集。其核心思想——先学好特征,再进行语义感知的聚类——为后续研究提供了清晰且有效的范式。尽管存在上述局限性,但其贡献和启发性是毋庸置疑的。该工作也凸显了自监督学习所获得的表示能力的强大力量,为无监督学习领域树立了一个重要的里程碑。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 20:44:32

网络安全Gartner发布2025年网络安全重要趋势

网络安全 | Gartner发布2025年网络安全重要趋势 Gartner公司于近日发布2025年网络安全重要趋势。这些趋势受到包括生成式人工智能(GenAI)的演进、数字去中心化、供应链相互依存、监管变化、地方性人才短缺和不断变化的威胁态势等在内的因素影响。 Gartn…

作者头像 李华
网站建设 2026/7/14 22:03:17

深度解密openpilot:300+车型智能驾驶系统的完整技术架构

深度解密openpilot:300车型智能驾驶系统的完整技术架构 【免费下载链接】openpilot openpilot 是一个开源的驾驶辅助系统。openpilot 为 250 多种支持的汽车品牌和型号执行自动车道居中和自适应巡航控制功能。 项目地址: https://gitcode.com/GitHub_Trending/op/…

作者头像 李华
网站建设 2026/7/1 11:04:35

GitHub文件夹精准下载终极指南:三步轻松获取所需文件

GitHub文件夹精准下载终极指南:三步轻松获取所需文件 【免费下载链接】DownGit github 资源打包下载工具 项目地址: https://gitcode.com/gh_mirrors/dow/DownGit 还在为GitHub单个文件夹下载而烦恼吗?传统下载方式需要克隆整个仓库,既…

作者头像 李华
网站建设 2026/7/11 15:26:00

3步解锁Figma中文界面:设计师的效率革命

3步解锁Figma中文界面:设计师的效率革命 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 还在为Figma的英文界面而烦恼吗?作为国内设计师,每天面对复杂…

作者头像 李华
网站建设 2026/7/14 22:50:20

BetterNCM插件管理器深度解析:打造个性化音乐体验的完整方案

BetterNCM插件管理器深度解析:打造个性化音乐体验的完整方案 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer BetterNCM插件管理器作为网易云音乐的强大功能扩展工具&#x…

作者头像 李华
网站建设 2026/7/1 11:04:59

【R语言变量重要性解析】:掌握5种关键方法提升模型解释力

第一章:R语言变量重要性解析的核心价值在构建预测模型时,理解各个变量对结果的影响程度至关重要。R语言提供了多种方法来评估变量的重要性,帮助数据科学家识别关键特征、优化模型结构并提升解释能力。通过量化每个变量在模型决策过程中的贡献…

作者头像 李华