BP神经网络介绍
中间隐含层的净输入向量为S=(s1,s2 , ? ,sp)T,输出向量为B =
(b1 , b2 , ? ,bp) T ; 输出层净输入向量L=(l1,l2 , ? ,lq)T,实际输出向量C=(c1,c2 ,
? ,cq)T; θ={θj}(j=1,2 , ? ,p}为隐层神经元引入阈值,γ={γt}(t=1,2...q)
第四章 误差反向传播神经网络
研16电子 陈晨 2017.4.11
4.1 误差反向网络的提出 4.2 BP神经网络结构基本思想
4.3 BP神经网络处理的单元模型
4.4 BP神经网络学习算法 4.5 BP网络的分析 --梯度下降学习方法
4.6 BP人工神经网络模型的改进
18
3
4.1 误差反向网络的提出
我们可以引入学习参数自适应算法加以确定。其基本思 想是:当权值w,v 远离稳定点(学习要达到的目标点)时, α,β取较大值;而当其逼近稳定点(E1→0)时, α,β取较 小值。
18
15 4.6 BP人工神经网络模型的改进
3.附加动量法 附加动量法使网络在修正其权值时, 不仅考虑误差在
梯度上的作用, 而且考虑在误差曲面上变化趋势的影响,
3、容错能力
3、网络结构选择不一
18
13 4.6 BP人工神经网络模型的改进
1、BP 人工神经网络结构的自我调整 在BP人工神经网络拓扑结构中, 输入节点与输出节点
是由问题的本身决定的, 关键在于隐层的层数与隐节点的 数目。
只需一个隐层的神经网络, 它只要隐节点足够多, 就 可以以任意精度逼近一个非线性函数。相对来说, 隐节点 数的选取很困难。隐节点少了, 学习过程不可能收敛;隐 节点多了, 网络性能下降, 节点冗余。为了找到合适的隐 节点数, 最好的办法是在网络的学习过程中, 根据环境要 求, 自组织地学习、调整自己的结构, 最后得到一个大小 合适的神经网络模型。
其作用如同一个低通滤波器, 它允许网络忽略网络上的
1986 年,Romelhart 和McCelland 提出了误差反向传播算 法( Error Back Propagation Algorithm ,简称BP 算法) ,由于 多层前馈网络的训练经常采用误差反向传播算法,所以人们 也常把多层前馈网络称为BP 网络。
BP算法采用非线性连续变换函数,使隐含层神经元具有 了学习能力。其基本思想直观、易于理解,数学意义明确、 步骤分明,所以BP 网络成为目前应用最广的神经网络。
n
? s j ? xi wij ? ? j i ?1
? ? bj ? f s j j=1,2,...,p
(2)计算输出层各个神经元的净输入和实际输出
p
? lt ? vjtbj ? ?t
? ? ct ? f lt t=1,2,...,q
j?1
(3)根据给定期望,计算输出层各个神经元的校正误差
dt ? ?yt ? ct ?f '?lt ?
(4)计算隐含层各个神经元的校正误差
? ? ? ej
?
? ?
q
? vjt dt ? f '
sj
? t ?1
?
f '?x?? f ?x??1? f ?x??
18
11 4.4 BP神经网络学习算法
(5)修正隐含层至输出层的连接权值V和输出层神经元 的阈值γ,其中学习速率为α,0<α<1
? v jt ? ? d t b j ? ? t? ? dt j=1,2,...,p,t=1,2,...,q
为输出层神经元引入阈值;
输入层到隐层之间的权值矩阵V = ( V1 , V2 , ? ,V m) ,隐层到 输出层之间的权值矩阵W = ( W1 ,W2 , ? , Wr)。
18
9
? ? ? E ? 1 q
q t?1
yt ? ct
EБайду номын сангаасME
18
10 4.4 BP神经网络学习算法
(1)计算中间隐含层各个神经元的净输入和输出
18
7
4.3 BP神经网络处理的单元模型
Sigmoid函数的一阶导数:
? ? f ' ?x??
?1 1? e?x
2
e ? x ?? 1?
?
1 1? e?x
? 1
e ?
?x
e?
x
? f ?x???1? f ?x??
18
8 4.4 BP神经网络学习算法
三层前馈网中:
输入模式k向量为X = ( x1 , x2 , ? ,x n) T ,对应输入模式k的期 望输出向量为Y = ( y1 , y2 , ? , yq ) T ;
(6)修正输入层至隐含层的连接权值W和隐含层神经元 的阈值θ,其中学习速率为β,0<β<1
? wij ? ? e j xi ? ? j ? ? e j
18
12 4.5 BP网络的分析--梯度下降学习方法
一、BP网络的主要能力
二、BP算法的局限性
1、非线性映射能力
1、存在局部极小问题
2、泛化能力
2、存在平坦区,收敛速度慢
18
4
4.2 BP神经网络结构基本思想
修改权值阈值
教师 信号
18
5
4.2 BP神经网络结构基本思想
BP算法的主要思想是把训练过程分为两个阶段: 第一阶段(正向传播过程)给出输入信息通过输入层经隐含
层逐层处理并计算每个单元的实际输出值。 第二阶段(反向传播过程)若在输出层不能得到期望的输出
值,那么逐层递归地计算实际输出与期望输出之差值,以便 根据差值调节权值。
18
6
4.3 BP神经网络处理的单元模型
x1 w1j x2 w2j
j θj
yj
xn
wnj
n
? s j ? xiwij ? ? j
i ?1
f
?x ??
1 1? e?x
yj
?
f
(s j
)
?
1?
1 e? s j
阈值θj的作用反应在s型生 长曲线上是使曲线向右平移θj 个单位,在BP网络里它起到
了神经元兴奋水平的作用。
? 从少到多:初始值: m ? log 2 n , m ? nl
? 先设置较多隐节点
18
14 4.6 BP人工神经网络模型的改进
2、BP 神经网络学习参数的自适应学习 BP神经网络模型实际上是一个多元函数的优化问题,即
以连结权系数为变量, 误差函数最小为目标的优化问题。 当求出对连结权的梯度后, 对连结权进行修正时, 学习速 率α、β实际上是一个沿负梯度方向的步长问题, 步长过 大将使误差函数发生振荡, 步长过小, 收敛过慢。并且在 不同的点, 可选步长也不一样。总之, 不存在原BP 算法 中所提到的固定学习速率。