当前位置:首页 >> 自然科学 >>

一种具有自适应动量因子的BP算法


第 34 卷第 4 期 2008 年 11 月

大连海事大学学报

Vo l. 34 Nov. ,

No.4 2008

Journal of Dalian Maritime University

文章编号 :1006-7736(2008)04-0045 田 03

一种具有自适应动量因子的 BP 算法部
张会生 1 , 2 吴微 1

(1.大连理工大学应用数学系,辽宁大连
2 大连海事大学数学系,辽宁大连

116024;

116026)

摘要:为提高神经网络的训练速度,提出一种自适应确定带

敛速度慢的缺点,人们提出了许多改进方案 [1- 4]



动量项 BP 算法中动量因子的方法.在学习率为常数情况下,
根据误差函数关于权值向量的梯度变化情况,自适应调节动 量因子数值试验表明,该方法对离线和在线训练均有效,且

中,在网络权值的改变量中加入动量项,是→种有效 而实用的策略.人们通常通过试验将动量因子取为

在收敛速度和算法稳定性上优于常动量因子的 BP 算法 关键词:神经网络 ;BP 算法;动量因子 中图分类号 :TP183 文献标志码 :A

(0 ,1)区间内的常数.若动量因子太小,加入动量项 的效果不明显,而过于接近 1 ,则会使算法不稳定,
因而合理选取动量因子,对网络训练至关重要.文献

[3J 指出,在训练初期,动量项不但不会加快收敛速
A back-propagation algorithm with adaptive momentum factor ZHANG Hui-sheng 1. 2 , WU Wei'

度,相反会使网络的误差曲线出现震荡.文献 [4 J 提
出了一种选取最优动量因子和学习率的方法,这一

方法实际上是一种共辄梯度法 [5] 具有很好的收敛
速度.但是该方法仅适用于离线训练的情况.当样本 数量很大或样本冗余度高时,在线训练通常比离线
训练更有效.本文提出一种自适应确定动量因子的
方法.数值试验表明,对于在线和离线两种训练方

(1.
2.

De户α rtment of A户户lied Mathematics ,

Dalian University of Technology , Dalian 116024 , China;
De户artment

of Mathematics , Dalian Maritime University ,

Dalian 116026 , China) Abstract: A method was developed to adaptively determine the momentum factor of back-propagation (BP) algorithm to enhance the training speed of
th巳 neural

式,使用该动量因子的 BP 算法在收敛速度和稳定性
方面均优于选取最优常动量因子的 BP 算法.

networks. Taking the le

arning rate as constant , the algorithm adjusted the momentum factor according to the the gradient of the error function with respect to the weight vector. N umerical experiments show that the proposed algorithm is eHective for both the batch and online training. Moreover , it is superior to the BP algorithm with constant momentum factor in respect of convergence rate and stabil1ty.

1

算法描述
为便于算法描述,考虑单隐层的前传网络设网

络有 ρ 个输入节点 , q 个隐节点 , r 个输出节点.设

W = (Wi , j) 叫为隐层与输出层之间的权值矩阵,

v

= (叭 , j

)

qX ρ 为输入层与隐层之间的权值矩阵,
町,町,… , x, )T 仨 R' ,

f(.) 为活化函数 .\f x

Key words:neural networks; back-propagation (BP)algorithm; momentum factor

5 为正整数,定义向量函数 F(x)

(j (Xj) ,

f( X2 ) ,… ,j (XJ)T. 对任意输入向量 §εr ,网络
的实际输出为
?=F(W(F(V~)))

。引


、 一

BP 算法是目前应用较为广泛的一种神经网络
训练算法.为克服 BP 算法容易陷入局部极小以及收
来收稿日期 :2008-01-22.

其中, ?εR' .此外,记
w

(W 11 , W 12 , … , W jq , W 21 , … , W呵,

基金项目:国家自然科学基金资助项目(1 0471017) . 作者简介:张会生(1 979 - ),男,山东滨州人,博士研究生,讲师 .E-mail:zhhuisheng@163.com; 吴 微(1 953 - ) ,男,黑龙江牡丹江人,教授,博士生导师, E-mail:wuweiw@dlu t. edu.cn.

46
V ll , … , V 1 户 , V 21 , … , Vqp)T
W1

大连海事大学学报

第 34 卷

(W1T , W/)T

加速算法收敛.而在误差曲面的陡峭部分,减小动量 因子可以避免算法出现不稳定.因此,动量因子应是 自适应变化的,而不是简单地取作常数.误差曲面的

即网络中所有权值组成的向量.其中,

(W ll , W 山… , W 1q , W 21 ,…, W rq ) T W2 (V ll , … , V 1P , V 21 ,…, Vqp)T

陡缓程度可以用误差关于权值向量的梯度范数来刻
画.当梯度范数较大时,误差变化较快,误差曲面较 陡;而梯度范数较小时,误差变化较慢,误差曲面较 平坦.为此,可以根据误差关于权值向量的梯度大小 自适应调节动量因子

其中 :W 1 为输出层与隐层之间所有权值组成的向

量 ; W 2 为隐层与输入层之间所有权值组成的向量.

1. 1

带动量项的离钱 BP 算法

设 s= !~(j), o(j)ff~l 是给定的训练样本集,其
中, ~(j )ε R P , O (j )εR r 定义误差

误差 E 、主分别由式(1)、 (2) 给出.
(j) -

w1 (川、

=土丰 (o (j) 2rJ 纠

-

?( j) )T(O

?<il)

(1)

w 2 (是)分别表示第 h 次训练得到的权值向量 w 1 、

叭,显然有

其中, ?( j) = F(W(F(V~ <il))) 是对应于输入伫)
的网络实际输出.记 V E(k) 为 E 关于 w 在 W
w(k) 处的梯度,其中 w( k) 表示第 h 次训练网络得

w(k)

=

(w 1(k)T , w 2(k)T)T

令 vuI E( 走)和 v 四2E (h) 分别表示 E 关于权值向
量 w 1 、 w2 在 w

到的网络权值向量 , k

1, 2 , ….当神经网络以离线

=

w(k) 的梯度,其中 k

=

1 , 2 ,….给

方式训练时,在所有训练样本全部呈现后才进行一 次网络权值更新.给定初始权值向量 W(O) 、 w( 1) ,
带动量项的离线 BP 算法的权值更新可表示为

定初始权值向量 w(o) 和 w (1) , 与常动量因子的离
线 BP 算法[式 (2)] 相对应,具有自适应动量因子的

离线 BP 算法的权值迭代公式为

w(k + 1) = w(k) - Yj V E( 是) +
α (w( 是) - w(k -1)), k = 1 , 2 ,…

w1(k + 1)
(2)
E

w1 (是)可 VW1E (h )+

λ- 川 7 切l E(h) 川 (w (是 )-w j (k- 1))

1

其中 :"1 为学习率 ;α 为动量因子.

w 2 (k + 1)
E λ11 'v飞 E(k) 11

w2 (走)一?飞7η E(k) +
(w 2 (k) - w 2 (k - 1))

(5)

1. 2

带动量项的在线 BP 算法

当样本量较大或训练数据冗余时,离线算法要 求样本全部呈现后才更新权值,这是不经济的.为
此,人们常采用在线算法训练网络,即每呈现一个样

第 h 次训练时从样本集 S 中随机选取样本矿、

oh-VEIE( 是)和 VE2E (h) 分别表示号=矿、 0=
Ok 时, ? 关于权值向量 w 1 和 w 2 在 w

本便实现一次网络权值更新.设 O εR 是对应于输
入 5ε R P 的目标输出,定义瞬时误差

r

=

w(k) 的梯

度.与常动量因子的在线 BP 算法[式 (4)] 相对应,具

?

= ~ (0 - F(W(F(V~))))T
(0 - F(W(F( 问)))) (3)

有自适应动量因子的在线 BP 算法的权值迭代公式


wj (k + 1)

Wj (走) -η 飞7 飞 ?(k) +

第 h 次训练时从样本集 S 中随机选取样本矿、 Ok. 记
飞7 ?(k) 为 E 在~ =矿、 0= Ok 时,关于 w 在 w(k) 处的梯度 , k 1 , 2 ,….给定初始权值向量 w(o) 、

e λ 川飞 ?( 是) 1 (W j (走 )-w j (k- 1))

w2(k + 1) = w2(k) - 'yj 飞7 飞主 (k) +
e λ||VU2E( 川川

(6)

w (1) , 则带动量项的在线 BP 算法的权值更新可表
示为

(w 2 (k) -

W

2

(走一1))

式 (5) 、 (6) 中的 λ 均为正常数,用以控制动量因子的

w(k + 1)

=
k

w(k) 一可 V?(k)+

大小.显然,式 (5) 、 (6) 中的动量因子介于 O 和 1 之

α (w(k)

- w(k -1))

间,并且随着误差关于权值向量的梯度范数的变化

1 , 2 ,…

(4)

而变化,这符合前面的分析要求.另外,不同网络层 间的动量因子也不同,这也有利于加快网络的训练
速度.

其中 :"1 为学习率 ;α 为动量因子.

1. 3

一种自适应动量因子的 BP 算法

为寻求加速收敛的方法,在权值空间中考察 BP 算法的误差曲面.在误差曲面的平坦部分,增大动量
因子,可使权值更新向量 w(k+ 1) -w(k) 获得较大 的冲量,有助于权值逃离误差曲面的平坦区域,从而

2

仿真及结果
利用 Matlab 软件,以函数逼近问题和 4 维奇偶

问题作为仿真实例,考察不同的动量因子对均方误

第 4 期

张会生,等:一种具有自适应动量因子的 BP 算法

47

差曲线造成的影响,从而验证算法的有效性.网络初

习率下,动量因子较大,则算法收敛速度较快;动量
因子较小,则收敛速度较慢.但动量因子过大时,会

始权值均在区间 [-0.5 , 0.5J 随机选取.为保证可比
性,每次试验前,均将 Matlab 软件中的随机数生成器
状态置零.

降低学习效率,甚至导致算法的不稳定.选取自适应 的动量因子,不但会加快网络收敛速度,并且会取得
更小的网络训练误差.
2 -ititinUAUAUAUAUAUAUAU 1 a h U Q Y

2.1

逼近问题

选择逼近问题作为仿真实例给出自适应动量因

自适应动盐冈子

子与常动量因子的对比实验结果.被逼近函数 f(x)

=

cos( 7l"x)( - 1

<

x

<

1). 选择网络结构为单输出
1


O


7

0

一一 α=0.94 -α=0.92
'

→← α=

0.96

单隐层的前传网络,输入层、隐层和输出层的节点个



瓦 U

一← α=0.80
J、 A


』 α=0.90

数分别为 2( 包含阔值)、 3 、1.激活函数取 Matlab 软 件中的 tansig( . )函数.


哼 衔 ,J
q L

、、-

、二、一 、 二句~~--一一

一=--=-.

AU

-'-'-'---;-=:::''''......:---= ",,--~卢斗--.,-,

在式 (5) 中选取 λ= 0.01 ,由此得到自适应的
动量因子.选取不同的常动量因子,令学习率r; =

100 200 300 400 500 600 700 800 9001000
迭代次数
图 2 不同动量因子下离线学习

0.5 做对比试验.图 1 为离线算法均方误差曲线的比
较结果.可以看出,当常动量因子较小时,收敛速度 较慢,而动量因子较大时,则会造成误差曲线在训练
早期出现震荡,从而降低收敛速度.选取自适应的动 量因子,可有效避免误差曲线的震荡,并保持较快的

四维奇偶问题的误差曲线

2.2.2

在线学习

令r; = 0.02. 试验结果表明,若动量因子取常 数,则当 α=0.7 时,网络在综合收敛速度和稳定性
方面达到最优.与此相对应,选择式 (6) 中 λ=

0.2 ,

收敛速度.由图 1 可知,单纯增加学习率问= 2 , α 二 。) ,其收敛速度仍小于平= 0.5 时的自适应动量因
子算法,但优于平= 0.5 时的常动量因子算法.
0.25
-一 η=2 ,α=0 -η=0.5, α=0
--η=0.5 ,α=0.2

图 3 为对应于 α= O. 7 和自适应动量因子的误差由
线.可以看出,曲线(1)在训练初期震荡剧烈,并且在
后期也有不小的震荡.而曲线 (2) 收敛速度加快,并 且较为平滑地收敛至误差函数的极小值.

-← η=0.5 ,α=0.5 一← η=0.5 , α=0.7

-η=0.5 ,自适应动量因子

贺。:
快 0.8 军 0.7

0.05


图 1

不同动量因子或学习率下离线

学习逼近问题的误差曲线

2.2

4 维奇偶问题

图 3

不同动量因子下在线学习

选择 4 维奇偶问题作为仿真实例给出自适应动 量因子与常动量因子的对比实验结果 .4 维奇偶问
题是 XOR 问题在 4 维空间中的推广该问题包含

四维奇偶问题的误差曲线

3

结论
本文提出一种自适应确定 BP 算法中动量因子

16 个输入样本,每个样本点是分量取值为 O 或 1 的 值所构成的 4 维向量整个样本空间划分为两类,包
含偶数个分量为 1 的样本为一类,包含奇数个分量 为 1 的样本为另一类.所选网络结构为单输出单隐

的方法.该方法可在权值空间中根据误差曲面的陡
缓程度,在每次迭代时自适应确定动量因子的夹小 仿真试验表明,与常动量因子相比,该方法不但可以

层的前传网络,输入层、隐层和输出层的节点个数分 别为 5( 包括阔值)、 3 和1.激活函数取 Matlab 软件
中的 tansig( . )函数.

加快离线 BP 算法的收敛速度,还可使网络取得更高
的训练精度.而将该方法应用于在线 BP 算法时,可 以减小加入动量项带来的误差曲线的震荡,增强算 法的稳定性该方法简单实用,具有很好的应用前
景.作为 BP 算法的一种改进,该方法也可用于高阶 神经网络 [6J 和递归神经网络[7]的训练.
(下转第 51 页)

2.2.1

离线学习

令r; = O. L ? = 0.03 ,图 2 为不同动量因子对于
离线 BP 算法的实施效果.试验结果表明,在相同学

第 4 期
果.

孟宪尧,等:基于模糊信息多级融合的故障诊断

51

d巳cision method of equipment fault diagnosis[J J. China Me.

4

结果与分析
传统的模糊信息融合故障诊断方法通常采用模

chanical Engineering , 1999 , 10(8) : 872-88 1. (in Chinese)
[4J 朱大奇,于盛林,田裕鹏.应用模糊数据融合实现电子电
路的故障诊断[J J. 小型微型计算机系统, 2002 , 23 ( 5 ) :

型 M(. , +)进行运算[叫分析这一模型的输出诊
断信息飞,若以最大隶属度原则进行判决,则误判
为故障 e6 ; 若以阔值 α= 0.45 、 γ= 0.08 与最大隶
属度相结合的原则进行判决,则无法判断故障类型.

633-635. ZHU Da-qi , YU Sheng-lin. TIAN Yu-peng. Circuit fault di agnosis based on fuzzy data fusion [J J. Mini-Micro System , 2002 , 23(5) :633-635. (in Chinese)
[5J 刘 莉,任文举.模糊信息融合在无损检测技术中的应

本文提出的模糊信息多级融合的故障诊断方法得出
的诊断信息 D ,无论采用最大隶属度原则还是采用 阔值 α= 0.45 、 γ= 0.08 与最大隶属度相结合的原 则进行判决,均能准确判断出实际的故障町,使诊
断的鲁棒可靠性得到提高.

用研究[J]机械工程与自动化, 2006( 3) : 73-77.

LIU Li , REN Wen-ju. Research on the nondestructive testing using fuzzy data fusion [J J. Mechanical Engineering and Automation , 2006(3) :73-77. (in Chinese)
[6J 杨 广,吴晓平基于模糊信息融合的船舶动力装置综
合故障诊断方法研究[J J. 船舶工程, 2007 , 29(6) :5-8.

参考文献( References) :

YANG Guang , WU Xiao-ping. Research on synthesized fault diagnosis method of marine power plant based on fuzzy information fusion [J J. Ship Engineering , 2007 , 29(6) : 5-8. (in Chinese)
[7J 陈水利,李敬功,王向公模糊集理论及其应用 [M] .北 京:科学出版社, 2005.

[1] CHANG S Y , CHANG C T. A fuzzy-logic based fault diagnosis strategy for process control loops [J J. Chemical Engi
n巳ering

Science , 2003 , 58 (1 5) : 3395-3411.

[2J 朱大奇,刘永安.故障诊断的信息融合方法[J J. 控制与 决策, 2007 , 22(12):1321-1328

ZHU Da-qi , LIU Yong-an. Information fusion method for fault diagnosis [ J J. Co ntrol and Decision , 2007 , 22 ( 12 ) : 1321-1328. (in Chinese)
[3J 季长印,高澜庆,方 泪设备故障诊断的模糊综合决策

[8J 张庆年,周志中湘江航运安全状况模糊综合评判模型
研究[J J. 武汉理工大学学报, 2007 , 31(6):984-987.

ZHANG Qing-nian , ZHOU Zhi-zhong. Study on fuzzy comprehensive evaluation model based on Xiangjiang shipping safety [J]. Journal of Wuhan University of Technology , 2007 , 31 (6) : 984-987 . (in Chinese) ..,

法[JJ.中国机械工程, 1999 , 10(8):872-881.

JI Chang-yin , GAO Lan-qing , FANG Mei. Fuzzy synthetic

..."'II'....."III"~."III"..."'III"...."'II"~"'III川 11 1I"."'0I 111.~川』川 1 ,,, ....""10. 川 "IIII ,~"'II" ,叫川…l叫I川…!川 I ,~"'III" 呻",,~川"~"lI h ,,."忡忡 "'11".,,,,,,,,,,,,,,,,,,,,-.…l叫,, ~""II… "..."""....""11 萨

…I川…,,,..川叫川川 … t ……川川川,

(上接第 47 页)

参考文献( References) :
[lJNIED A , SELEME JR S 1, PARMA G G , et al. On-line neural training algorithm with sliding mode control and ada ptive learning rate [J J. Neurocomputing , 2007 , 70: 26872691. [2J SHAH]AHAN M , MURASE K. Neural network training algorithm with positive correlation [J J. IEICE Trans Inf & Syst , 2005 , E88-D (1 0): 2399-2409

ral Networks , 1997 , 10 (3): 517-527. [5J BHAYA A , KASZKUREWICZ E. Steepest descent with momentum for quadratic functions is a version of the conju gate gradient method [J J. Neural Networks , 2004 , 17 (1) : 65-71. [6JXIONG Ya口, WU Wei , ZHANG Chao , et al. Training PiSigma network by online gradient algorithm with penalty for small weight update [J J. Neural Computation , 2007 , 19

[3 JLOONEY C G. Stabilization and speedup of convergence in
training feedforward neural networks [J]. Neurocomputing , 1996 , 10( 1) :7 田 3 1. [4JYU Xiao-hu , CHEN Guo-an. Efficient backpropagation learning using optimallearning rate and momentum [J J. Neu
>

(1 2) : 3356-3368.
[7JXU Dong-po , LI Zheng-xue , WU Wei , et al. Co nvergence
。f gradient descent algorithm for a recurrent neuron [ J J

Lecture Notes in Computer Science , 2007 , 4493:117-122


相关文章:
基于bp神经网络的数字识别
在符号识 别领域,数字识别为这一领域提供了一个算法研究的平台。另一方面,数字...采用具有自适应学习速率和附加动量因子的 BP 型神经网络,从而实现 4 罗马数字的...
人工智能-BP神经网络算法的简单实现
主要: (1) 增加动量法:在网络权值的调整公式中...(2) 自适应调节学习率:在训练中自适应地改变学习...(3) 引入陡度因子:为了提高 BP 算法的收敛速度,...
BP算法的改进
BP 算法的改进 附加动量法 附加动量法使网络在修正其权值时, 不仅考虑误差在...附加动量法的实质是将最后一次权值(或阈值)变化的影响,通过一个动量因子来传递...
各种BP学习算法MATLAB仿真
标准 BP 算法、增加动量发、弹性 BP 算法动量自适应学习速率法的收敛速度...(因为输入空间的每一个区域都有神经 %元);这里是用 rands 重新设置权值和阈值...
BP算法实例
[? 1y ? 2y ?? jy ?? m ]T 看出,BP 算法...动量训练函数 梯度下降、自适应学习率训练函数 梯度...3.5.3 引入陡度因子 O? 1 1 ? e ?net / ?...
BP神经网络matlab实例(简单而经典)
自适应 lr 梯度下降法 自适应 lr 动量梯度下降法 ...拟牛顿算法 一步正割算法 Levenberg-Marquardt BP ...trainlm 动量因子(缺省 0.9) 学习率 lr 增长比(...
BP神经网络matlab详细参数
动量的梯度下降法 自适应 lr 梯度下降法 弹性...拟牛顿算法 一步正割算法 Levenberg-Marquardt BP ...动量因子(缺省 0.9) traingdm、traingdx 学习率 lr...
BP神经网络及深度学习研究 - 综述
Hopfield 网络模型,自适应共振理 论,自组织特征映射...据统计近 90%的神经网络应用是基于 BP 算法的。...为动量因子。 BP 模型把一组输入输出样本的函数问题...
BP神经网络原理
附加动量法的实质是将最后一次权值(或阈值)变化的影响,通过一 个动量因子来传递...2.3.3 动量 - 自适应学习速率调整算法 当采用前述的动量法时,BP 算法可以...
基于bp神经网络的数字识别
在符号识 别领域,数字识别为这一领域提供了一个算法研究的平台。另一方面,数字...采用具有自适应学习速率和附加动量因子的 BP 型神经网络,从而实现 罗马数字的...
更多相关标签: