Unsupervised Learning of Visual Features by Contrasting Cluster Assignments
TL;DR 精炼摘要
提出SwAV无监督视觉特征学习方法,通过对比不同增强视图的聚类分配实现特征一致性,避免了成对特征比较的计算开销。结合多尺度裁剪数据增强,SwAV在无需记忆库和动量网络的条件下高效训练,显著提升无监督学习性能。
摘要
Unsupervised image representations have significantly reduced the gap with supervised pretraining, notably with the recent achievements of contrastive learning methods. These contrastive methods typically work online and rely on a large number of explicit pairwise feature comparisons, which is computationally challenging. In this paper, we propose an online algorithm, SwAV, that takes advantage of contrastive methods without requiring to compute pairwise comparisons. Specifically, our method simultaneously clusters the data while enforcing consistency between cluster assignments produced for different augmentations (or views) of the same image, instead of comparing features directly as in contrastive learning. Simply put, we use a swapped prediction mechanism where we predict the cluster assignment of a view from the representation of another view. Our method can be trained with large and small batches and can scale to unlimited amounts of data. Compared to previous contrastive methods, our method is more memory efficient since it does not require a large memory bank or a special momentum network. In addition, we also propose a new data augmentation strategy, multi-crop, that uses a mix of views with different resolutions in place of two full-resolution views, without increasing the memory or compute requirements much. We validate our findings by achieving 75.3% top-1 accuracy on ImageNet with ResNet-50, as well as surpassing supervised pretraining on all the considered transfer tasks.
思维导图
论文精读
中文精读
1. 论文基本信息
1.1. 标题
通过对比聚类分配学习无监督视觉特征 (Unsupervised Learning of Visual Features by Contrasting Cluster Assignments)
这篇论文的核心主题是提出一种新的自监督学习 (Self-supervised learning) 方法,用于在没有人工标注的情况下,从图像数据中学习高质量的视觉特征。其关键思想在于,不直接对比图像特征,而是通过对比不同数据增强视图的聚类分配 (cluster assignments) 结果来驱动学习。
1.2. 作者
Mathilde Caron, Ishan Misra, Julien Mairal, Priya Goyal, Piotr Bojanowski, Armand Joulin.
作者团队主要来自 Inria (法国国家信息与自动化研究所) 和 Facebook AI Research (FAIR)。这两个机构都是计算机视觉和人工智能领域的顶级研究中心,产出了大量具有深远影响力的工作。例如,FAIR 的研究人员在此之前提出了 MoCo 等重要的自监督学习方法,而 Inria 在大规模视觉学习方面也有深厚积累,如 DeepCluster。这篇论文可以看作是两个顶级团队在该领域前沿探索的结晶。
1.3. 发表期刊/会议
论文于 NeurIPS 2020 (Conference on Neural Information Processing Systems) 上发表。
NeurIPS 是全球机器学习、人工智能和计算神经科学领域最顶级的学术会议之一,具有极高的学术声誉和影响力。能够在该会议上发表的论文通常代表了相关领域的重大进展。
1.4. 发表年份
2020年
1.5. 摘要
无监督图像表示学习,尤其是在对比学习方法取得近期成就之后,已经显著缩小了与监督式预训练的差距。这些对比学习方法通常在线 (online) 工作,并依赖大量显式的成对特征比较 (pairwise feature comparisons),这在计算上是具有挑战性的。本文提出了一种名为 SwAV (Swapping Assignments between Views) 的在线算法,它利用了对比学习方法的优势,但无需计算成对比较。具体来说,我们的方法在对数据进行聚类的同时,强制要求同一图像的不同增强 (augmentations)(或称为“视图”)所产生的聚类分配保持一致,而不是像对比学习那样直接比较特征。简而言之,我们使用一种“交换预测”机制,即从一个视图的表示中预测另一个视图的聚类分配。我们的方法可以使用大批量或小批量数据进行训练,并且可以扩展到无限量的数据。与之前的对比学习方法相比,我们的方法内存效率更高,因为它不需要一个庞大的记忆库 (memory bank) 或一个特殊的动量网络 (momentum network)。此外,我们还提出了一种新的数据增强策略——多尺度裁剪 (multi-crop),它使用不同分辨率的视图混合来代替两个全分辨率视图,而不会显著增加内存或计算需求。我们通过在 ImageNet 数据集上使用 ResNet-50 达到 75.3% 的 Top-1 准确率来验证我们的发现,并且在所有考虑的迁移学习任务上都超越了监督式预训练。
1.6. 原文链接
- 原文链接: https://arxiv.org/abs/2006.09882
- PDF 链接: https://arxiv.org/pdf/2006.09882v5.pdf
- 发布状态: 该论文是发表于 NeurIPS 2020 的正式会议论文,ArXiv 上为预印本。
2. 整体概括
2.1. 研究背景与动机
- 核心问题: 如何在没有大规模人工标注的情况下,学习到通用且强大的视觉特征?这是自监督学习 (Self-supervised learning) 的核心目标。
- 重要性: 依赖人工标注的监督学习 (Supervised learning) 成本高昂、扩展性差,且标注数据可能存在偏差。自监督学习旨在利用海量的无标签数据,自动学习特征,从而降低对标注的依赖,并有望学习到比监督信号更泛化的知识。
- 现有挑战 (Gap):
- 对比学习方法的计算与内存瓶颈: 当时的最先进的 (state-of-the-art) 自监督方法,如
SimCLR和MoCo,均属于对比学习 (Contrastive learning) 的范畴。它们的核心思想是“将相似的拉近,将不同的推远”。但这需要对大量的负样本 (negative samples) 进行特征比较。SimCLR通过使用极大的批量大小 (batch size) 来获得足够的负样本,对硬件要求极高。MoCo则通过维护一个记忆库 (memory bank) 和一个动量编码器 (momentum encoder) 来解决此问题,但增加了模型复杂度和内存开销。 - 聚类方法的离线性质: 另一类方法,如
DeepCluster,使用聚类 (Clustering) 来为无标签数据生成伪标签。这类方法通常是离线 (offline) 的,即需要先对整个数据集的特征进行聚类,然后再用这些伪标签训练网络。这个过程需要在数据集上进行多次完整遍历,无法扩展到超大规模数据集(如十亿级别的图像),也不适用于流式数据。
- 对比学习方法的计算与内存瓶颈: 当时的最先进的 (state-of-the-art) 自监督方法,如
- 本文切入点: 论文巧妙地提出,能否将聚类的思想在线化,并借鉴对比学习的“视图一致性”原则?作者们设想,不直接对比特征,而是对比聚类分配结果。即,同一张图片的不同视图应该被划分到同一个“簇”中。这种思路既避免了大规模成对比较的计算量,又摆脱了传统聚类方法对整个数据集的依赖,从而实现了一种高效、可扩展的在线学习框架。
2.2. 核心贡献/主要发现
这篇论文的核心贡献可以总结为以下三点:
-
提出了 SwAV,一种新颖的在线聚类自监督学习方法:
- SwAV 将聚类过程整合到每个训练迭代中,实现了在线学习 (online learning)。它通过一个巧妙的“交换预测 (swapped prediction)”机制,强制模型学习视图不变性:用一个视图的特征去预测另一个视图的聚类编码 (code)。
- 该方法不依赖于显式的成对特征比较,因此比
SimCLR和MoCo等方法计算和内存效率更高。它既不需要超大批量,也不需要记忆库或动量编码器。
-
提出了多尺度裁剪 (Multi-crop) 数据增强策略:
- 这是一种通用且高效的数据增强技术。它通过生成两个标准分辨率的视图和多个低分辨率的视图,在不显著增加计算和内存成本的前提下,极大地增加了图像视图的数量和多样性。
- 实验证明,
multi-crop策略能为包括 SwAV、SimCLR 在内的多种自监督方法带来 2% 到 4% 的显著性能提升。
-
在多个基准上达到了最先进的性能:
- SwAV 在 ImageNet 线性评估任务上,使用标准的 ResNet-50 网络达到了 75.3% 的
top-1准确率,大幅超越了当时的同类方法。 - 更具里程碑意义的是,SwAV 是第一个在所有被评估的下游迁移学习 (transfer learning) 任务(包括图像分类和目标检测)上,其性能全面超越了使用 ImageNet 标签进行监督式预训练的模型。这证明了自监督学习不仅可行,而且其学到的特征泛化能力可以强于监督学习。
- SwAV 在 ImageNet 线性评估任务上,使用标准的 ResNet-50 网络达到了 75.3% 的
3. 预备知识与相关工作
3.1. 基础概念
-
自监督学习 (Self-supervised learning): 一种无监督学习的范式。它不依赖人工标注,而是通过设计一种代理任务 (pretext task),从数据本身中挖掘监督信号来训练模型。例如,预测图像被挖掉的部分(图像修复),或判断图像碎块的相对位置(拼图游戏)。其最终目标是学习到可用于下游任务的普适特征表示。
-
实例判别 (Instance Discrimination): 一种主流的自监督代理任务。它将数据集中的每一张图片(实例)都视为一个独立的类别。模型的目标是学习一种特征表示,使得同一张图片的不同增强版本(正样本对)在特征空间中尽可能接近,而与其他任意图片(负样本对)的特征尽可能远离。这种思想是现代对比学习方法的基石。
-
对比学习 (Contrastive Learning): 实现实例判别任务的一种框架。其核心是定义一个对比损失函数 (contrastive loss),如
InfoNCE loss。该损失函数的目标是在特征空间中,最大化正样本对之间的互信息 (mutual information),或等价地,将正样本对的特征拉近,同时将负样本对的特征推远。 -
聚类 (Clustering): 一种经典的无监督学习任务,旨在将数据集中的样本划分成若干个组(簇),使得同一簇内的样本彼此相似,而不同簇的样本彼此相异。
k-means是最著名的聚类算法之一。在深度学习中,聚类可以用于生成伪标签,指导特征学习。 -
原型 (Prototypes): 在本文的语境中,原型是一组可训练的向量,可以被看作是聚类中心的代表。数据样本的特征通过与这些原型进行匹配,被分配到一个或多个簇中。
3.2. 前人工作
-
对比学习方法 (Contrastive Learning Methods):
MoCo(Momentum Contrast): 由何恺明等人提出,是对比学习领域的里程碑式工作。为了解决需要大量负样本的问题,MoCo引入了两个关键组件:- 记忆库 (Memory Bank): 一个队列,用于存储过去几个批次中样本的特征,从而提供一个巨大且稳定的负样本池。
- 动量编码器 (Momentum Encoder): 记忆库中的特征由一个缓慢更新的编码器(动量编码器)生成,保证了负样本特征的一致性,从而稳定训练。
SimCLR(A Simple Framework for Contrastive Learning): 由 Geoffrey Hinton 团队提出,证明了在对比学习中,强大的数据增强和巨大的批量(例如 4096 或 8192)可以取代记忆库和动量编码器。它直接使用同一批次内的其他样本作为负样本。虽然方法简单,但对计算资源要求极高。
-
聚类方法 (Clustering Methods):
DeepCluster: 本文部分作者的前作。它是一个离线 (offline) 的聚类方法,其工作流程分为两个交替进行的步骤:- 聚类步骤: 使用当前网络对整个数据集提取特征,然后用
k-means算法对这些特征进行聚类,得到每个样本的伪标签。 - 训练步骤: 将这些伪标签作为监督信号,训练网络进行分类。
这个过程在每个训练周期 (epoch) 都会重复。其主要缺点是可扩展性差,因为需要在整个数据集上运行
k-means。
- 聚类步骤: 使用当前网络对整个数据集提取特征,然后用
SeLa(Self-labelling): 将DeepCluster中的伪标签分配问题,形式化为一个更具数学原理的最优传输 (Optimal Transport) 问题。它通过 Sinkhorn-Knopp 算法来求解分配方案,确保了每个簇的大小相对均衡。但SeLa仍然是一个离线方法。
3.3. 技术演进
自监督视觉学习的发展大致经历了从启发式代理任务到对比学习和聚类两大主流范式的演变:
-
早期代理任务: 研究者设计了各种巧妙的代理任务,如图像上色 (
Colorization)、拼图 (Jigsaw puzzles)、旋转角度预测 (Rotation)等。这些方法虽然有效,但其学习到的特征往往带有任务本身的偏见,泛化能力有限。 -
对比学习的兴起:
实例判别任务的提出,催生了以MoCo和SimCLR为代表的对比学习方法。这类方法通过直接在特征层面进行比较,学习到了非常强大和通用的表示,极大地推动了自监督学习的发展。 -
聚类方法的并行发展: 与此同时,以
DeepCluster为代表的聚类方法,通过引入“伪标签”这一中间步骤,提供了一条不同的技术路径。这类方法将实例级别的判别放宽到簇级别的判别。SwAV正是站在了技术演进的十字路口。它看到了对比学习的计算瓶颈和离线聚类方法的可扩展性问题,并创新地将两者的优点结合起来,提出了在线聚类这一新范式,推动了领域的发展。
3.4. 差异化分析
-
与
MoCo/SimCLR的核心区别:- 比较对象不同:
MoCo和SimCLR直接在特征空间中对比特征向量 (feature vectors)。而SwAV不直接比较特征,它比较的是聚类分配编码 (cluster assignment codes)。它将高维的特征比较问题,转化为一个低维(个簇)的分配一致性问题。 - 效率更高:
SwAV避免了与海量负样本进行成对比较,因此在计算和内存上更高效。它不需要MoCo的记忆库和动量编码器,也不需要SimCLR的超大批量。
- 比较对象不同:
-
与
DeepCluster/SeLa的核心区别:-
在线 vs. 离线: 这是最本质的区别。
DeepCluster和SeLa需要在整个数据集上进行周期性的聚类操作,是离线的。而SwAV在每个小批量 (mini-batch) 数据上独立完成聚类分配和模型更新,是在线的。这使得SwAV可以无缝扩展到任意大小的数据集。 -
目标的使用方式: 在
DeepCluster中,聚类分配结果 被当作固定的伪标签 (pseudo-label) 来训练一个分类器。而在SwAV中, 不是一个固定的目标,而是一个在“交换预测”中动态生成的、需要被预测的中间变量。这更接近对比学习的思想,即强制不同视图之间的映射保持一致。下图(原文 Figure 1)直观地展示了
SwAV与传统对比学习方法的区别:
该图像是论文中的示意图,展示了对比实例学习与SwAV方法的对比。左侧为传统对比实例学习,直接比较同一图像不同变换的特征;右侧为SwAV方法,通过聚类原型生成编码,采用交换预测机制实现视图间编码一致性。
-
4. 方法论
4.1. 方法原理
SwAV 的核心思想是:一个图像的不同增强视图,不仅应该包含相似的底层信息,还应该能被归入相同的语义簇中。
传统对比学习通过最小化不同视图特征向量间的距离来实现这一点。而 SwAV 另辟蹊径,它引入了一组可学习的原型向量 (prototype vectors) C,可以看作是 K 个聚类的中心。SwAV 的目标是,对于同一图像的两个视图 和 ,它们各自的特征 和 在与原型匹配后,得到的聚类分配编码 (code) 和 应该是一致的。
为了实现这一目标,SwAV 设计了一个巧妙的“交换预测 (swapped prediction)”任务:使用一个视图的特征 来预测另一个视图的编码 ,同时反过来,用 预测 。如果模型能够成功完成这个交换预测任务,就意味着它学到了对数据增强不变的、能够稳定映射到同一语义簇的特征。
4.2. 核心方法详解 (逐层深入)
下面我们将逐步拆解 SwAV 的完整流程和其中的关键数学公式。
4.2.1. 特征提取与原型
- 数据增强与特征提取: 对于一个输入图像 ,我们首先对其进行两种不同的随机数据增强(如随机裁剪、颜色抖动等),得到两个视图 和 。
- 网络前向传播: 将这两个视图分别输入到一个卷积神经网络(编码器) 中,得到特征。这些特征会再经过一个投影头 (projection head)(一个小的多层感知机
MLP),得到最终的特征向量。 - 特征归一化: 将得到的特征向量进行 L2 归一化,得到单位向量 和 。
- 原型矩阵: 模型中维护一个可学习的原型矩阵 (prototype matrix) ,其维度为 ,其中 是特征向量的维度, 是预设的聚类数量(即原型数量)。矩阵 的每一列 代表一个聚类的中心。
4.2.2. 交换预测损失 (Swapped Prediction Loss)
SwAV 的总损失函数由两个对称的项构成,体现了“交换预测”的思想。对于一对视图的特征 和 ,其损失定义如下:
这个公式的含义是,损失由两部分组成:第一部分 是用特征 去预测编码 的损失;第二部分 是用特征 去预测编码 的损失。
其中,单项损失 是一个交叉熵损失。具体来说,要计算 ,我们需要进行以下两步:
-
生成概率分布 : 将特征 与所有 个原型 计算点积,然后通过一个带有温度系数 (temperature) 的
softmax函数,得到一个 维的概率分布 。这个分布表示特征 属于每个聚类的概率。 -
计算交叉熵: 计算概率分布 与目标编码 之间的交叉熵。
这个过程的数学公式如下,这是
SwAV的核心损失函数之一:
- 符号解释:
-
: 视图 的特征向量。
-
: 视图 的目标编码向量。 是该向量的第 个元素,表示视图 被分配到第 个聚类的“权重”。
-
: 第 个原型向量。
-
: 模型基于特征 预测其属于第 个聚类的概率。
-
: 温度系数,用于控制
softmax输出分布的平滑度。较小的值会使分布更尖锐。那么,关键问题来了:目标编码 和 是如何得到的呢? 这就是
SwAV在线聚类的核心。
-
4.2.3. 在线聚类与编码计算
与 DeepCluster 等离线方法不同,SwAV 的编码 是在每个小批量数据上在线 (on-the-fly) 计算的,并且计算出的 会立刻被用于损失计算,但其计算过程本身不会产生梯度(即被 torch.no_grad() 包裹)。
对于一个批次内 个样本的特征组成的矩阵 ,SwAV 的目标是找到一个分配矩阵 ,该矩阵将这 个特征映射到 个原型上。这个映射需要满足两个条件:
-
高相似度: 特征应该被分配给与之最相似的原型。
-
均等划分 (Equipartition): 为了防止模型将所有样本都分配给同一个“万能”原型(即模型坍塌
collapse),SwAV强制要求批次内的样本被均匀地分配给所有 个原型。这意味着每个原型应该被分配到大致B/K个样本。这个问题被形式化为一个最优传输问题,目标是最大化特征与原型之间的总相似度,同时满足均等划分的约束。其优化目标如下:
- 符号解释:
- : 待优化的分配矩阵,其中 表示第 个样本被分配到第 个原型的权重。
- : 原型矩阵。
- : 批次内样本的特征矩阵。
- : 矩阵的迹。 度量了所有样本分配后的总相似度。
- : 分配矩阵 的熵 (entropy)。 是一个熵正则化系数,它使得分配结果更平滑(即“软分配”)。
- : 一个约束集合,用于强制实现均等划分。该集合定义如下:
- 约束解释:
-
: 分配矩阵的所有元素必须非负。
-
: 矩阵 的每一行之和为 。这意味着每个原型在整个批次中总共被分配的权重是 。
-
: 矩阵 的每一列之和为 。这确保了每个样本的总分配权重为 。等等,这里原文似乎有误,每个样本的总分配权重应该是1。让我们仔细检查原文。原文是 ,意味着 的每一列(代表一个样本的分配向量)元素之和为 。这似乎与直觉不符。然而,结合 Sinkhorn-Knopp 算法的输出是双随机矩阵的缩放版本,这个约束实际上保证了最终的分配是均衡的。(注:这里的约束是为了在批次级别上近似全局的均衡划分,是该算法的一个技术核心。)
这个带约束的优化问题可以通过一个高效的迭代算法——Sinkhorn-Knopp 算法来求解。该算法的解 具有一个特定的矩阵形式,在经过几次迭代后可以快速收敛。作者发现,在实践中,仅需 3 次迭代就足够了。
-
4.2.4. 多尺度裁剪 (Multi-crop)
为了在不显著增加计算成本的情况下丰富视图的多样性,作者提出了 multi-crop 策略。
-
生成多视图: 除了两个标准分辨率(如 )的“全局”视图,还额外生成 个低分辨率(如 )的“局部”视图。
-
编码计算: 关键在于,目标编码 只由两个全局视图计算得到。这是因为局部视图只包含部分信息,用它们来计算的聚类分配可能质量不高。
-
损失函数扩展: 损失函数被扩展为,用所有视图(包括全局和局部)的特征,去预测两个全局视图的编码。这相当于用局部信息去预测全局信息,迫使模型学习到部分与整体之间的关系。
扩展后的损失函数如下:
- 符号解释:
-
: 两个全局视图的索引。
-
: 个局部视图的索引。
-
: 仅由全局视图 生成的目标编码。
-
: 用任意视图 的特征去预测全局视图 的编码的损失。
-
: 指示符函数,表示一个视图不预测自身的编码。
这个策略非常高效,因为低分辨率视图的前向传播计算成本远低于高分辨率视图,但却能提供丰富的正样本对,显著提升了模型性能。下图(原文 Figure 5)展示了
multi-crop的工作方式。
该图像是图5的示意图,展示了multi-crop方法中,图像被转换成个视图,包括两个全局视图和个小分辨率视图,每个视图经过网络转为特征表示,最终计算损失。
-
5. 实验设置
5.1. 数据集
-
预训练数据集:
ImageNet (ILSVRC-2012): 包含约 128 万张训练图像,分属于 1000 个类别。这是计算机视觉领域进行自监督预训练最标准、最常用的基准数据集。Instagram-1B: 一个包含 10 亿张从 Instagram 上随机抽取的公开、非欧盟地区的图片。这是一个大规模、无标注、无筛选的“野生”数据集,用于验证SwAV在真实、嘈杂数据环境下的可扩展性和有效性。
-
下游任务数据集:
- 图像分类:
Places205: 场景分类数据集,包含约 240 万张图片,205 个类别。PASCAL VOC07: 物体分类和检测数据集,这里用于分类任务。iNaturalist-2018: 细粒度物种分类数据集,类别繁多且挑战性大。
- 目标检测:
PASCAL VOC07+12: 用于目标检测任务,模型在trainval集上微调,在test集上评估。COCO: 更大规模、更具挑战性的目标检测和实例分割数据集。
- 图像分类:
5.2. 评估指标
论文中使用了多种评估指标来全面衡量模型性能。
-
Top-1 / Top-5 准确率 (Top-1 / Top-5 Accuracy): 用于评估图像分类任务。
- 概念定义:
- Top-1 准确率 指的是模型预测的置信度最高的类别与真实标签一致的样本比例。
- Top-5 准确率 指的是模型预测的置信度排名前五的类别中,包含真实标签的样本比例。这是评估 ImageNet 等多类别任务的常用指标。
- 数学公式:
- 符号解释:
- : 测试样本的总数。
- : 第 个样本的真实标签。
- : 第 个样本的模型预测输出(通常是一个概率分布向量)。
- : 模型预测概率最高的 个类别组成的集合。
- : 指示函数,当条件为真时值为 1,否则为 0。
- 概念定义:
-
平均精度均值 (mean Average Precision, mAP): 用于评估 PASCAL VOC 上的目标检测任务。
- 概念定义:
mAP是对所有类别AP(Average Precision) 值的平均。AP衡量的是单个类别检测器的性能,它通过计算精确率-召回率曲线 (Precision-Recall Curve) 下的面积来综合评估模型在不同置信度阈值下的表现。高AP值意味着模型在保持高精确率的同时,也能找到尽可能多的目标(高召回率)。 - 数学公式:
- 精确率 (Precision):
- 召回率 (Recall):
- 平均精度 (AP):
- 平均精度均值 (mAP):
- 符号解释:
TP(True Positive): 正确检测到的目标数量。FP(False Positive): 错误检测为目标的数量。FN(False Negative): 未能检测到的目标数量。P(R): 在召回率为 时的精确率。- : 总类别数。
- : 第 个类别的平均精度。
- 概念定义:
-
COCO AP: 用于评估 COCO 数据集上的目标检测任务。
- 概念定义: COCO 的 AP 指标比 PASCAL VOC 更严格。它不是在单个交并比 (Intersection over Union, IoU) 阈值(如 0.5)下计算,而是在从 0.5 到 0.95,步长为 0.05 的 10 个 IoU 阈值下分别计算 mAP,然后对这 10 个 mAP 值取平均。这要求模型不仅要能定位目标,而且定位必须非常精确。
- 相关指标: 论文中还提到了 (在 IoU=0.5 阈值下的 AP,等同于 PASCAL VOC 的 mAP) 和 (在 IoU=0.75 阈值下的 AP)。
5.3. 对比基线
论文将 SwAV 与当时一系列主流和最先进的方法进行了比较,主要分为三类:
- 监督学习基线 (Supervised Baseline): 在 ImageNet 上使用标签进行完全监督训练的 ResNet-50。这是衡量自监督方法性能的“黄金标准”。
- 对比学习方法 (Contrastive Methods):
MoCo/MoCov2: 基于动量对比的代表性工作。SimCLR: 基于大批量对比的代表性工作。PIRL,PCL: 其他同期的对比学习方法。
- 聚类方法 (Clustering Methods):
DeepCluster-v2,SeLa-v2: 作者为了公平比较,对DeepCluster和SeLa进行了改进,使用了与SwAV和SimCLR相同的现代训练技巧(如 MLP 投影头、强数据增强等),构成了强大的聚类基线。
6. 实验结果与分析
6.1. 核心结果分析
6.1.1. ImageNet 线性评估
在线性评估中,预训练好的主干网络 (backbone) 被冻结,只在其之上训练一个线性分类器。这能直接反映预训练特征的质量和线性可分性。
以下是原文 Figure 2 左侧表格的结果,展示了标准 ResNet-50 架构下的性能:
| Method | Arch. | Param. | Top1 |
|---|---|---|---|
| Supervised | R50 | 24 | 76.5 |
| Colorization [65] | R50 | 24 | 39.6 |
| Jigsaw [46] | R50 | 24 | 45.7 |
| NPID [58] | R50 | 24 | 54.0 |
| BigBiGAN [15] | R50 | 24 | 56.6 |
| LA [68] | R50 | 24 | 58.8 |
| NPID++ [44] | R50 | 24 | 59.0 |
| MoCo [24] | R50 | 24 | 60.6 |
| SeLa [2] | R50 | 24 | 61.5 |
| PIRL [44] | R50 | 24 | 63.6 |
| CPC v2 [28] | R50 | 24 | 63.8 |
| PCL [37] | R50 | 24 | 65.9 |
| SimCLR [10] | R50 | 24 | 70.0 |
| MoCov2 [11] | R50 | 24 | 71.1 |
| SwAV | R50 | 24 | 75.3 |
分析:
- 巨大性能飞跃: SwAV 取得了 75.3% 的 Top-1 准确率,比当时最强的对比学习方法
MoCov2(71.1%) 高出 4.2%,这是一个巨大的提升。 - 逼近监督学习: SwAV 的性能与监督学习基线 (76.5%) 仅相差 1.2%,极大地缩小了无监督与监督学习之间的差距。
6.1.2. 迁移学习:超越监督预训练
迁移学习是检验预训练特征泛化能力的关键。SwAV 在多个下游任务上都表现出色,甚至超越了监督预训练模型。
以下是原文 Table 2 的结果:
| Linear Classification | Object Detection | |||||
|---|---|---|---|---|---|---|
| Places205 | VOC07 | iNat18 | VOC07+12 (Faster R-CNN R50-C4) | COCO (Mask R-CNN R50-FPN) | COCO (DETR) | |
| Supervised | 53.2 | 87.5 | 46.7 | 81.3 | 39.7 | 40.8 |
| SwAV | 56.7 | 88.9 | 48.6 | 82.6 | 41.6 | 42.1 |
分析:
- 里程碑式的成果: 这是论文最令人振奋的结果。无论是在各种分类任务(Places205, VOC07, iNat18)上,还是在更复杂的目标检测任务(VOC, COCO)上,使用 SwAV 预训练的特征均全面超越了使用 ImageNet 监督预训练的特征。
- 强大的泛化能力: 这表明 SwAV 学到的特征比监督学习学到的特征更具通用性。监督学习可能使模型过拟合于 ImageNet 的特定类别和标签分布,而自监督学习迫使模型关注图像底层的结构和语义,从而获得了更好的泛化能力。
6.1.3. 半监督学习
在只有少量标注数据(1% 或 10% 的 ImageNet 标签)的情况下,使用 SwAV 预训练模型进行微调 (fine-tuning)。
以下是原文 Table 1 的结果:
| Method | 1% labels | 10% labels | |||
|---|---|---|---|---|---|
| Top-1 | Top-5 | Top-1 | Top-5 | ||
| Supervised | 25.4 | 48.4 | 56.4 | 80.4 | |
| Methods using label-propagation | UDA [60] | - | 68.8* | 88.5* | |
| FixMatch [51] | - | 71.5* | 89.1* | ||
| Methods using self-supervision only | PIRL [44] | 30.7 | 57.2 | 60.4 | 83.8 |
| SimCLR [10] | 48.3 | 75.5 | 65.6 | 87.8 | |
| SwAV | 53.9 | 78.5 | 70.2 | 89.9 | |
分析:
- SwAV 在半监督场景下同样表现出色,显著优于
SimCLR等其他自监督方法,并与专为半监督设计的FixMatch等方法性能相当。这证明了高质量的自监督预训练是解决低资源学习问题的有效途径。
6.2. 消融实验/参数分析
6.2.1. Multi-crop 策略的有效性
作者验证了 multi-crop 是否对其他方法也有效。
以下是原文 Figure 3 左侧表格的结果:
| Method | Top-1 | ∆ | |
|---|---|---|---|
| 2x224 | 2x160+4x96 | ||
| Supervised | 76.5 | 76.0 | -0.5 |
| Contrastive-instance approaches | |||
| SimCLR | 68.2 | 70.6 | +2.4 |
| Clustering-based approaches | |||
| SeLa-v2 | 67.2 | 71.8 | +4.6 |
| DeepCluster-v2 | 70.2 | 74.3 | +4.1 |
| SwAV | 70.1 | 74.1 | +4.0 |
分析:
multi-crop策略具有普适性。它为SimCLR、SeLa-v2、DeepCluster-v2和SwAV带来了 2.4% 至 4.6% 的一致性性能提升。- 有趣的是,
multi-crop对聚类方法(提升 >4%)的增益似乎大于对对比学习方法(提升 2.4%)的增益。 - 该策略对监督学习无效(-0.5%),说明它主要通过提供更丰富的视图来增强自监督学习中的不变性学习,而这对于已经有强监督信号的训练并非必需。
6.2.2. 在线聚类 vs. 对比学习
从上表中还可以看出,在同等设置下(例如都使用 multi-crop),聚类方法 DeepCluster-v2 (74.3%) 和 SwAV (74.1%) 的性能显著优于对比学习方法 SimCLR (70.6%)。这表明,将实例级别的判别任务放宽到簇级别的判别任务,可能是一种更有效的自监督学习范式。
6.2.3. 小批量训练
SwAV 的一个重要优势是它不依赖于超大批量。
以下是原文 Table 3 的结果,所有方法均在 batch size = 256 下训练:
| Method | Mom. Encoder | Stored Features | multi-crop | epoch | batch | Top-1 |
|---|---|---|---|---|---|---|
| SimCLR | 0 | 2×224 | 200 | 256 | 61.9 | |
| MoCov2 | ✓ | 65, 536 | 2×224 | 200 | 256 | 67.5 |
| MoCov2 | ✓ | 65, 536 | 2×224 | 800 | 256 | 71.1 |
| SwAV | 3, 840 | 2× 160+ 4×96 | 200 | 256 | 72.0 | |
| SwAV | 3, 840 | 2× 224+6×96 | 200 | 256 | 72.7 | |
| SwAV | 3, 840 | 2× 224 + 6× 96 | 400 | 256 | 74.3 |
分析:
- 小批量下的优越性: 在小批量设置下,
SimCLR性能大幅下降 (61.9%)。MoCov2依赖于巨大的记忆库 (65,536) 和动量编码器才能达到较好性能。 - 高效率:
SwAV仅需一个非常小的队列 (3,840) 即可达到 72.7% 的准确率(200个周期),远超同等训练周期的MoCov2(67.5%)。SwAV的学习速度更快,用少得多的训练周期就能达到甚至超过MoCov2的最终性能。
6.2.4. 软分配 vs. 硬分配
作者比较了在在线聚类中使用软分配 (soft assignment)(即 Sinkhorn-Knopp 输出的连续值)和硬分配 (hard assignment)(将软分配四舍五入到 one-hot 向量)的效果。
下图(原文 Figure 7)展示了两种设置下的训练损失变化:
该图像是论文中图7的图表,展示了使用软(Soft)和硬(Hard)聚类分配训练SwAV模型时的训练损失随训练周期(epochs)的变化情况。横轴代表训练周期数,纵轴为SwAV损失,训练总周期为400。
以下是原文 Table 13 (right) 的结果:
| Assignment | Soft | Hard |
|---|---|---|
| Top-1 | 73.9 | 73.3 |
分析:
- 软分配 (73.9%) 的性能优于硬分配 (73.3%)。
- 从损失曲线可以看出,硬分配的损失下降得更快,表明模型收敛迅速。然而,这是一种更“激进”的优化步骤,容易导致模型陷入较差的局部最优解。而软分配提供了一个更平滑的优化路径,最终找到了更好的解决方案。
7. 总结与思考
7.1. 结论总结
SwAV 这篇论文提出了一个新颖、高效且可扩展的自监督视觉特征学习框架,其核心贡献和结论如下:
- 提出 SwAV 框架: 成功地将聚类思想在线化,通过创新的“交换预测”机制,在避免大规模成对特征比较的同时,实现了强大的视图不变性学习。这有效结合了对比学习和聚类方法的优点。
- 提出 Multi-crop 策略: 提供了一种简单通用的数据增强方法,能以很小的计算代价显著提升多种自监督模型的性能,证明了视图数量和多样性在自监督学习中的重要性。
- 达到 SOTA 性能并超越监督学习:
SwAV不仅在 ImageNet 线性评估上大幅超越了先前的自监督方法,更具里程碑意义的是,它在多个下游迁移任务上首次全面超越了监督式预训练模型,有力地证明了自监督学习的巨大潜力,即学到的特征可以比监督学习的特征更具泛化能力。
7.2. 局限性与未来工作
- 作者指出的未来工作: 论文结尾提到,当前的模型架构(如 ResNet)都是为监督学习设计的,未来的一个有趣方向是探索在无监督的设定下,是否能通过神经架构搜索等技术发现更适合自监督学习的新型网络架构。
- 潜在的局限性:
- 新增超参数:
SwAV引入了一些新的超参数,如原型数量 、Sinkhorn-Knopp 算法的正则化系数 和迭代次数。尽管消融实验表明模型对 的选择不敏感,但这些参数的调整仍可能增加模型应用的复杂性。 - 计算开销: 虽然
SwAV避免了与大量负样本的比较,但 Sinkhorn-Knopp 算法本身也引入了额外的计算步骤。在批次大小和原型数量都很大时,这一步也可能成为瓶颈。 - 未探索的组合: 作者提到,
SwAV也可以与MoCo的动量编码器和记忆库机制相结合,但论文并未对此进行探索,这为未来的研究留下了空间。
- 新增超参数:
7.3. 个人启发与批判
SwAV 是一篇极具启发性的论文,它优雅地解决了当时自监督学习领域的核心痛点。
-
启发点:
- 思维的转换: 最核心的启发是从“比较特征”到“比较分配”的思维转换。这不仅是一个技术上的优化,更是一种范式上的创新。它告诉我们,为了实现不变性,不一定要在原始的高维空间中直接操作,可以先映射到一个更具结构化、更低维的语义空间(这里是聚类空间)中再进行约束。
- 在线与离线的权衡:
SwAV成功地将离线的聚类过程在线化,是算法设计中关于可扩展性思考的典范。对于需要处理海量数据的现代机器学习系统,算法的在线能力至关重要。 - 简单而有效的工程创新:
multi-crop策略的成功表明,有时简单、巧妙的工程设计能带来巨大的性能收益。它提醒我们在关注复杂模型的同时,不应忽视数据处理和增强环节的创新潜力。 - 自监督学习的价值:
SwAV超越监督预训练的结果,是对自监督学习价值的强有力证明。它表明,通过精心设计的代理任务,模型可以从数据本身的结构中学到比特定标签更本质、更通用的知识。
-
批判性思考:
- “交换预测”的本质: “交换预测”机制虽然巧妙,但其背后的理论支撑,即为什么这种方式比直接最小化两个编码 和 的距离更有效,论文中没有深入探讨。它更像是一个经验上非常成功的直觉设计。
- 对数据分布的依赖: 均等划分约束是
SwAV防止模型坍塌的关键。这个约束假设数据可以被均匀地划分到各个原型中。对于类别分布极不均衡的数据集,这个强约束是否会损害模型性能,是一个值得探究的问题。 - 与后续发展的关系:
SwAV之后,自监督学习领域又出现了如BYOL、SimSiam等不使用负样本的方法,以及MAE(Masked Autoencoders) 等基于掩码建模的新范式。回看SwAV,它代表了对比/聚类范式发展的一个高峰。它通过引入原型和在线聚类,巧妙地绕开了显式的负样本,可以说为后续完全抛弃负样本的方法(如BYOL)提供了重要的过渡和启发。然而,MAE的兴起则开辟了另一条完全不同的技术路径,显示了自监督学习领域的多样性和快速迭代。
相似论文推荐
基于向量语义检索推荐的相关论文。