视觉特征提取器-训练范式02-自监督SSL-自蒸馏01:DINO的稳定教师 + 中心化 + 锐化【避免模型坍塌,对于当前样本:①中心化去掉每个维度的长期偏见;②锐化:放大所有当前维度的差异】

发布时间:2026/9/29 13:34:06

视觉特征提取器-训练范式02-自监督SSL-自蒸馏01:DINO的稳定教师 + 中心化 + 锐化【避免模型坍塌,对于当前样本:①中心化去掉每个维度的长期偏见;②锐化:放大所有当前维度的差异】 DINO 中的中心化与锐化:为什么它们能避免模型坍塌?理解 DINO 中的中心化(centering)和锐化(sharpening),最重要的不是先背公式,而是先回答三个问题:自监督学习为什么会发生模型坍塌(model collapse)?中心化到底“减掉”了什么?锐化为什么只需要调一个温度参数,就能让输出变得更明确?整个逻辑可以先浓缩成一句话:中心化(centering)防止所有样本都跑到同一个输出维度;锐化(sharpening)防止模型对所有维度都给出差不多的概率。两者作用方向相反,因此可以互相制衡。一、先建立场景:DINO 到底在学习什么?假设我们有一张图片xxx。对它进行两种不同的数据增强,例如:第一张裁掉左边;第二张裁掉右边;或者一张改变颜色,另一张改变亮度。得到:x1=Aug⁡1(x)x_1=\operatorname{Aug}_1(x)x1​=Aug1​(x)x2=Aug⁡2(x)x_2=\operatorname{Aug}_2(x)x2​=Aug2​(x)DINO 中存在两个网络:学生网络(student network)教师网络(teacher network)教师看到x1x_1x1​,学生看到x2x_2x2​。我们的目标是:虽然两张图片长得不完全一样,但是它们来自同一张原图,因此教师和学生应该产生相似的表示。可以简单写成:pt(x1)≈ps(x2)p_t(x_1)\approx p_s(x_2)pt​(x1​)≈ps​(x2​)其中:ptp_tpt​表示教师的输出概率;psp_sps​表示学生的输出概率。学生通过训练不断模仿教师。看起来非常合理,但这里隐藏着一个严重问题。二、为什么会出现模型坍塌?1. 模型发现了一种“作弊方法”假设教师和学生都输出三个数字。理想情况下,不同图片应该产生不同结果。例如图片 A:[0.8,0.1,0.1][0.8,0.1,0.1][0.8,0.1,0.1]图片 B:[0.1,0.8,0.1][0.1,0.8,0.1][0.1,0.8,0.1]图片 C:[0.1,0.1,0.8][0.1,0.1,0.8][0.1,0.1,0.8]说明模型能够区分不同图片。但是模型可能发现:如果不管输入什么图片,我永远输出同样的答案,那么教师和学生不就永远一致了吗?例如所有图片都输出:[1,0,0][1,0,0][1,0,0]那么对于任意图片:pt(x)=ps(x)=[1,0,0]p_t(x)=p_s(x)=[1,0,0]pt​(x)=ps​(x)=[1,0,0]教师和学生确实完全一致。训练损失可能也很低。但是问题在于:模型虽然完成了“教师和学生保持一致”这个任务,却完全没有学习到图片之间的区别。这就是模型坍塌(model collapse)。三、坍塌其实有两个不同的极端理解这一点,是理解中心化和锐化的关键。第一种:单一维度坍塌假设无论输入什么图片,模型都输出:[0.98,0.01,0.01][0.98,0.01,0.01][0.98,0.01,0.01]第一维永远特别大。也就是说:所有图片都被认为属于同一个方向。可以把这种情况称为单一维度主导(single-dimension domination)。第二种:均匀坍塌还有另一种极端。无论输入什么图片,模型都输出:[1/3,1/3,1/3][1/3,1/3,1/3][1/3,1/3,1/3]看起来似乎没有某个维度统治其他维度。但是所有图片依然完全相同。所以这仍然是坍塌。这种情况可以称为均匀坍塌(uniform collapse)。因此,我们面对两个相反的危险:[1,0,0]和[1/3,1/3,1/3][1,0,0]\qquad\text{和}\qquad[1/3,1/3,1/3][1,0,0]和[1/3,1/3,1/3]DINO 的设计非常巧妙:中心化(centering)主要阻止第一种情况;锐化(sharpening)主要阻止第二种情况。四、模型的输出是怎样变成概率的?假设教师网络最后产生KKK个数字:z=[z1,z2,…,zK]z=[z_1,z_2,\dots,z_K]z=[z1​,z2​,…,zK​]这些数字叫做logits(未归一化分数)。例如:z=[2,1,0]z=[2,1,0]z=[2,1,0]它们本身不是概率。为了变成概率,需要经过Softmax 归一化(softmax normalization):pi=exp⁡(zi/τ)∑j=1Kexp⁡(zj/τ)p_i=\frac{\exp(z_i/\tau)}{\sum_{j=1}^{K}\exp(z_j/\tau)}pi​=∑j=1K​exp(zj​/τ)exp(zi​/τ)​其中τ\tauτ叫做温度(temperature)。最终得到:p=[p1,p2,…,pK]p=[p_1,p_2,\dots,p_K]p=[p1​,p2​,…,pK​]并且:∑i=1Kpi=1\sum_{i=1}^{K}p_i=1i=1∑K​pi​=1为了方便理解,高中阶段可以暂时把pip_ipi​想象成:模型对“第iii个潜在类别”的偏好程度。需要注意:DINO 并没有真正人工定义“类别 1 是猫、类别 2 是狗”,这里的“类别”只是帮助理解。五、中心化到底是什么?先记住一个最简单的统计学操作。假设三个人的成绩为:80,90,10080,\ 90,\ 10080,90,100平均值是:xˉ=90\bar{x}=90xˉ=90每个人减去平均数:80−90=−1080-90=-1080−90=−1090−90=090-90=090−90=0100−90=10100-90=10100−90=10于是:[80,90,100]→[−10,0,10][80,90,100]\rightarrow[-10,0,10][80,90,100]→[−10,0,10]原来的数据围绕 90 分布。减去平均值以后,数据围绕 0 分布。这就是最基本的“中心化”。六、DINO 中为什么也需要中心化?假设教师网络有三个输出维度。观察大量图片以后发现:c=[10,2,1]c=[10,2,1]c=[10,2,1]也就是说:第一维平均输出大约是 10;第二维平均输出大约是 2;第三维平均输出大约是 1。这说明第一维存在一个非常严重的“天然偏高”。现在三张图片分别得到:zA=[12,3,2]z_A=[12,3,2]zA​=[12,3,2]zB=[11,4,1]z_B=[11,4,1]zB​=[11,4,1]zC=[13,2,2]z_C=[13,2,2]zC​=[13,2,2]只看原始数字,会发现:每一张图片都是第一维最大。如果直接经过 Softmax,很可能所有图片都变成:[1,0,0][1,0,0][1,0,0]于是发生单一维度坍塌。但注意:第一维很大,不一定说明这张图片真的特别属于第一维。也可能只是:第一维平时本来就特别大。因此我们应该去掉这种“长期偏置”。七、中心化具体做什么操作?最直观的形式是:z′=z−cz'=z-cz′=z−c也就是:当前输出减去长期平均输出。对于图片 A:zA′=[12,3,2]−[10,2,1]z'_A=[12,3,2]-[10,2,1]zA′​=[12,3,2]−[10,2,1]得到:zA′=[2,1,1]z'_A=[2,1,1]zA′​=[2,1,1]对于图片 B:zB′=[11,4,1]−[10,2,1]z'_B=[11,4,1]-[10,2,1]zB′​=[11,4,1]−[10,2,1]得到:zB′=[1,2,0]z'_B=[1,2,0]zB′​=[1,2,0]对于图片 C:zC′=[13,2,2]−[10,2,1]z'_C=[13,2,2]-[10,2,1]zC′​=[13,2,2]−[10,2,1]得到:zC′=[3,0,1]z'_C=[3,0,1]zC′​=[3,0,1]现在情况发生了变化。原来:三张图片第一维都最大。中心化以后:A 更偏向第一维;B 更偏向第二维;C 更偏向第一维。这时网络开始表现出样本之间的区别。八、中心化真正减掉的是什么?可以把网络输出想象成两部分:当前输出=长期偏置+当前图片真正带来的变化\text{当前输出}=\text{长期偏置}+\text{当前图片真正带来的变化}当前输出=长期偏置+当前图片真正带来的变化例如:z=[10+a,2+b,1+c]z=[10+a,2+b,1+c]z=[10+a,2+b,1+c]其中:[10,2,1][10,2,1][10,2,1]是各个维度长期存在的平均偏置。真正由当前图片决定的是:[a,b,c][a,b,c][a,b,c]如果中心为:ccenter≈[10,2,1]c_{\text{center}}\approx[10,2,1]ccenter​≈[10,2,1]那么:z−ccenter≈[a,b,c]z-c_{\text{center}}\approx[a,b,c]z−ccenter​≈[a,b,c]因此,中心化真正做的事情是:去掉“这个神经元平时就很大”的影响,只看“这张图片让它比平时高了多少”。这是理解中心化最重要的一句话。九、中心ccc是怎样计算出来的?DINO 使用下面的更新公式:c←mc+(1−m)1B∑i=1Bgθt(xi),(4)c\leftarrow mc+(1-m)\frac{1}{B}\sum_{i=1}^{B}g_{\theta_t}(x_i),\tag{4}c←mc+(1−m)B1​i=1∑B​
延伸阅读

更多相关文章

2026/9/27 17:42:35

3步解锁中文GitHub:告别语言障碍的智能翻译方案

3步解锁中文GitHub:告别语言障碍的智能翻译方案 【免费下载链接】github-chinese GitHub 汉化插件,GitHub 中文化界面。 (GitHub Translation To Chinese) 项目地址: https://gitcode.com/gh_mirrors/gi/github-chinese 想象一下这样的场景&#…

2026/9/29 2:31:31

spring三级缓存解决循环依赖问题

spring三级缓存(解决循环依赖) 什么是循环依赖 多个 Bean 互相依赖对方,形成闭环。 //A依赖B Component public class A{Autowiredprivate B b; }//B依赖A Component public class B{Autowiredprivate A a; }A 需要 B 才能完成创建,B 又需要 A 才能完成创…

2026/9/26 15:35:47

PHP文件包含机制解析与安全实践指南

1. PHP外部文件包含机制的本质与历史演进 PHP的外部文件包含机制(File Inclusion)是这门语言最基础也最危险的功能之一。include和require语句自PHP 3时代就已存在,其设计初衷是为了解决代码复用问题。在早期PHP项目中,开发者通过…

2026/9/29 13:29:53

英语情景教学Agent架构设计与工程落地

1. 为什么“英语情景教学Agent”不能只靠一个大模型调用就完事?我去年带一个教育科技团队做AI口语陪练产品时,第一版原型就是简单把用户语音转文字丢给大模型,再把回复转成语音播出来。表面看流程跑通了:学生说“Where’s the nea…

2026/9/29 13:29:53

YOLOv11遥感建筑物检测:多尺度小目标优化实战

简介:这份PDF文档面向遥感图像处理与目标检测方向的学习者、研究人员及工程实践者,聚焦YOLOv11在多尺度建筑物检测中的训练技巧与数据增强方案,帮助读者应对复杂遥感场景下小目标漏检、尺度差异大、样本稀缺等实际问题。文档共38页&#xff0…

2026/9/29 13:29:53

重庆会议室舞台音响灯光选购与部署实战指南

很多刚接手会议室或小型活动场地搭建的朋友,常会遇到这样的尴尬:花大价钱买的音响设备,开会时却听不清人声,甚至产生刺耳的啸叫;灯光打下来,要么嘉宾脸上阴影重重,要么屏幕反光严重看不清 PPT。…

2026/9/29 13:29:53

AI大模型赋能数字化林业平台:从巡护日志到智能问答的落地实践

简介:这份PPT方案面向林业信息化管理者、智慧林业方案设计者及AI大模型行业应用研究者,系统梳理了AI大模型赋能数字化林业平台的建设路径,帮助读者理解如何将大模型能力落地到林业资源管理场景。资源包共1个pptx文件,大小约442KB&…

2026/9/29 11:07:23

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/9/28 6:05:15

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/29 7:00:49

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/29 0:04:04

AI Evals实战指南:从零搭建LLM应用评估体系与CI/CD集成

1. 为什么AI Evals值得你花时间搞明白做LLM应用的人,迟早会撞上同一堵墙:模型输出飘忽不定,今天答得好好的,明天换个问法就胡说八道。你改了一版提示词,感觉好像好了点,但到底好了多少?说不清。…

2026/9/29 0:04:04

Java采购管理系统实战:从数据库设计到事务一致性

简介:这是一套面向Java Web初学者与课程设计者的采购管理系统完整源码,采用JSP技术搭建,配合MySQL数据库,用于解决企业采购信息的管理问题,适合作为毕业设计、课程大作业或进销存类项目的参考模板。系统实现了用户登录…

2026/9/29 3:53:39

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/29 9:46:12

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/29 6:36:14

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑