KNOWLEDGE DISTILLATION BASED ON TRANSFORMED TEACHER MATCHING

摘要

温度标度作为logit匹配和概率分布匹配的bridge技术,在知识蒸馏(KD)中起着至关重要的作用。传统上,在蒸馏中,温度标度适用于教师的logits和学生的logits。在本文中,受到最近一些研究成果的启发,我们放弃了学生方面的温度缩放,并系统地研究了KD的结果变体,称为转化教师匹配(TTM)。通过将温度标度重新解释为概率分布的幂变换,我们发现与原始KD相比TTM在其目标函数中具有固定的Renyi熵项,该熵项作为额外的正则化项。大量的实验结果表明,由于这种固有的正则化,TTM使训练后的学生比原始KD具有更好的泛化能力。为了进一步提高学生对教师权力转换概率分布的匹配能力,我们在TTM中引入了一个样本自适应加权系数,得到了一种新的加权TTM方法(WTTM)。

介绍

在文献中,KD通常被表述为最小化后续损失:

image-20240505190458616

其中,image-20240505190802900为标签y对应的one-hot概率分布与学生输出概率分布q之间的交叉熵损失,即ERM的典型损失。image-20240505190912537为教师的温度标度输出概率分布与学生的温度标度输出概率分布之间的KL散度,T是蒸馏温度,image-20240505190945100是平衡权值。注意image-20240505191107138image-20240505191119151,给定教师的logits v 和学生的logits z,其中image-20240505191132652表示softmax函数。

温度T以上的使用是KD的一个关键特征。一方面,它提供了在类概率分布匹配和logits匹配之间建立bridge的方法。实际上,Hinton表明,当T趋于无穷时,KD等于他的logits匹配前代。另一方面,它也将KD与logits匹配方法区分开来,因为在实践中,温度T的经验最优值通常是相当适中的。此外,对温度T的作用以及公式(1)中的KD为什么能帮助学生更好的学习的理解很少。特别是,自然会产生以下问题:

1、为什么温度T必须同时应用于学生和教师呢?

2、只对教师施加温度,而不对学生施加温度T,会不会更好?

到目前为止,上述问题的答案充其量是难以琢磨的。

本文的目的是解决上述问题。首先,我们从理论和实验两方面证明,上述问题2的答案是肯定的,最好是在学生方面完全降低温度T——KD的结果变体被称为转化教师匹配(TTM),并将其表述为最小化以下目标:

image-20240505192640709

是一个平衡权值。具体而言,我们证明(1)logits的温度标度相当于概率分布的幂变换。(2)与KD相比,TTM在其目标函数(2)中具有固有的Renyi熵项。正是这种固有的Renyi熵,作为一个额外的正则化项,因此改进了KD。大量的实验结果进一步证实了这一理论分析。大量的实验表明,由于这种固有的正则化,TTM导致训练后的学生具有更好的泛化能力。其次,为了进一步提高学生对教师power转换概率分布的匹配能力,我们在TTM中引入了样本自适应加权系数,得到了一种新的加权TTM(WTTM)方法。WTTM很简单,其计算复杂度与KD几乎相同。然而,他是非常有效的。大量的实验表明,该方法在准确率方面明显优于KD,在TTM的基础上有所改进,达到了最先进的准确率性能。例如,从ResNet34提取的ResNet18,WTTM在ImageNet上的分类准确率可以达到72.19%,由于大多数高度复杂的基于特征的蒸馏方法。

温度T下降完全在学生方面,TTM和WTTM,连同KD的标准观点和新成立的上限错误率的交叉熵image-20240505194328672之间的事实,但往往给定一个输入样本x的标签y的未知条件概率分布image-20240505194544281和输出q模型的响应输入x。Yang等人对为什么KD有用提供了新的解释。首先,KD中教师的目的是为未知的真条件概率分布image-20240505194802637提供一个适当的估计,是对应于标签y的one-hot向量与幂变换之后的教师概率分布image-20240505194925151的线性组合。其次,温度T对教师的作用是提高这一估计。第三,用变换后的教师的估计值替换image-20240505200010444,KD中的学习过程是简单地最小化错误率的交叉熵上界,这改进了标准深度学习过程,其中交叉熵上界中的image-20240505200119805初步近似于与标签y对应的one-hot向量。

背景和相关工作

CONFIDENCE PENALTY

在多分类设置中,神经网络响应输入样本的输出是一个有K个条目的概率向量和分布q,其中K是所有可能类别的数量,概率最高的类别是神经网络对该特定样本的预测。通常,如果相应的q将其大部分概率质量集中在被预测的类别上,则预测被认为是可信的。Szegedy指出,如果一个模型对其预测过于自信,那么它往往会遭受到过拟合。为了避免过拟合和提高泛化,Pereyra等人提出对自信预测进行惩罚。由于自信预测通常对应于低熵的q,他们通过在学习过程的目标函数中引入负熵正则化器来实施信息惩罚(CP),表示为:

image-20240506135749774

其中image-20240506140601823控制置信度惩罚的强度。由于熵正则化,学习模型被鼓励输出具有更大熵的更平滑的分布,从而导致更不自信的预测,最重要的是,更好的泛化。

RENYI ENTROPY(Renyi熵)

Renyi熵是Shannon熵的广义版本,已成功应用于许多机器学习主题,如查分隐私、理解神经网络和表示蒸馏。给定一个离散随机变量Ximage-20240506141254196和相应的概率image-20240506141322196,则其Renyi熵定义为:

image-20240506141340974

其中image-20240506141619414为Renyi熵阶。当时image-20240506141626593,Renyi熵的极限就是著名的香农熵。

标签平滑对KD的观点

在文献中,已经发展了不同的观点来理解KD。其中一种是Yuan和Zhang提出的标签平滑(LS)的观点。

LS是一种通过最小化学习过程中的以下目标函数来鼓励模型做出不太自信预测的技术

image-20240506142539637

其中u是所有K个可能类的平均分布,而控制平滑效果的强度。与ERM的对应模型(见A.1)相比,使用LS训练的模型往往具有明显较低的自信预测和具有较大香农熵的输出概率分布。

如果我们使用(5)中教师的输出image-20240506142830314替换U,那么我们有image-20240506143027493,这相当于T=1的image-20240506143050110,因为熵image-20240506143208519不取决于学生。因此,当T=1时,KD确实可以看作是样本自适应LS。然而,当T>1时,这种观点不再成立,因为温度缩放也适用于学生模型。A.1所示的实证分析证实了这一点。虽然与ERM相比,T=1的KD能够增加输出概率分布q的Shannon熵,但与ERM相比,T=4的KD实际上会导致Shannon熵降低,表现出与LS相反的效果。

自蒸馏也提倡样本自适应LS视角,为了方便学生,降低了温度T。然而,没有提供系统的处理来证明学生方面温度T的下降。事实上,在预测精度方面,结果是喜优参半的:为学生放弃温度T可能会降低或提高准确性。

统计观点与交叉熵上界

另一种理解KD的视角是Menon等人倡导的统计视角。其中的一个关键观察结果是,Bayes蒸馏风险的方差小于标准经验风险,这实际上是方差总概率定律的直接结果。由于标签上的贝叶斯类概率分布,即给定输入样本x的标签y的条件概率image-20240506144727256,在实践中是未知的,因此KD中教师的作用被认为是使用其输出概率分布image-20240506144818242或温度缩放的输出概率分布image-20240506144824508来估计学生的image-20240506144833176。这反过来又提供了一些解释,为什么提高教师的准确性有时会损害蒸馏性能,因为提高教师的准确性和提供更好的估计是两个不同的任务。从这个角度看,学生的温度T也降低了。同样,没有理解把T放在学生这边。此外,为什么最小化Bayes-蒸馏风险或teacher-蒸馏风险可以提高学生的准确率表现也没有得到回答。

最近,Yang等人表明,对于任何分类神经网络,其错误率的上界为image-20240506150854515。因此,为了降低其错误率,可以通过最小化image-20240506150944880来训练神经网络。由于实际中通常无法获得真实的条件分布image-20240506151023943,因此对于学生来说,温度T下降的KD基本上可以视为单向近似求解最小化image-20240506151202371的问题,其中image-20240506151311117首先由标签y对应的one-hot概率分布和教师的温度缩放输出概率分布image-20240506153850913的线性组合近似。当应用于KD时,这一观点确实为完全降低学生方面的温度T以及最小化贝叶斯蒸馏风险或教师蒸馏风险提供了理由。当然,KD随温度T的下降对学生来说不一定是最小化的有效方法。其他最近的相关工作见附录A.7.

相比之下,在本文中,我们通过理论和实验上的TTM与KD的比较,更直接地表明,最好在KD中完全降低学生侧的温度T。

转型教师匹配

在本节中,我们从理论上比较了TTM和KD,表明TTM相当于KD加上Renyi熵正则化。为此,我们首先提出了输出分布的功率变换的一般概念。然后,我们证明了温度缩放和功率变换之间的等价性。在此基础上,给出了一个简单的推导,将TTM分解为KD加Renyi熵正则化器。考虑到CP,很明显,由于对置信度输出分布的惩罚,TTM可以比KD产生更好的泛化。

概率分布的幂变换

在KD中,模型输出分布通过温度缩放进行变换以提高其平滑性。然而,这样的转换并不是唯一的。还有许多其他的变换也可以平滑峰值概率分布。下面我们将介绍一个广义变换。

考虑一个逐点映射image-20240506161653902。对于任意概率分布image-20240506162138081,我们可以对p的每个分量应用f来定义一个广义变换image-20240506162249603,其中image-20240506162516949image-20240506162524499,和

image-20240506162533237

在上面的例子中,image-20240506162946391用于将向量image-20240506163054792归一化为概率简单性。有了这个广义框架,任何特定的变换都可以用它的关联映射f来描述。在所有可能的映射f中,我们最感兴趣的是指数为y的幂函数。若选取f为指数为y的幂函数,则得到的概率分布变换image-20240506163318850,称为概率分布幂变换。因此,功率变换后的分布由公式给出:

image-20240506163711076

接下来,我们将证明功率变换等同于温度缩放。确实,设p为logitsimage-20240506163910601的soft最大值:

image-20240506163956465

然后,

image-20240506164007867

因此,是温度image-20240506164107993时标度对数image-20240506164058329的soft最大值。

从KD到TTM

基于功率变换和温度标度之间的等价性,我们现在可以揭示KD和TTM之间的联系。

image-20240506164326101,回到(1)和(2)。鉴于(9),我们有:

image-20240506164337921

那么我们可以将image-20240506164423771分解为:

image-20240506164436060

其中(11)是幂变换(7)的后续,(12)中的image-20240506164616843是y阶的Renyi熵,(14)是由(10)得到的。重新排列,我们得到:

image-20240506164744359

将(15)代入(2)得到

image-20240506164811026

当选择image-20240506164856139时,

image-20240506164907445

其中(16)是由于香农熵image-20240506165049159不依赖于学生模型,(17)遵循(19),(18)可归因于(1)。

因此,我们已经证明TTM确实可以分解为KD加Renyi熵正则化器。由于Renyi熵是Shannon熵的广义版本,它在TTM中的作用类似于Shannon熵在CP中的作用。有了这个,我们有理由相信它可以带来更好的泛化,这在后面的第5节的大量实验中得到了证实。

从TTM和KD各自的梯度角度进行比较也具有一定的指导意义。image-20240506165811651中蒸馏组分相对于对数的梯度为:

image-20240506165817416

其中,image-20240506165911567分别为学生模型的第i对数和第i类概率。相比之下,KD对应的梯度为:

image-20240506165903454

从式(20)中我们可以看到,梯度下降学习过程会推动qi向幂变换教师概率分布移动,从而鼓励学生表现得像幂变换教师,由此产生了TTM(转化教师匹配)这个名称。

由于幂变换后的教师分布p t t在t > 1时更加平滑,所以经过TTM训练的学生将输出一个同样平滑的分布q,导致置信度低、熵大。另一方面,在式(21)中,转化后的学生分布qT被推向转化后的教师分布p t t。即使qT的平滑度与p t t相似,原始学生分布q仍然可以达到相当的峰值,因此具有高置信度和低熵。

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

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

相关文章

解锁程序员高效编程之谜:软件工具、编辑器与插件的秘密武器大公开!

程序员如何提高编程效率? 程序员提高编程效率是一个多方面的过程,涉及技能提升、工具使用、时间管理以及工作习惯等多个方面。以下是一些建议,帮助程序员提高编程效率: 1. 选择适合的工具 使用高效的代码编辑器或集成开发环境&…

高防护皮带机巡检机器人:适应恶劣环境的智能助手

在众多工业领域中,皮带机作为一种重要的物料输送设备,广泛应用于发电厂、煤栈等场所。然而,长期以来,皮带机的巡检工作一直依赖人工,存在着劳动强度大、检测效率低、安全性差等问题。为了解决这些痛点,皮带…

Redis 渐进式遍历 -- scan

前言 keys 可以一次性把 Redis 中的所有 key 都获取到,但这个操作比较危险,一次性获取所有的key 很容易会导致 Redis 阻塞。 而通过渐进式遍历(不是一个命令就将所有的 key 值拿到,而是每执行一次命令只获取其中的一小部分&#x…

我独自升级崛起在哪下载 我独自升级电脑PC端下载教程分享

将于5月8日在全球舞台闪亮登场的动作角色扮演游戏《我独自升级崛起》,灵感源自同名热门动画与网络漫画,承诺为充满激情的游戏玩家群体带来一场集深度探索与广阔体验于一身的奇幻旅程。该游戏以独特的网络武侠世界观为基底,展现了一位普通人踏…

CPU炼丹——YOLOv5s

1.Anaconda安装与配置 1.1安装与配置 Anaconda3的安装看下面的教程: 最新Anaconda3的安装配置及使用教程(详细过程)http://t.csdnimg.cn/yygXD,接上面文章下载后,配置环境变量的时候记得在原来你装的Python更下面添…

【项目】高并发内存池实现(化简版tcmalloc)

前言 因为偶然的机会,我通过同学那里知道这个google有一个开源项目tcmalloc,他讲的头头是道,而我也对其非常感兴趣。 这个tcmalloc呢,全称Thread-Caching Malloc,通过名字就能看出跟线程相关,也确实如此&am…

Spring Data JPA的一对一、LazyInitializationException异常、一对多、多对多操作

Spring Data JPA系列 1、SpringBoot集成JPA及基本使用 2、Spring Data JPA Criteria查询、部分字段查询 3、Spring Data JPA数据批量插入、批量更新真的用对了吗 4、Spring Data JPA的一对一、LazyInitializationException异常、一对多、多对多操作 前言 通过前三篇Sprin…

[SaaS]建筑领域的sd应用

AirchiDesignhttp://www.aiarchi.art/#/建筑学长——千万建筑师的资源库和AI绘图创作平台建筑学长官网,为青年设计师建立的线上资源共享及AI绘图创作渲染平台,免费提供海量设计案例、CAD图纸、SU模型、PS素材、软件插件下载,提供丰富的设计软件教学与灵感参考素材图库。https:/…

扩展学习|一文读懂知识图谱

一、知识图谱的技术实现流程及相关应用 文献来源:曹倩,赵一鸣.知识图谱的技术实现流程及相关应用[J].情报理论与实践,2015, 38(12):127-132. (一)知识图谱的特征及功能 知识图谱是为了适应新的网络信息环境而产生的一种语义知识组织和服务的方…

常用六大加密软件排行榜|好用加密文件软件分享

为了保障数据安全,越来越多的企业开始使用文件加密软件。哪款加密软件适合企业哪些办公场景呢? 今天就给大家推荐一下文件加密软件排行榜的前六名: 1.域智盾 这款软件专为企业和政府机构设计,提供全面的文件保护解决方案。 点…

SOLIDWORKS Electrical电气智能零部件的运用

电气2D向电气3D转型,3D模型无疑是重中之重,精准、正确的3D模型有利于电线长度、空间大小、耗材的计算。而线槽、导轨因为要根据实际情况裁剪,所以即使同一规格的线槽、导轨,在装配时也得根据实际情况,修改长度&#xf…

一文带你了解多数企业系统都在用的 RBAC 权限管理策略

前言 哈喽你好呀,我是 嘟老板,今天我们来聊聊几乎所有企业系统都离不开的 权限管理,大家平时在做项目开发的时候,有没有留意过权限这块的设计呢?都是怎样实现的呢?如果现在脑子里对于这块儿不够清晰&#…

【爬虫】爬取A股数据写入数据库(一)

1. 对东方财富官网的分析 步骤: 通过刷新网页,点击等操作,我们发现https://datacenter-web.eastmoney.com/api/data/v1/get?请求后面带着一些参数即可以获取到相应数据。我们使用python来模拟这个请求即可。 我们以如下选择的页面为切入点…

经典的设计模式和Python示例(一)

目录 一、工厂模式(Factory Pattern) 二、单例模式(Singleton Pattern) 三、观察者模式(Observer Pattern) 一、工厂模式(Factory Pattern) 工厂模式(Factory Pattern…

项目|保障房房产管理系统,政务房产解决方案

一、系统概况 保障房管理系统是是为了落实中央关于住房保障的相关政策,实现对低收入家庭住房状况的调查管理、保障计划及落实管理、保障申请及审核管理、保障户和保障房源档案管理等。 针对政府保障房产管理的一站式解决方案,专注于为解决复杂、繁琐的…

【STM32嵌入式系统设计与开发】——18DAC(DAC输出应用)

这里写目录标题 STM32资料包: 百度网盘下载链接:链接:https://pan.baidu.com/s/1mWx9Asaipk-2z9HY17wYXQ?pwd8888 提取码:8888 一、任务描述二、任务实施1、工程文件夹创建2、函数编辑(1)主函数编辑&#…

Eclipse 安装 lombok 和配置

如 Eclipse 不配置的话&#xff0c;是没有办法编译 lombok 项目的。 下载 Jar 如果你项目使用的是 maven&#xff0c;那么 jar 应该下载下来了。 到 pom.xm 文件中找到有关 lombok 的依赖。 <dependency><groupId>org.projectlombok</groupId><artifac…

[含1-4问完整代码]2024深圳杯数模D题成品论文42页word版

基于有限元分析的音板振动模态分析与参数识别 2024深圳杯D题42页成品论文1-4小问完整代码高清结果图https://www.jdmm.cc/file/2710609 摘 要 本文针对音板振动建模与参数识别的一系列问题,采用了多种数学建模方法和求解算法,对相关问题进行了深入分析和求解。问题1的 Kirch…

unity滑动地图上气泡随之移动旋转

前言 最近在做世界地图,需要实现一个气泡提示的功能。大概描述:地图上可上下左右滑动,地图上有若干个资源点,玩家最多可开采1个资源点 当玩家有正在开采的资源点时,需要在资源点上方显示带有方向的气泡提示,当资源点滑动到 显示屏幕外时,气泡需要在可视屏幕边缘,且指向…

节能洗车房车牌识别项目实战

项目背景 学电子信息的你加入了一家节能环保企业&#xff0c;公司的主营产品是节能型洗车房。由于节水节电而且可自动洗车&#xff0c;产品迅速得到了市场和资本的认可。公司决定继续投入研发新一代产品&#xff1a;在节能洗车房的基础上实现无人值守的功能。新产品需要通过图…