电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

认识深度学习中的知识蒸馏

11页
  • 卖家[上传人]:Baige****0346
  • 文档编号:266122923
  • 上传时间:2022-03-14
  • 文档格式:DOCX
  • 文档大小:2.86MB
  • / 11 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、一分钟带你认识深度学习中的知识蒸馏 【摘要】 知识蒸馏(knowledge distillation)是模型压缩的一种常用的方法,不同于模型压缩中的剪枝和量化,知识蒸馏是通过构建一个轻量化的小模型,利用性能更好的大模型的监督信息,来训练这个小模型,以期达到更好的性能和精度。本文将深入浅出的介绍知识蒸馏的概念和原理,最后通过一个实际的上手案例,来指导用户使用知识蒸馏。一、知识蒸馏入门1.1 概念介绍知识蒸馏(knowledge distillation)是模型压缩的一种常用的方法,不同于模型压缩中的剪枝和量化,知识蒸馏是通过构建一个轻量化的小模型,利用性能更好的大模型的监督信息,来训练这个小模型,以期达到更好的性能和精度。最早是由Hinton在2015年首次提出并应用在分类任务上面,这个大模型我们称之为teacher(教师模型),小模型我们称之为Student(学生模型)。来自Teacher模型输出的监督信息称之为knowledge(知识),而student学习迁移来自teacher的监督信息的过程称之为Distillation(蒸馏)。1.2 知识蒸馏的种类图1 知识蒸馏的种类1、 离

      2、线蒸馏 离线蒸馏方式即为传统的知识蒸馏,如上图(a)。用户需要在已知数据集上面提前训练好一个teacher模型,然后在对student模型进行训练的时候,利用所获取的teacher模型进行监督训练来达到蒸馏的目的,而且这个teacher的训练精度要比student模型精度要高,差值越大,蒸馏效果也就越明显。一般来讲,teacher的模型参数在蒸馏训练的过程中保持不变,达到训练student模型的目的。蒸馏的损失函数distillation loss计算teacher和student之前输出预测值的差别,和student的loss加在一起作为整个训练loss,来进行梯度更新,最终得到一个更高性能和精度的student模型。2、 半监督蒸馏 半监督方式的蒸馏利用了teacher模型的预测信息作为标签,来对student网络进行监督学习,如上图(b)。那么不同于传统离线蒸馏的方式,在对student模型训练之前,先输入部分的未标记的数据,利用teacher网络输出标签作为监督信息再输入到student网络中,来完成蒸馏过程,这样就可以使用更少标注量的数据集,达到提升模型精度的目的。3、 自监

      3、督蒸馏 自监督蒸馏相比于传统的离线蒸馏的方式是不需要提前训练一个teacher网络模型,而是student网络本身的训练完成一个蒸馏过程,如上图(c)。具体实现方式 有多种,例如先开始训练student模型,在整个训练过程的最后几个epoch的时候,利用前面训练的student作为监督模型,在剩下的epoch中,对模型进行蒸馏。这样做的好处是不需要提前训练好teacher模型,就可以变训练边蒸馏,节省整个蒸馏过程的训练时间。1.3 知识蒸馏的功能1、提升模型精度 用户如果对目前的网络模型A的精度不是很满意,那么可以先训练一个更高精度的teacher模型B(通常参数量更多,时延更大),然后用这个训练好的teacher模型B对student模型A进行知识蒸馏,得到一个更高精度的模型。2、降低模型时延,压缩网络参数 用户如果对目前的网络模型A的时延不满意,可以先找到一个时延更低,参数量更小的模型B,通常来讲,这种模型精度也会比较低,然后通过训练一个更高精度的teacher模型C来对这个参数量小的模型B进行知识蒸馏,使得该模型B的精度接近最原始的模型A,从而达到降低时延的目的。3、图片标签之间

      4、的域迁移 用户使用狗和猫的数据集训练了一个teacher模型A,使用香蕉和苹果训练了一个teacher模型B,那么就可以用这两个模型同时蒸馏出一个可以识别狗,猫,香蕉以及苹果的模型,将两个不同与的数据集进行集成和迁移。图2 图像域迁移训练4、降低标注量 该功能可以通过半监督的蒸馏方式来实现,用户利用训练好的teacher网络模型来对未标注的数据集进行蒸馏,达到降低标注量的目的。1.4 知识蒸馏的原理图3 知识蒸馏原理介绍 一般使用蒸馏的时候,往往会找一个参数量更小的student网络,那么相比于teacher来说,这个轻量级的网络不能很好的学习到数据集之前隐藏的潜在关系,如上图所示,相比于one hot的输出,teacher网络是将输出的logits进行了softmax,更加平滑的处理了标签,即将数字1输出成了0.6(对1的预测)和0.4(对0的预测)然后输入到student网络中,相比于1来说,这种softmax含有更多的信息。好模型的目标不是拟合训练数据,而是学习如何泛化到新的数据。所以蒸馏的目标是让student学习到teacher的泛化能力,理论上得到的结果会比单纯拟合训练数据

      5、的student要好。另外,对于分类任务,如果soft targets的熵比hard targets高,那显然student会学习到更多的信息。最终student模型学习的是teacher模型的泛化能力,而不是“过拟合训练数据”二、动手实践知识蒸馏ModelArts模型市场中的efficientDet目标检测算法目前已经支持知识蒸馏,用户可以通过下面的一个案例,来入门和熟悉知识蒸馏在检测网络中的使用流程。2.1 准备数据集 数据集使用kaggle公开的Images of Canine Coccidiosis Parasite的识别任务,下载地址:2.2 订阅市场算法efficientDet 进到模型市场算法界面,找到efficientDet算法,点击“订阅”按钮图4 市场订阅efficientDet算法 然后到算法管理界面,找到已经订阅的efficientDet,点击同步,就可以进行算法训练图5 算法管理同步订阅算法2.3 训练student网络模型 起一个efficientDet的训练作业,model_name=efficientdet-d0,数据集选用2.1发布的已经切分好的数据集

      6、,选择好输出路径,点击创建,具体创建参数如下:图6 创建student网络的训练作业 得到训练的模型精度信息在评估结果界面,如下:图7 student模型训练结果 可以看到student的模型精度在0.8473。2.4 训练teacher网络模型 下一步就是训练一个teacher模型,按照efficientDet文档的描述,这里选择efficientdet-d3,同时需要添加一个参数,表明该训练作业生成的模型是用来作为知识蒸馏的teacher模型,新起一个训练作业,具体参数如下:图8 teacher模型训练作业参数 得到的模型精度在评估结果一栏,具体如下:图9 teacher模型训练结果 可以看到teacher的模型精度在0.875。2.5 使用知识蒸馏提升student模型精度 有了teacher网络,下一步就是进行知识蒸馏了,按照官方文档,需要填写teacher model url,具体填写的内容就是2.4训练输出路径下面的model目录,注意需要选到model目录的那一层级,同时需要添加参数use_offline_kd=True,具体模型参数如下所示:图10 采用知识蒸馏的stu

      7、dent模型训练作业参数 得到模型精度在评估结果一栏,具体如下:图11 使用知识蒸馏之后的student模型训练结果 可以看到经过知识蒸馏之后的student的模型精度提升到了0.863,精度相比于之前的student网络提升了1.6%百分点。2.6 在线推理部署训练之后的模型就可以进行模型部署了,具体点击“创建模型”图12 创建模型 界面会自动读取模型训练的保存路径,点击创建:图13 导入模型 模型部署成功之后,点击创建在线服务:图14 部署在线服务 部署成功就可以进行在线预测了:图15 模型推理结果展示三、知识蒸馏目前的应用领域 目前知识蒸馏的算法已经广泛应用到图像语义识别,目标检测等场景中,并且针对不同的研究场景,蒸馏方法都做了部分的定制化修改,同时,在行人检测,人脸识别,姿态检测,图像域迁移,视频检测等方面,知识蒸馏也是作为一种提升模型性能和精度的重要方法,随着深度学习的发展,这种技术也会更加的成熟和稳定。参考文献:1Data Distillation: Towards Omni-Supervised Learning2On the Efficacy of Knowledge Distillation3Knowledge Distillation and Student-Teacher Learning for Visual Intelligence: A Review and New Outlooks4Towards Understanding Knowledge Distillation5Model Compression via Distillation and Quantization-全文完-

      《认识深度学习中的知识蒸馏》由会员Baige****0346分享,可在线阅读,更多相关《认识深度学习中的知识蒸馏》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.