当前位置:网站首页>知识蒸馏论文学习
知识蒸馏论文学习
2022-08-10 05:31:00 【一个程序圆】
监督学习
监督学习:训练样本集不仅包含样本,还包含这些样本对应的标签,即样本和样本标签成对出现。监督学习的目标是从训练样本中学习一个从样本到标签的有效映射,使其能够预测未知样本的标签。常见的监督学习方法包括神经网络,支持向量机。
所有回归算法和分类算法都属于监督学习。回归和分类的算法区别在于输出变量的类型,定量输出称为回归,或者说是连续变量预测;定性输出称为分类,或者说是离散变量预测。
无监督学习
无监督学习算法:无训练样本。事先不知道样本的类别,通过某种办法,把相似的样本放在一起归为一类。
半监督学习
半监督学习:有少量训练样本,学习机以从训练样本获得的知识为基础,结合测试样本的分布情况逐步修正已有知识,并判断测试样本的类别。
知识蒸馏
知识蒸馏(KD)是模型压缩的一种常用方法。知识蒸馏是通过构建一个轻量化的小模型,利用性能更好的大模型的监督信息,来训练这个小模型,以达到更好的性能和精度。大模型称为Teacher模型,小模型称为Student模型。
知识蒸馏的分类:离线蒸馏,半监督蒸馏,自监督蒸馏
知识蒸馏的核心思想是先训练一个复杂网络模型,然后使用这个复杂网络的输出和数据的真是标签去训练一个更小的网络,因此知识蒸馏框架通常包含了一个复杂模型和一个小模型。
知识蒸馏的功能
1,提升模型精度
用户如果对目前的网络模型A的精度不是很满意,那么可以先训练一个更高精度的teacher模型B(通常参数量更多,时延更大),然后用这个训练好的teacher模型B对student模型A进行知识蒸馏,得到一个更高精度的模型。
2,降低模型时延,压缩网络参数。
3,图片标签之间的域迁移
用户使用狗和猫的数据集训练了一个teacher模型A,使用香蕉和苹果戌年了一个teacher模型B,那么就可以用这两个模型同时蒸馏出一个可以识别狗,猫,香蕉以及苹果的模型,将两个不同域的数据集进行集成和迁移。
4,降低标注量
通过半监督的蒸馏方式来实现,用户利用训练好的teacher网络模型来对未标注的数据集进行蒸馏,达到降低标注量的目的。
特征蒸馏
logits在深度学习中表示模型最后一层的数据,也就是raw data,之后可以接softmax或者sigmod进行缩放
logits的范围为 [− ∞ - \infty−∞,+ ∞ + \infty+∞]
** logits: 未归一化的概率, 一般也就是 softmax层的输入。**所以logits和lables的shape一样
也可以做为sigmoid的输入
特征蒸馏不像Logits方法那样,Student只学习teacher的logits这种结果知识,而是学习teacher网络结构中的中间层特征。Teacher中间特征层的相应,就是传递给student的知识。
边栏推荐
- Pony语言学习(一):环境配置(续)
- 行盒子的盒模型
- 从GET切换为POST提交数据的方法
- Module build failed TypeError this.getOptions is not a function报错解决方案
- Bifrost 同步数据库实现微服务跨库数据同步
- wiki confluence 安装
- pytorch框架学习(9)torchvision.transform
- 虚拟土地价格暴跌85% 房地产泡沫破裂?依托炒作的暴富游戏需谨慎参与
- pytorch框架学习(1)网络的简单构建
- Practical skills 19: Several postures of List to Map List
猜你喜欢
随机推荐
Canal 报错 Could not find first log file name in binary log index file
你不知道的常规流
R绘制图像,图像特征提取
连接 Nacos 报超时错误
毫米波雷达基础概念学习
网安超基础一周目
关于cfar检测的学习及仿真
链读推荐:从瓷砖到生成式 NFT
WSTP初体验
Kubernetes:(十六)Ingress的概念和原理
常用工具系列 - 常用正则表达式
pytorch框架学习(9)torchvision.transform
MongoDB 基础了解(一)
tinymce富文本编辑器
ResNet的基础:残差块的原理
redis常见的面试题
el-cascader级联选择器的子菜单双击两次才显示被选中的内容
训练集Loss收敛,但是测试集Loss震荡的厉害?
2021-07-09
25张炫酷交互图表,一文入门Plotly