本研究利用系统辨识方法研究脊髓多节段硬化患者与正常对照组的髌韧带反射特性,在抽取一系列系统特征参数基础上,探讨了利用人工神经网络对测量的系统参数进行分级和评定的方法及效果。
1研究目标
本研究的目标是选择和训练神经网络,根据髌韧带反射特征参数对肌肉痉挛程度进行分级工作,为此需要探讨其可行性和系统性能。我们对神经网络系统提出的初步目标是:①能正确分级,即根据给定的反射特征参数,可以判断与临床评价指标对应的肌肉痉挛病情。②更精确地分级。由于临床指标是基于医生的主观判断而得到,很细的分级是没有意义的。而测试得到的特征参数则相对精确得多,因此有可能利用测试参数得到更精确的分级。③由单次实验辨识参数分级。在测量中存在噪声等不确定因素,因此统计和相关处理都需要多次实验才能得到可靠的测量参数。如果能够利用单次测量(或少数测量)数据进行系统分级,对系统的实用有很大意义。
2研究方法
2.1髌韧带反射特征参数〔1、2〕
髌韧带反射是一种常见的运动神经反射,也是临床对运动神经控制特性评价的重要指标。当用叩诊锤敲击髌韧带时,绝大多数人会产生反射,表现为股四头肌收缩、膝关节伸展。据悉髌韧带反射特性变化与肌肉痉挛有密切关系,但目前尚无对其定量关系的具体描述。为研究髌韧带反射与肌肉痉挛程度的关系,我们对不同程度脊髓多节段硬化患者(13例)和正常对照组(13例)的髌韧带反射特性进行了测量,利用测量的信号,采用两种系统辨识方法得到了系统的冲击响应函数〔1、2〕。对系统冲击响应函数(impose response function,IRF)曲线,为得到定量的指标,选取了6个特征参数:腱反射增益(Gtr)即系统冲击响应的峰值、反射环路延时(Td)、收缩时间(Tc)、半恢复时间(Thr)、收缩率(Rc)、半恢复率(Rhr)。此外还考虑了测量的系统输出参数,即:力矩峰值(MP)和肌电峰值(EMGP)。通过对上述参数的方差分析和假设检验,证明这些参数对不同样本组具有特异性;通过对比上述测量参数与临床指标的相关程度,证明上述参数与临床指标有较高的相关程度〔1、2〕。
虽然上述研究表明了利用系统测量参数可以区分不同测试对象组间的显著性差异,测量参数与临床分级指标也有较强的相关关系,但从上述参数尚无法直接得到对痉挛程度的评价。其主要原因包括:①虽然从统计意义上,不同样本组的参数有显著性差异,但具体到每个测试对象,各参数的表现是很复杂的,而且参数间变化是交叉的,无法直接根据参数进行分级;②反射特性参数与肌肉痉挛程度之间尚不具备确定的关系,无法以反射特性参数表示病情的程度;③肌肉痉挛程度的临床评价是通过有经验的医生对患者运动系统的综合描述,利用个别的测量参数很难表示复杂的病情,因此需要探讨利用特征参数对病情进行分类的方法。
2.2神经网络及结构的选取
许多神经网络都可以完成模式识别和模式分类的工作〔3、4〕,例如感知器(perceptrons)、线性神经网络、多层前向网络、自组织特征映射网络等。在本研究工作中我们对多种网络结构和不同的算法进行了试验,对其训练效率、分类性能、泛化能力等方面进行了对比。
在研究中系统输入向量具有8个分量,系统的输出为临床分级指标(即Ashworth指标),分为0~4级。为确定这些向量是否线性可分,首先采用了具有多个神经元的单层感知器神经网络进行了试算。结果表明,上述向量不是线性可分的,感知器神经网络无法找到正确的分类方案,因此无法利用超平面将它们分开。由于系统的输入-输出关系比较复杂,无法利用上述简单的网络结构完成其分类问题。因此需要尝试较为复杂的多层网络。在研究中主要考察了两种网络,即多层前向网络(multi layer forward network,MLFN)和自组织特征映射网络(self organized feature mapping,SOFM)类型的神经网络。实践证明,采用“反向传播(back propagation,BP)+竞争”的多层前向网络结构具有比较好的效果。对上述前向网络,也可以利用径向基函数构造网络,由于径向基网络在逼近能力和学习能力方面具有优势,有可能达到较好的性能。
在处理中考虑到输入向量中的分量值差异很大〔2〕,若对其进行归一化(normalization)处理,可能会收到好的效果。与此同时,对输出向量也可以进行归一化处理。多层前向网络的输出为连续变量,通过训练网络,可以将输入向量映射在一定范围内。根据前面提出的目标,首先要求网络能够正确分类,为此将输出向量经过一个竞争层传递函数,并比较通过竞争层之后的输出向量,判断其分类是否正确。这样网络成为一种“BP+竞争”的结构(图1)。
构造上述网络后,可以对网络性能进行考察,通过调整网络结构(神经元数目、类型),优化训练集的选取和预处理,并对网络的推广能力进行试验。在试验中首先要求网络能够满足正确分类的目标,在此基础上再考虑利用网络精确分级和利用单次试验数据分级的问题。
图1具有输出竞争层的网络结构
2.3训练集与测试集
髌韧带反射特征参数中可以形成训练集的输入数据包括:①利用相关分析(correlation analysis) 方法辨识系统得到IRF导出的8个特征参数;②利用归一处理,近似得到的每一次敲击对应的系统IRF导出的特征参数(每个测试对象有20~30组);③各次系统响应特征参数的平均值。形成训练集的输出数据为临床医生对受试者的分级评价。这些数据在前面的工作中已经获得〔1、2〕,因此可分别利用如下方法构造训练集:①对每个受试者,利用8个系统辨识的特征参数作为输入,受试者分级作为输出。②利用归一处理方法得到的各敲击响应特征值的平均值为输入,受试者分级作为输出。③在各敲击特征值中选择信号较好的部分特征值为输入,受试者分级作为输出。④在各敲击特征值中随机抽取部分特征值为输入,受试者分级作为输出。为了解网络的泛化能力,采用训练集之外的输入数据作为测试集对网络性能进行了分析。
2.4网络学习方法
首先单独利用各训练样本进行网络训练,以便对网络性能和学习算法有一定了解,并在此基础上考虑更复杂的训练方案。前向网络的BP学习算法有很多种,在研究中使用了MatLabTM的人工神经网络工具箱〔5〕,其中提供了多种算法,包括传统的BP算法、BP+惯量算法(动量BP算法)、动量-学习率调整算法、以及建立在优化方法基础上的Levenberg-Marquardt算法等。实践证明,在用BP算法处理离线问题时,动量-学习率调整算法是一种比较好的算法,该算法采用了动量法和学习率自调整两种策略,通过动量(惯性)学习算法,降低了网络对于误差曲面局部细节如小的波谷或平台的敏感性,有效地抑制了迭代过程中陷于局部极小点的问题;通过自适应调整学习率,可以缩短学习时间。上述两种措施的综合运用提高了学习速度和算法的可靠性,见图2,3。
对于选用的SOFM类型的神经网络,我们将其作为分类器使用,因此采用学习向量量化(learning vector quantization,LVQ)算法进行训练。试验表明其学习效率也是很高的。同时,网络神经元数目的选取对分类性能会有较大的影响。
图2动量-学习率调整算法的误差下降曲线
和学习率变化曲线
2.5综合训练
可以选用多组样本数据构造训练集,在试算中发现用特定训练集得到的网络参数对某些测试集的分类效果好,而对另外一些测试集的分类效果则较差, 说明训练可能不能涵盖所有反射模式。因此采用了综合训练的方法,交叉利用不同的训练集对网络进行训练,并利用交叉有效法对网络性能进行评价,收到了比较好的效果,使网络对训练集和测试集的误差都比较小。
图3Levenberg-Marquardt算法的误差下降曲线
3结果
通过选择和训练神经网络证明采用神经网络方法,根据髌韧带反射特征参数对肌肉痉挛病情进行分级是可行的,对于利用工程方法进行临床评价有一定意义。
3.1神经网络的分级性能
试验结果表明,上述几种网络在一定条件下均能够较好地完成正确分级的任务,但各个网络的分级性能有一定差异。采用自组织特征映射(SOFM)类型的神经网络,可<
