Emerging Properties in Self-Supervised Vision Transformers
作者:Mathilde Caron, Hugo Touvron, Ishan Misra, Herve Jegou, Julien Mairal, Piotr Bojanowski, Armand Joulin
单位:Facebook AI Research, Inria, Sorbonne University
会议:ICCV 2021 / arXiv 2021
链接:https://arxiv.org/abs/2104.14294
研究动机

这篇论文关心的问题不是“ViT 能不能做自监督”,而是“自监督会不会让 ViT 学到和监督学习、卷积网络不同的性质”。当时 ViT 在视觉任务上已经能和卷积网络竞争,但代价是更多数据和更高算力,而且特征并没有表现出特别清晰的独特优势。作者的判断是:如果 Transformer 在 NLP 中的成功很大程度来自自监督预训练,那么视觉 Transformer 也应该检查监督标签是否压缩了图像中的丰富信息。
论文给出的两个核心观察很直接。第一,自监督 ViT 的最后一层 [CLS] token 注意力里会自然出现物体边界和语义区域,这种信息没有显式分割标签参与。第二,DINO 训练出的 ViT 特征在不微调、不训练线性分类器、甚至只用 k-NN 的情况下也很强,说明特征空间本身已经有较好的语义组织。
核心方法

DINO 可以理解为“没有标签的自蒸馏”。同一张图像经过两种随机增强,分别送入 student 和 teacher。两者网络结构相同,但 teacher 不是外部预训练模型,而是 student 参数的指数滑动平均。student 的目标是匹配 teacher 输出的概率分布,teacher 分支停止梯度,只负责产生更稳定的目标。

训练目标使用交叉熵,而不是显式的正负样本对比。给定多视角集合,两个全局视角进入 teacher,所有全局和局部视角进入 student,形成 local-to-global 的匹配:局部裁剪的 student 输出需要对齐全局裁剪的 teacher 输出。这个设计把 multi-crop 的优势放进了蒸馏框架中,让模型在局部区域和全局语义之间建立一致性。
避免坍塌主要依赖两件事:centering 和 sharpening。centering 用 batch 上的 teacher 输出均值更新一个中心项,防止某个输出维度长期占优;sharpening 用较低 teacher temperature 让目标分布更尖锐,避免输出变成完全均匀分布。论文的消融显示,两者单独使用都会走向不同形式的坍塌,组合后才稳定。

架构上,DINO 不要求改 ViT 主体。网络由 backbone 和 projection head 组成,downstream 特征取 backbone 输出;projection head 使用 3 层 MLP、L2 normalization 和 weight-normalized fully connected layer。对 ViT 而言,一个关键点是全系统可以不依赖 BatchNorm,这使方法比一些需要特殊归一化约束的自监督方法更干净。
数据集
预训练主要在 ImageNet 上进行,但不使用标签。检索实验还在 Google Landmarks v2 的 1.2M clean set 上训练 DINO,用来验证自监督方法可以直接利用无标注领域数据。
评测覆盖多个层面:ImageNet 线性评估和 k-NN 分类,Oxford/Paris 图像检索,INRIA Copydays copy detection,DAVIS 2017 视频目标分割,PASCAL VOC12 自注意力分割质量,以及 CIFAR10、CIFAR100、iNaturalist 2018/2019、Flowers、Cars、ImageNet 等迁移学习任务。
算力
论文给了较清楚的训练配置。ViT-S/16 默认 batch size 为 1024,分布在 16 张 GPU 上训练;学习率按 batch size 线性缩放,AdamW 优化,teacher temperature 从 0.04 warm up 到 0.07。

在两台 8-GPU 机器上训练 ViT-S/16 时,multi-crop 设置越强,显存和时间越高,但精度/时间折中更好。比如 2 个 224 分辨率全局 crop 加 10 个 96 分辨率局部 crop,100 epochs 需要约 24.2 小时、15.4G/GPU,线性评估达到 74.6;300 epochs 约 72.6 小时,达到 76.1。作者也指出,用两台 8-GPU 服务器训练 3 天可以得到 76.1 的 ImageNet 线性评估精度。

batch size 消融说明 DINO 可以在较小 batch 下工作。100 epochs、无 multi-crop 时,batch size 从 128 到 1024 的 top-1 变化并不剧烈,不过小 batch 仍可能需要重新调 momentum 等超参。
实验结果

ImageNet 结果是论文最核心的证据。DINO 在 ResNet-50 上能达到当时自监督方法的强水平,但真正突出的是 ViT:同样 ViT-S 架构下,DINO 线性评估 77.0,k-NN 74.5,明显高于 BYOL、MoCo-v2 和 SwAV 的 ViT 版本。更重要的是,k-NN 几乎接近线性分类器,说明特征空间本身已经被组织得很好。放大到 ViT-B/8 后,线性评估达到 80.1,k-NN 达到 77.4。


检索和 copy detection 验证了这种特征不是只服务于分类。DINO ViT-S/16 在 Oxford/Paris 检索上优于 ImageNet 监督预训练 ViT;当在 GLDv2 上无标注预训练后,检索性能进一步提高。Copydays 上,DINO ViT-B/8 达到 85.5 mAP,高于表中多种监督或专门检索模型设置。


DAVIS 2017 和注意力可视化说明 DINO ViT 的 patch token 保留了空间信息。即使没有为 dense prediction 设计损失,也没有在 DAVIS 上训练额外模型,ViT-B/8 仍达到 71.4 的 (J&F)m。Figure 3 进一步展示不同 attention head 会关注不同物体或部件,这是“自监督 ViT 自动学到场景布局”的主要视觉证据。

监督 ViT 和 DINO ViT 的分割对比更能说明差异。论文用 PASCAL VOC12 的 ground truth 与 attention threshold 后的 mask 计算 Jaccard,相同 ViT-S/8 下,DINO 为 44.7,监督预训练为 23.7,随机初始化为 21.8。这个实验不是说 DINO 可直接替代分割模型,而是说明它的自注意力里确实携带了可被读出的语义边界。

迁移学习上,DINO 预训练的 ViT 在多数下游数据集上优于监督预训练,尤其 ImageNet finetune 上 ViT-S/16 从 79.9 提升到 81.5,ViT-B/16 从 81.8 提升到 82.8。这支持作者的判断:自监督不是只提升无监督评测,也能作为更好的通用视觉预训练。

消融实验把 DINO 的关键组件拆开看。没有 momentum teacher 时模型直接坍塌到 0.1;保留 momentum 后,Sinkhorn-Knopp 不是必要条件;去掉 multi-crop 或把交叉熵换成 MSE 都明显掉点;加 predictor 影响很小。这说明 DINO 的稳定性主要来自 momentum teacher、centering/sharpening 和 multi-crop,而不是复杂的聚类分配或额外预测头。

patch size 对 ViT 特征质量影响很大。减小 patch 会显著提升 k-NN 精度,因为更细的 patch token 给注意力图和局部结构更多表达空间;代价是吞吐下降和显存上升。ViT-S/8 比 ViT-S/16 更适合本文强调的语义布局发现,但这不是免费提升。

teacher 的构造也很关键。直接复制 student 或使用上一 iteration 的 student 都失败;上一 epoch 的 teacher 可以工作但不如 momentum encoder。训练过程中 momentum teacher 长期优于 student,作者将其解释为一种训练中的 Polyak-Ruppert averaging:teacher 像一个随训练推进的模型集成,反过来给 student 提供更高质量目标。

坍塌实验说明 centering 和 sharpening 是互补的。缺少 centering 时输出容易被单一维度支配;缺少 sharpening 时输出倾向均匀分布。两者一起使用时,teacher target entropy 和 teacher-student KL 都能保持在非坍塌状态。
优势与不足
优势
方法非常简洁:同构 student/teacher、EMA teacher、交叉熵、centering 和 sharpening,没有复杂负样本队列或专门聚类求解器。
论文最有价值的点不是刷新单个 benchmark,而是指出自监督 ViT 会自然产生可视化的语义布局和强 k-NN 特征,这对后续视觉基础模型很有启发。
实验覆盖面广,从分类、检索、copy detection 到视频分割和迁移学习,能较完整地说明 DINO 特征的通用性。
对工程复现友好,论文提供了伪代码、batch/显存/耗时表,以及不同组件和 patch size 的消融。
不足
虽然 DINO 比很多早期自监督方法简洁,但训练 ViT 仍然需要较大算力;小 patch 带来的效果提升也会显著降低吞吐。
自注意力分割结果很有启发,但它仍是从 attention map 中读出的性质,不等价于一个可直接部署的分割系统。
消融主要围绕 ImageNet 和 ViT-S 进行,关于更大规模、更复杂分布、长尾数据或非自然图像领域的结论还需要额外验证。
DINO 的 teacher temperature、center momentum、crop 配置等超参仍然重要,论文虽然给出经验配置,但不是完全免调参。
记忆点
自监督 ViT 的 [CLS] attention 能自然浮现物体边界,这是 DINO 最容易记住的现象。
k-NN 评估接近线性评估,说明特征空间本身已经有很强的语义聚类结构。
momentum teacher 不只是稳定训练,还像训练过程中的模型集成,持续给 student 提供更好的目标。
centering 和 sharpening 分别防止两类不同坍塌,二者组合是 DINO 稳定性的关键。
小 patch 对 ViT 自监督特征非常重要,但它用吞吐和显存换取更细的空间结构。










