YOLOv5改进系列(二十五) 知识蒸馏理论与实践

文章目录

  • 知识蒸馏基础原理精讲
    • 1. 什么是知识蒸馏?
    • 2. 轻量化网络的方式有哪些?
    • 3. 为什么要进行知识蒸馏?
    • 3.1 提升模型精度
    • 3.2 降低模型时延,压缩网络参数
    • 3.3 标签之间的域迁移
    • 4. 知识蒸馏的理论依据?
    • 5. 知识蒸馏分类
    • 5.1目标蒸馏-Logits方法
    • 5.2 特征蒸馏方法
    • 6. 知识蒸馏的过程
    • 6.1 升温(T)操作
    • 6.2 温度(T)特点
    • 7. 蒸馏损失计算过程
    • 8. 知识蒸馏在NLP/CV中的应用
    • 8.1 目标蒸馏-Logits方法应用
    • 8.2 特征蒸馏方法应用
    • 9. 知识蒸馏的误区
    • 参考文献
  • 知识蒸馏理论篇
    • 1.《Object detection at 200 Frames Per Second》
    • 1.1 蒸馏难点
    • 1.2 蒸馏损失
    • 1.3 实验结果
    • 2. 《Learning Efficient Object Detection Models with Knowledge Distillation》
    • 2.1 目标检测中的知识蒸馏
    • 2.2 蒸馏方法
    • 2.3 分类任务
    • 2.4 回归任务
    • 2.5 特征蒸馏
    • 2.6 实验结果
    • 2.7 总结
  • 知识蒸馏实战篇
    • 0. 环境准备
    • 1. 训练学生网络
    • 2. 训练教师网络
    • 3. 知识蒸馏训练
    • 4. 实验结果
    • 5. YOLOv5官方项目修改说明
    • 6. 源码
    • 7.常见错误
    • 8. 参考代码

知识蒸馏基础原理精讲

1. 什么是知识蒸馏?

在这里插入图片描述

知识蒸馏就是把一个大的教师模型的知识萃取出来,把他浓缩到一个小的学生模型,可以理解为一个大的教师神经网络把他的知识教给小的学生网络,这里有一个知识的迁移过程,从教师网络迁移到了学生网络身上,教师网络一般是比较臃肿,所以教师网络把知识教给学生网络,学生网络是一个比较小的网络,这样就可以用学生网络去做一些轻量化网络做的事情。

2. 轻量化网络的方式有哪些?

  1. 压缩已训练好的模型:知识蒸馏、权值量化、权重剪枝、通道剪枝、注意力迁移
  2. 直接训练轻量化网络:SqueezeNet、MobileNetv1v2v3、MnasNet、SHhffleNet、Xception、EfficientNet、EfficieentDet
  3. 加速卷积运算:im2col+GEMM、Wiongrad、低秩分解
  4. 硬件部署:TensorRT、Jetson、TensorFlow-Slim、openvino、FPGA集成电路

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小酒馆燃着灯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值