为了更好地理解神经网络的工作原理,我们将从神经网络的基本单元——人工神经元的工作原理开始。模拟已知的神经细胞生物过程原理,1943年麦卡洛克和皮兹建立了M-P模型。其工作原理如图2-2-1所示,即通过人工神经元的输入信号(模拟树突)加权求和,与阈值进行比较后再决定人工神经元是否输出信号(模拟突触)。通常表示为:
图2-2-1 M-P模型
其中, x i 为第 i 个输入, ω i 为连接权重, θ 为阈值, y 为输出。而 f 为激活函数,常取为sigmoid函数:
即,只有 超过阈值 θ 之后,人工神经元才被激活。
1958年,罗森布拉特提出了感知机学习,建立了由两层人工神经元组成的“感知机”,如图2-2-2所示。它是一种最简单的前馈神经网络,能很好地求解二元线性分类问题和实现简单的基本逻辑运算。
图2-2-2 具有两个输入人工神经元的双层感知机
值得一提的是,感知机虽然能很好地求解二元线性分类问题和实现简单的逻辑运算,但对于非线性分类问题或较复杂的逻辑运算,感知机却无法实现。
为了解决非线性分类问题,我们需要考虑更多层人工神经元。图2-2-3给出了一个三层的神经网络,除去输入和输出层外,还有一个中间层,称为隐层。各层间的人工神经元都按某种权重进行连接。事实上,中间层可为多个隐层,而各个层中的人工神经元个数也可以根据具体问题进行设计。一般来说,隐层数量越多,每层的人工神经元个数越多,模型的复杂度就越高,对输入和输出间的非线性映射的逼近效果就越好。
图2-2-3 多层前馈神经网络的结构
多层网络的结构使得对非线性映射的逼近变得可能。事实上,当网络连接的权重和每个人工神经元的阈值给定时,就确定了输入和输出间的一个映射关系。因此,如何确定网络参数,即网络的连接权重和每个人工神经元的阈值,使得在给定的训练数据下对输入与目标输出间的非线性映射逼近得最好就成为神经网络学习的一个重要内容。该学习过程就是在输入和目标输出给定的情况下,将网络参数作为变量进行优化。具体来说,在给定输入下,根据网络结构就可以计算出依赖于网络参数的输出,我们希望这个输出和给定数据的目标输出间误差越小越好。该问题的求解可以运用最优化理论中最简单的梯度下降算法。以上优化过程常采用误差的反向传播,即通过观察模型输出和训练数据目标输出间的误差,迭代地调整网络参数的过程。
正如之前所述,神经网络学习的本质是通过训练数据学习得到网络参数,使得对应的神经网络能最优地表达输入和目标输出之间的映射关系。自然的一个问题就是,神经网络是否能够表示某种映射关系。也就是说,希望找到的映射关系是否包含在给定结构的神经网络中。
非常幸运的是,有学者严格地证明了一个三层(只含一个隐层)的BP神经网络可以以任意精度逼近任意紧集上的连续映射。该定理称为全局逼近定理,从理论上保障了输入和目标输出间映射被有效表示的可能。