3.2 单层前馈神经网络
在生物神经网络中,每个神经元与其他神经元相连,当它“兴奋”时,就会向连接的神经元发送化学物质,从而改变这些神经元内的电位,如果某个神经元的电位超过一个阈值时,便会转变为“兴奋”状态,向其他神经元发送化学物质,两个神经元信号的传递方向是单向的。
3.2.1 单层前馈神经网络介绍
在M-P神经元模型中,如果将多个M-P神经元模型按层连接,就能得到单层前馈神经网络,如下图3-2所示。
图3-2 单层前馈神经网络
单隐层前馈神经网络由输入层、隐含层、输出层组成,可简单模拟生物神经网络,每层神经元与下一层神经元连接,神经元之间不存在跨层连接、同层连接,输入层用于数据的输入,隐含层与输出层神经元对数据进行加工。
3.2.2 BP算法
反向传播(英语:Backpropagation,缩写为BP)是“误差反向传播”的简称,是一种与最优化方法(如梯度下降法)结合使用的,用来训练人工神经网络的常见方法。该方法对网络中所有权重计算损失函数的梯度。这个梯度会反馈给最优化方法,用来更新权值以最小化损失函数。
反向传播要求用对每个输入值想得到的已知输出,来计算损失函数梯度。因此,它通常被认为是一种监督式学习方法,虽然它也用在一些无监督网络(如自动编码器)中。它是多层前馈网络的Delta规则的推广,可以用链式法则对每层迭代计算梯度。反向传播要求人工神经元(或“节点”)的激励函数可微。
BP算法具有如下所示的两个关键点:
(1)根据输入值获得输出值,计算损失函数的梯度
(2)将梯度反馈给最优化算法(例如梯度下降法),由最优化算法对连接权和阈值进行更新,使得损失函数变小。
在单层前馈神经网络中使用BP算法的过程如图3-3所示。
图3-3 使用BP算法