李宏毅老师课程:Why Deep

Shallow V.s. Deep

Deep Learning在很多问题上的表现都是比较好的,越deep的network一般都会有更好的performance
那为什么会这样呢?有一种解释是:

  • 一个network的层数越多,参数就越多,这个model就越复杂,它的bias就越小,而使用大量的data可以降低这个model的variance,performance当然就会更好

如下图所示,随着layer层数从1到7,得到的error rate不断地降低,所以有人认为,deep learning的表现这么好,完全就是用大量的data去硬train一个非常复杂的model而得到的结果
在这里插入图片描述
但其实deep和shallow这两种结构的performance是会不一样的,下图是这两种结构的network的比较:
在这里插入图片描述
结果如下图所示:
在这里插入图片描述
在参数数量接近的情况下,只有1层的network,它的error rate是远大于好几层的network的;这里甚至测试了1x16k大小的shallow network,把它跟左侧也是只有一层,但是没有那么宽的network进行比较,由于参数比较多所以才略有优势;但是把1x16k大小的shallow network和参数远比它少的2x2k大小的deep network进行比较,结果是后者的表现更好

也就是说,只有1层的shallow network的performance甚至都比不过很多参数比它少但层数比它多的deep network

根据上面的对比可知,deep learning显然是在结构上存在着某种优势,不然无法解释它会比参数数量相同的shallow learning表现得更好这个现象

Modularization(模块化)

就像写程序一样,shallow network实际上就是把所有的程序都写在了同一个main函数中,所以它去检测不同的class使用的方法是相互独立的;而deep network则是把整个任务分为了一个个小任务,每个小任务又可以不断细分下去,以形成modularization,就像下图一样
在这里插入图片描述

example

这里举一个分类的例子,我们要把input的人物分为四类:长头发女生、长头发男生、短头发女生、短头发男生

如果按照shallow network的想法,我们分别独立地train四个classifier(其实就相当于训练四个独立的model),然后就可以解决这个分类的问题;但是这里有一个问题,长头发男生的data是比较少的,没有太多的training data,所以,你train出来的classifier就比较weak,去detect长头发男生的performance就比较差
在这里插入图片描述
但其实我们的input并不是没有关联的,长头发的男生和长头发的女生都有一个共同的特征,就是长头发,因此如果我们分别独立地训练四个model作为分类器,实际上就是忽视了这个共同特征,也就是没有高效地用到data提供的全部信息,这恰恰是shallow network的弊端

而利用modularization的思想,使用deep network的架构,我们可以训练一个model作为分类器就可以完成所有的任务,我们可以把整个任务分为两个子任务:

  • Classifier1:检测是男生或女生
  • Classifier2:检测是长头发或短头发
    在这里插入图片描述
    经过层层layer的任务分解,每一个Classifier要做的事情都是比较简单的,又因为这种分层的、模组化的方式充分利用了data,并提高了信息利用的效率,所以只要用比较少的training data就可以把结果train好

Speech

language basics

当你说what do you think的时候,这句话其实是由一串phoneme所组成的,
同样的phoneme也可能会有不太一样的发音,当你发d uw和y uw的时候,心里想要发的都是uw,但由于人类发音器官的限制,你的phoneme发音会受到前后的phoneme所影响;所以,为了表达这一件事情,我们会给同样的phoneme不同的model
在这里插入图片描述

process

首先要做的事情是把acoustic feature(声学特征)转成state,这是一个单纯的classification的problem
在这里插入图片描述
再建一个Classifier去识别acoustic feature属于哪个state,再把state转成phoneme,然后把phoneme转成文字,接下来你还要考虑同音异字的问题…

Analogy

Logic Circuit

逻辑电路其实可以拿来类比神经网络
在这里插入图片描述

剪窗花

关于逻辑回归的分类问题,可能会出现linear model根本就没有办法分类的问题,而当你加了hidden layer的时候,就相当于做了一个feature transformation,把原来的x1,x2转换到另外一个平面,变成x1’、x2’,这样做既可以解决某些情况下难以分类的问题,又能够以比较有效率的方式充分利用data(比如下面这个折纸,高维空间上的1个点等于二维空间上的5个点,相当于1笔data发挥出5笔data的作用)
在这里插入图片描述

End-to-end Learning

End-to-end learning,指的是只给model input和output,而不告诉它中间每一个function要怎么分工,让它自己去学会知道在生产线的每一站,自己应该要做什么事情;在DNN里,就是叠一个很深的neural network,每一层layer就是生产线上的一个站
在这里插入图片描述

Conclusion

deep learning的好处:

  • 有时候非常像的input,它会有很不一样的output
  • 有时候看起来很不一样的input,output其实是一样的

如果你的network只有一层的话,就只能做简单的transform,没有办法把一样的东西变得很不一样,把不一样的东西变得很像;如果要实现这些,就需要做很多层次的转换,就像前面那个剪窗花的例子,在二维、三维空间上看起来很难辨别,但是到了高维空间就完全有可能把它们给辨别出来

本文图片来自李宏毅老师课程PPT,文字是对李宏毅老师上课内容的笔记或者原话复述,在此感谢李宏毅老师的教导。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值