模型在训练后需要更改,以创建更紧凑的表示形式。这一过程的主要实现技术包括剪枝(pruning)和知识蒸馏。

知识蒸馏的基本理念,是考虑到较大网络内部存在的稀疏性或冗余性。虽然大规模网络具有较高的表示能力,但如果网络容量未达到饱和,则可以用具有较低表示能力的较小网络(即较少的神经元)表示。在 Hinton 等人 2015 年发表的研究工作中,将 Teacher 模型中转移给 Student 模型的嵌入信息称为“黑暗知识”(dark knowledge)。

下图给出了知识蒸馏的过程:

图 5 深度压缩过程图

图中 Teacher 模型是经过训练的卷积神经网络模型,任务是将其“知识”转移给称为 Student 模型的,参数较少的小规模卷积网络模型。此过程称为“知识蒸馏”,用于将相同的知识包含在规模较小的网络中,从而实现一种网络压缩方式,以便用于更多内存受限的设备上。

模型蒸馏(Distillation)相关推荐

  1. 【模型蒸馏】从入门到放弃:深度学习中的模型蒸馏技术

    点击上方,选择星标或置顶,每天给你送干货! 阅读大概需要17分钟 跟随小博主,每天进步一丢丢 来自 | 知乎   作者 | 小锋子Shawn 地址 | https://zhuanlan.zhihu.c ...

  2. 架构 encoder_一种新的超分模型蒸馏架构 (ECCV2020)

    Learning with Privileged Information for Efficient Image Super-Resolution,ECCV2020 作者信息: Paper: Lear ...

  3. 模型蒸馏探索(Bert)

    1. 蒸馏是什么? ​  所谓的蒸馏,指的是从大模型(通常称为teacher model)中学习小模型(通常称为student model).何以用这个名字呢?在化学中,蒸馏是一个有效的分离沸点不同的 ...

  4. 知识蒸馏相关技术【模型蒸馏、数据蒸馏】以ERNIE-Tiny为例

    1.任务简介 基于ERNIE预训练模型效果上达到业界领先,但是由于模型比较大,预测性能可能无法满足上线需求. 直接使用ERNIE-Tiny系列轻量模型fine-tune,效果可能不够理想.如果采用数据 ...

  5. 【模型蒸馏】TinyBERT: Distilling BERT for Natural Language Understanding

    总述 TinyBert主要探究如何使用模型蒸馏来实现BERT模型的压缩. 主要包括两个创新点: 对Transformer的参数进行蒸馏,需要同时注意embedding,attention_weight ...

  6. Seq2seq模型蒸馏方法

    一. Seq2seq模型蒸馏方法总体过程如下 1. 训练teacher模型 2. 产生student模型 3. 利用teacher模型预测的logits和来自语料的true labels来计算stud ...

  7. 【星球知识卡片】模型蒸馏的核心技术点有哪些,如何对其进行长期深入学习...

    大家好,欢迎来到我们的星球知识小卡片专栏,本期给大家分享模型蒸馏的核心技术点. 作者&编辑 | 言有三 1 什么是模型蒸馏 一般地,大模型往往是单个复杂网络或者是若干网络的集合,拥有良好的性能 ...

  8. 【AutoML】强化学习如何用于模型蒸馏?

    大家好,欢迎来到专栏<AutoML>,在这个专栏中我们会讲述AutoML技术在深度学习中的应用,这一期讲述在知识蒸馏中的应用. 作者&编辑 | 言有三 上一期给大家介绍了AutoM ...

  9. bert模型蒸馏实战

    由于bert模型参数很大,在用到生产环境中推理效率难以满足要求,因此经常需要将模型进行压缩.常用的模型压缩的方法有剪枝.蒸馏和量化等方法.比较容易实现的方法为知识蒸馏,下面便介绍如何将bert模型进行 ...

最新文章

  1. java接收数据_java 如何接收数据集参数
  2. 使用TextRank算法为文本生成关键字和摘要
  3. [UOJ #222][NOI2016]区间(线段树)
  4. IOS中scrollsToTop问题小结
  5. (一)nodejs循序渐进-nodejs环境安装(基础篇)
  6. Status Code:200 OK (from disk cache)和304的区别,以及怎么禁止缓存
  7. 界面优美的linux,Ubuntu 11.04新版发布 诠释精美用户界面
  8. 整合 centos安装python的介绍
  9. eclipse导入项目中文乱码
  10. oem718d 基准站设置_千寻cors账号参数设置完成,RTK手簿显示浮动或单点伪距,能不能进行测量?...
  11. Android中设置显示文本,TextView控件的使用(Android设置文本显示格式)
  12. 评课用计算器计算机,《巧用计算器》评课稿
  13. 郁金香商业辅助教程 2016 笔记 1~5
  14. 仿节奏大师java_HelloCpp 仿节奏大师Android游戏版本,只实现了击键功能,可以给大家启发. 238万源代码下载- www.pudn.com...
  15. 这一年我都做了什么......
  16. 安装jre运行环境_如何下载安装java运行环境jre
  17. 【树】二叉树的两种非递归遍历方法
  18. K8S 报错笔记--持续更新
  19. 第一节、linux中安装redis(一)
  20. 猿团YTFramework UI框架正式发布 提高开发效率

热门文章

  1. 将线程pid转成16进制_如何使用jstack分析线程状态
  2. bind merge r 和join_R语言中的数据合并函数(merge,cbind和rbind)的使用
  3. linux doc下生成学号,linux的.doc
  4. tensorflow1.14.0  包含了1.x和2.x内容,此后版本要求兼容该版本
  5. 吕乐:医学影像学者的医者仁心 | 智源专访
  6. ImageNet的top-1终于上了90%,网友质疑:用额外数据集还不公开,让人怎么信服?...
  7. 知识图谱从哪儿来?实体关系抽取的现状和未来
  8. 刚毕业的职场萌新应具备这9种技能
  9. 一本教我们如何避免糟糕设计的书
  10. 进程和线程你真的搞懂了吗?