论文内容

G. Hinton, O. Vinyals, and J. Dean, “Distilling the Knowledge in a Neural Network.” 2015.

如何将一堆模型或一个超大模型的知识压缩到一个小模型中,从而更容易进行部署?

  • 训练超大模型是因为它更容易提取出数据的结构信息(为什么?)

  • 知识应该理解为从输入到输出的映射,而不是学习到的参数信息

  • 模型的泛化性来源于错误答案的相对概率大小(一辆宝马被误判为卡车的概率大于被误判为萝卜的概率),而泛化性是学习的终极目标

  • 基本构架:学习高温Softmax之后的值

超大数据集下如何训练?

  • 论文给出的方法:用专家模型独立训练容易混淆的数据,在准确率略微提高的基础上,将训练时间从许多周缩短为几天

  • 模型集合是一个针对所有数据的generalist model和许多针对相近数据的专家模型。训练专家模型时,用generalist model的参数进行初始化(这样可以防止过拟合),训练数据一半是相近数据的集合,一半是随机选取的其他数据

    (correct for the biased training set by incrementing the logit of the dustbin class by the log of the proportion by which the specialist class is oversampled 应该如何理解?)

  • 分配不同种类到专家模型:将容易混淆的预测进行聚类,从而分配到专家模型

  • 最后对包含专家模型的一组神经网络进行知识蒸馏,提炼成一个同样大小的单一神经网络,方便部署

实际效果

泛化性的检验:在MNIST数据集中,仅靠知识蒸馏,能识别出缺失的某张图片吗?

金句启发

  1. 把dropout和分布式学习相结合?

    Dropout can be viewed as a way of training an exponentially large ensemble of models that share weights.

  2. FL的特点在于数据不能共享,所以不能在服务器端做模型融合。能不能做一个分布式的知识蒸馏,用专家模型解决异构数据的难点?

【论文考古】知识蒸馏 Distilling the Knowledge in a Neural Network的更多相关文章

  1. 【DKNN】Distilling the Knowledge in a Neural Network 第一次提出神经网络的知识蒸馏概念

    原文链接 小样本学习与智能前沿 . 在这个公众号后台回复"DKNN",即可获得课件电子资源. 文章已经表明,对于将知识从整体模型或高度正则化的大型模型转换为较小的蒸馏模型,蒸馏非常 ...

  2. Distilling the Knowledge in a Neural Network

    url: https://arxiv.org/abs/1503.02531 year: NIPS 2014   简介 将大模型的泛化能力转移到小模型的一种显而易见的方法是使用由大模型产生的类概率作 ...

  3. 1503.02531-Distilling the Knowledge in a Neural Network.md

    原来交叉熵还有一个tempature,这个tempature有如下的定义: \[ q_i=\frac{e^{z_i/T}}{\sum_j{e^{z_j/T}}} \] 其中T就是tempature,一 ...

  4. 论文阅读笔记十八:ENet: A Deep Neural Network Architecture for Real-Time Semantic Segmentation(CVPR2016)

    论文源址:https://arxiv.org/abs/1606.02147 tensorflow github: https://github.com/kwotsin/TensorFlow-ENet ...

  5. 论文阅读笔记六十四: Architectures for deep neural network based acoustic models defined over windowed speech waveforms(INTERSPEECH 2015)

    论文原址:https://pdfs.semanticscholar.org/eeb7/c037e6685923c76cafc0a14c5e4b00bcf475.pdf 摘要 本文研究了利用深度神经网络 ...

  6. 论文翻译:2020_Acoustic Echo Cancellation Based on Recurrent Neural Network

    论文地址:https://ieeexplore.ieee.org/abstract/document/9306224 基于RNN的回声消除 摘要 本文提出了一种基于深度学习的语音分离技术的回声消除方法 ...

  7. 论文笔记:Person Re-identification with Deep Similarity-Guided Graph Neural Network

    Person Re-identification with Deep Similarity-Guided Graph Neural Network 2018-07-27 17:41:45 Paper: ...

  8. Deeplearning知识蒸馏

    Deeplearning知识蒸馏 merge paddleslim.dist.merge(teacher_program, student_program, data_name_map, place, ...

  9. 论文解读(GCC)《GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training》

    论文信息 论文标题:GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training论文作者:Jiezhong Qiu, Qibi ...

随机推荐

  1. vue部署服务器以及解决部署到apache路由出现404

    最近在开发cms的时候使用Vue.js框架,利用vue-route.vue-cli结合webpack编写了一个单页路由项目,自己在服务器端配置apache.部署完成后,访问没问题,从页面中点击跳转就会 ...

  2. 微信小程序动画实现(API,css)

    微信小程序动画API实现 index.js clicktap:function(){ var Animation=wx.createAnimation({ duration: 2000, }) Ani ...

  3. 【刷题-LeetCode】165 Compare Version Numbers

    Compare Version Numbers Compare two version numbers version1 and version2. If *version1* > *versi ...

  4. es6中的导入与导出

    参考:https://www.cnblogs.com/sherrycat/p/11152994.html

  5. gorm创建记录及设置字段默认值

    package main import ( "database/sql" "gorm.io/driver/mysql" "gorm.io/gorm&q ...

  6. a 标签一些特殊用法

    发邮件 <a href="mailto:youemail@mail.com?subject=邮件标题&body=邮件内容">告诉我们</a> 打电话 ...

  7. Allure测试报告完整学习笔记

    目录 简介 安装Allure Allure测试报告的结构 Java TestNG集成Allure Report Python Pytest集成Allure Report 简介 假如你想让测试报告变得漂 ...

  8. Nginx配置文件nginx.conf有哪些属性模块?

    worker_processes 1: # worker进程的数量 events { # 事件区块开始 worker_connections 1024: # 每个worker进程支持的最大连接数 } ...

  9. mysql新增用户无法登陆问题解决ERROR 1045 (28000)

    mysql增加新用户无法登陆解决方法 ERROR 1045 (28000): Access denied for user 'appadmin'@'localhost' (using password ...

  10. elasticsearch 申请basic证书

    如果elasticsearch使用低于6.3版本的,basic证书默认1个月,需要申请,可使用时间为1年. 申请地址为: https://license.elastic.co/registration ...