Scale Decoupled Distillation

摘要

Logit知识蒸馏因其实用性在近年来的研究中越来越受到重视。然而,与特征知识蒸馏相比,它的性能往往较差。在本文中,我们认为现有的基于Logit的方法可能是次优的,因为它们只利用了耦合多个语义知识的全局Logit输出。这可能会把模棱两可的知识传递给学生,误导他们学习。为此,我们提出了一种简单而有效的logit知识蒸馏方法,即尺度解耦蒸馏(SOD)。SOD**将全局logit输出解耦为多个局部logti输出,并为它们建立蒸馏管道。这有助于学生挖掘和集成细粒度和明确的logit知识。**此外,解耦后的知识可以进一步划分为传递语义信息的一致logit知识和传递样本歧义的互不logit只是。通过增加互补部分的权重,SOD可以引导学生更多的关注模棱两可的样本,提高其辨别能力。

介绍

迄今为止,已经提出了许多logit蒸馏方法,大致可分为两类。第一组旨在通过引入多个分类器或通过自监督学习来提取丰富的Logit知识。第二组旨在通过动态温度或知识解耦等技术优化知识转移。虽然,这些方法取得了很好的结果,但我们认为他们导致次优结果,因为他们仅仅依赖于整个输入的全局logit知识。

具体来说,整幅图像通常耦合多个类别信息,从而导致误分类。一方面,两个类可能属于同一个超类,在他们的样本中共享相似的全局信息。如图1(a)第一列所示,第5类和第6类都属于超类“鱼”,并且具有相似的形状。此外,

image-20240430184746636

如图1(a)第二列所示,场景可能包含来自多个类的信息,例如类6和类983,从而创建语义混合的logit输出。因此,全局logit输出融合了各种细粒度的语义知识。这可能会将模棱两可的知识转移给学生,误导其学习,导致次优表现。

为此,我们提出了SOD方法,通过在尺度水平上解耦Logit输出来辅助logit蒸馏。具体而言,如图1(b)所示,SOD将整个输入的logit输出解耦为多个局部区域的logit输出。然而,SOD将解耦后的logit输出按类进一步划分为一致项和互补项。一致项与全局logit输出属于同一类,将对应类的多尺度知识传递给学生。互补项属于不同于全局Logit输出的类,为学生保留样本的模糊性,避免了对模糊样本的过拟合。最后,SOD对所有logit输出进行蒸馏,将教师的综合知识传递给学生,提高其对模糊样本的识别能力。

总的来说,我们的贡献以及与现有方法的区别如下

(1)我们揭示了多类知识耦合导致的经典logit蒸馏的局限性。这阻碍了学生对模棱两可的样本继承准确的语义信息。1)

(2)提出了一种简单而有效的logit知识蒸馏方法,即SOD方法。SOD将全局Logit输出解耦为一致和互补的局部logit输出,并为它们建立蒸馏管道,以挖掘和转移更丰富和明确的语义知识。

方法

本节中,我们将回顾传统的KD,然后描述所提出的尺度解耦知识蒸馏的细节。

Notation. 给定图像输入x,设T和S分别表示教师和学生网络。我们将这些网络分为两部分:

(1)一个卷积特征提取器image-20240430190337842image-20240430190349678,则倒数第二层的特征映射记为image-20240430190419214image-20240430190432012,其中image-20240430190539310特征通道数,image-20240430190518838为空间维度。

(2)另一个是投影矩阵image-20240430190631195,它将从image-20240430190641917中提取的特征向量投影到K类logitimage-20240430190710641.。然后,令image-20240430190748899image-20240430190756448表示image-20240430190828027所在位置(i,j)处的特征向量。根据[6,12]中的感受野理论,image-20240430190919843可以看做是x中区域image-20240430190950101的表示。

传统知识蒸馏

知识蒸馏的概念是在[7]中首次提出的,通过以下损失将教师到学生的logit知识提炼出来。

image-20240430191151381

image-20240430191221046表示softmax方法,image-20240430191227109表示KL散度。

由于全连接层的线性,image-20240430191300597可以改写为:

image-20240430191306297

image-20240430191338996分别表示教师和学生的logit输出映射。

从上面的方程中,我们可以看到,传统的基于logit的蒸馏只利用平均logit输出,混合了从不同的局部特征向量计算的不同的局部logit知识。然而,如图1(a)所示,不同的局部输出通常包含不同的语义信息。简单地将它们融合在logit输出中会将模糊的知识传递给学生并误导其学习。

为了克服这一挑战,我们提出了在尺度水平上解耦logit输出的SOD,以挖掘更丰富和明确的logit知识供学生学习。

尺度解耦知识蒸馏

SDD如图2(b)所示。

image-20240430192012092

SDD包含两部分:多尺度池化和信息加权。具体地,给定教师和学生的logit输出图,即image-20240430192142014。多尺度池化在不同尺度上运行平均池化,并获取输入图像不同区域的logit输出。与只考虑全局logit知识的传统KD相比,这有助于为学生保留具有清晰语义的细粒度知识。然后,对每个尺度的logit输出建立知识蒸馏管道。最后,对于类与全局Logit不一致的局部logit,信息加权增加了蒸馏损失的权重。这引导学生网络更加关注局部和全局类别不一致的模糊样本。

具体来说,多尺度池化把logit输出映射划分为不同尺度的单元,并执行平均池化操作作为聚合每个单元中的logit知识。image-20240430192707506表示第n个单元格在第m个尺度下的空间箱,image-20240430192725855表示该单元格对应的输入区域。image-20240430192753803表示教师对image-20240430192826896区域的logit输出,也就是这个单元格的logit知识的聚合。

image-20240430192859344

(j,k)表示C(m,n)中logit输出的坐标。学生对同一区域image-20240430193403264的对数配对输出为image-20240430193442982

image-20240430193452406

其中m和n与image-20240430193659740中的相同。对于没对logit输出,将区域Z(m,n)处的logit知识从教师传递给学生的蒸馏损失D(m,n)定义如下:

image-20240430193816254

image-20240430193914199为传统的基于对数的蒸馏损失,如[7]中的KL散度和[24]中的解耦损失。遍历所有尺度m中image-20240430194011688及其对应的细胞image-20240430194020276image-20240430194025376,我们可以得到最终的SDD损失如下:

image-20240430194033110

此外,我们可以进一步将解耦后的logit输出通过其类进一步分为两组。一种是与全局logit输出属于同一类的一致项。另一个是来自全局logit输出的属于不同类的互补项。在这里,一致的术语将相应班级的多尺度知识传递给学生。补充术语为学生保留了样本的模糊性。具体来说,当全局预测正确而局部预测错误时,不一致的局部知识鼓励学生保持样本的模糊性,避免了模糊样本的过拟合。另一方面,当全局预测错误而局部预测正确时,不一致的局部知识可以鼓励学生从不同类别的相似组件中学习,减轻教师造成的偏见。

在这里,我们为互补项引入独立的超参数来控制正则化水平,image-20240430195254317可以重写为:

image-20240430195259277

image-20240430195333588分别为logit一致知识和互补知识的损失和。

最后,根据标签监督,学生利用教师的多尺度模式来提高绩效的总训练损失定义如下:

image-20240430195423048

image-20240430195458249表示标签监督损失,image-20240430195506241是一个平衡因子。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/679764.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mamba结构的Demo源码解读

文章目录 前言一、mamba结构构建辅助函数解读1、dataclass方法解读2、Norm归一化LayerNormRMSNormRMSNorm源码 3、nn.Parameter方法解读 二、mamba原理二、mamba模型构建1、主函数入口源码解读2、Mamba类源码解读 三、ResidualBlock的mamba结构源码解读四、MambaBlock构成Resid…

我独自升级崛起怎么玩 我独自升级崛起游玩教程分享

《我独自升级:ARISE》是一款预计在 Android、iOS 和 PC 平台推出的动作 RPG,故事内容基于网络漫画版本改编,讲述世界各地出现「次元传送门」,而少部分人类觉醒了可以对抗传送门中怪物的「猎人」能力,玩家可以在故事模式…

Python解释器3.8.2版本安装详细教程

Python解释器提取链接链接: https://pan.baidu.com/s/1eDvwYmUJ4l7kIBXewtN4EA?pwd1111 提取码:1111 演示版本为3.6.8,链接安装包为3.8.2版,包中附加pytharm安装包。 1.双击提取好的python-exe安装文件,会…

类和对象-Python-第一部分

初识对象 使用对象组织数据 class Student:nameNonegenderNonenationalityNonenative_placeNoneageNonestu_1Student()stu_1.name"林军杰" stu_1.gender"男" stu_1.nationality"中国" stu_1.native_place"山东" stu_1.age31print(stu…

天天搞3D模型可视化大屏,怎能不懂点three.js知识。

three.js是一个基于WebGL的JavaScript库,用于在网页上创建交互式的3D图形和动画。对于可视化大屏来说,three.js具有以下价值: 丰富的3D效果:通过three.js,可以实现各种丰富多样的3D效果,如旋转、缩放、平移…

在4*4*4范围内3点结构的占比

在4*4*4的3维空间内取3个点有64*63*62/641664种取法,但在xy,xz,yz面可自由变换的条件下只有29个不同的结构。 结构 数量 1 64 8 64 20 64 第一种情况3个点共两面,图中结构就是1,1绕着z轴旋转得到8&#xff0c…

Twitch赠送暗区突围测试资格 超简单暗区突围测试资格领取教程

作为直播界的领航者,Twitch平台不仅是全球游戏文化直播的中心舞台,更是频繁联袂各路游戏大作,为粉丝们奉上别具匠心的互动盛宴,让观赛的同时解锁诱人的游戏内惊喜。正值《暗区突围》PC版测试的热潮涌动,Twitch乘势加强…

OpenMV 图像串口传输示例

注意:本程序根据 OpenMV采集图片通过串口发送,PC接收并保存为图片 更改。 一、例程说明 这个例程主要实现了以下功能: 1. OpenMV 端采集图像:使用OpenMV开发板上的摄像头采集实时图像数据。 2. 通过串口传输图像数据:将采集到的图像数据打包成字节流,…

现身说法暑期三下乡社会实践团一个好的投稿方法胜似千军万马

作为一名在校大学生,去年夏天我有幸参与了学院组织的暑期大学生三下乡社会实践活动,这段经历不仅让我深入基层,体验了不一样的生活,更是在新闻投稿的实践中,经历了一次从传统到智能的跨越。回忆起那段时光,从最初的邮箱投稿困境,到后来智慧软文发布系统的高效运用,每一步都刻印…

移动端底层事件(如左滑返回事件)在同一个路由下不同页面需要不同的处理要怎样才能做到统一处理?

目录 一、问题 二、解决方法 三、总结 tiips:如嫌繁琐,直接移步总结即可! 一、问题 1.测试提了个bug:进入了一个模块A里面的子页面 a1,左滑后按照用户预期应该是返回到模块A,结果回到了app首页。 二、解决方法 1.一开始:啊,…

【C语言】字符函数和字符串函数--超详解

前言: 在编程的过程中,我们经常要处理字符和字符串,为了⽅便操作字符和字符串,C语⾔标准库中提供了 ⼀系列库函数,接下来我们就学习⼀下这些函数。 1. 字符分类函数 C语⾔中有⼀系列的函数是专⻔做字符分类的&#…

【SDN:逻辑上集中的控制平面,路由选择算法,LS路由工作过程,距离矢量路由选择(distance vector routing)】

文章目录 SDN:逻辑上集中的控制平面SDN的主要思路SDN控制平面和数据平面分离的优势SDN 架构: 数据平面交换机 路由选择算法路由(route)的概念最优化原则(optimality principle)路由的原则路由算法的分类LS路由工作过程(相当于一个上帝)链路状…