5.17-deeper is better?

这节课讲层数更多(更深)的网络好一些吗?为什么好一些,从多个方面尝试论证。

首先比较的基础应当是同样的参数,比如2K个参数都在一层(矮胖)和分布在5层(高瘦)的网络来比较效果。

这边直接给出结果,就是当然深一点的网络效果更好。


modularization模块化

deep代表模块化,一层层叠的不断调用,而不是把所有程序都写着在一个main函数里,那这样的话有一些小的模块其实是可以公用的,不需要重复写,这就是效率的提升。

并且模块化对数据量比较少的类型很友好,比如下面举得长头发男生的例子,如果是看整体,数量会很少,但是如果分别在长发和男生的支线中,就不会少了。

模块化和深度学习的关系是,机器会自动学会让第一层做比较简单的工作,然后第二层在利用第一层的输出时,其实就是对第一层的调用,以此类推。

有趣的是,模块化代表的是对数据的充分利用,所以深度学习其实是可以利用很少的训练数据的,这可能和以往的认知相反。但其实如果真的有无穷的数据,直接一个一个对应就可以,何必还要求机器学会举一反三的能力呢。所以正是因为没有足够的数据,所以才需要深度学习。

下面从电路方面来讲深度学习的模块化。 

两个门就可以实现任意一个布尔函数boolean function,但是没有人这么做,反而是多层的会让电路更简单有效。

这里举了一个简单的例子,要判断序列中1的个数是奇数还是偶数,那么如果用两层的电路的话,门的个数要和长度挂钩。但是如果用多层,从片段开始判断,层层递进,就不用那么多门了。

(其实这里我没太懂)不过剪窗花这个例子很好动,前提是理解深度学习是将空间进行了对折,比如下面这四个点无法用直线拟合,但是在深度层中,把两个蓝色点对折到一起了,也可以理解成一个点的信息被利用了两次,窗花减一下,展开之后就是剪了无数下。但是我觉得前提是数据或者规律确实是这样重复性的,才有用。


Een-to-end端到端的学习

端到端的意思就是一气呵成,中间每一层不需要自己去设定,只需要给网络输入和输出,中间的分工让机器自己学,下面举得语音处理的例子,传统方法就是先转换成频谱图,然后滤波然后MFCC然后才是深度网络GMM中去处理,那么能不能直接成下面的,不知道每一层在干什么,只给就是语音的输入,得到辨识出来的结果。

这个事情确实有人做,最后的结果是持平,不分胜负。


处理复杂的工作

机器有时候比人聪明,有时候人都分不清楚的事情机器可以分清,当然图像的例子很简单,后面这个是不同人说同句话的MFCC,不同颜色就是指不同人,此时人类是不太好分辨清楚的,但是经过八层的网络,机器可以分清楚。虽然我们也不知道它怎么分清楚的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值