大多数神经网络只有一个隐藏层带来高精度,那么多个隐藏层的目的是什么?
为了回答你的问题,你首先需要找到为什么"深度学习"一词近十年前被创造出来的原因.深度学习只不过是一个有几个隐藏层的神经网络.术语深度粗略地指的是我们的大脑通过不同层的神经元传递感觉输入(特别是眼睛和视觉皮层)进行推理的方式.然而,直到大约十年前,由于不同的问题,例如消失,爆炸的梯度,陷入局部最小值以及效率较低的优化技术,研究人员无法训练具有超过1或2个隐藏层的神经网络(与现在正在使用)和其他一些问题.在2006年和2007年,一些研究人员1和研究人员2展示了一些新技术,可以更好地训练具有更多隐藏层的神经网络,从那时起,深度学习的时代已经开始.
在深度神经网络中,目标是模仿大脑所做的事情(希望如此).在进一步描述之前,我可能会指出,从抽象的角度来看,任何学习算法中的问题都是在给定输入X和输出Y的情况下近似函数.在神经网络中也是如此,并且理论上已经证明,仅使用有界连续激活函数作为其单位的一个隐藏层的神经网络可以近似任何函数.该定理被创造为通用逼近定理.然而,这提出了一个问题:为什么具有一个隐藏层的当前神经网络不能以非常高的精度(比如> 99%)逼近任何函数?这可能是由于许多原因:
目前的学习算法并不像它们应该的那样有效
对于一个特定的问题,应该如何选择隐藏单位的确切数量,以便学习所需的函数并且基本的流形近似得很好?
训练样本的数量可以是隐藏单元数量的指数.那么,应该训练一个模型的训练样例有多少?这可能会变成鸡蛋问题!
什么是正确的有界连续激活函数,并且通用逼近定理是否可推广到任何其他激活函数而不是sigmoid?
还有其他问题需要回答,但我认为最重要的问题是我提到的问题.
在人们能够对上述问题(理论上或经验上)提出可证实的答案之前,研究人员开始使用隐藏单元数量有限的多个隐藏层.根据经验,这显示出很大的优势.虽然添加更多隐藏层会增加计算成本,但经验证明,更多隐藏层可以学习输入数据的层次表示,并且可以更好地推广到看不见的数据.通过查看下面的图片,您可以看到深层神经网络如何学习特征的层次结构,并在我们从第一个隐藏层到最后一个隐藏层时连续组合它们:
从这里拍摄的图像
正如你所看到的,第一个隐藏层(显示在底部)学习一些边缘,然后将那些看似无用的表示组合成对象的某些部分,然后组合这些部分将产生诸如面部,汽车,大象,椅子等的东西. ...... 请注意,如果不使用新的优化技术和新的激活功能,则无法实现这些结果.