关于BP网络的总结
1.辨识模型的建立
目前,在人工神经网络的实际应用中,绝大部分的神经网络模型是采用BP
网络和它的变化形式。BP网络就是按照误差逆传播(error back propagation)
学习算法(BP算法)进行训练的多层前向神经网络,亦称为误差逆传播神经网络。
它的优点有:
23第三章 基于肌电信号的人手肘关节运动轨迹的预测
播,得到输出响应。如果网络输出与需要输出的误差大于标定值,将进行第二步,
即输出误差反向传播过程,输出的误差值由输出层开始反向传播到输入层,传播
到每一层的误差大小决定该层权值的改变。网络的训练实质上是一个最优化的过
程,即找到使输出误差最小的网络权值。训练结束后的网络权值,代表了神经网
络输入输出的映射关系。
在该网络中,输入层和隐层采用非线性的 Sigmoid 函数(图 3-7 所示)作
为神经元激励函数,输出层采用线性函数。
图 3-7 Sigmiod 函数
下面介绍此算法的具体过程:
首先,我们定义误差函数为:
(3-5)
上式中,
为期望输出值,即手臂实际运动角度,
为网络输出值,
即神经网络预测的手臂运动角度。本文所定误差需小于 0.001,在大于这个限定
值以前,需要由输出层开始反向推导网络权系数的修正值。
(1).输出层神经元输出值及权值修正:
25第三章 基于肌电信号的人手肘关节运动轨迹的预测
式中
f (• )
为线性函数, 为隐层 2 中第 j 个神经元与输出层的权系数, 为
隐层 2 的神经元输出值, =
(3)
, =-1,即把神经元偏置的调整归入权系
数的学习中,下面各隐层的情况也与之相同。
(2).隐层 2 神经元输出值及权值修正:
式中
f (• )
为 sigmoid 函数, 为隐层 1 中第 i 个神经元与隐层 2 中第 j 个神
经元的权系数, 为隐层 1 中第 i 个神经元输出值。
(2)
(3).隐层 1 神经元输出值及权值修正:
为 sigmoid 函数, 为输入层中第 m 个神经元与隐层 1 中第 i 个
神经元的权系数,
为输入层中第 m 个神经元输入值。
开始训练前,用小的随机数将权值初始化。为解决传统的 BP 算法中存在着
收敛速度慢,目标函数容易陷入局部极小点的问题,本文在实际训练中采用了如
下改进措施:
(1).学习率自适应调整:BP 学习算法中学习速率
η
取值较小,误差波动较
小,但学习速度慢;
η
取值较大,容易引起振荡甚至发散。因此我们采取学习率
自适应调整,当连续两次迭代其梯度方向相同时,表明下降太慢,此时将步长增
加;当连续两次迭代梯度方向相反时,表明下降过度,这时步长减小。本文中我
们采取了如下自适应方法调整:
其中:当误差梯度连续变号(除非 min
当误差梯度不连续变号(除非 max
26第三章 基于肌电信号的人手肘关节运动轨迹的预测
当 min
η( k)=η
或 max
η( k)=η
时,
f ( λ ) =1
。
λ
为选定的大于 1 的常数, max
η
和 min
η
为预先选定的最大和最小学习率,上
述方案的思想是,只要不发生振荡就增大学习率直到 max
η
,如发生了振荡就以较
小的学习率,直到 min
η
。
(2).加入动量项:动量法在权值修正过程中加入了前一时刻负梯度的影响,
相当于加入了阻尼项,降低了网络对误差曲面局部细节的敏感性,减小了学习
过程的振荡趋势,有效的抑止了网络陷于局部极小。
本文采用改进后的 BP 算法,权值更新为:
w( k + 1) = w( k ) +Δ w( K ) + β[ w( k ) − w( k −1)]
(3-13)
其中
β [ w( k ) − w( k−1)]
称为动量项,
β
称为动量因子,可见,在加入动量项后,
权值变化较缓慢时,修正量较大,权值变化较小时,修正量较小。
(3).动量因子自适应调整:动量因子是决定收敛速度快慢的因素之一,本
文采用如下方法改变
β
以调整权值的修正步长:
(3-15)
3.测试结果及分析
受试者在不动的运动速度(运动完成周期分别为 2s,4s,6s,8s),手掌摆放
位置(掌心向下,掌心向上)和任意的屈伸角度进行多组试验。在不同组动作的
试验中,对该组动作样本任意选取 50 组作为神经网络控制器的训练集,剩余信
号为测试集以考察 EMG 信号经过神经网络系统后预测的角度的准确率。设定当训
练误差小于 0.001 时网络收敛,图 3-8 显示了均方根误差的收敛过程,从收敛图
可以看出,所设计的神经网络快速平稳收敛。
27第三章 基于肌电信号的人手肘关节运动轨迹的预测
(1). 网络实质上实现了一个从输入到输出的映射功能,而数学理论已证明
它可以实现任何复杂非线性映射,这使它特别适合于求解内部机制复杂的问题;
(2). 网络能通过学习带正确答案的实例集自动提取“合理的”求解规则,
即具有自学习能力;
(3). 网络具有一定的推广、概括能力。
本文采用该多层感知器为主体的前馈神经网络对处理过的肌电信号辨识肘
关节做屈伸运动时的运动状态,预测肘关节的运动轨迹。如图 3-6 所示,网络由
输入层,隐层 1,隐层 2,输出层组成。同一层神经元间互不连接,层与层神经
元间全互连。 输入层有 6 个神经元,分别为特征提取处理后的 EMG 信号,作为
神经网络的输入;输出层只有一个神经元,其值为相应时刻神经网络预测出的手
臂运动角度。实践表明,隐层节点数对于神经网络的分类性能具有重要的影响。
如果节点数太少,网络无法充分地在特征空间中将多个模式分开,如果节点数过
多,则网络训练的运算量太大,因此必须综合考虑系统的性能与效率两方面因素
来确定隐层节点的数量。本文通过比较,选取每个隐层节点数为 20,取得了较
为满意的结果。
Y(k)
输入层
隐层1
隐层2
输出层
图 3-6 四层的神经网络辨识模型
2.神经网络训练算法
网络实际应用之前,需要对网络进行训练,学习。本文对网络的训练采用改
进后的误差反传学习算法(Error Back Propagation)。此算法包括两大步骤,
其一是输入正相传播过程,处理后的信号加在网络的输入层后,逐层向输出层传
24第三章 基于肌电信号的人手肘关节运动轨迹的预测
图 3-8 单周期神经网络辨识模型训练误差的收敛过程
网络参数收敛以后,使用经过训练的网络分别和测试样本中余下的的肌电信
号来预测其相应手臂运行角度。图 3-9 为受试者在运动周期为 6s,掌心向上,做
(0-60-0)屈伸运动。
egD/
θ
图 3-9 肘关节做单周期屈伸运动时预测与实测的关节角曲线
使用均方根误差分析测试结果:
2
1
( )
MS
N
n nd
n
y y
R
N
=
∑−
= (3-16)
其中
n
y 为预测角度,
nd
y 为相应时刻的实际角度。均方差误差均小于 2,表明实
际角度与预测角度的误差在两度以内。
受试者在不动的屈伸运动周期数,手掌摆放位置(掌心向下,掌心向上)
28第三章 基于肌电信号的人手肘关节运动轨迹的预测
和任意的屈伸角度进行多组试验。在不同组动作的试验中,对该组动作样本任意
选取 50 组作为神经网络控制器的训练集,剩余信号为测试集以考察 EMG 信号经
过神经网络系统后预测的角度的准确率。设定当训练误差小于 0.005 时网络收
敛,图 3-10 显示了均方根误差的收敛过程,从收敛图可以看出,所设计的神经
网络快速平稳收敛。
图 3-10 多周期神经网络辨识模型训练误差的收敛过程
网络参数收敛以后,使用经过训练的网络分别和测试样本中余下的肌电信号
来预测其相应手臂运行角度。图 3-11 为受试者在掌心向上的状态下做 3 个周期
的连续屈伸运动(0-80-0-80-0-80-0)。
图 3-11 肘关节做多周期屈伸运动时预测与实测的关节角曲线
使用均方根误差分析测试结果:均方差误差均小于 5,表明实际角度与预测
角度的误差在 5 度以内。
29第三章 基于肌电信号的人手肘关节运动轨迹的预测
3.4 本章小结
本文使用人体肘关节做屈伸运动时的肱二头肌和肱三头肌的肌电信号,经过数
据处理建立了一个肌电信号特征数据集,并以此作为神经网络辨识模型的输入,
使用改进后的BP训练算法优化该模型的权值。该辨识模型能将处理后的肌电信号
转换为相应时刻肘关节运动角度信号。
受试者在不同的运动速度,屈伸角度和手掌摆放位置下进行试验,神经网络
模型能够很好地预测出的肘关节运动角度。结果表明神经网络模型及训练算法能
够成功的映射出人体表面肌电信号和手臂运动状态间的关系。
神经网络模型类似于一个黑盒子,它运用特殊的训练方法来最优化各层神经
元间的权值,建立起输入输出间的非线性关系。训练和测试结果表明神经网络能
够成功的通过肌电信号预测出人体手臂的运动情况。
然而,由于EMG信号不仅与人肢体运动状态有关,而且还会受到人体生理状态以
及测试时电极安放位置等客观因素的影响。因此建立的神经网络模型所应用的数
据对不同的受试者是独立的,不同的受试者不能享用相同的网络模型。实际上,
对于同一个受试者,在不同组次的试验中如果移动了手臂上的电极位置,网络也
需要进行重新训练。这就意味着没有固定的神经网络模型预测肘关节所有的运动
状态。当然,我们可以利用当前保存的权值作为网络的初始值来训练新的神经网
络,以加快网络训练过程得到新的最优化网络权值。
因篇幅问题不能全部显示,请点此查看更多更全内容