自监督与对比学习:面试问题与推荐回答

yo3nglau

2026/04/09

Categories: Interview Tags: Deep Learning Self-Supervised Learning Contrastive Learning

View English Version

对比学习基础

Q1 [基础] 解释 InfoNCE 损失及其作为表示学习目标的有效性

Q: InfoNCE 目标优化的是什么?温度参数和负样本数量如何影响所学表示的质量?

A: InfoNCE(信息噪声对比估计,Information Noise-Contrastive Estimation)损失由对比预测编码(CPC)引入(Oord et al., 2018),训练编码器在 $K$ 个负样本中识别正样本。对于同一图像的两个增强视图 $z_i$ 和 $z_j$,以及 $K$ 个负样本 $\{z_k\}$:

$$\mathcal{L}_{\text{InfoNCE}} = -\mathbb{E}\left[\log \frac{\exp(z_i \cdot z_j / \tau)}{\exp(z_i \cdot z_j / \tau) + \sum_{k=1}^{K} \exp(z_i \cdot z_k / \tau)}\right]$$

这是一个 $(K{+}1)$ 类分类问题上的交叉熵——编码器学习在归一化嵌入空间中将正对推近、将负对推远。Oord et al. (2018) 表明,最小化 InfoNCE 等价于最大化两个视图间互信息 $I(z_i; z_j)$ 的下界,且随着 $K$ 增大该下界趋于收紧。

温度 $\tau$ 控制分布的尖锐程度。过低的 $\tau$ 将梯度集中于困难负样本,可能导致训练不稳定;过高的 $\tau$ 提供更平滑但更弱的梯度信号。SimCLR 发现 $\tau = 0.07$ 对归一化嵌入有效(Chen et al., 2020)。负样本数量 $K$ 决定互信息下界对真实值的逼近质量——实验表明,当负样本数少于数千时性能会显著下降,这促使人们采用大批量训练或内存队列方案。


Q2 [基础] 解释数据增强如何定义对比学习中的语义相似性

Q: 增强策略的选择在塑造所学表示的不变性方面扮演什么角色?

A: 在对比学习中,同一图像的两个增强视图构成正对——模型学习认为它们在语义上等价。因此,增强策略直接指定表示应对哪些变换保持不变。使用颜色抖动训练的模型会丢弃颜色信息;使用大幅裁剪训练的模型会丢弃绝对空间位置信息。

SimCLR(Chen et al., 2020)进行了系统性消融实验,表明随机裁剪、颜色畸变(抖动 + 随机灰度)和高斯模糊的组合至关重要。随机裁剪对性能贡献最大,因为它迫使编码器在不同尺度和空间位置下识别物体,同时隐式地生成颜色统计特性不同的图块——比任何单一增强都更具挑战性。Chen et al. (2020) 发现,仅使用裁剪的精度远低于裁剪加颜色畸变的组合,表明两者互补:单独裁剪时,模型可利用不同图块间共有的低级颜色统计特性走捷径。

增强选择与表示内容之间的耦合是该范式的根本局限。需要细粒度颜色辨别的任务——如材质属性估计或基于羽毛颜色的物种识别——会因预训练时嵌入的颜色抖动不变性而受损。如何设计在保留任务相关信号的同时提供有效预训练任务的增强策略,仍是一个开放的研究问题。


Q3 [进阶] 描述 MoCo 如何将对比学习扩展到大规模负样本集而不成比例地增加批量大小

Q: MoCo 引入了哪两种机制来将负样本数量与 GPU 内存约束解耦?动量编码器具体解决了什么问题?

A: 标准端到端对比方法要求所有负样本在同一次前向传播中编码,因此负样本数量受批量大小限制——通常每块 GPU 仅数百个。InfoNCE 损失在负样本少于数千时会显著退化,使大批量训练成为必要,而这代价高昂。

MoCo(动量对比,Momentum Contrast,He et al., 2020)通过内存队列将负样本数量与批量大小解耦——该队列存储最近 $K$ 个已编码的键表示(原始论文中 $K = 65536$)。每个小批量编码一组新键后入队,最旧的条目出队——任何时刻队列中均包含来自多个过去小批量的表示,以远超队列本身内存代价的零额外开销提供大规模负样本池。

队列带来的挑战是表示不一致性:早期小批量编码的键由更旧版本的编码器生成。若编码器通过梯度下降快速变化,队列中的表示来自许多不同"版本"的模型,使对比信号嘈杂。MoCo 通过动量编码器 $f_k$ 解决这一问题——它不通过梯度下降训练,而是以查询编码器 $f_q$ 的指数移动平均更新:

$$\theta_k \leftarrow m\theta_k + (1-m)\theta_q$$

其中 $m = 0.999$。缓慢更新(每步保留前一值的 $99.9\%$)确保队列中的键表示由几乎相同的模型生成——无需对键编码器进行基于梯度的训练即可维持一致性。He et al. (2020) 以 ResNet-50 在 ImageNet 上实现了 60.6% 的 top-1 线性评估精度,动量编码器作为一种广泛适用的基础组件,后续被 BYOL、DINO 等方法采用。


Q4 [进阶] 解释 SimCLR 如何在不使用内存队列的情况下学习强表示

Q: SimCLR 仅利用批内负样本产生有竞争力特征的关键设计选择是什么?投影头对冻结骨干特征质量的贡献是什么?

A: SimCLR(Chen et al., 2020)通过在同一次前向传播中编码每个样本的两个视图、并将批内所有其他样本视为负样本来消除内存队列。对于批量大小 $N$,每个样本有 $2(N-1)$ 个负样本——其他 $N-1$ 张图像的两个视图。这需要大批量(4096–8192)以提供充足的负对比,以架构简洁性换取内存效率。

SimCLR 性能的两项核心设计选择如下。第一,非线性投影头——在骨干网络之上、对比损失之前应用的两层 MLP——相比直接使用骨干特征,能将下游线性评估精度提高约 10 个百分点。投影头允许对比损失将表示空间的一个子空间专用于对比目标,以有益于 InfoNCE 优化但若直接作用于通用骨干特征则会产生破坏的方式对其进行变形。推理时丢弃投影头可保留骨干更广泛的表示结构。

第二,更强的增强组合:随机裁剪、颜色畸变(随机抖动加随机灰度)和高斯模糊共同构成高难度预训练任务,使同一图像的不同裁剪在颜色和空间内容上可能差异显著。这些困难正对要求编码器识别高层语义内容——物体身份而非纹理——才能在任务中取得成功。

Chen et al. (2020) 表明,用 SimCLR 训练 1000 个 epoch 的 ResNet-50 在 ImageNet 线性评估上达到 76.5% 的 top-1 精度,缩小了与有监督 ResNet-50 预训练的差距,并大幅超越了所有同等架构规模的先前自监督方法。


无负样本自监督学习

Q5 [基础] 解释 BYOL 在不使用任何负样本的情况下如何避免表示坍缩

Q: BYOL 架构中的哪些不对称性阻止模型收敛到退化的常数表示?

A: BYOL(Bootstrap Your Own Latent,Grill et al., 2020)仅在正对上训练——同一图像的两个增强视图——这立即引发了平凡坍缩的担忧:将所有输入映射到同一向量的编码器以零代价满足任何相似度目标。

BYOL 通过两种结构不对称性防止坍缩。第一,在线网络(通过梯度下降更新)和目标网络(通过在线权重的指数移动平均更新,动量系数 $m = 0.996$)使用相同架构但始终不完全相同。在线网络在其投影器之后包含额外的预测器 MLP;目标网络没有预测器。目标是最小化在线预测器输出与目标投影器输出之间的余弦距离——预测器必须追踪一个移动目标,阻止两个网络简单地约定一个常数。

第二,损失不对称地施加:来自在线损失的梯度只更新在线网络;目标网络由缓慢的 EMA 更新,而非损失梯度。Grill et al. (2020) 实验表明,使用可训练的目标网络(对两个分支进行梯度下降)会导致坍缩,而使用 EMA 更新则保持稳定。EMA 更新充当隐式自蒸馏的一种形式——在线网络学习匹配自身的平滑、一致版本。

BYOL(ResNet-50,1000 个 epoch)在 ImageNet 上实现了 74.3% 的 top-1 线性评估精度,在不使用任何负样本的情况下匹配或超越了 SimCLR,直接挑战了当时普遍认为负样本对防止坍缩不可或缺的假设。


Q6 [基础] 描述 SimSiam 中停止梯度的作用及其防止表示坍缩的机制

Q: 停止梯度操作在机制上做了什么?移除它为何会导致坍缩?

A: SimSiam(Chen & He, 2021)通过完全移除动量编码器进一步简化了 BYOL。两个增强视图由同一共享网络编码;预测器映射一个分支的输出,损失是预测器输出与另一个分支表示之间的负余弦相似度。停止梯度($\text{sg}$)施加于不经过预测器的分支:

$$\mathcal{L} = -\frac{p_1}{\|p_1\|_2} \cdot \frac{\text{sg}(z_2)}{\|z_2\|_2}$$

没有停止梯度时,梯度对称地流经两个分支,优化器找到将余弦相似度平凡地设为 1 的退化常数向量解。有了停止梯度,一个分支在每次参数更新时被保持固定——预测器 $p_1$ 必须匹配固定目标 $z_2$,使坍缩变得困难,因为目标不在同一步与预测器共同优化。

Chen & He (2021) 将停止梯度解释为实现隐式期望最大化:一个分支提供"伪标签"(固定目标),另一个分支更新以匹配它,以类似 EM 更新的方式交替进行。他们通过分析和实验均表明,这种交替在对应非退化表示的不动点处阻止坍缩。SimSiam(ResNet-50,800 个 epoch)在 ImageNet 上实现了 71.3% 的 top-1 线性评估精度——与需要更多工程设计的方法相当,证明负样本和动量编码器均非严格必要。


Q7 [进阶] 解释 BarlowTwins 如何利用互相关矩阵实现冗余消减

Q: BarlowTwins 的目标优化的是什么?冗余消减原理如何将信息论与防止维度坍缩联系起来?

A: BarlowTwins(Zbontar et al., 2021)对自监督学习采取了本质上不同的方法:不对样本对进行对比,而是正则化两个增强视图的嵌入批次之间的互相关矩阵(cross-correlation matrix)。给定 $d$ 维嵌入 $Z^A$ 和 $Z^B$(每个维度沿批量维度归一化为零均值和单位方差),互相关矩阵为:

$$\mathcal{C}_{ij} = \frac{\sum_b z^A_{b,i}\, z^B_{b,j}}{\sqrt{\sum_b (z^A_{b,i})^2}\cdot \sqrt{\sum_b (z^B_{b,j})^2}}$$

损失将 $\mathcal{C}$ 推向单位矩阵:

$$\mathcal{L}_{BT} = \underbrace{\sum_i (1 - \mathcal{C}_{ii})^2}_{\text{不变性}} + \lambda \underbrace{\sum_i \sum_{j \neq i} \mathcal{C}_{ij}^2}_{\text{冗余消减}}$$

对角项强制不变性:相同特征维度对两个增强视图的响应应完全相同。非对角项强制冗余消减:不同特征维度在两个视图之间应尽可能不相关,防止多个维度编码相同信息。Zbontar et al. (2021) 的灵感来自神经科学中 Barlow(1961 年)的冗余消减原理,该原理假设感知编码的目标是用统计独立的分量表示刺激。

一个关键的实践优势是:BarlowTwins 在不同批量大小下自然稳定——互相关沿批量维度计算,独立于负对是否为批内负样本。Zbontar et al. (2021) 报告 ResNet-50(1000 个 epoch)实现了 73.2% 的 top-1 线性评估精度,与 BYOL 相当,且无需动量网络、内存队列或负样本对。


Q8 [进阶] 描述 VICReg 的三项正则化及每项如何防止不同失败模式

Q: VICReg 三个损失分量各自针对什么具体失败模式?将这些项显式化如何阐明与其他自监督方法的联系?

A: VICReg(方差-不变性-协方差正则化,Variance-Invariance-Covariance Regularization,Bardes et al., 2022)将自监督目标分解为三个具有明确角色的项。给定来自两个增强视图的嵌入 $Z$ 和 $Z'$(各形状为 $N \times d$):

$$\mathcal{L}_{\text{VIC}} = \lambda\, s(Z, Z') + \mu\, [v(Z) + v(Z')] + \nu\, [c(Z) + c(Z')]$$

不变性项 $s(Z, Z') = \frac{1}{N}\sum_i \|z_i - z'_i\|^2$ 是配对嵌入之间的均方欧氏距离——直接最小化同一图像在不同增强下的表示差异。没有其他项时,单独的不变性会驱使坍缩:平凡解为 $Z = Z' = \mathbf{0}$。

方差项 $v(Z) = \frac{1}{d}\sum_j \max\!\bigl(0,\, 1 - \sqrt{\text{Var}(z_{:,j}) + \epsilon}\bigr)$ 惩罚每批次标准差低于 1 的任何特征维度。这直接针对完全坍缩(所有嵌入在同一点)和部分坍缩(仅部分维度活跃):任何低方差维度均贡献正损失,迫使模型主动使用所有 $d$ 个维度。该项取代了对比方法中负样本对的角色——负样本通过排斥防止坍缩,方差项通过直接正则化防止坍缩。

协方差项 $c(Z) = \frac{1}{d}\sum_{i \neq j} [C(Z)]_{ij}^2$(其中 $C(Z)$ 是 $Z$ 的归一化协方差矩阵)惩罚非对角协方差——等价于 BarlowTwins 的冗余消减。方差项和协方差项共同确保满秩、去相关的表示。Bardes et al. (2022) 以 ResNet-50(1000 个 epoch)实现了 73.2% 的 top-1 线性评估精度,与 BarlowTwins 相当,同时提供了一种透明的分解,独立揭示了每项的作用。


多模态对比学习

Q9 [基础] 解释 CLIP 如何构建联合视觉-语言嵌入空间

Q: CLIP 使用什么训练目标对齐图像和文本表示?所得嵌入空间的哪些性质支持下游使用?

A: CLIP(对比语言-图像预训练,Contrastive Language-Image Pre-Training,Radford et al., 2021)在从互联网收集的 4 亿图像-文本对上联合训练图像编码器和文本编码器。训练目标是对称对比损失:对于 $N$ 个(图像,文本)对构成的批次,模型最大化 $N$ 个匹配对的余弦相似度,最小化 $N^2 - N$ 个不匹配对的余弦相似度。每个方向贡献一个独立的交叉熵损失:

$$\mathcal{L}_{\text{CLIP}} = \frac{1}{2}\left[\mathcal{L}_{I \to T} + \mathcal{L}_{T \to I}\right]$$

其中 $\mathcal{L}_{I \to T}$ 是以每张图像匹配的文本为批内 $N$ 个文本中的正样本计算的交叉熵,反之亦然。图像编码器为 ViT(或 ResNet),文本编码器为 Transformer;二者在计算相似度前均投影到相同的 $d$ 维空间。

所得空间对齐了视觉与语义内容:一只狗的图像和短语"a photograph of a dog"映射到邻近的嵌入,与品种、姿势或图像风格无关。这种对齐仅从图像与标题的共现中学习——不使用任何人工类别标签。推理时,嵌入空间支持零样本分类(将图像嵌入与类名文本嵌入比较)、跨模态检索(为文本查询找到最相关的图像)以及线性分类(用少量标注样本在图像嵌入上训练线性分类器)。


Q10 [基础] 描述 CLIP 的零样本图像分类及其泛化能力的来源

Q: CLIP 如何在无任何任务特定训练的情况下进行零样本分类?哪些因素决定了它在哪里成功、在哪里失败?

A: CLIP 通过将每个类名转换为"a photo of a {class}“形式的文本提示,计算图像嵌入与每个提示嵌入之间的余弦相似度来执行零样本分类。预测类别为相似度最高的提示对应类别——无需微调或标注样本。

Radford et al. (2021) 在 27 个下游分类基准上评估了零样本 CLIP ViT-L/14,在 ImageNet 上找到了 76.2% 的 top-1 精度,无需在预训练期间看到任何 ImageNet 标签即匹配了有监督 ResNet-50 的性能。泛化能力来自两个来源:(1)互联网文本的广度覆盖了远超人工策划标签分类法的视觉概念类别和领域;(2)自然语言描述编码了整数类别标签所缺失的视觉外观上下文信息。

然而,零样本性能在互联网文本中代表性不足的细粒度或专业领域(医学影像、卫星图像、专业技术图表)会显著下降。模型在需要计数、空间推理或区分标签细微不同的视觉相似物体的任务上也表现欠佳。提示工程(Prompt engineering)对精度影响显著:Radford et al. (2021) 发现,对 80 种提示模板(变化句式和上下文,如"a photo of a {c}, a type of food”)进行集成,相比单一默认提示将零样本 ImageNet 精度提高了约 3.5%。


Q11 [进阶] 解释 ALIGN 如何证明规模可以在视觉-语言预训练中弥补标签噪声

Q: ALIGN 在数据处理流程上与 CLIP 有何不同?ALIGN 的性能揭示了数据质量与数据数量的相对重要性?

A: CLIP 使用了经过去重、质量过滤、并移除了文本描述与 ImageNet 标签匹配图像(以防测试集污染)的精心构建数据集。ALIGN(Jia et al., 2021)做出了相反的选择:在以极少过滤收集的 18 亿图像-文本对上训练——仅进行基本的基于频率的阈值过滤,去除极稀有词汇和短于 3 个词的替代文本。这以大幅增加的噪声监督为代价保留了互联网图像-文本共现的巨大规模。

核心架构遵循与 CLIP 相同的对称对比目标,使用 EfficientNet-L2 作为图像编码器,BERT-Large 作为文本编码器,投影到共享的 640 维空间。尽管数据量约为 $4.5\times$ 更多且标签更嘈杂,训练信号仍然充足,因为对比目标对单个噪声对具有鲁棒性——单个不匹配的图像-文本对在批次中贡献扩散的梯度信号,而数十亿对的总信号仍然具有信息量。

ALIGN 在零样本 ImageNet 分类精度上与 CLIP 最佳模型相当(约 76% top-1),并在跨模态检索任务(Flickr30K 和 MSCOCO)上超越了有监督 ImageNet 预训练。Jia et al. (2021) 还通过在标注数据上进一步训练图像编码器展示了 85.5% 的微调 ImageNet 精度。对该领域的关键启示是:若嘈杂的大规模数据足以实现有竞争力的性能,瓶颈就从数据策划转移到计算和模型容量——这一结论推动了后续多模态学习中以规模为中心的研究工作。


Q12 [进阶] 描述 SigLIP 的 sigmoid 损失如何改进大规模视觉-语言训练中的 softmax InfoNCE

Q: CLIP softmax 对比损失在大规模下的计算瓶颈是什么?sigmoid 重构如何消除它?

A: CLIP 的 softmax 对比损失需要一个全局归一化常数——对于每个图像查询,分母对所有 $N$ 个文本嵌入求和(文本方向亦然)。在 $M$ 个设备各持有 $N/M$ 个样本的分布式训练中,计算此归一化需要一次全局聚合(all-gather)通信操作,在计算 softmax 前收集全部 $N$ 个嵌入。在大批量和多设备情况下,这次全局聚合主导了通信开销并产生同步瓶颈。

SigLIP(语言图像预训练的 sigmoid 损失,Sigmoid Loss for Language Image Pre-Training,Zhai et al., 2023)将 softmax 替换为独立的逐对 sigmoid 交叉熵:

$$\mathcal{L}_{\text{SigLIP}} = -\frac{1}{N^2} \sum_{i,j} \log \sigma\!\left(y_{ij} \cdot (z_i \cdot z_j / \tau) - b\right)$$

其中匹配对 $y_{ij} = +1$,不匹配对 $y_{ij} = -1$,$b$ 是可学习偏置。每对独立地以二元 sigmoid 评估——不存在归一化常数,也不依赖批内其他对。这完全消除了全局聚合:每个设备可对其本地样本对计算局部损失,全局损失取平均即可。

除效率外,sigmoid 损失使较小批量下的有效训练成为可能:softmax 损失需要大 $N$ 使分母提供强对比信号;sigmoid 损失独立处理每对,因此较小批量每对可产生同样具有信息量的梯度。Zhai et al. (2023) 表明,SigLIP 模型在零样本基准上优于可比的 CLIP 模型,尤其在多语言和低资源语言场景下——这些场景中每种语言的图像-文本对密度较低,较小的有效批量大小不可避免。


掩码图像建模

Q13 [基础] 解释掩码自编码预训练任务及 MAE 在视觉中的实现方式

Q: 掩码自编码预训练任务要求编码器学习什么?MAE 的架构与对称自编码器有何不同?

A: 掩码自编码器(MAE,He et al., 2022)将 BERT 的掩码语言建模预训练任务适配到视觉领域。图像被划分为不重叠的 $16 \times 16$ 图块;大比例的图块(默认 75%)被随机掩码;未掩码图块由 ViT 编码器编码;轻量级解码器接收编码器输出与可学习掩码词元交错后的序列,并重建掩码图块的原始像素值。损失仅为掩码图块上的均方误差——未掩码图块不参与损失计算。

预训练任务迫使编码器学会从部分观测中推断内容:为了重建大块掩码区域,模型必须理解语义结构——物体形状、部件关系、场景上下文——因为当大部分图像被隐藏时,相邻可见图块单独提供的信息不足。He et al. (2022) 在 ImageNet 上训练 ViT-L/16 共 1600 个 epoch,实现了 85.9% 的 top-1 微调精度,超越了所有先前的自监督方法,并达到了同等规模有监督 ViT 预训练的性能。

架构是非对称的:编码器只处理可见(未掩码)词元,从不看到掩码词元,而解码器操作包含掩码词元的完整集合。这种非对称性是一种效率设计——编码器仅处理 $25\%$ 的图块,相比处理所有图块约减少 $4\times$ 的编码器计算量。解码器轻量得多(通常为 512 维 8 个 Transformer 块,而编码器为 1024 维 24 个块),负责重建任务,推理时被丢弃。


Q14 [进阶] 描述 MAE 为何使用高掩码率以及非对称设计的作用

Q: 为何 75% 的掩码率优于较低比率?MAE 的非对称架构相对于对比方法存在哪些下游性能权衡?

A: 低掩码率使重建任务无需学习语义内容即可平凡求解:相邻可见图块共享低级纹理统计特性,模型可通过局部模式补全来插值掩码区域,而无需形成对图像的全局理解。He et al. (2022) 对 10% 至 90% 的掩码率进行了消融实验,发现下游微调性能在 60–80% 之间有较宽的最优区间,默认值为 75%。在极高掩码率($\geq 90\%$)下,重建变得病态——缺乏足够上下文来识别掩码物体的类别,任务提供的监督信号模糊。

75% 的掩码率创造了这样一项任务:模型必须同时追踪多个相距较远的可见图块,并推断其关系以填充大块掩码区域。块掩码(掩码连续矩形区域而非随机图块)在相同比率下略优,因为连续掩码更难通过相邻可见图块的插值来填充,需要更长程的推理。这种难度驱动的机制与自监督 NLP 方法的经验类似:BERT 15% 的掩码率是为词元级语言预测设计的,但对像素而言不足够,因为图像信息在空间上的冗余性远高于文本。

与对比方法相比,关键的下游权衡在于线性探测差距:MAE ViT-L 在线性评估下实现约 76% 的 top-1 精度——低于 MoCo v3 ViT-L(81.1%)等对比方法——但微调精度更高(85.9%)。像素级重建不强迫编码器将表示组织成线性可分的类别簇;相反,它产生需要非线性适应的特征。He et al. (2022) 认为这可以接受,因为微调才是实际部署协议,但这一差距推动了后续将掩码建模与同样保持线性可分结构目标(如结合掩码预测的 DINO)相结合的工作。


Q15 [进阶] 解释 DINO 如何利用自蒸馏产生语义结构化的 ViT 特征

Q: DINO 使用什么训练程序?为何用 DINO 训练的 ViT 特征会展现出涌现的语义分割性质?

A: DINO(Caron et al., 2021)实现了无标签自蒸馏:训练学生 ViT 在同一图像的不同裁剪上匹配教师 ViT 的输出概率分布。教师通过学生的指数移动平均更新(与 MoCo 和 BYOL 类似);学生通过最小化学生 softmax 输出与教师 softmax 输出在一组共享原型上的交叉熵来训练(最终线性层充当软聚类头)。中心化操作——从教师输出中减去滑动均值——通过确保没有单一输出维度占主导来防止坍缩。

DINO 使用多裁剪策略:学生同时看到两个全局视图(覆盖 $\geq 50\%$ 图像的裁剪)和六个局部裁剪(覆盖约 $20\%$ 的较小图块);教师只看到全局视图。学生损失在所有裁剪对两个全局教师视图计算。这种局部到全局的对应任务——从局部图块预测全局上下文——迫使学生在多尺度下识别物体并从有限局部证据理解其全局结构。

最引人注目的涌现性质是:[CLS] 词元在图块词元上的注意力权重——ViT 全局池化的副产物——自发地将图像划分为与人类分割边界一致的语义连贯的前景-背景区域(Caron et al., 2021)。这种性质在有监督 ViT 训练或 CNN 特征中未曾出现,表明多裁剪自蒸馏目标引发了本质上不同的内部组织方式。用 DINO 训练的 ViT-S/16 在 ImageNet 上实现了 77.0% 的 top-1 线性评估精度,并在无任何微调的情况下实现了有竞争力的 k-NN 检索($74.5\%$ top-1)和视频目标分割。


Q16 [进阶] 描述 DINOv2 如何通过策划数据与联合目标扩展自监督学习

Q: DINOv2 相对于 DINO 在数据、目标和所得表示质量上做了哪些改变?

A: DINOv2(Oquab et al., 2023)将数据质量而非模型架构确定为先前自监督方法在规模上的主要局限。DINOv2 不在 ImageNet(128 万张图像)或未过滤的网络爬取上训练,而是构建了 LVD-142M——一个通过使用最近邻搜索(以一组高质量多样化来源数据集为种子)从大型未策划网络数据池中检索图像构建的 1.42 亿张图像策划数据集。这种基于检索的策划去除了精确重复,并在无需人工标注的情况下偏向视觉多样性。

训练目标结合了两个分量:标准 DINO 学生-教师输出之间的自蒸馏交叉熵损失,以及掩码图像建模目标——学生必须预测掩码图块的教师图块级表示(而非像素值)。这种在教师特征空间而非像素空间操作的掩码图块预测,提供了全局 DINO 目标所缺乏的密集局部监督——模型必须在单个图块嵌入中编码细粒度局部结构,而不仅仅是 [CLS] 全局摘要。

这种组合解决了线性探测差距:DINOv2 ViT-g/14 在 ImageNet 线性评估下实现了 86.5% 的 top-1 精度(Oquab et al., 2023)——大幅高于对比方法,且与 MAE 不同,无需微调即可达到峰值性能。更重要的是,DINOv2 特征以冻结骨干和单个线性头迁移到密集预测任务(ADE20K 语义分割、NYUd 单目深度估计),证明联合目标产生的空间特征质量能泛化到像素级理解。


理论、评估与迁移

Q17 [基础] 解释线性探测衡量的表示特性及其与微调的区别

Q: 为何某些自监督方法在微调下表现良好但在线性探测下表现欠佳?这一差距揭示了表示的什么特性?

A: 线性探测(Linear probing)在冻结骨干特征之上训练单个线性分类器;编码器权重不更新。线性分类器的精度直接衡量表示的线性可分性——类别信息是否以嵌入空间中超平面可访问的方式编码。

微调(Fine-tuning)使用标注数据更新所有编码器权重及分类头。这允许编码器重新配置其表示,使初始化时的类别可分性变得不那么重要——经过几层适应后,非线性组织的特征也可以变为线性可分。

这两种协议之间的差距揭示了预训练目标所施加的结构。MAE 预训练产生高微调精度(约 85.9% ViT-L)但较低的线性探测精度(约 76%),因为像素级重建不要求编码器将表示组织成语义聚类区域。模型学会编码对重建有用但不一定线性可分类别的空间纹理和结构关系。对比目标则相反,直接在表示空间中将不同类别负样本推开、同类别正样本拉近,以可能过度约束表示结构为代价产生线性可分特征。在两种协议下均表现良好的方法——如 DINOv2(Oquab et al., 2023)具有 86.5% 的线性探测精度——通常被认为学习了最广泛适用的表示。


Q18 [基础] 描述自监督预训练如何提升低数据和半监督场景下的样本效率

Q: 自监督预训练的收益如何随标注数据量的变化而改变?大标注集下收益递减的原因是什么?

A: 自监督预训练提供通用初始化,大幅减少达到目标精度所需的标注样本数量。在半监督场景中,编码器使用少量标注比例进行微调,而预训练权重提供强大的初始化。SimCLR(Chen et al., 2020)报告,仅使用 1% 的 ImageNet 标签(约 12,800 张标注图像),ResNet-50 在 ImageNet 上实现了 48.3% 的 top-1 精度——在相同标注预算下比从头有监督训练的基线精度提高了一倍以上。

在标注数据稀缺时收益最大,因为预训练替代了标签来学习低级和中级视觉特征:从无标注数据学到的边缘检测器、纹理表示和部件检测器无需从小标注集重新学习。随着标注集增大,有监督模型越来越能够自行学习这些特征,预训练与随机初始化模型之间的差距缩小。在大标注集规模(完整 ImageNet)下,自监督预训练相对有监督预训练的优势大幅缩小。

迁移优势也与领域相关:CLIP 在广泛的网络图像-文本对上预训练(Radford et al., 2021),能有效迁移到少样本微调实际可行的专业领域(卫星图像、医学影像),正是因为网络语料库将模型暴露于单一领域预训练无法提供的多样视觉上下文。针对专业应用,在无标注领域内数据上进行领域特定自监督预训练可进一步超越通用网络预训练。


Q19 [进阶] 解释均匀性-对齐分解及其对表示坍缩的启示

Q: Wang 和 Isola 的两个指标如何表征表示质量?每种失败模式在几何上是什么样子的?

A: Wang & Isola (2020) 提出将对比表示质量分解为单位超球面上两个可独立测量的几何性质。对齐性(Alignment)衡量正对在嵌入空间中的接近程度:

$$\mathcal{L}_{\text{align}}(\alpha) = \mathbb{E}_{(x,x^+)\sim p_{\text{pos}}}\!\left[\|f(x) - f(x^+)\|_2^\alpha\right]$$

均匀性(Uniformity)衡量嵌入分布覆盖超球面的均匀程度,使用高斯势核:

$$\mathcal{L}_{\text{uniform}}(t) = \log\, \mathbb{E}_{x,y \sim p_{\text{data}}}\!\left[e^{-t\|f(x) - f(y)\|_2^2}\right]$$

Wang & Isola (2020) 证明,InfoNCE 损失渐近地分解为对齐性与均匀性之和:分子鼓励正对对齐;分母的归一化要求负样本分散——均匀分布最大化配分函数,提供最强的对比信号。

两种失败模式在几何上对应如下。完全坍缩(所有表示在同一点)实现完美对齐($\mathcal{L}_{\text{align}} = 0$)但均匀性最差(所有质量集中在单极点)。维度坍缩(表示位于低维子空间)在子空间内实现良好对齐和部分均匀性,但浪费了其余维度——坍缩方向上的有效分布是德尔塔函数而非完整超球面。VICReg 的方差项和 BarlowTwins 的冗余消减明确针对均匀性:它们迫使边际嵌入分布使用所有维度,对应于完整超球面上的均匀性。该框架为比较不同自监督目标提供了规范词汇——以均匀性换对齐性(或反之)的方法是在两种表示质量之间进行权衡。


Q20 [进阶] 描述维度坍缩发生的机制及非对比方法如何通过显式正则化加以防止

Q: 什么机制驱使表示坍缩到低维子空间?BarlowTwins 和 VICReg 中的正则化项如何具体对抗这一问题?

A: 维度坍缩(Dimensional collapse)是指所学表示尽管被嵌入在完整维度中,却只张成 $d$ 维嵌入空间的低维子空间。经验嵌入矩阵的秩远低于 $d$——极端情况下,数千个训练样本映射到过原点的同一条线。这与完全坍缩(单一点)本质上不同:发生维度坍缩的表示可能沿活跃维度仍包含类别信息,但丢弃了所有可在未使用正交方向上编码的信息。

驱使维度坍缩的机制是对比损失中的谱不平衡(spectral imbalance)。InfoNCE 的梯度信号被嵌入协方差的高方差方向主导:模型可以通过将表示集中于解释数据中大部分方差的少数方向来最有效地降低损失。一旦少数方向捕获了主要类别信号,损失就为填充其余正交方向提供很少的梯度压力。这类似于 PCA 保留少数分量的原因——前几个解释了大部分方差——但在这里模型主动收缩不活跃维度,而不仅仅是无法填充它们。

BarlowTwins(Zbontar et al., 2021)通过对互相关矩阵的所有非对角元素施以相等的惩罚来应对维度坍缩,无论涉及哪对维度。任何在两个视图间相关的维度对都会产生损失,迫使编码器发现 $d$ 个去相关表示,而非将信号集中在少数相关分量中。VICReg(Bardes et al., 2022)使用方差项对每个维度的活跃程度施加直接下界:每批次标准差低于 1 的任何特征维度均受到惩罚,明确阻止任何维度坍缩为近似常数。两种方法从互补角度针对相同失败模式——BarlowTwins 防止维度间相关(消除冗余),VICReg 防止维度内方差坍缩(确保活跃度)——两者均可理解为最大化表示矩阵的有效秩,等价于最大化超球面上边际嵌入分布的熵,即 Wang & Isola (2020) 框架中的均匀性项。


快速参考

# 难度 主题 章节
Q1 基础 InfoNCE 损失与互信息下界 对比学习基础
Q2 基础 数据增强作为对比学习中的语义相似性定义 对比学习基础
Q3 进阶 MoCo 动量编码器与内存队列 对比学习基础
Q4 进阶 SimCLR 大批量批内负样本与投影头 对比学习基础
Q5 基础 BYOL 非对称在线-目标架构 无负样本自监督学习
Q6 基础 SimSiam 停止梯度与坍缩防止 无负样本自监督学习
Q7 进阶 BarlowTwins 互相关与冗余消减 无负样本自监督学习
Q8 进阶 VICReg 方差-不变性-协方差正则化 无负样本自监督学习
Q9 基础 CLIP 用于视觉-语言对齐的对称对比损失 多模态对比学习
Q10 基础 CLIP 零样本分类与提示工程 多模态对比学习
Q11 进阶 ALIGN 视觉-语言预训练中规模与噪声的权衡 多模态对比学习
Q12 进阶 SigLIP sigmoid 损失消除 softmax 全局聚合开销 多模态对比学习
Q13 基础 MAE 掩码自编码预训练任务与非对称设计 掩码图像建模
Q14 进阶 MAE 75% 掩码率与下游线性探测权衡 掩码图像建模
Q15 进阶 DINO 自蒸馏与涌现语义注意力图 掩码图像建模
Q16 进阶 DINOv2 策划数据与自蒸馏+掩码预测联合目标 掩码图像建模
Q17 基础 线性探测与微调作为评估协议的区别 理论、评估与迁移
Q18 基础 自监督预训练在半监督场景下的样本效率 理论、评估与迁移
Q19 进阶 对比损失的均匀性-对齐性分解 理论、评估与迁移
Q20 进阶 维度坍缩机制与基于正则化的防止方法 理论、评估与迁移

参考文献