知识蒸馏

作者: dreampai | 来源:发表于2019-10-14 14:14 被阅读0次

知识蒸馏(Knowledge Distillation):

  • 知识蒸馏即将知识从「教师」模型迁移到「学生」模型,执行方式为训练学生模型模仿教师模型的预测。

  • 把一个大模型或者多个模型ensemble学到的知识迁移到另一个轻量级单模型上,方便部署;
    即“用新的小模型去学习大模型的预测结果,改变一下目标函数”。

1、为什么蒸馏可以 work

好模型的目标不是拟合训练数据,而是学习如何泛化到新的数据。
所以蒸馏的目标是让student学习到teacher的泛化能力,理论上得到的结果会比单纯拟合训练数据的student要好。
另外,对于分类任务,如果soft targets的熵比hard targets高,那显然student会学习到更多的信息。

2、模型结构

image.png
  • 多任务模型主要基于BERT,因此该多任务模型能通过知识蒸馏学习到各单任务模型的语言知识。
  • 模型会有一个教师退火的过程,即最开始由多个单任务模型教多任务模型学习,而随着训练的进行,多任务模型将更多使用真实任务标签进行训练(即图中的λ从0慢慢变到1)
  • https://zhuanlan.zhihu.com/p/71986772
  • https://daiwk.github.io/posts/nlp-bam.html

相关文章

  • 【技术博客】通过量化知识来解释知识蒸馏

    【技术博客】****通过量化知识来解释知识蒸馏 知识蒸馏介绍 知识蒸馏(Knowledge Distillatio...

  • 知识蒸馏

    知识蒸馏(Knowledge Distillation): 知识蒸馏即将知识从「教师」模型迁移到「学生」模型,执行...

  • 知识蒸馏

    最近在实验用MobilenetV3在分类数据集上的效果,想起了Hinton之前搞过的知识蒸馏模型来训练小网络。简而...

  • 知识蒸馏

    知识蒸馏是什么?一份入门随笔 - LinT的文章 - 知乎https://zhuanlan.zhihu.com/p...

  • 知识蒸馏

    一、简介 https://zhuanlan.zhihu.com/p/258721998[https://zhuan...

  • 一分钟带你认识深度学习中的知识蒸馏

    摘要:知识蒸馏(knowledge distillation)是模型压缩的一种常用的方法 一、知识蒸馏入门 1.1...

  • 知识蒸馏论文

    Romero, A.; Ballas, N.; Kahou, S. E.; Chassang, A.; Gatta...

  • 知识蒸馏-简单

    参考文献: https://github.com/DA-southampton/NLP_ability/blob/...

  • 让BERT飞一会

    [TOC] 1. 模型蒸馏 1. DistilBERT(2019.10.2) 知识蒸馏的基础原理: 定义两个网络,...

  • 蒸馏学习

    知识蒸馏解决的问题 提升模型精度 降低模型时延,压缩网络参数 标签之间的域迁移 基本框架 知识蒸馏采取Teache...

网友评论

    本文标题:知识蒸馏

    本文链接:https://www.haomeiwen.com/subject/ffdrmctx.html