基于高阶神经网络的肌电信号识别方法的改进
中国康复医学杂志 2000年第1期第15卷 康复医学工程
作者:张海虹 蔡立羽 王志中
单位:张海虹(上海交通大学生物医学工程系,200030);蔡立羽(上海交通大学生物医学工程系,200030);王志中(上海交通大学生物医学工程系,200030)
关键词:高阶神经网络; 肌电信号; 识别; 小波变换
摘要 目的:提高假肢分类训练的速度和准确率。方法:采用一种高效率的高阶神经网络——Pi-Sigma网络,并针对肌电信号的非平稳特性,对用小波变换方法提取的表面肌电特征进行分类。结果:效率大大提高,而且在训练速度提高的同时, 并不影响其分类的准确性。 结论:与传统识别方法相比,Pi-Sigma网络的肌电信号识别方法训练速度快,精确度高,鲁棒性好,是一种具有良好应用前景的肌电信号识别方法。
A Pi-Sigma neural network based electromyograph signal identification method
ZHANG Haihong, CAI Liyu, WANG Zhizhong
Dept.of Biomedical Engineering , Shanghai Jiaotong University ,200030
Abstract Objective: To introduce a new method to improve training speed and scale limitation in artificial limb.Method:A new efficient method for electromyograph(EMG) features identification based on the wavelet transformation was introduced, using a novel higher-order network called the Pi-Sigma network.Result:The method had good convergence properties and accuracy compared with conventional ones. Conclusion:EMG identification with Pi-Sigma would be rather promising in the future development in EMG identification area.
Key words Higher-order neural network;Electromyograph;Identification;Wavelet transformation
表面肌电信号是从人体骨骼肌表面通过电极记录下来的神经肌肉活动发放的生物电信号。肌电信号不仅在临床医学、运动医学等领域被广泛应用,而且成为人工假肢和功能性神经电刺激的理想控制信号。随着信号处理方法和计算机技术的发展,如何从表面肌电信号重现别处肢体的多种运动模式已经越来越多地引起人们的关注。
经过多年的发展,表面肌电信号的识别技术日趋成熟,建立了如:自回归(auto regression,AR)模型法、自回归滑动平均(auto regressive moving average,ARMA)模型法、自回归积分滑动平均(auto regressive integrated moving average,ARIMA)模型法等许多算法。近年来,人工神经网络被大量用于肌电信号的模式识别。然而,人们常用的多层感知器网络(multi-layered perceptron,MLP),如反向传播(back propagation,BP)网络,其训练过程是通过对各层系数反馈调整实现的,训练速度很慢,而且在处理复杂的典型非线性问题时收敛困难。为此, 本研究引入了一种改进的单层高阶前馈网络——Pi-Sigma 网络〔1〕,它不仅具有高阶神经网络固有的平移不变性和旋转不变性〔2,6〕,还克服了一般高阶网络权系数和神经元的个数随输入矢量维数呈指数增加的弊病〔3〕。其网络结构简单,收敛迅速,鲁棒性好,并获得了较高的识别率。
同时为了提高神经网络分类的可靠性和稳定性,在表面肌电信号的特征提取上,我们对肌电信号的非平稳特性,采用了小波变换〔4〕的方法。 它具有类似多通道滤波器的功能,将原始信号按照时间的对应关系分解到不同频带上或对信号进行不同的精度表达〔5〕,提供了信号时域和频域两方面的信息,从而更有效的描述了信号特征,为实现假肢的准确控制做好了准备。
1 Pi-Sigma高阶神经网络
1.1 网络结构
高阶神经网络(higher-order neural network,HNN)是由侧抑制网络〔7〕引申而来的,它将同一层神经元之间的相互关系引入了网络结构,即将前一级各输出分量的乘积项导入后级网络运算节点的输入端,从而更精确的模拟了人脑中神经网络的分布情况。本文中讨论的都是单层高阶神经网络
(single-layer higher-order neural network,SHNN)。SHNN中一个运算节点的输出定义如下:
其中,xj 是输入矢量x的第j个分量,wj,k,l...是对应于输入分量xj, xk , xl乘积的可调权系数, f ( x ) 为非线性函数。可见,当输入矢量具有N个分量时,一个单层k阶网络的每个神经元就需要总共个权系数来激活。当N和K增大时,权系数大大增加,网络变得很复杂。而仅靠限制阶数K来简化网络,将会削弱网络的分类能力,因此我们采用了一种改进的高阶网络:Pi-Sigma网络,在保持高阶网络收敛快的特性的同时,避免了因输入分量增加导致的网络权系数的大大增加和结构的复杂化。Pi-Sigma 网络的基本思想是用各输入分量的K种线性组合的乘积来表征输入信号,其网络结构如附图所示。
附图 Pi-Sigma网络结构
附图中,输入x为N维矢量,其个分量xk赋以权重后输入各个运算节点,去激活神经元。K为设定的网络阶数,hji为对应于第i个输出分量: yi的第j个神经元的输出,即:
对应第i个输出分量,wkji是从输入xk到第j个神经元的可调权系数,θji为第j个神经元的可调域值,f(x)则是一个非线性激活函数, 本文选用的都是Sigmoid函数:f (x) =1/(1+e-x)。而从中间层的神经元到网络输出节点的权重为固定值1,这样网络中不存在隐层的概念,就可利用快速的算法进行训练了。
1.2 一种随机的训练算法
图1所示的Pi-Sigma网络中,每个运算节点对应有N+1个可调参数:N个权重和1个域值,这样,每个输出分量就有总共K ( N+1 ) 个可调参数。它们的训练规则是一种随机化的梯度下降法。因为网络的输出yi是各个hji的乘积,所以在每个学习周期中不需要对所有的权系数和域值都进行调整, 而只要随机的选取某一个神经元,运用梯度下降法调整它与各输入分量之间的权重及它的域值,使均方误差:
达到最小。P代表第P次调整训练,di和yi各自为第i个输出分量的期望值与实际值。可得其训练算法为:
η为训练步长,yi′为函数f ( x )的一阶导数,即:yi′= f ′( x ) = ( 1- f ( x ) )×f ( x )。上述算法只需调整随机选取的第l个神经元所对应的权系数和域值即可。
为了防止神经网络在训练中陷入局部极小点,我们在修正权系数和域值时加入了动量因素〔8〕。即在当前的修正值中加入前一次的修正量的信息:
上式中,α为动量调整系数,α∈(0~1),这样进入局部极小值附近时,即便当前计算得的调整量很小,但由于加入了前一次调整值的信息,获得较大的动量,就有可能使网络跳出极小点,以免收敛失败。
1.3 特征参数的提取
小波变换的实质是把原始信号不同频率段的信息抽取出来,并将其显示于时间轴上,这样既可以反映信号的时域特征也可反映信号的频域特征。小尺度的变换包含信号的高频成分,大尺度的变换包含信号的低频成分。从而,我们可以根据需要择取不同尺度的变换来描述信号的特征。
基于小波的多尺度分析中, 可以利用小波进行逆变换,重构信号。如果给定所有的小波系数,通过重构算法就能完全的重构原始信号,通过部分小波系数也能重构出原始信号的近似信号,对信号进行逼近。在每级尺度的小波系数中,不同系数对信号的逼近的作用影响程度都不一样,其中绝对值较大的系数在时频域内具有较大的能量,在重构时发挥的影响更大一些,因此可以考虑将小波系数作为描述信号的特征。实验中, 我们对肌电信号作多尺度小波分解,从每级分解中提取绝对值最大的小波系数作为信号特征,构造特征矢量,利用Pi-Sigma网络实现动作识别。
为了使提取的信号特征能最大程度的描述信号,从而提高分类的准确率,小波基函数的选择非常重要。 不同的小波基函数具有不同的特性,适应的应用场合不同,需要根据具体情况仔细选取。我们通过实验比较,采用了正交紧支Symlets小波,在对肌电信号作离散小波变换时采用了Mallat快速算法。
2 Pi-Sigma 网络用于EMG的识别
为了测试Pi-Sigma 网络在肌电信号分类中的性能,我们提取前臂表面肌电信号进行分析。实验中,两对表面差分电极从前臂掌长肌和肱桡肌上同时采集两路肌电信号,信号经放大器输入数据采集卡。放大器的低频截止频率为10Hz,高频截止频率为500Hz,采样频率1000Hz。我们分别采集了展拳、握拳、腕内旋、腕外旋四种动作的肌电信号各20组,纪录每次动作开始后的128点(即128ms)的肌电数据。
我们对每组数据作6级小波分解,提取每级小波系数的最大值构成12维特征矢量输入神经网络进行分类。神经网络的输入节点数为12,对应于由两路肌电信号的6级小波系数最大值所构成的特征矢量;输出节点数为4,对应于四个不同的动作模式。实验中,每个动作各取10个信号作为训练样本,这样,总共有40个训练样本,将它们轮流输入Pi-Sigma 网络进行训练。
在比较实验中, 我们将Pi-Sigma网络的性能和BP网络进行对比,实验表明,在相同的工作环境下(Pentium-II 的CPU ,MATLAB编程环境),Pi-Sigma 网络的训练速度要比BP网络快得多,表1所示为在不同的均方误差(mean square error,MSE)要求下, BP网络和Pi-Sigma网络各自训练所需时间的比较。
表1 Pi-Sigma 网络和B-P网络训练时间的比较
(s)
均方误差 0.06 0.04 0.02 0.01
B-P 网络 42 54 95 159
Pi-Sigma 网络 3 15 57 105
可见,用Pi-Sigma网络进行训练,效率大大提高。而且训练速度提高的同时, 并不影响其分类的准确性。在训练结束后,用Pi-Sigma 网络对40个训练样本进行分类,每个动作的识别率均能达到100%,然后我们用该网络对未经训练的测试样本进行分类,也取得很好的效果。测试结果如表2所示。
表2 Pi-Sigma网络对未经训练的测试样本
的分类效果
展拳 握拳 内旋 外旋
输出平均值
1 0.0000 0.0001 0.0533 0.7605
2 0.2472 0.0000 0.7473 0.2683
3 0.0025 0.9146 0.0030 0.0048
4 0.8563 0.0151 0.0033 0.0018
期望的输出值
1 0 0 0 1
2 0 0 1 0
3 0 1 0 0
4 1 0 0 0
识别率(%) 90 100 80 80
由上述实验结果可知,用Pi-Sigma网络对小波变换提取的肌电特征进行分类,训练速度快,识别率高,在肌电假肢的控制领域将有很大的发展潜力。而且,由于Pi-Sigma网络结构精炼,随着输入维数的改变,网络的复杂程度不会大幅度变化,因而对处理各种不同规模问题的适应能力强, 这在实际应用中是十分重要的。
3 讨论
本研究采用了一种改进的高阶神经网络来识别肌电信号的新方法,并通过与传统方法的比较,证实了这种方法的优良性能。在试验中我们发现,该网络中间层运算节点数的选取对于网络的性能有一定的影响。若选取的节点数过多,容易使网络在训练中陷入局部极小点,若选取的节点数过少,则会降低训练后测试值的识别率。可见,如何选择适用于不同情况的中间层节点数还是一个值得进一步研究的问题。但毋庸置疑,Pi-Sigma网络因其固有的快速、稳定、准确的优良性能,在肌电控制领域必将会有更大的发展前景,特别是对于实现假肢的实时判别与控制,将会大有帮助。
另外,本文中用来分类的肌电特征是信号经过小波变换后提取的系数,我们也可以直接把信号输入神经网络,或者提取信号的其他特征来分类,最终目标都是找到一种能最大限度的描述信号的方法,便于神经网络识别, 以期达到尽可能高的识别率。因为在肌电假肢的实际应用中,是不允许有任何错误判别的,即便有99%的识别率,那1%的失误也会导致严重的后果,所以我们目前的工作还远远不够。
本研究得到国家自然科学基金(69675002)的资助
4 参考文献
1,Yoan Shin. The Pi-Sigma Network : an Efficient Higher-order Neural Network for Pattern Classification and Function Approximation. IEEE Conf. on NN, 1991, I:13-18 .
2,Spirkovska L,Reid MB. Connectivity Strategies for Higher-order Neural Networks applied to Pattern Recognition . Proceedings of UCNN 1990,1:21-26 .
3,Ghosh J, et al. Impact of Feature Vector Selection on Static Classification of Acoustic Transient Signals . Govt. Neural Network Applications Workshop, 1990,8:29-31.
4,Unser M,et al.A review of wavelets in biomedical applicatoins. Proc. of IEEE, 1996, 84:626-638.