主讲内容:CNN DNN的优势!!!!!
CNN的layer层数越深,得到的word Error就越低,因为层数越深,参数就会越多,同时就会得到更好的结果,如图:
那么我们拿两个参数几乎一样的参数的cnn但是层数不一样,一个是高瘦,另一个是矮胖的比较哪个更好呢?例如:
图中箭头双方模型的参数树木是接近的。我们会发现,一层的矮胖的network的performance的能力是有限的,那么怎么来衡量呢???为什么会这样子呢??
我们在做dp的时候,其实就是在做~~模组化~~ 这样的事情。
如何模组化分类呢??例如下面图中的结构,利用矮胖类型,我们发现现实中长头发的男生数据train data比较少,同样相应的performance的结果也会比较差,那么矮胖的类型就不拍适合呢,那么我们怎么利用模组化去避免这种因为种类数据的多少影响实验结果的问题呢?
1.通过数据的属性切块,运用一个basic classifier 男女分类,长短分类,我们就能看到短的数据集和长的数据集差不多,同样,traindata通过分组得以权衡。
每个classifier都共用同样的model,这里再求解时是把basic classifier当作一个model来使用,结论可以利用比较少的data去训练好的model,每一个layer都是一个basic classier,每一层的classifier把前一层layer作为model,基本和复杂而已,模组化的任务是是由它自动从data中学习的,模组化把我们的事情变简单了。
我们做deepLearning的原因是因为我们没有足够的deep data,从而需要通过学习来举一反三,不然又足够的database我们直接可以用table look up就行勒,那么麻烦干嘛!!!
deeplearning 在语音和图像上的应用是非常好的!!
人类语言的架构:
phoneme是因素的意思
但是每次的因素的发音是不一样的。
同样的因素,不同的发音;;;==T ri-phone
每个语音段出一个acoustic feature
GMM
deeplearning怎么做的呢?
DNN是把所有的state用同一个model进行分类的,这个训练输入就是acoustic feature,输出是他在每一个state上的概率
DNN每个layer做的事情是:靠近input的layer(lower layer)先知道发音的方式的高低,然后比较靠近输出的layer(high layer),来判断是属于哪个state,所以DNN是侦测发音的工具,所有的发音共用同一个DNN来侦测,这样就做到模组化这件事情,所有的因素都征用同一个DNN的参数,这样就简约,这就叫做存同去乙,比较 每个点代表一个acoustic feature通过dnn变成下面这种分布,图中的五个颜色表示五个母音,图中五个母音的分布与框架上的布置是差不多的。
理论告诉了我们任何一个function都可以用一层的hind layer来描述,只要参数足够多,但是没有告诉我们他的效率。
逻辑电路类比:
高维投影,低维展开
以前的语音处理与现在的DNN处理比较:
以前的GMM是用train学出来的,其他的都是人的经验处理出来的函数,钉死的数据处理方法
手写电视的例子