DINOv2: Learning Robust Visual Features without Supervision
Oquab et al. (Meta FAIR)
把 DINO 的 self-distillation + 142M 精挑数据 + iBOT 风格 patch-level loss 推到 ViT-g (1.1B),产出可直接用于多种下游任务的「通用视觉特征」。
arXiv:2304.07193核心贡献
- 01数据:自动 pipeline 从原始 1.2B 图片去重 + 检索 + curate 出 142M LVD-142M
- 02训练稳定化:KoLeo loss 让特征均匀分布;iBOT masked image modeling 加 patch-level 自监督
- 03Scaling:ViT-g (1.1B) + Sequence Packing + 高效 attention 实现
- 04无需 fine-tune 的全能特征:linear probe / k-NN / dense prediction / VLM 视觉塔均 SOTA
- 05成为 LLaVA 后续版本、Depth Anything、Grounding DINO 的默认视觉 backbone
DINOv2 = DINO 框架 + 大数据 + iBOT patch loss + scaling。核心思路没变(self-distillation, multi-crop, centering, sharpening),主要是工程化。
技术贡献集中在 3 块:
- 数据 pipeline:从原始 1.2B 图片,用预训练 embedding 做近邻去重 + 用 ImageNet/Google Landmarks 等 curated 数据集做查询找相似图,最终筛 142M (LVD-142M)
- 训练目标:DINO loss (image-level) + iBOT loss (patch-level masked prediction) + KoLeo regularizer (encourage feature uniformity on hypersphere)
- 架构稳定化:
FlashAttention、sequence packing、registers (DINOv2 后续 paper) 等让 ViT-g 能稳定训练
vs CLIP 用于 VLM? DINOv2 的 patch token 有更强的 dense / spatial semantic(segmentation map 直出),CLIP 的 [CLS] embedding 更强 image-text alignment。LLaVA-1.5 之后逐渐用 DINOv2 + CLIP 双塔或纯 DINOv2 + alignment 训练。
DINOv2 vs DINOv3? DINOv3 (2024) 扩到 7B 参数,多分辨率训练,dense 任务再次提升。但 DINOv2 仍是工业部署主力——开源、checkpoint 全公开、license 友好。
registers 是什么? DINOv2 后续 paper 发现 ViT-L+ 的 attention map 会出现「artifact tokens」(高范数、低信息),加入 4-8 个可学习 register token 吸收这些 outliers 后 dense 任务再涨。
为什么不流行 contrastive? Contrastive SSL (SimCLR/MoCo) 在 ImageNet 上不输 self-distillation,但 transfer 到 dense 任务 (det/seg) 时 DINO 系明显更好。原因可能是 contrastive 鼓励 instance-level discrimination,而 self-distillation 让每个 patch 都参与一致性预测,自然更适合密集预测。