Distillation

知识蒸馏是一种将大型教师网络的知识转移给小型学生网络的技术,以实现模型压缩和性能优化。该过程涉及在不同温度T下计算软标签和硬标签的损失,以平衡教师和学生网络之间的相似性和独立训练的准确性。通过这种方式,可以解决终端设备算力限制问题,并可能应用于小样本和零样本学习。此外,知识蒸馏也被用于防止过拟合和在无限大数据集上的学习。相关资源包括技术博客和代码库,展示了知识蒸馏的最新进展和应用。
摘要由CSDN通过智能技术生成

蒸馏,把有杂质的东西变成纯度高的

知识从教师网络集成到学生网络,这个过程叫迁移,这么做的原因是终端的算力有限,需要高效率

有关嵌入式开发也有教程!!

问题的引入:标签有问题,马更像驴而不想汽车,训练教师网络的hard target有问题,所以由教师网络得来的soft target有更多的信息,尽管“知识”的概念代表了网络中学习到的权重或参数,但是参数这种东西是无法迁移的

蒸馏温度T越高,整体的标签就会越soft,这样非正确的类别之间的相对信息就会被充分的暴露出来.温度T是一个需要精细调控的参数,如果温度太小,那么不能体现出相对关系,但是温度太大,输出的结果就会完全平均,也不能传授任何信息,会带来噪声

蒸馏的过程

 把数据喂给学生网络和教师网络,让两者在温度T的时候计算一个distillation loss,让两者越接近越好,同时学生网络自己也要在温度为1的时候和hard label做损失计算,让两个的距离接近。这两个方面都要兼顾,这两种loss都会有一个系数,soft loss是老师的课程,hard loss是课本

小样本和零样本的学习也许也可以通过知识蒸馏来实现

知识蒸馏的应用场景:

模型压缩、优化训练防止过拟合(潜在的正则化效应)、无限大无监督学习的数据挖掘。

知识蒸馏的发展方向:

 下面有关知识蒸馏的博客,介绍了技术背景和历史发展Knowledge Distillationhttps://devopedia.org/knowledge-distillation

 Knowledge distillation in deep learning and its applications [PeerJ]https://peerj.com/articles/cs-474/

代码库:12种类SOTA的知识蒸馏方法

 GitHub - HobbitLong/RepDistiller: [ICLR 2020] Contrastive Representation Distillation (CRD), and benchmark of recent knowledge distillation methods[ICLR 2020] Contrastive Representation Distillation (CRD), and benchmark of recent knowledge distillation methods - GitHub - HobbitLong/RepDistiller: [ICLR 2020] Contrastive Representation Distillation (CRD), and benchmark of recent knowledge distillation methodshttps://github.com/Hobbitlong/RepDistiller

 ——————————————————————————————————————————

论文精度:Distilling the Knowledge in neural network

 复习多分类交叉熵损失函数,先求出全部事件被正确预测的概率(似然概率,liklyhood),区对数让相乘变相加,但是单调性保持不变,我们想最大化这个概率,在工程上为了造loss function,相当于最小化这个负概率,于是得到了上图中右边绿框中总结的公式,当label为one-hot编码时,损失函数可以简化为下面的式子。

反向传播算法 | 机器之心

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值