知识蒸馏(Knowledge Distillation)

知识蒸馏

什么是知识蒸馏?

  • 知识蒸馏(Knowledge
    Distillation)是一种模型压缩方法,可以将大型深度模型中的知识转移到小型模型中,以期达到更好的性能和精度。知识蒸馏时通过构建一个轻量化的小模型,利用性能更好的大模型的监督信息,来训练这个小模型。
  • 知识蒸馏的主要思想是将一个大模型的知识转移到一个小模型中,使得小模型的性能接近于大模型的性能。这种方法可以用来将网络从大网络转化成一个小网络,并保留接近于大网络的性能;也可以将多个网络学到的知识转移到一个网络中,使得单个网络的性能接近整体的结果。
  • 知识蒸馏的过程可以简单地描述为:将大模型的输出作为小模型的目标,同时在训练小模型时,加入大模型的输出作为辅助信息,从而使得小模型可以学到大模型的知识。

知识蒸馏的算法有哪些?

  • Soft Target
  • FitNet
  • Attention Transfer
  • Similarity-Preserving Knowledge Distillation
  • Data-Free Knowledge Distillation
  • Self-Distillation
  • Multi-Teacher Knowledge Distillation
  • Collaborative Learning for Deep Neural Networks

知识蒸馏的缺点是什么?

  • 知识迁移的低效性,即学生模型往往并不能充分学习到教师模型的全部知识。
  • 如何设计并训练合适的教师模型,现有的蒸馏框架往往需要消耗大量的实验来找到最好的教师模型架构。
  • 蒸馏效率依赖于softmax loss计算和mumber of class。
  • 对于没有label(low-level)的问题,无法去做。
  • 当student network模型太小时,很难从teacher network 蒸馏成功。

知识蒸馏的应用场景

知识蒸馏的应用场景非常广泛,目前已经应用到图像语义识别,目标检测等场景中,并且针对不同的研究场景,蒸馏方法都做了部分的定制化修改,同时,在行人检测,人脸识别,姿态检测,图像域迁移,视频检测等方面,知识蒸馏也是作为一种提升模型性能和精度的重要方法。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值