文章目录
Intorduction
为什么越深,error rate越低?
所以是shallow更好,还是Deep更好呢?
从上图可以看出,还是越深越好,而不是越胖越好,为什么呢?
Modularization
模块化的思想。如同我们写函数,都是对象函数,然后调用不同的对象函数完成不同的功能,那么这个思想在DNN中是怎样的?
如果我们训练4个classifier,可以看出,因为长发男生数据比较少,那么classifier2就训练的比较弱
Modularization就可以先训练2个basic classifier,比如男vs女,长发vs短发。
这时候,我们在利用前面的basic classifer,再去分成4个分类器。从上图可以看到DNN的结构了。
每一层都是不同的classifer,越往前的层,每一个neuron越basic。这是自动学习到的。这个图像识别也可以解释,前面层都是学习的基础图案,后面是图案的拼接。
其实Deep Learning的功能是大数据是相反的,就是因为我们没有足够的数据,所以才会用Deep learning。
图片上的。
Modularization in Speech
不同的state share相同的distribution。
绿色的母音其实只是受到3个因素的影响。这个因素就是舌头的位置、嘴形等。所以不是每一个phoneme都独立的。而是用DNN,它们之间有关系。
所有的state用了同一个DNN model。
左下图是hidden layer的output,可以看出,DNN会先辨别最初的几个音。
靠近output是越来越区分的phoneme。
Universality Theorem
这个理论是说只能用一个layer就可以。这个结构只是说明hidden layer够宽,可以描述任何function,但是它没有讲它的效率问题。
虽然2层的逻辑闸可以做任何事情,但是工程上面,不会这样做,而是用多层的逻辑闸,这样有效率。
所以我们用DNN多的layer,比较有效率,可以用更少的数据。
就好像剪窗花,我们叠的越多,最后操作的就少。
蓝色点重合,就好像剪窗花,对折了一样。
3个layer的时候,可以看出,当数据少的时候,他效果虽然不好,但是还可以看出一点模样。但是1个layer的,就完全破坏了。
End-to-End Learning
当我们不告诉Model怎么做,而让他自己学习的时候,就是用DNN。让它自己学习。
下图是DNN之前的语音识别,只有蓝色是traning的
DNN开发之后:
会把之前的所有步骤,都换成hidder layer。
Complex Task
经过8个hidden layer,不同人说话居然开始聚合了。
当层数加多,可以看出,数字被分得很开。就是为什么要DNN。