DINO#
DINO 是什么#
DINO 全称是 Self-Distillation with No Labels,是 Meta AI 在 2021 年提出的自监督视觉表示学习方法。
这里的 DINO 指的是自监督视觉模型 DINO,不是目标检测里的 DINO/DETR 系列。
它想解决的问题是:不用人工标签,能不能让视觉模型自己从图片中学到有用的语义表示。
传统监督学习需要大量标注,例如“这张图是狗”“这张图是车”。DINO 不使用这些标签,而是让模型通过同一张图片的不同视角互相学习。
为什么提出 DINO#
视觉模型长期依赖人工标注,但标注数据有几个问题:
成本高,尤其是检测、分割、机器人操作数据。
类别有限,难以覆盖真实世界。
标注标准可能不一致。
机器人场景中很多对象、状态和 affordance 很难用简单标签描述。
DINO 的目标是让模型从原始图片本身学习结构和语义。它不问“这张图的类别是什么”,而是问:
同一张图片被裁剪、增强成不同视角后,模型是否还能知道它们来自同一个对象或场景?
核心技术讲解#
自监督学习:没有人工答案,也能构造训练任务#
自监督学习的关键是从数据本身构造监督信号。
比如给一张图片做两种增强:
一个全局视角:看到整只鸟。
一个局部视角:只看到鸟头。
人能知道它们可能来自同一张图。DINO 希望模型也学会这种一致性。
Teacher-Student 结构#
DINO 使用 teacher 和 student 两个网络。
Student:正常参与训练,通过梯度更新。
Teacher:不直接反向传播,而是由 student 参数的滑动平均更新。
可以把 teacher 理解成一个“更稳定的自己”。student 学习 teacher 对不同图像视角的输出。
这个过程叫 self-distillation:不是大模型教小模型,而是模型在训练过程中用自己的稳定版本教自己。
Multi-crop:从全局和局部视角学习#
DINO 会对同一张图片生成多个 crop:
大 crop 保留更多全局信息。
小 crop 只包含局部区域。
模型被要求让这些不同视角的输出保持一致。这会鼓励它学到对象级语义,而不是只记住像素细节。
为什么 DINO 和 ViT 搭配效果好#
DINO 论文中一个很有意思的现象是:当它和 Vision Transformer 结合时,注意力图会自然关注到图像中的前景对象。
这说明模型在没有分割标签的情况下,也可能学出某种“对象感”。这对具身智能很重要,因为机器人经常需要知道:
图中哪些区域是物体。
物体和背景如何区分。
局部部件和整体对象是什么关系。
DINO 学到的视觉特征经常可以迁移到分类、检索、分割等任务。
和 CLIP 的区别#
DINO 和 CLIP 都是重要的视觉基础方法,但监督信号不同:
方法 |
监督来源 |
学到的能力 |
|---|---|---|
CLIP |
图文对 |
图像和语言语义对齐 |
DINO |
同一图像的不同增强视角 |
无标签视觉结构和对象表征 |
可以粗略理解为:
CLIP 更擅长“这张图和哪句话匹配”。
DINO 更强调“图像内部有什么结构,哪些区域像对象”。
和具身智能的关系#
具身智能中的视觉系统不只需要知道图片类别,还要理解场景结构。
例如机器人抓取时,需要知道:
目标物体在哪。
物体边界在哪里。
背景和前景如何区分。
不同视角下同一个物体是否一致。
DINO 这类自监督视觉表示可以作为基础视觉特征,帮助机器人在标注较少的情况下学习更好的感知能力。
在一些系统里,DINO 特征也会被用于:
无监督/弱监督目标发现。
视觉匹配和跟踪。
场景表征。
给下游策略模型提供视觉 embedding。
小结#
DINO 的核心思想是:不依赖人工标签,让模型通过同一图像的不同视角进行自蒸馏,从而学到视觉语义和对象结构。
它的重要意义在于证明:视觉模型可以从大量无标注图像中学出很强的表示,甚至出现类似对象分割的注意力现象。
参考#
Caron et al., Emerging Properties in Self-Supervised Vision Transformers, 2021.