受限于计算机算力和数学理论的不够完善,最初的神经网络隐藏层的层数比较有限,大多只有3~5个隐藏层,称为浅层神经网络。随着计算机计算能力的提升和数学理论的完善,神经网络隐藏层的层数越来越深,有十几层到上百层,如图2.6所示,就发展成了深层神经网络,也称为深度学习。深度学习的“深度”两字有两个含义:一个是网络层数深;另外一个是能够学习到样本更深层次的特征。要搭建一个深度学习模型来求解问题,首先需要选择神经网络类型,比如全连接神经网络、卷积神经网络等,全连接神经网络的结构比较固定,卷积神经网络更灵活;然后需要确定神经元激活函数、选择参数学习方法等。本章我们以全连接神经网络设计来学习深度学习的一些基本理论,卷积神经网络将在下一章进行介绍。
图2.6 含有多个隐藏层的全连接神经网络
全连接神经网络(Deep-Learning Neural Network,DNN)是一种多层感知机结构。整个全连接神经网络分为输入层、隐藏层和输出层,其中隐藏层可以更好地分离数据的特征,但是过多的隐藏层会导致过拟合问题。除输入层和输出层之外,每一层的每一个节点都与上下层节点全部连接,这就是“全连接”的由来。反映在由神经网络构造出的数学模型上,就是参数很多,构造的模型很复杂。
全连接神经网络训练分为前向传播、反向传播两个过程:前向传播指的是信号前向传播,数据沿输入到输出,通过计算可得到损失函数值;反向传播指的是误差的反向传播,是一个优化过程,利用梯度下降法或其他优化方法更新参数,从而减小损失函数值。