10.2 灵敏度计算方法
灵敏度计算方法是指在网络进行训练时,或在网络训练结束后,计算节点(输入节
点及隐节点)或连接权对网络误差的贡献(灵敏度),删除那些贡献 小的节点或权。Mozer
和 Smolensky[MoSm1989]提出的方法用于删除输入节点或隐节点,当某一节点的灵敏度
低于预定的阈值时就可删掉该节点。Karnin[Karn1990]提出一种删除权值的方法,该方
法在神经网络学习种动态计算每个连接权的灵敏度,因此计算量较小。网络的节点灵敏
度可近似为每次权值调整时,误差 E 变化量的累计: ∑
−
−
∆
∂
∂
=
1
0
)()(
N
i
ij
f
ij
f
ij
ij
ij
ij ww
w
nwn
w
E
S ,
其中
f
ijw 为 E 达 小时的 终连接权值,
i
ijw 为神经网络的初始权值, N 为训练次数
(epochs)。LeCun 等[LiDe1990]给出的权值灵敏度为 2/2kkkk whs = ,其中 2
2
k
kk w
E
h
∂
∂
= 。
由于该灵敏度是作了较多假设后得到的,存在误删连接权的可能,故 Hassibi 和
stork[HaSt1993]提出了改进的方法,但计算量较大。小谷学等[小-尾 1996]也对该方法
作了改进。松永丰等[松 -村 1996,松 -中 1991]定义 k 层第 i 个节点的有效度为
∑∑
+
=
p
M
j
k
i
k
j
k
i
k
i owg
21 )( ,其中 kio 为该节点输出,
1+k
j
k
iw 该节点到 1+k 层第 j 个节点的
连接权,M 和 p 分别为 1+k 层节点数和模式总数。可以在每次学习后直接删除有效度
低的节点,也可以通过有效度进行节点之间的竞争自动淘汰有效度低的节点。
下面我们介绍 Mozer-Smolensky 提出的灵敏度剪枝方法:Skeletonization 方法
[MoSm1989],该方法不仅可以剪除冗余的隐节点,还可以计算每个输入的灵敏度估计。
原始的 Skeletonization 只用于分类,这里我们将 Skeletonization 的灵敏度计算方法
进行改进,使之用于函数逼近时不仅能剪除冗余隐节点,也能剪除不重要的输入节点,
这在非线性系统结构辨识等领域有重要意义。
1