知识蒸馏学习记录

news/2024/11/29 13:52:24/

最近在学习降噪处理不良天气的算法过程中,接触到了知识蒸馏,该算法作为一个深度学习通用算法,不仅广泛应用在自然语言处理方面,在计算机视觉等领域也广受追捧。

概要

简单来说,知识蒸馏就是将一个大的教师网络萃取到一个小的学生网络中,即完成一个知识迁移的过程,这个教师网络可能是很多网络的集合,是一个很臃肿的模型,为了方便将其部署在一些算力受限的平台设备上,如手机,自动驾驶平台,便将教师网络浓缩变为学生网络。

预备知识

我们以一个分类模型来介绍知识蒸馏过程,在分类模型中使用交叉熵损失作为损失函数,下面介绍一下交叉熵损失函数的推导过程。

交叉熵损失函数推导过程

在这里插入图片描述

hard target与soft target

了解完交叉熵损失函数后,在这里我们需要引入一个概念,分别是hard targetsoft target,以分类模型为例:
每个样本都有确定的类别,即其值要么为0,要么为1,这样的标签则为hard target(红框表示),而soft target则是以概率的形式表示,这也是我们分类网络的输出结果(绿框表示)这种表示方式也是我们一般标注文件的形式,但这种方式在从模型学习的过程来看是不科学的。

在这里插入图片描述

例如以下面的三分类来看,hard target明确告诉我们图片中某个目标是马,他不是车也不是驴。

在这里插入图片描述

soft target则给出了目标是三者的概率,如马0.7 ,驴0.2,车0.1,这种方式不仅给出了其正确类别,还给出了非正确类别间的相对差别,即驴与马还是有些相似的,而车却很不像,相较于hard target,这种方式包含了更多的信息。
如下图手写数字识别分类:sotf target包含很多信息,更像谁,更不像谁,所以soft target相较于hard target是更科学的。我们可以使用teacher 网络训练出的sotf target送入到学生网络中作为标签进行学习。

在这里插入图片描述
总结一句话:

soft target相较于hard target,包含更多的知识和信息,更像谁,更不像谁,有多像,有多不像,特别是其能出给非正确类别概率的相对大小

为了让类别的间的相对误差更加明显,引入了蒸馏温度的概念。

蒸馏温度

如何理解蒸馏温度呢?其实很简单,就是在softmax函数的计算中加入了调制温度系数T用于放大差别,定义如下:但T不能太大,贫富差距就变小了

在这里插入图片描述

具体计算如下,分别计算原始的softmax与T=3时的损失。

在这里插入图片描述

知识蒸馏模型架构在这里插入图片描述

具体过程:
将大量数据送入已经训练好的教师网络,求出T=t时的soft labels(soft target),再将数据送入一个没有训练过,或是半成品的学生网络去计算T=t时的soft prediction,然后与soft labels求损失,同时学生网络中还要求T=1时的预测结果,称为hard prediction,其与hard target求损失,最后两个损失进行加权求和即得到最终的损失。

关于学习的内容:
可以是最后的输出结果(soft target),也可以是中间的特征层,也可以是注意力图谱。
在这里插入图片描述

知识蒸馏为何有用?

椭圆为收敛域空间,可以看到通过教师网络收敛的域空间与学生网络自己收敛的域空间也是很相近的。

在这里插入图片描述


http://www.ppmy.cn/news/549796.html

相关文章

磁盘显示RAW格式,格式化磁盘时显示磁盘写保护(已解决)

遇到了这个问题,就简单记录一下,(注意,此方法会导致磁盘数据丢失,谨慎使用) 首先开始菜单找到Windows系统,然后找到命令提示符然后右键,以管理员运行 // An highlighted block cd…

linux磁盘变为raw,磁盘变成RAW格式的两种解决办法

磁盘异常,这也是经常容易发生的事情,尤其是磁盘用了有些年头之后,这种出错的概率就会变大。 方法一 1、这个出错的特征是:右键分区属性,已用空间和可用空间都是0,系统文件是RAW。 2、开始→控制面板 3、管理…

U盘突然变为RAW格式

在一个旧手机上otg插了u盘,u盘里安装了pe,两个分区:EFI正常文件存储 手机读不了u盘我就拔了,结果晚上回来插到电脑发现突然成了RAW格式,要我格式化?还以为是之前问题U盘没插好导致系统未识别,结果看了 凉了…

U盘RAW格式无法格式化;U盘未被格式化解决办法

U盘RAW格式无法格式化;U盘未被格式化解决办法 若遇到U盘RAW格式无法格式化,我们可以使CMD命令提示符对U盘进行格式化,需注意的是此方法会将U盘中的所有数据删除,若您还需要U盘中的数据请提前对U盘进行磁盘备份。 在搜索框中输入“…

php 设置raw格式文件,u盘raw格式怎么改过来

u盘raw格式怎么改过来?u盘被raw格式了怎么办? 打开我的电脑,选工具菜单,再选文件夹选项中,点击查看标签,去掉“使用简单文件共享(推荐)”前的勾,即可。 进“控制面板”找到“管理工具”&#xf…

u盘中raw数据如何恢复?数据恢复软件管用吗

u盘中raw数据如何恢复?raw指未格式化的磁盘,一般u盘出现中毒、系统故障等问题时,文件系统就会变成raw格式,导致u盘不能正常使用,但只要没有特别严重的硬件故障,都可以恢复数据。 但在恢复u盘数据之前&#…

win10内置linux读取u盘raw,处理U盘0MB和RAW格式问题有绝招

很多U盘用户都难免会碰到U盘显示0MB和RAW格式,磁盘显示容量为0,这很有可能是U盘中毒或误操作而变成0MB和RAW格式。用尽各种手段都无法修复,最后只能恨的牙痒痒的重新买个U盘。于是我们今天就针对U盘出现0MB和RAW格式问题,来详细地…

u盘变成RAW格式怎么修复?好用的教程分享

u盘变成RAW格式怎么修复?有些朋友不了解u盘类型是RAW是什么意思,正常情况下我们u盘中的文件系统是FAT32,当u盘插入电脑后弹出错误提示,如文件或目录损坏且无法读写等内容时,我们可以右击u盘选择属性,这时候…