"Do Deep Nets Really Need to be Deep?"阅读笔记

这篇文章的主要是思路就是使用一个shallow model 去模仿deep model,使shallow model达到deep model的精度。从原始训练样本训练一个shallow net达到deep net相同的精度是很困难的事情,paper提出了shallow net 使用deep net的结果作为标签。

1 Introduction

作者在第一部分提出了几个问题值得思考一下,给定一个1M 训练样本,网络A使用只有一个隐含层的全连接网络可以达到86%的准确率;网络B使用一个卷积层,一个pooling层和三个全连接网络,在A同样的测试集上准确率可以达到91%,那么请问B比A提升的原因是什么?作者列举了一些原因辅助我们思考:
a) B 有更多参数?
b) 在参数量相同的情况下,B可以拟合更复杂的函数?
c) 更深的网络有更好的inductive bias,因此可以学习更有用的函数?
d) 卷积函数起了主要作用,没有就会丧失一些学习能力?
e) 目前的学习策略和正则化策略对更深的网络更有效?
以上一个或多个原因还是None of all?

作者在文中给出了一个判断网络深度是否合适的方法,如果一个shallow net 和一个deep net 拥有相同的参数规模,并且shallow net可以有很接近deep net的结果,那么当前任务就不需要那么深的网络。

2 Models

方便描述,我们把softmax输出的值称作probability, softmax的输入称作logits。
paper提出训练shallow net的时候使用deep net 的logist作为标签,让shallow net去模仿deep net的表达方法,让shallow net回归出deep net的输出。个人理解:deep net的logits其实是样本在一个新的特征空间的一个点。
为什么不使用probability作为标签呢?
假如[2e-9, 4e-5, 0.9999]是softmax的三个probability,用这个作为shallow net的回归目标,因为各个probability 之间差异太大,容易是shallow net注意力集中在较大的probability上,忽略值较小的probability。
训练shallow net的使用简单使用L2 LOSS即可。

3 Experiments

作者在语音数据库TIMIT和cifar10上都取得了不错的结果,图就不贴了,直接看paper吧

4 Discussion

paper 对这种方法可以work给出了集中解释:
1,deep net 更robust,可以对一些错误样本进行矫正,使shallow net学习更容易
2, deep net学习能力更强,可以学习一些比较难的任务,把输入转换为更容易区分的soft logit
3,logit比hard label包含更丰富的信息
4,hard label部分依赖输入,deep net把和目标不相关的feature都过滤掉了,输出的logit可以看做是从input data 中学习的浓缩的最有效的feature

5 延伸思考

众所周知,kernel SVM是把低维特征投影到更高维的特征空间中,然后再分,那可不可以认为paper中的teacher-student模式是把SVM逆过来,把高维空间压缩到低维空间中,通过deep net学习出样本在低维空间中位置,然后再分,这样做可以去掉高维空间中和目标不相关的噪声特征。

相关的几篇论文
“Distilling the Knowledge in a Neural Network”
“Deep Model Compression: Distilling Knowledge from Noisy Teachers”
“face model compression by distilling knowledge from neurons”
也会一起记录下来
一些和distilling knowledge相关的材料:
TTIC Distinguished Lecture Series - Geoffrey Hinton
Model Compression
Awesome Knowledge Distillation

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值