张智军 孙健声 陈博钊
(1.华南理工大学自动化科学与工程学院,广东广州 510640;2.人工智能与数字经济实验室,广东广州 510335)
帕金森病是一种常见的神经退行性疾病[1],由多巴胺能神经元的逐渐退化和死亡引起,此神经元在肌张力水平的协调运动中起着关键作用,因此影响着很多患者的正常生活.据帕金森病基金会估计,全世界有700万至1000万人患有这种疾病[2],多见于50岁以上的老年人,其声音症状在日常生活中体现较早[3].
在2016年,Naranjo团队给出了一种利用声学特征检测帕金森病的分类方法[4].具体而言,在对受试者录音制作声学特征时,系统利用采集上的误差产生样本差异,对同一个受试者采集几个数据样本,导致样本之间特征不独立,文献[4]中介绍的一种基于潜在变量的广义线性方法解决了重复样本的问题.然而在分类时使用的44个特征具有高度的相关性.在2017年,Naranjo团队又给出了一种处理重复样本的两阶段变量选择贝叶斯方法[2].第1阶段是基于过滤法的预选步骤,该方法选择与组中其他变量具有最小累积差异的变量,将每个特征组的变量数量减少到一个.第2阶段采用一种基于最小绝对收缩和选择算子的正则化分类方法.该方法取得了77.9%的准确率并且易于计算.
根据以往研究[4],声学特征中梅尔倒谱系数的一阶导数可以有效检测帕金森病.在2018年,Kebin团队[5]利用这一发现,对此特征进行基于球形K均值聚类的字典学习,将学习到的特征进一步使用随机森林(random forest,RF)和支持向量机(support vector machine,SVM)进行分类.此后,越来越多的机器学习方法被应用于帕金森病的诊断[6-7].在2019年,Diogo团队[8]使用3个语音数据库对不同的机器学习方法进行评估,发现了使用RF和SVM技术对帕金森病进行分类的潜力.
在2020年,针对特征优化,Yaman团队将统计池技术应用于帕金森数据集的特征处理获得了更好的诊断效果[9].首先,统计池技术[10]和ReliefF方法先后被用于对特征进行增强和提取.随后,SVM和K最近邻方法分别被用于对处理后的数据集进行分类.这两种分类方法分别取得了91.25%和91.23%的最高准确率以及88.36%和88.84%的平均准确率.相比之前的研究,预测准确率得到了显著的提升.但是相比于以往方法,输入数据的维度更多,达到了66,这将需要更多的训练时间.
为了进一步提高训练效率及预测准确率,本文提出一种新型的动态收敛微分神经网络(dynamic convergent differential neural network,DCDNN).不同于大多数现存网络使用梯度下降法对网络参数进行调整,所提出的DCDNN网络采用神经动力学方法调整网络的权值.由于具有并行计算和快速收敛的特点,神经动力学方法已经成功地应用于机器人领域[13-15].
基于神经动力学方法,张等人提出变参数收敛微分神经网络来解决受线性等式约束的时变凸二次规划问题[13]以及获得时变Sylvester方程的在线解[14].这意味着神经动力学方法在时变问题中具有很强的适用性,机器人跟踪实例也证明了这一点[13].文献[13]中的理论分析证明,基于神经动力学方法的变参数收敛微分神经网络具有超指数收敛性,即使在扰动情况下,残差也收敛为零,说明了变参数收敛微分神经网络的超指数收敛性能和很强的鲁棒性.文献[14]中通过使用不同种类激活函数进行仿真比较,进一步表明变参数收敛微分神经网络具有高收敛性和强鲁棒性.文献[15]中的计算机仿真实验证明,与基于传统的梯度下降法的神经网络相比,基于神经动力学方法的神经网络具有更快的收敛速度和更高的预测精度.基于以上研究,本文将神经动力学方法应用于提出的DCDNN模型,解决模式识别领域相关问题.
在提出的DCDNN模型中,神经动力学方法利用误差导数信息得到隐式动力学方程,采用分步迭代的方式将神经网络输出的误差逐层传递,更新网络参数权值与偏置.此外,模型结合使用了统计池技术和主成分分析技术对数据集进行特征增强和特征提取.在进一步缩短模型训练时间的情况下,提出的模型能达到最高97.22%和平均90.89%的准确率.
本文接下来的内容将被分为以下几个部分:第2节介绍帕金森病诊断系统总体框架;第3节给出对所用数据集以及预处理方法的详细介绍;第4节对提出的分类模型进行分析和设计;第5节给出提出模型的仿真实验结果,并与应用在此数据集上的其他方法进行比较;第6节对本文的研究进行结论分析.
本文的主要贡献如下:
1) 本文提出了一种新型的基于神经动力学方法的动态收敛微分神经网络,不同于传统的基于梯度下降法的神经网络,提出的模型可以达到更快的误差收敛速度;
2) 动态收敛微分神经网络利用误差时间导数信息构建隐式动力学方程,通过逐层输出向量的导数信息实现对权重及偏置的迭代更新;
3) 提出的模型成功应用于帕金森数据集,获得最高97.22%和平均90.89%的诊断准确率.与现存其他方法相比,所提出模型具有最高分类准确率.
整个帕金森病诊断系统由标准化、特征增强、特征提取和识别分类4部分组成.具体流程框图如图1所示.在帕金森数据集上,首先运用Z-score标准化统一量纲,随后采用统计池方法进行特征增强,增大个体差异.为了提取重要特征,本文采用主成分分析方法去除多余特征,最后运用本文提出的DCDNN 分类器,将经过特征预处理后的样本的一部分用于训练,一部分用于测试,得到测试集每一个样本预测所属类别,对所提出方法进行性能评估.
本节首先简单介绍了实验所用的数据集,接着详细介绍了数据的预处理方法,为动态收敛微分神经网络进行识别做好前期准备工作.
本文中使用的帕金森数据集已经被公开在UCI数据库中[2,4].该数据集共有80个人的声音数据,其中包括40个正常人,40个帕金森患者.它一共有240个样本,由这80个人重复发三次a音得到.原数据集一共有48个属性,其中第1列和第2列分别为受测者ID号以及录音编号,均与预测结果无关.第3列为样本标签,表示患者是否患病,其中患病为1,未患病为0.第4列为性别,男性记录为0,女性记录为1.剩余的44个属性为声学信号,可以分为8组,展示如下:
1) 基音局部扰动测量:相对扰动(jitter-rel)、绝对扰动(jitter-abs)、相对平均扰动(jitter-RAP)和基音扰动商(jitter-PPQ);
2) 振幅扰动测量:局部振幅扰动(Shim-loc)、以分贝为单位的振幅扰动(Shim-dB)、3 点振幅扰动商(Shim-APQ3)、5点振幅扰动商(Shim-APQ5)和11点振幅扰动商(Shim-APQ11);
3) 谐波噪声比测量:0~500 Hz(HNR05)、0~1500 Hz(HNR15)、0~2500 Hz(HNR25)、0~3500 Hz(HNR35)和0~3800 Hz(HNR38)的谐波噪声比;
4) 基于梅尔倒谱系数的0到12阶谱测度(MFCC0,MFCC1,···,MFCC12)及其导数(Delta0,Delta1,···,Delta12);
5) 复发周期密度熵(recurrence period density entropy,RPDE);
6) 去趋势波动分析(detrended fluctuation analysis,DFA);
7) 基频周期熵(baseband peroid entropy,PPE);
8) 声门噪声激法比(glottal to noise excitation ratio,GNE).
在提出的模型中,预测用到的属性只包含声学信号,因此可以得到一个240×44的特征矩阵.
为了消除奇异样本数据导致的不良影响,对输入数据进行标准化.此外,数据标准化还可以进一步提高模型的收敛速度,获得更好的性能.在提出的模型中,Z-score方法被用于对输入数据进行标准化处理,使得每一维度的数据均值为0,标准差为1,使用MATLAB工具箱中的mapstd()函数实现.
在本文中,统计池技术[9]用于对输入数据的特征数进行扩充,以产生更独特的特征,实现更高的分类精度.统计池的具体原理如图2所示.
图2 统计池Fig.2 Statistics pooling
具体扩充过程为:首先将44个特征分3次划分,第1次有序平均划分成4个特征块,每块含有11个特征;第2次有序平均划分成2个特征块,每块含有22个特征;第3次划分为包含所有44个特征的块.接着对3次划分得到的特征块采用统计学方法,利用19个统计公式[9]得出每个块的19个统计特征(平均值、标准差、能量、熵、自相关、绝对平均值、峰度、偏度、中值、最小值、最大值、变异系数、均方根、形状因子、峰值因子、裕度因子、脉冲因子、最大值与最小值之差、最大值与平均值之差),再加上原始特征矩阵,形成一个240×177的特征矩阵.
相对于240个样本的数据集,177个特征是比较多的,因此输入数据需要进行降维处理以获得更好的分类效果.在本文中,主成分分析被用于对数据集特征进行降维处理.下面给出其计算过程:
步骤1设样本集N×d为特征集,输入特征选择模型,其中N为样本个数,d为特征维数;
步骤2对特征空间进行中心化,生成散度矩阵.定义散度矩阵ST为
其中:αi是第i个数据样本,µ是基于所有样本的特征空间的均值特征;
步骤3计算ST的特征值和特征向量,按从小到大排序;
步骤4按照累积贡献率选择前m个特征值,即前m个主成分的方差,其具体表达式如下:
其中:λj表示排序后的第j个特征值,G(m)表示前m个特征值占总特征值的比例,即累积贡献率.在此实验中,G(m)设定为80%;
步骤5找到与前m个特征值对应的特征向量,将所有样本投影到特征向量上,得到新的样本集N ×m.
本节对提出的DCDNN分类模型的网络拓扑结构进行展开描述,对相应的网络参数求解器进行详细分析与设计.
本文提出的DCDNN模型是一种前馈神经网络,包含输入层、隐含层和输出层,通过神经动力学公式将输出层误差逐层反向传播,其原理如图3所示.
图3 DCDNN原理图Fig.3 DCDNN principle diagram
在图3中,动态收敛微分神经网络的输入为样本向量x=[x1x2··· xm]T.对于输入层和隐含层,在第k轮训练中定义两层之间的权重矩阵为v(k),偏置为a(k).此时隐含层输出为
设输入样本向量的维数为m,隐含层节点数为n,则v(k)为一个n×m的矩阵,a(k)为一个n×1的向量.g(·)为softsign激活函数,其具体表达式如下:
对于隐含层和输出层,定义权重矩阵为w(k),偏置为b(k),此时输出层输出为
设输出节点个数为p,则w(k)为一个p×n的矩阵,b(k)为一个p×1的向量,f(·)为激活函数,此处依然选用softsign函数.
上述网络参数在训练前需要进行初始化,其中权重v(k)和w(k)采用正态分布初始化,偏置a(k)和b(k)采用零初始化.
这一节对网络训练权值参数的更新方式进行详细分析和设计.具体而言,这一过程分3个步骤进行.
第1步定义损失函数
其中:k代表迭代更新权重的次数,y代表输入数据的类别标签.
在传统梯度下降法中,误差以权重导数的方式进行传递,而本网络模型通过神经动力学公式将误差以时间(此处表示迭代轮次)导数的方式进行迭代,优势在于可以根据迭代轮次预测模型误差,进而达到更快误差收敛的效果[13-15],其具体表达式如下:
其中:λ >0为学习率,网络训练时通过实验调节λ以使收敛更平稳.ϕ(·)是一个单调递增的奇函数[13].本文使用power-sigmoid函数作为激活函数ϕ(·),其具体表达式如下:
这里需要满足n≥2和r≥2且均为整数[13].
第2步将损失函数公式(3)代入神经动力学公式(4),得到隐式动力学方程如下:
其中:f′为输出层激活函数f(·)的导数,(k)和(k)分别为隐含层与输出层权重w(k)和偏置b(k)关于k的导数,(k)为隐含层输出关于k的导数.
第3步采取分步迭代的方式更新权重v(k),w(k)和偏置a(k),b(k),为了方便公式推导,定义如下4个矩阵:
式(5)更新为
下面将给出具体的权值修正过程.
首先,固定H(k),此时(k)=0,随后由式(6)可以得到
不断重复上述操作进行迭代,直到误差稳定收敛即达到最小值后继续迭代不再减小,可以得到最优的权值矩阵W1和W2,完成训练过程.
本算法程序采用MATLAB语言编写,在MATLAB R2016b软件平台上运行.计算机硬件配置如下:英特尔i5-9600KF处理器,24 G运行内存,64位操作系统.
由第3.1节可知,输入数据共有240个样本,其中包含120个正类样本(即患者的声音样本),120个负类样本(即正常人的声音样本).由此看来,数据集是绝对平衡的.随后对数据集进行Z-score标准化、统计池特征增强以及主成分分析特征提取,可以得到一个240×9的特征矩阵,即输入特征有9个.最后对样本数据进行划分,分别在正负样本中取70%作为训练集,剩下的30%作为测试集.
数据集划分完成后,需要对模型进行训练来得到最佳参数.经过多次仿真实验后,设定学习率λ=0.17,隐含层节点个数为4.网络训练过程如图4所示,其中横轴表示训练轮数,纵轴表示诊断准确率.从图4可以看出,最高测试准确率97.22%在第49轮训练时已经出现,之后一直保持在最高水平,这说明提出的DCDNN模型在帕金森病诊断方面具有高准确率和强稳定性.
图4 网络训练过程Fig.4 Network training process
另一方面,本文选择几个不同的评价指标来对提出的模型进行综合性能的评估,这些评价指标包括准确率(Accuracy)、精确度(Precision)、召回率(Recall)、F1-score.下面分别给出这4个值的计算公式:
式中:TP,TN,FP,FN分别为正样本正确分类个数、负样本正确分类个数、正样本错误分类个数、负样本错误分类个数.
提出模型与其他现有方法的对比结果如表1所示,其中平均值取的是运行100次之后的平均结果.此外,通过仿真实验验证,在模型总体框架不变的情况下,所提出的DCDNN分类器百次平均训练时间在3 s左右.与现存最高准确率SVM分类器比较,SVM百次平均训练时间在4 s左右,验证了DCDNN分类器在训练速度上具有快的误差收敛速度.从表1中可以看出,提出的模型无论是最高准确率(97.22%)还是平均准确率(90.89%)均高于其它方法.此外,对于疾病诊断来说,一般既要求真实患者能被检测出来,又要求检测出来的患者中尽可能不出现误诊.提出的模型无论是精确率(查准率)还是召回率(查全率)在最高值上均高于其他方法.因此,在帕金森病诊断查准和查全方面,提出的模型具有较大优势.
表1 提出方法与现有方法各项性能指标比较Table 1 Comparison of performance indexes of the proposed method and the existing methods
在最高准确率下的分类混淆矩阵如表2所示.从表2中可以看出,绝大多数样本均识别正确,正常人诊断为患者的概率与患者诊断为正常的概率呈现平衡状态.
表2 分类混淆矩阵Table 2 Classification confusion matrix
在本文中,一种新型的基于神经动力学的动态收敛微分神经网络(DCDNN)被提出并应用于声学特征的帕金森数据集.不同于传统的梯度下降法,提出的网络模型拥有更快的误差收敛速度以及更好的分类结果.同时,在将其应用于基于声学特征的帕金森数据集时,结合了一些其他的数据预处理方法进行优化,包括数据标准化、统计池技术、主成分分析.计算机数值仿真结果显示所提出的模型达到了百次平均准确率90.89%以及最高97.22%的准确率,该结果高于以往研究提出的方法,进一步验证了本文所提出模型的优越性.