IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【知识蒸馏】Distilling the Knowledge in a Neural Network -> 正文阅读

[人工智能]【知识蒸馏】Distilling the Knowledge in a Neural Network

知识蒸馏

论文地址:https://arxiv.org/abs/1503.02531

问题:我们的一些网络和模型,都是用海量的数据和算力训练出来的,这些模型都很大很臃肿,而最终的部署应用,一般都是部署在终端设备上,手机、电脑、一些边缘设备等。所以我们需要把大模型压缩成一个小模型,把网络轻量化。

所谓的知识蒸馏就是把大的网络或模型作为教师网络,然后训练一个小的学生网络。教师网络把自己靠着海量数据和算力训练学到的知识教给学生,使得学生网络这个轻量级的网络可以达到类似教师网络的性能。

1

soft targets

我们先介绍两种标签:hard targets 和 soft targets

比如一个手写数字2,我们把它标记为2,也就是说这个数字是2的概率为1,是其他数字的概率为0,我们把这种标签就称作hard targets。

那么soft targets呢,它会标记该数字是2的概率为0.7,是7的概率是0.3,是1的概率为0.1。会给出这个数字的所有类别判断结果,这就是soft targets。
在这里插入图片描述

显然,soft targets比hard targets包含了更多的信息,它不光知道这个数字是2,还知道它和哪个相似,相似程度有多大。一般我们标记的数据集都是hard targets,我们把数据输入一个网络,训练得到的结果是soft targets,那么既然soft targets包含更多的信息,我们如果用一个大网络得到了soft targets拿去给一个小网络学习,会不会效果更好呢?

但是呢,在这之前,还要进行一个操作,我们用大的网络(教师网络)训练出来的soft targets还是不够“ soft ”,我们还想把这些差别更明显的映射出来,这就要引入一个蒸馏温度

蒸馏温度T

我们经过网络得到的soft targets ,有的网络结果还是不够soft,所以想让它变的更平滑。

那么做过分类任务的同学都知道softmax函数,它将多个神经元的输出映射到(0,1)区间之内,可以看作预测的概率。softmax函数如下:

2

我们设置蒸馏温度为T,把公式改成这样:

在这里插入图片描述

这个公式里面,如果T=1的话,那就等同于softmax,如果T等于别的数的时候,可以将概率变得更加”soft“

在这里插入图片描述

在这里插入图片描述

注意,T=100的时候,这个线几乎变水平了。也就是各个类别概率基本接近了。

知识蒸馏过程

这个蒸馏过程如图所示。首先我们有一个训练好的教师网络,还有一个没训练(或者预训练)的学生网络。我们把数据喂给教师网络和学生网络,将他们的结果用一个带蒸馏温度T=t的softmax输出,然后把他们俩的结果做一个损失函数,也就是说我们希望学生网络的结果和教师网络接近。同时,我们还把学生网络的输出再设置一个蒸馏温度T=1,也就是不做处理,让这个结果与标记的hard targets做一个损失函数,这里相当于正常训练,希望学生网络从hard targets里面学到知识,

在这里插入图片描述

那么最终的两个loss值,我们分别乘上参数,加到一起。我们的目标就是使得最终的这个loss最小,也就是使得那两个loss都最小。训练过程还是我们常用的反向传播,梯度下降等方法。

在这里插入图片描述
实验结果可以看原论文。

总结

知识蒸馏原理并不不复杂,是一个很好的压缩模型的方法,训练出来的学生网络有以下优点:
1)性能与教师网络差不多,规模比教师网络小
2)由于用教师网络训练学生网络,所以可以出现零样本学习,就比如学生网络没见过猫,数据集里面没有猫,但是教师网络认识猫,那么训练出来的学生网络输入猫的时候,而也可以被识别。
3)数据量比较小的时候,我们的训练容易出现过拟合。但是我们使用soft targets训练网络可以很好的解决这种过拟合。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-22 20:35:19  更:2022-03-22 20:40:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 13:29:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码