zoukankan      html  css  js  c++  java
  • Knowledge Distillation 知识蒸馏

    Knowledge Distillation

    论文地址:https://arxiv.org/pdf/1503.02531.pdf
    知识蒸馏指的是一种模型的压缩方法。

    知识蒸馏的方式就是将Teacher Network输出的soft label作为标签来训练Student Network。
    比如在上图中我们训练Student Network来使其与Teacher Network有同样的输出。
    这样的好处是Teacher Network的输出提供了比独热编码标签更多的信息,比如对于输入的数字1,Teacher Network的输出表明这个数字是1,同时也表明了这个数字也有一点像7,也有一点像9。
    另外训练Student Network时通常使用交叉熵作为损失函数,这是因为训练过程相当于要拟合两个概率分布。

    知识蒸馏训练出的Student Network有一点神奇的地方就是这个Network有可能辨识从来没有见过的输入,
    不如把Student Network的训练资料中的数字7移除后可能训练完成后也会认识数字7,这是因为Teacher Network输出的soft label提供了额外的信息。
    知识蒸馏的一个用处是用来拟合集成模型,有时候我们会集成(Ensemble)很多个模型来获取其输出的均值从而提高总体的效果,我们可以使用知识蒸馏的方式来使得
    Student Network学习集成模型的输出,从而达到将集成模型的效果复制到一个模型上的目的:

  • 相关阅读:
    理解MapReduce计算构架
    熟悉HBase基本操作
    爬虫大作业
    第三章 熟悉常用的HDFS操作
    数据结构化与保存
    使用正则表达式,取得点击次数,函数抽离
    爬取校园新闻首页的新闻
    网络爬虫基础练习
    Hadoop综合大作业
    hive基本操作与应用
  • 原文地址:https://www.cnblogs.com/jiashun/p/knowledge_distillation.html
Copyright © 2011-2022 走看看