为什么要做深度学习而不是宽度学习?

                                                                                                                                                   点击此处返回总目录

 

前面在深度学习介绍的最后有留下一个疑问。我们为什么要deep learning。

                             

我们说,变深了,参数增多,model变复杂,performance变好,是很正常的。

所以,真正要比较一个深度model和一个shallow(浅层) model的时候,你要调整两个model,让他们的参数是一样多的。这样才有说服力。很多人在比较deep 和shallow model 的时候,没有注意到这件事,这样对比是不公平的。你要让两者的参数一样多,这样才公平,这种情况下shallow的model就是一个矮胖的model,deep的model就会是一个高瘦的model。接下来的问题就是,在这个公平的评比之下,shallow比较强还是deep比较强呢?

                               

所以,刚才的实验结果是有后半段的。后半段的实验结果是这样的,用5层,每层2K个神经元得到的error是17.2%。另外,用1层,3772个神经元得到的error是22.5%,为什么是3772个神经元呢?因为这样这两个网络的参数是接近的。我们发现1层的error比较大。

同样,7层每层2K个神经元和1层4634个神经元,他们的参数是接近的。发现1层的也是比较差的。

甚至,增加参数变成1层但是有16K个神经元,error也只是从22.6变到22.1而已。

当用一层非常非常宽的网络(参数多),跟只有2层每层2K个神经元的网络(参数少)相比,效果还不如后者。

                                    

 

在很多人的想象里面,deep learning就是一个暴力碾压的方法,我弄一个很大很大的model,然后collect一大堆的data,所以就得到了一个比较好的performance,它就是一个暴力的方法。实际上,你会发现不是这样子。如果你今天只是单纯地增加参数,你是让网络长宽而不是长高的话,其实对performance的帮助是比较小的。把网络长高对performance很有帮助,把网络长宽帮助没有那么好。

 

----------------------------------------------------------------------------------------------------------------------------

为什么会这样呢?

我们可以想象说,当我们在做deep learning的时候,其实我们是在做模块化这件事情。什么意思呢,大家应该都会写程序,写程序的时候不能把所有的代码都写在一个函数里面,而是

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值