深度前馈网络(Deep Feedforward Network)是具有深度结构的前馈神经网络,可以看成是进化版的多层感知器。与只有一个或两个隐藏层的浅层网络相比,深度前馈网络具有更多的隐藏层数目,从而具备了更强的特征提取能力。
深度前馈网络不考虑输入数据可能具备的任何特定结构,也就是不使用关于数据的先验信息。但特征提取能力增强的代价是运算复杂度的提升。因而,网络架构的建立、损失函数的选择、输出单元和隐藏单元的设计、训练误差的处理等问题就成为深度前馈网络设计中的一系列核心问题。
在深度前馈网络的设计中,确定架构是首要考虑的关键问题。架构决定着网络中包含多少基本单元,以及这些基本单元之间如何相互连接。几乎所有前馈网络采用的都是链式架构,即前一层的输出是后一层的输入。在这样的链式架构中,层的数目和每一层中神经元的数目就是网络的主要变量。
深度前馈网络的出现克服的正是单隐藏层带来的复杂性问题:使用深度架构的模型既能减少表示目标函数时所需要的单元数量,也能有效降低泛化误差,在一定程度上抑制过拟合的发生。深度架构对复杂函数具有更强的表示能力,这一点已经在数学上得到证明。除此之外,深度架构也暗含了这样的假设:待学习的复杂函数可以视为若干简单函数的层次化结合。由于深度学习的思想本就借鉴自神经科学,这个假设也就合情合理了。
在层与层之间,深度架构采用的最常见的方式是全连接,意味着相邻层次中的任意神经元都两两相连。全连接是最简单也最复杂的架构,说它简单是因为连接方式只有一种选择,不需要考虑保留哪些连接或是放弃哪些连接;说它复杂是因为这种方式需要确定的参数最大,给网络训练带来了很大的麻烦。目前也有大量神经网络使用了稀疏的连接方式,这需要结合应用场景具体分析。
任何机器学习算法都可以看成是对某个预设函数的最优化方法,深度前馈网络也不例外。与其他神经网络一样,深度前馈网络也利用梯度信息进行学习,在处理误差时采用的是反向传播方法,利用反向传播求出梯度后再使用随机梯度下降法寻找损失函数的最小值。但深度网络的非线性特性常常会影响到学习算法的收敛性能,这也是使用非线性函数的神经网络的一个固有特性。
网友评论