深层网络更适合模组化
在比较浅层网络与深层网络时,要让“矮胖”的网络和“高瘦”的网络的参数数目相等,这样比较才公平。
即便是在深层网络参数较少的情况下,深层网络也会比浅层网络表现好。
这是因为“深层”其实相当于“模组化”,第一个隐层是最基本的分类器,第二个隐层是用第一个隐层建造的分类器,以此类推。
模组化:
举个图像识别的例子,识别长发男生、长发女生、短发男生和短发女生,如下,由于长发男生样本少,所以模型训练出来的效果对测试集上的长发男生效果会比较差(样本不平衡)(数据预处理需要解决的问题之一就是样本不均匀)
因此我们使用模组化的思想解决这一问题,我们先考虑识别基础类别(男女、长发短发),即我们先input一张图片,识别这是长发还是短发,这是男还是女,此时样本比例是相当的,由此训练的效果不会变差,且由两个基础类别的组合可以得到最终的四个类别。
深度学习的优势就体现在模组化的处理方式,第二层的神经元把第一层的神经元当作modile,第三层的神经元把第二层的神经元当作module(具体module由算法自动学习)。此时复杂的问题变成简单问题,深度学习需要的数据比较少。
deep learning 更有效率
前人已经证明了只有一个隐藏层的网络能够表示任何函数,但用更深的网络结构更有效率。好比逻辑门电路,用两层逻辑门就可以实现任何布尔函数,但是用多层结构更简单、需要的逻辑门更少。
神经网络也是如此,单隐层网络可以表示任何连续函数,但是多层结构表示起来更简单、需要的神经元更少,所以比较不容易overfitting,或只需较少的data。
而且,深层结构可以比较有效率地使用data。
网友评论