Skip to Content
AlgorithmCvDINO的创新与突破

DINO的创新与突破

  1. 自蒸馏机制

DINO实现了一种新颖的”自蒸馏”方法,其中教师和学生网络具有相同的架构,但教师网络的参数通过指数移动平均(EMA)更新,这种设计避免了模式崩塌问题

  1. 使用transformer

DINO成功地将自监督学习与Vision Transformers结合,发现了ViT在自监督学习中的独特性质,特别是其注意力机制能够自然地分割出语义相关的图像区域

  1. 无标签学习的突破

与之前需要大量数据增强或复杂对比学习策略的方法不同,DINO通过简单的自蒸馏实现了优异的性能,展现了”无标签蒸馏”的强大潜力

DINO网络预测的什么

  1. 预测的核心:概率分布

在DINO中,学生网络学习预测的是教师网络输出的概率分布。概率P是通过使用Softmax激活函数对网络g的输出进行归一化计算得出的 学生网络被训练来匹配教师网络的输出分布(特征相似性上的softmax概率)。

  1. 具体的预测目标

就是说学生网络和教师网络都会输出高维特征向量。这些特征向量通常是数千维的嵌入表示,编码了图像的丰富语义信息

学生网络预测的是教师网络对图像特征的概率分布输出。这些概率分布反映了模型对图像不同语义概念的置信度

[!important] 学生预测教师网络得到输出可以理解为,验证这个输出是不是两个模型的共识, 但是这里有个核心问题,凭什么两个模型输出一致就是有意义的,为什么不随便拿一个图片或者随便找一个模型, 这样对于相同的输入输出不也应该是一致的么。所以什么让自蒸馏有效

为什么自蒸馏有效

任何随机初始化的模型对同一输入确实会产生一致的输出。但问题是,没有约束的自监督学习会导致模式坍塌 - 所有输入都映射到相同的表示,这样虽然一致但毫无意义

如何避免模式崩塌

  1. 中心化 (Centering)

DINO使用中心化技术确保特征是零中心的,防止某一个维度主导整个表示空间。中心化阻止了模型坍塌到单一维度,但可能会鼓励坍塌到均匀分布

  1. 锐化 (Sharpening)

锐化技术通过温度参数调节softmax的尖锐程度,与中心化产生相反的效果。锐化鼓励模型产生更加确定性的预测,防止坍塌到均匀分布

  1. EMA的关键作用

EMA不是简单的复制,而是让教师网络渐进式地积累知识。教师网络的参数是学生网络历史参数的指数移动平均,这创造了一个更稳定、更成熟的”导师”

为什么EMA能产生有意义的特征

  1. 多样性与一致性的平衡

DINO的巧妙之处在于同时使用中心化和锐化:中心化防止单维度主导,锐化防止均匀分布坍塌。这两个机制的结合创造了一个”甜蜜点”,既保持多样性又避免坍塌

  1. 自举式的特征学习

通过EMA,教师网络实际上是学生网络的”未来版本”,这创造了一个自举循环:学生学习更好的特征 → 教师通过EMA获得这些特征 → 教师指导学生学习更好的特征

中心化 (Centering) 的直观理解

想象你有一个班级的考试成绩:[60, 70, 80, 90, 100]

  • 原始平均分:80分
  • 中心化后:[-20, -10, 0, 10, 20](每个分数减去平均分)
  • 新的平均分:0分

在DINO中,中心化就是让所有特征向量的平均值变成零向量

为什么要中心化?

假设没有中心化,模型可能学会这样的”作弊”策略:

  • 对所有图片都输出 [100, 0, 0, 0, …]
  • 这样所有图片的特征都一样,但第一个维度”主导”了整个空间

中心化强制要求:如果某个维度很大,其他维度就必须相应变小,保持平衡

中心化的副作用

但中心化会推动模型走向另一个极端:均匀分布

  • 比如输出变成 [0.25, 0.25, 0.25, 0.25]
  • 所有维度都一样,没有任何区分度

锐化 (Sharpening) 的直观理解

在softmax中,温度参数τ控制分布的”尖锐程度”:

原始logits: [2, 1, 0]

高温度 (τ=2): $P_i = \frac{e^{x_i/2}}{\sum_j e^{x_j/2}} = [0.42, 0.31, 0.27]$ (比较平均)

低温度 (τ=0.5):
$P_i = \frac{e^{x_i \times 2}}{\sum_j e^{x_j \times 2}} = [0.84, 0.12, 0.04]$ (很尖锐)

锐化使用低温度,让模型的预测更加”确定”

  • 不允许输出 [0.25, 0.25, 0.25, 0.25](太平均了)
  • 鼓励输出 [0.8, 0.1, 0.05, 0.05](有明确偏好)
Last updated on