BP神经网络局限性及其改进的研究
J 1 S H ANX I AGR IC 1 UN IV 1 ( N at u r al S ci ence E d i t i o n )
B P 神经网络局限性及其改进的研究
余本国
( 中北大学 理学院 , 山西 太原 030051)
摘 要 : 针对神经网络的发展状况 , 利用概率及其它数学的方法 , 对神经网络中 B P 算法进行了分析 , 对 B P 算法 的学习速度慢 、容错能力差 、算法不完备等缺点进行了讨论 , 得出 B P 神经网络的这些局限性均是 B P 算法本身固 有的 。在此基础上提出新的算法 T F P , , 在网络性能上 , 对保持知识的稳定性也 作了探讨 。
关键词 : B P
中图分类号 : : A 文章编号 : 167128151 (2009) 0120089205
Discussion on the L i mitation an d Improvem ent of BP N eural Net work Y U B e n 2guo
( De p a r t m e n t o f A p p l i e d M at h e m at i cs , N o rt h U n i v e r si t y o f Chi n a , T a i y u a n S ha n x i 030051 , Chi n a )
Abstract : U sing p ro babilit y and o t her mat hematical met ho d , t h e B P neural net wo r k al go rit hm wa s a nalyzed. The de 2 f ect s such a s slo w lear ning , wo r se f a ult2to lerant cap a bilit y a nd no np e rf ect of alg o rit hm B P algo rit hm were di s cussed. The se limitat io ns a re inherent of B P algo rit hm it self . O n t he ba si s of t he di scussio n , new T F P algo rit h m wa s sugge s 2 ted. The p ro bler ms of sp urio us at t ractive cent re in t he net wo r k a nd maint ina nce of t he kno wledge st a bilit y in t h e net2 wo r k p e rfo r m a n ce were al so di s cus sed.
K ey words : B P Neural Net w o r k ; Pa r tial mi n imum point ; Gradient drop law
1982 年 Hopf iel d 发表关于自反馈神经网络的 文章[ 1 ] 以及 Rumel ha r t 等人发表专著 PD P 以来 , 在世界范围内掀起了研究神经网络的热潮 。B P 算 法理论依据坚实 、推导过程严谨 、所得公式形式 对称优美且通用性好 , 使它至今仍是前馈网络学 习的主要算法之一 。B P 算法为前馈神经网络提供 了切实可行的学习算法 , 这就使将前馈神经网络 应用于各个方面成为可能 。这是 B P 算法的一大 贡献 。
二十多年过去了 , 人们对神经网络本身的研 究进展甚微 。虽然理论上 B P 网络能够逼近任意 非线性函数 , 但由于神经网络训练学习中许多参 数的选择没有理论依据 , 使得实际中神经网络的 应用效果并不令人满意 , 至今仍未能从根本上克 服 B P 算法的这些局限性 。针对这种现状 , 本文 利用概率及其它数学方法 , 对神经网络中 B P 算 法进行了分析 , 对 B P 算法的学习速度慢 、容错
能力差 、算法不完备等缺点进行了讨论 , 并研究 了网络假吸引中心的问题 , 在网络性能上 , 对保 持知识的稳定性也作了探讨 。
1 B P 网络的局限性
B P 算法的局限性与缺点 , 究其原因是其本身
存在很多不足之处 , 主要有如下四点 ;
(1) B P 算法学习过程收敛速度慢 ;
(2) 用 B P 算法所得到的网络性能差 ; (3) 因为误差平方和函数可能有局部极小点
出现 , 故 B P 算法不是完备的 。
(4) B P 网络学习率不稳定 。
尤其是 B P 网络易陷入局部最小 , 使 B P 网络 不能以高精度逼近实际系统 。目前对于这一问题 的解决有加入动量项以及其它一些方法 , 如文献
[ 2 ] 讨论了基于 Met r opoli s 准则的 B P 神经网络
学习算法 , 而 Met r opoli s 准则必须结合 B P 算法
1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
收稿日期 : 2008204210 修回日期 : 2008206205 作者简介 : 余本国 ( 19762) , 男 ( 汉) , 安徽安庆人 , 硕士 , 讲师 , 主要从事人工智能技术方面的研究 。 基金项目 : 山西省自然科学基金 ( 20041010)
1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
90
山 西 农 业 大 学 学 报 (自然科学版) 2009
进行调整 , 才能使神经网络的连接权的随机调整 具有大致方向 , 达到跳出局部极小的区域 、向全 局最小逼近 , 但这要受一定概率的影响 。
由上述分析可知 , B P 算法学习速度慢是 B P 算法本身固有的缺点 , 任何小修改都无法克服这 个缺点 。
21 2 B P 算法的不完备性
2 对 B P 算法缺陷的分析
算法的完备性是指 : 若对应的问题有解 , 则 该算法一定能求到其解 。
B P 算法本质上是以误差平方和为目标函数 ,
21 1 学习过程收敛速度慢
B P 算法是 采用 对 样本 集 进 行 逐 一 学 习 的 方
法 。
设训练样本集 K = { r= ( x , y) , r= ( x ,
1
1
1
2
2
m m m
y ) , ⋯, r= ( x , y ) } 。 2
用梯度法求其最小值的算法 。于是除非误差平方 和函数是正定的 , 否则必然产生局部极小点 , 当 局部极小点产生时 , B P 算法所求的就不是解 , 故
B P 算法是不完备的 , 所以 B P 算法的不完备性也
B P 算法是先对 r ,
1
f ( x ) : f ( x 1 ) = y 1
1
) 。 为止 。 ( W 1 , θ
是其本身固有的缺点 。
21 3 B P 算法所得的网络的性能问题
B P 算法其目的是求到一个满足对一切样本均
然后 , 以 ( W , θ) 为基础 , 对样本 r = ( x ,
1 1
2
2
2 2 2
y ) 进行学习 , 设最后调整得到 ( W , θ) 并满足 : 2 2
f ( x ) = y 。
1 1 2 2
但是一般情况下 , ( W , θ) ≠( W , θ) , 故此 时未
有 : f ( x i ) = y i 的网络 , 其性能不是 B P 算法所要 解决的 。下面我们简单分析一下用 B P 算法求到 的网络的容错能力如何 。
设神经元元件的功能函数为 sgn ( x ) ( 即为 符号函数) , 现用 B P 算法进行学习 , 再设其权系 数调整的规则为 :
Δδi ( t ) 3 x j ( t ) +ηΔW ij ( t - 1) W ij ( t ) = α
η当迭代逼近解时 , 都必须取很小的 正其中α、数 。
即在将 到 达 解 时 , ΔW ij ( t ) 的 调 整 量 必 须 很 小 。
设想 在 迭 代 的 最 后 一 步 , 即 由 “非 解 ” 到 “解”的一步 (下面用示意图表示) 的情况 。
因 ΣW ij x j j - θi = 0 , 是 n 维空间中的一个超 平面 , 记为 P i 。
由 sgn ( x) 的性质知 : 当 x 落在 P i 的正半 空间时 , 其对应的输出为 1 , 若点 x 落在 P i 的负 半空间时 , 其对应的输出为 - 1 。
在示意图 1 中 P i 表对应最后一步 “非解”时 的网络的权 、阈值构成的某个超平面 。P i ′是由 P i
即平均进行 ( 1/α) m - 1 轮学习后 , B P 算法至 多有一次 取 到 d = ( 1 , 1 , ⋯, 1 ) 成 功 。故 得
B P 算法的学习复杂性是样本规模的指数函数 。
必有 f ( x 1 ) = y 1 成立 。所以 B P 算法采用逐 一学习的方法常 会出 现 学了 新的 忘 了旧 的现 象 。 为克服这 个缺 点 , B P 算 法 采用 不断 反 复循 环 学 习 , 以期求到正确的解 。
下证 : 逐一学习方法将是产生学习过程收敛 速度慢的原因之一 。
固定 i , 令 C 是所有使网络的对应关系满足
i i
) 的集合 。 f ( x ) = y 的权 、阈值 ( W ,θ
i i i - 1
= { C中 , 满足 f ( x ) = y i - 1 的 ( w , 令 C 1
θ) 的全体) 。
i
C 2 = C \ C 1 , i = 2 , ⋯, m 。
i
i
i
i
设 C 1 与 C i 的规模之比为αi 。
现作学习向量 d = ( d 2 , d3 , ⋯, dm ) , 其各分 量定义如下 :
i
) 属 若对样本 r 进行学习时 , 所求的 ( w , θ
i
, 则令 di = 1 , 否则令 di = 0 。 于 C 1
故当用 B P 算 法 对 样 本 集 逐 一 学 习 一 轮 后 , 必得到对 应 的 学 习 向 量 d 。显 然 , 若 学 习 成 功
(即所得的网络对任一 i 均满足 : f ( x ) = y , 则
i
i
必要条件是 : d = ( 1 , 1 , ⋯, 1)
α而 d 取值 (1 , 1 , ⋯, 1) 的概率为 Πi 。 设αi
m - 1
。
1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
经最后一步调整之后所得到的超平面 。 设有一样本
输入 x ′, 本应处于 P i ′的正半空
间 , 但现在处于 P i 的负半空间 (不合乎要求故是 非解) 。
因最后一步的调整量很小 , 故 P i ′与 P i 很相 近 , 即 “解”与 “非解”只差 “一步之遥”。也就 是说 , 当固 定 P i ′时 , 当 x ′有 一 个 扰 动 Δx 时 , x ′+Δx 就很 容 易跑 到 P i ′的 负半 空 间中 去 ( 即
( x ′+Δx ) ≠ f ( x ′) ) 。这就说明用 B P 算法所得 到的网f ′
络的容错能力很差 。
1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
29 (1) 余本国 : B P 神经网络局限性及其改进的研究 91
3 新的算法 - T F P 探索
针对上述的分析 , 若对权 、阈值网络存在有
图 1 容错能力示意图
Fig 1 1 S chematic ill u st r atio n fo r f a ult 2tolera n t abilit y
ΔW ij 小所 致 , 而 ΔW ij 算法能收敛 于解 , 而不至于在解附近振荡的必要条件 。故所 得网络容错能力差 , 也是 B P 算法本身固有的 。
21 4 B P 算法学习率的稳定性
对于一些复杂问题 , B P 算法可能要进行几小 时甚至更长的时间训练 , 这主要是由于学习速率 太小所造成的 。
标准 B P 网 络 学 习 过 程 缓 慢 , 易 出 现 平 台 , 这与学习参数率 l r 的选取有很大关系 。当 l r 较大 时 , 权值修改量大 , 学习速率也快 , 但可能产生 振荡 ; 当 l r 较小时 , 虽然学习比较平稳 , 但速度 十分缓慢 。因此 , 希望 E 较小 ( 即 W , V 靠近学 习要达到的目标点) 时 , l r 取较小值 ; 而 E 较大 时 , b 取 较 大 值 。于 是 在 文 献 [ 3 ] 中 提 出 , 取
l r ( t + 1) = l r ( t ) ·E ( t ) / E ( t - 1) 。文献 [ 4 ] 中
提出 :
l r ( t ) = 2 3 l r ( t - 1)
λ = si g n [ D ( t ) D ( t - 1) ]
其中 D ( t ) —t 时刻的负梯度 ; D ( t - 1) —t - 1 时刻的负梯度 ; lr ( t ) —学习率 , lr ( t ) > 0 ;
文献 [ 3 ] 中的方法存在对学习率初始值依赖 的缺点 , 不易确定初始速率 。而文献 [ 4 ] 中的方 法对于相同方向的训练学习速率增大太快 , 减小 太慢 , 不易在较小步数内收敛至最优点 , 这就导 致了学习速率的取值凭借经验 , 所以很不稳定 。
综上所述得 :
B P 算法的学习速度慢 、容错能力差 、算法不
完备等缺点 , 均是 B P 算法本身固有的 , 故想克 服上述的缺点 , 就必须另辟蹊径 。
1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
较好的算法 , 就必须满足下面的条件 : 新算法必 须从全局观点来考察整个学习过程 , 而不能只用 局部的观点 ; 为了避免局部极小点的产生 , 新的 算法不能再沿用梯度法进行学习 ; 为提高所求得 的网络的性能 , 新算法必须将网络的某个性能的 优劣当作算法追求的目标之一进行考虑 。
现针对现有学习算法的不足 , 主要讨论作为 通用联想记忆器的神经网络的一种新的学习算法 , 这个算法在学习过程中同时对网络的结构进行综 合 , 当学习结束时就给出网络的最优结构 。我们 暂且称之为前向传播 ( t he Thi r d Fo r wa r d Prop a 2
gatio n ———T F P) 算法 。
阈值向量 , s g n ( x ) 表符号函数 。 给定训 练 样 本
集 K = { r0 = ( x 0 , y0 ) , r1 =
( x 1 , y1 ) , ⋯, rp - 1 = ( x p - 1 , y p - 1 ) } , 作图 2 的网络
在研究 T F P 算法之前 , 先谈一谈总的思路 。 作为联想记忆器 , 最主要的目的是使网络能正确 地进行分类 (这与求优化问题不同) , 故不一定要 使用δ律或 B P 算法 。我们采用向前传播的方法 , 即先从第一层元件开始 , 确定其元件个数和各元 件的权 、阈值 。然后以第一层元件的输出为第二 层元件的输 入 , 再确 定第 二层 元 件的 个数 和 权 、 阈值 ⋯⋯最后给出整个网络的结构及其各元件的 权 、阈值 。
多层前馈网络 , 实际上只要三层 ( 即两面个 元件层) 就够了 ( 下 面 将 证 明 三 层 是 最 优 结 构 , 超过三层都是多余的 , 故称之为 T F P 算法) 。
当给定 P 个样本时 , 我们取第一层元件共 P
- 1 个 , 每个元件有 n 个输入 ( 设样 本 输入 是 n
维 , 输出是 m 维) , 其功能是将 P 个样本输入变 换成 ( R - 1) 维空间中的正交 ( P - 1) 维单纯形的
P 个顶点 , 要求变换成正交 ( P - 1) 维单纯形的
顶点 , 这个特殊性使我们的算法大为简化 ( 几乎 只需将样本数据记入元件的权 、阈值之中即可) 。 从第二层到第三层 , 取 m 个元件 。通过第二层元 件再将这正交坐标系的原点 、单位向量变换成 P 个 m 维的样本输出向量 , 这样就得到对应于该样 本集的联想记忆器的神经元网络 。
1) T F P 算法
设神经元元件 A i 有 n 个输入 , 一个输出 。下 面先讨论各分量只取 { - 1 , l } 二值的情况 。再 设第一层网络 A 的输入 x 与输出 z 的对应关系为 : z
) (1) = sg n ( W 3 x - θ
其中 W 是第一层网络 A 的权系数矩阵 , θ是
1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
92
山 西 农 业 大 学 学 报 (自然科学版) 2009
结构 。
= ( n - 2 d ( x i , x j ) ) - θi Φ ( n - 2 d i ) - ( n - di ) = - di
(5) 式得证 。
由 (4) , ( 5) 式易得 : F ( x i ) = z i , i = 1 , 2 , ⋯, P - 1 。
0 0
F ( x ) = z
命题 2 : 任给 P 个 m 维输出向量 { y0 , y1 , ⋯,
图 2 网络结构
Fig 1 2 Net w o r k a r chit ect u
y
p - 1
( P - 1) U 和阈值向 } , 则存在 m ×
量ξ使得 = j , P - 1 。 (7)
: (7 :
i i ξi ) > 0 , i = 1 , 2 , ⋯, m)
(8)
得
的对应关系为 G 。令 A i 的权向量为ω, 阈值为
i
θi , B i 的权向量为 u , 阈值为ξi 。
i
将 (8) 式写成方 程组 形式 , 取右 边 均为 1 ,
y i ( - u1 - ⋯ - up - 1 - ξi ) = 1
i
i
(9)
y i ( + u 1 - ⋯ - up - 1 - ξi ) = 1
1 i i
⋯⋯
现在来讨论如何将 { x, x, ⋯, x 通过第一
层元件 。变换成 ( P - 1) 维正交单纯形的顶点 。
z
1
p - 1
y ( - u- u⋯ + u ⋯ - u
j i
i 1
i
2
i j
i
p - 1
- ξi ) = 1 (10)
⋯⋯
1 i i
( - u1 y p - - ⋯ + u p - i 1 - ξi ) = 1
命题 1 : x 0 , x1 , ⋯, x p - 1 是 P 个互不相同的 n
维向量 , 作 P 个 ( P - 1) 维向量如下 :
= ( - 1 , - 1 , ⋯, - 1)
1
z = ( + 1 , - 1 , ⋯, - 1) z
(11)
(9) 得 2 y j 当 y 0i = y i j 时 , (10) - i u i j = 1 - 1
= 0 , 得 u i j = 0
当 y 0i ≠ y i 时 , (10) + (9) 得 2 y u i j = 1 + 1
i
i = 2 , 得 u j = y
j
j j i
⋯
p - 1
= ( - 1 , - 1 , ⋯, + 1)
则存在 ( P - 1) ×n 维权矩阵 W 及 ( P - 1) 维 阈值向量θ , 使得 :
z = F ( x ) , i = 0 , 1 , ⋯, P - 1 。
i i T
证明 : 令 ω= ( x ) , i = 1 , 2 , ⋯, P - 1 。 i
i
=u j
i
0 , 当 y i = y i
j
y i j 其它 ,
0 i
i
ε+ u p - 1 ) , i = - ( y + u + ⋯
i
1
(12)
i = 1 , 2 , ⋯, m ; j = 0 , 1 , ⋯, p - 1 .
故取 U = ( ui ) , ξ = (ξi ) 。 结
合命题 1 、2 得
定理 1 : 当给定 训练 样本 集 K = { r0 , r1 , ⋯, p - 1
r } , 按 (2) 、 ( 3 ) 式 定 义 W 和θ , 按 ( 12 )
(4) 式得
(2)
θi = ⋯, P - 1
n - di + 1 当 d i 是偶数时
i = 1 , 2 ,
n - di 当 d i 是奇数时
(3)
i
j
其中 d i = mi n d ( x , x ) , j ≠ i , i = 1 , ⋯, P -
1 , J = 0 , 1 , ⋯, P - 1 , d ( x , y) 表 x , y 的海明距离 。
证 。 当 i ≠
j 时
- θi = - θi
i
i
i
j
先证 , 当 i ≠0 时 - θi > 0 ,
i
i
i
当 i ≠ j 时 - θi
(4) (5)
其中 表 x 与 y 的内积 。
因为 , 对任意 x , y 有 = n - 2 3 d ( x ,
y )
i i
故 - θi =
(6)
n - ( n - di + 1) = di - 1 > 0 , di 为偶数 n - ( n - di ) = di > 0 , di 为奇数
1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
式定义 U 和ξ. 则图 2 对应的网络将 x i 变换成 y i
, i = 0 , 1 , ⋯, p - 1 。即每个样本输入向量都是吸 引
中心 。
证明 : 由命题 1 得对所有 i , 有 z i = F ( x i ) 再由命题 2 得对所有 i , 有 y i = G( z i ) 故有 y i = G( z i ) = G( F ( x i ) ) = N ( x i ) 。
2) 网络性能分析 本算法的优点之一是在学习
新知识时 , 对已
学过的旧知识基本上保持原来状态 , 即保持知识 的稳定 性 。而 以往 的 算法 常常 会发 生 “学 新 的 , 忘旧的”现象 。这种增量式的学习方法合乎人类 学习的过程 。
对于作为通用联想记忆器的神经网络 (这里 “通用”是指对任给 P 个样本 , 网络在不改变其
1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
29 (1) 余本国 : B P 神经网络局限性及其改进的研究 93
拓扑结构情况下 , 都能进行联想记忆) , 这种方法 是在全局上进行规划求解 , 事实证明使用全局的 观点能得到好的结果 。
其次 , 将学习和综合融合在一起 , 而过去的 方法是将两者截然分开 。
最后 , 我们的方法吸收了传统线路设计的思 想 , 即将总的线路功能分成几个各自完成不同任 务的子模块来设计 , 本文多层前馈网络的 T F P 算
输入向量到 ( P - 1) 维单纯形的变换 , 第二层完 成由 ( P - 1) 维单纯形到输出向量的变换 。
3) 需要讨论的问题
这种 T F P 算法是在全局上进行规划求解 , 虽 然已经证明使用全局的观点能得到好的结果 。但 是对局部的影响还需要进一步的讨论 。另外算法 的计算量 , 就阶而言是否达到最优 , 也还需要进 一步的探讨 。
法 , 将总线路分成两层 (元件层) , 第一层完成由
参 考 文 献
[ 1 ] Hopf i el d J e ms wit h Emer ggent collecti ve Co mp uti ng A bilitie s [J ] . Proc Nat i . Acad Sci . U S A .
1982 , 79 ( 4) 2. [ 2 ] 田启川 , 潘泉 , 王峰 , 等. 基于 Met ropoli s 准则的 B P 神经网络学习算法研究 [J ] . 自动化技术与应用 , 2003 ( 5) : 15217 . [ 3 ] 刘增良. 模糊技术与应用丛书 [ M ] . 北京 : 北京航空航天大学出版社 , 1994 : 1802181 .
[ 4 ] 韩万林 , 张吉雄. B P 网络的改进及应用 [J ] . 江苏煤炭 , 2000 ( 3) : 54257 .
(上接第 76 页)
土壤中铅已有轻度污染的趋势 , 大部分农田土壤
- 1
(5) 耕层土壤中铬含量为 531 84 mg ·k g 。 全部土壤铬含量均符合土壤环境质量 Ⅰ级标准 。
总之 , 运城盐湖区土壤重金属元素监测反映
中镉已有轻度污染的趋势 。以后应加强对农田土 壤重金属元素污染的预防与监管 。
出 , 农田土壤汞 、砷 、铬没有污染 , 但部分农田
参 考 文 献
[ 1 ] 刘银忠. 盐湖区耕地资源评价与利用 [ M ] . 北京 : 中国农业出版社 , 2005 : 782132 .
[ 2 ] 葛元英 , 崔旭 , 白中科. 露天煤矿复垦土壤重金属污染及生态风险平价 ———以平朔安太堡露天矿区为例 [ J ] . 山西农业大学学报 :
自然科学版 , 2008 , 28 ( 1) : 85288 .
[ 3 ] 赵兴杰 , 刘秀珍 , 郭丽娜. 杂草在土壤重金属污染修复中的应用 [J ] . 山西农业大学学报 :自然科学版 ,2006 ,26 ( 2) :1652167 . [ 4 ] 陈维新. 农业环境保护概论 [ M ] . 济南 : 山东大学出版社 , 1986 : 1162123 . [ 5 ] 夏家淇. 土壤环境质量标准详解 [ M ] . 北京 : 中国环境科学出版社 , 1996 : 32238 . [ 6 ] 夏立江 , 王宏康. 土壤污染及其防治 [ M ] . 上海 : 华东理工大学出版社 , 2001 : 1932208 .
1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net