研究与开发
关于关于关于 !!!""" 算法推算法推算法推导过程与讨论
导过程与讨论
导过程与讨论
黄卫民
(广东工业大学计算机学院 ,广州 7-,,9,)
摘 要:本文通过 对 多 层 神 经 网 络 模 型 的 2( 算 法 的 推 导1 讨 论 用 2( 算 法 对 网 络 进 行 优 化 后 误 差 精 度 、
网络结构和学习次数之间的关系1最后指出 2( 算法的不足之处,提出加快学习过程的一些改进方
法和技巧。
关键词:人工神经网络;神经网络结构;2( 算法
在人工智能中1 2( 模型及其算法是神经网络
研究的重要内容之一。由于 2( 算法成功地解决了
感知无能为力的非线性可分离模式的问题1 其显
著的优点是具有很强的非线性映射能力和柔性的
网络结构1 故 此 它 被 广 泛 地 运 用 于 模 式 匹 配 、分
类、识别和自动控制等领域。对 2( 网络结构而言1
中间层数0可以 有 二 个 以 上 )、各 层 的 处 理 单 元 数
及网络学习系数1 可以由具体情况任意设定1 并随
着结构的不同其性能也有所不同。 对于给定的输
入样本1 输入信号由输入层到输出层的传递是一
个前向传播的过程1 若输出信号与期望信号有误
差存在1 则转入误差反向传播1 并依据各层误差的
大小反复不断地来调节各层的权值1 使网络的输
出接近所希望的输出。这一过程可归纳为:“模式
顺传播、误差逆传播、记忆训练化、学习收敛化”。
下面1 我们给出 2( 网络和结构及其学习过程的数
学推导过程1 并对其结果进行讨论。
- 对于多层神经网络结构
输入(=><:;)
这里1 假定多层神经网络结构中间层数的各
层处理单元数为 -3/3/3/3-1 那么1 该神经网络的
结构图如图 - 所示4 -1+1/15 6 。
现
代
计
算
机
总
第
一
一
一
期
︶
图 - 神经网络的结构图
第一层 第二层 第三层 第四层 第五层
!"
! " # $ % &
’ "! ( ) * $ % +,,-./
0
输出(":;<:;)
神经网络的学习结构图如图 + 所示4 7 6 。
开始
!
接收参数
!
读入神经网络结构信息
读入神经网络数据信息
!
初始化权值和神经元阈值
!
读入样本数据
!
设置变量的初始值
!
将一个样本送入输入神经元
!
前向计算各层的输出值
!
计算输出层的误差
统计所有样本的均方差
!
反向修改权值和阈值
!8
所有样本计算完成?
!8
均方差小于期望值?
!
结束
图 + 神经网络的学习结构图
+
2( 算法的数学表达式
下面1 我们对 2( 算法的数学表达式进行推导1
其过程如下 1.23 4 :
(.)定义误差函数 5
研究与开发
), 2其中有 ;=
是期望值,
由于 56 .
!(87
9:;7
, 7
5 6 .
,
!(87
9:;7
7
),
即常数,故有:
是输出期望值2 教师信号;
其中 ;7
9 是对于 9 层网络其最后一层2 即 9 层的实
87
际输出。
的修改量 !<=7
时2!<=7
和 5的负梯度方向有关2 即:
(,)权系数 <=7
在修改 <=7
!<=7!: "5
"<=7
考虑学习速率 "2 即有:!<=7!:" "5
"<=7
。
(0)求 "5
"<=7
6 "5
?
">=
因 "5
"<=7
?
">=
"<=7
2 其中2 ?是网络层数。
由于 8=
? 6@(>=
?)2 >=
?!6
!<=787
?:.2从而有:
7
?:. BA672 则 "5
"<=7
6 "5
">=
?87
?:.。
"(
!<=A8A
?:.)
A
6
687
"<=7
?
"5=
"<=7
从修改权系数的角度2 有
!<=76:" "5
"<=7
?2 可写成 :!<=76:"C=
6:" "5
">=
令 C=
?:.。
?87
? 6 "5
">=
?87
?:.!!
!!!!!!!!(D)求 C=
由于 C=
?(偏差对输入信号总和的偏导)
? 不是显式2 无法进行计算2 故需求其显
式:
? 6 "5
C=
">=
由于 8=
?6 "5
?
"8=
? 6@(>=
?
"8=
?2
">=
?)2 故 "8=
">=
?
?6@E(>=
?)。
一般取激发函数 (FGH=IFH=JK@>KGH=JK)为 L=MN
9J=C函数 @(>=
?)6
.
?)2
?)468=
.O5 8P(:>=
?)1.:@(>=
? )。
?(.:8=
的求取:
故 @E(>=
可知 C=
?)6@(>=
? 6 "5
"8=
下面考虑 "5
?
"8=
?8=
?(.:8=
? ),
#如果 ?692 则说明 8=
?68=
9是输出层 9的输出。
" .
"
#
#
#
##
$
!(8P
9 :;P
),
%
&
&
&
&&
’
, P
9 6
?6 "5
"5
"8=
"8=
从而有 C=
$如果 ?Q92 则该层是隐层2 这时应考虑上一
9
"8=
9 :;=
9(.:8=
9 6(8=
9:;=BP6=
9 )。
? 6C=
)8=
68=
,
层对它的作用2
?O.
">A
?
"8=
A
?O.
?6
"5
"8=
由于 C=
! "5
">A
? 6 "5
">=
? 2故有 C=
? 6 "5
">=
?O.
,
"
"
(
(
(
((
$
?O.
同时 ">A
"8=
? 6
!
=
? 6 "5
"8=
?(.:8=
? )2
?8=
C=
? 68=
?(.:8=
? )
!CA
?O.研究与开发
!!!!!!!!精度减少 层次不变
精度增加 层次不变
不变
不变
(1)学习过程的误差变化曲线
如图 / 所示2 3 4 。
学习误差
图 / 学习过程的误差变化曲线
迭代次数
/ 结果与讨论
(-)虽然 5( 算法弥补了符号函数在实际应用
中难以确定权系数的不足6 使得具有很强的识别功
能,在多层神经网络得以应用 但是6 5( 网络模 型
算法也存在一些不足之处 2 7 4 :
!学习算法的收敛速度较慢6 所以通常它只能
用于离线的模式识别问题。
"5( 算法是一种梯度下降法6 所以整个学习
过程是一个非线性优化过程6 有可能产生局部极小
值6 使学习结果变差6 即得不到全局极小值。
#网络中间层个数及中间层的神经元数的选
取缺乏理论上的指导6 通常只能根据经验来选取和
确定6增加了网络学习的时间。
$网络的学习和记忆具有不稳定性。
(+)为了加快学习过程6 下面提出几种加速 5(
网络算法收敛的改进方法及技巧 2 +67 4 :
!常见的加速方法
!累积误差校正算法;
!8 函数输出限幅算法;
!惯性校正算法;
!改进的惯性校正算法。
"常见的加速技巧
!重新给网络的权值初始化;
!对权值加些扰动6 在学习中给权值加以扰
动6 有可能避免使网络出现局部最小点6 但能保持
网络学习已获得的结果;
!网络的学习样本中适当加些噪声6 可以避免
网络的死记硬背来学习;
!当网络的输出与样本之间的差小于给定的
允许范围6 则对该样本的网络不再修改其权值6 这
样6 可以加快网络的学习速度;
!选择网络的大小要合适6 通常尽量使网络的
层数设定在三层6 计算的误差就不会因层数多和节
点数大而使得反向误差的增加而增加。
参考文献
2-4余永权. 神经网络模糊逻辑控制. 北京:电子工业出版社6
-999
2+4王士同. 神经模糊系统及其应用. 北京:北京航空航天大
学出版社6 -991
2/4吴简彤,王建华.神经网络技术及其应用. 哈尔滨:哈尔滨
工程大学出版社6 -991
2:4李孝安,张晓缋.神经网络与神经计算机导论. 西安:西北
工业大学出版社6 -993
234戴葵. 神经网络实现技术. 长沙:国防科技大学出版社6 -991
2;4邢文训,谢金星.现代优化计算方法. 北京:清华大学出版
社6 -999
274王伟. 人工神经网络原理. 北京:北京航空航天大学出版
社6 -993
(收稿日期:+,,-< ,+< ,7)
现
代
计
算
机
0
总
第
一
一
一
期
︶
=)>&? @ABUL MKF PM:*QBL SFSAK HKAV FD BDOAKADPA IO MQA 5( 0UFPW SKISFGFMBIDX OKIC MQA CERMBKMBOBPBFR DAEKFR DAMVIKW;&AEKFR DAMVIKW LMKEPMEKA;5((UFPW SKISFGFMBID)
!"
! " # $ % &
’ "! ( ) * $ % +,,-./