知识蒸馏

作者: 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

    相关文章

      网友评论

        本文标题:知识蒸馏

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