張智軍 孫健聲 陳博釗
(1.華南理工大學自動化科學與工程學院,廣東廣州 510640;2.人工智能與數(shù)字經(jīng)濟實驗室,廣東廣州 510335)
帕金森病是一種常見的神經(jīng)退行性疾病[1],由多巴胺能神經(jīng)元的逐漸退化和死亡引起,此神經(jīng)元在肌張力水平的協(xié)調(diào)運動中起著關鍵作用,因此影響著很多患者的正常生活.據(jù)帕金森病基金會估計,全世界有700萬至1000萬人患有這種疾病[2],多見于50歲以上的老年人,其聲音癥狀在日常生活中體現(xiàn)較早[3].
在2016年,Naranjo團隊給出了一種利用聲學特征檢測帕金森病的分類方法[4].具體而言,在對受試者錄音制作聲學特征時,系統(tǒng)利用采集上的誤差產(chǎn)生樣本差異,對同一個受試者采集幾個數(shù)據(jù)樣本,導致樣本之間特征不獨立,文獻[4]中介紹的一種基于潛在變量的廣義線性方法解決了重復樣本的問題.然而在分類時使用的44個特征具有高度的相關性.在2017年,Naranjo團隊又給出了一種處理重復樣本的兩階段變量選擇貝葉斯方法[2].第1階段是基于過濾法的預選步驟,該方法選擇與組中其他變量具有最小累積差異的變量,將每個特征組的變量數(shù)量減少到一個.第2階段采用一種基于最小絕對收縮和選擇算子的正則化分類方法.該方法取得了77.9%的準確率并且易于計算.
根據(jù)以往研究[4],聲學特征中梅爾倒譜系數(shù)的一階導數(shù)可以有效檢測帕金森病.在2018年,Kebin團隊[5]利用這一發(fā)現(xiàn),對此特征進行基于球形K均值聚類的字典學習,將學習到的特征進一步使用隨機森林(random forest,RF)和支持向量機(support vector machine,SVM)進行分類.此后,越來越多的機器學習方法被應用于帕金森病的診斷[6-7].在2019年,Diogo團隊[8]使用3個語音數(shù)據(jù)庫對不同的機器學習方法進行評估,發(fā)現(xiàn)了使用RF和SVM技術對帕金森病進行分類的潛力.
在2020年,針對特征優(yōu)化,Yaman團隊將統(tǒng)計池技術應用于帕金森數(shù)據(jù)集的特征處理獲得了更好的診斷效果[9].首先,統(tǒng)計池技術[10]和ReliefF方法先后被用于對特征進行增強和提取.隨后,SVM和K最近鄰方法分別被用于對處理后的數(shù)據(jù)集進行分類.這兩種分類方法分別取得了91.25%和91.23%的最高準確率以及88.36%和88.84%的平均準確率.相比之前的研究,預測準確率得到了顯著的提升.但是相比于以往方法,輸入數(shù)據(jù)的維度更多,達到了66,這將需要更多的訓練時間.
為了進一步提高訓練效率及預測準確率,本文提出一種新型的動態(tài)收斂微分神經(jīng)網(wǎng)絡(dynamic convergent differential neural network,DCDNN).不同于大多數(shù)現(xiàn)存網(wǎng)絡使用梯度下降法對網(wǎng)絡參數(shù)進行調(diào)整,所提出的DCDNN網(wǎng)絡采用神經(jīng)動力學方法調(diào)整網(wǎng)絡的權值.由于具有并行計算和快速收斂的特點,神經(jīng)動力學方法已經(jīng)成功地應用于機器人領域[13-15].
基于神經(jīng)動力學方法,張等人提出變參數(shù)收斂微分神經(jīng)網(wǎng)絡來解決受線性等式約束的時變凸二次規(guī)劃問題[13]以及獲得時變Sylvester方程的在線解[14].這意味著神經(jīng)動力學方法在時變問題中具有很強的適用性,機器人跟蹤實例也證明了這一點[13].文獻[13]中的理論分析證明,基于神經(jīng)動力學方法的變參數(shù)收斂微分神經(jīng)網(wǎng)絡具有超指數(shù)收斂性,即使在擾動情況下,殘差也收斂為零,說明了變參數(shù)收斂微分神經(jīng)網(wǎng)絡的超指數(shù)收斂性能和很強的魯棒性.文獻[14]中通過使用不同種類激活函數(shù)進行仿真比較,進一步表明變參數(shù)收斂微分神經(jīng)網(wǎng)絡具有高收斂性和強魯棒性.文獻[15]中的計算機仿真實驗證明,與基于傳統(tǒng)的梯度下降法的神經(jīng)網(wǎng)絡相比,基于神經(jīng)動力學方法的神經(jīng)網(wǎng)絡具有更快的收斂速度和更高的預測精度.基于以上研究,本文將神經(jīng)動力學方法應用于提出的DCDNN模型,解決模式識別領域相關問題.
在提出的DCDNN模型中,神經(jīng)動力學方法利用誤差導數(shù)信息得到隱式動力學方程,采用分步迭代的方式將神經(jīng)網(wǎng)絡輸出的誤差逐層傳遞,更新網(wǎng)絡參數(shù)權值與偏置.此外,模型結合使用了統(tǒng)計池技術和主成分分析技術對數(shù)據(jù)集進行特征增強和特征提取.在進一步縮短模型訓練時間的情況下,提出的模型能達到最高97.22%和平均90.89%的準確率.
本文接下來的內(nèi)容將被分為以下幾個部分:第2節(jié)介紹帕金森病診斷系統(tǒng)總體框架;第3節(jié)給出對所用數(shù)據(jù)集以及預處理方法的詳細介紹;第4節(jié)對提出的分類模型進行分析和設計;第5節(jié)給出提出模型的仿真實驗結果,并與應用在此數(shù)據(jù)集上的其他方法進行比較;第6節(jié)對本文的研究進行結論分析.
本文的主要貢獻如下:
1) 本文提出了一種新型的基于神經(jīng)動力學方法的動態(tài)收斂微分神經(jīng)網(wǎng)絡,不同于傳統(tǒng)的基于梯度下降法的神經(jīng)網(wǎng)絡,提出的模型可以達到更快的誤差收斂速度;
2) 動態(tài)收斂微分神經(jīng)網(wǎng)絡利用誤差時間導數(shù)信息構建隱式動力學方程,通過逐層輸出向量的導數(shù)信息實現(xiàn)對權重及偏置的迭代更新;
3) 提出的模型成功應用于帕金森數(shù)據(jù)集,獲得最高97.22%和平均90.89%的診斷準確率.與現(xiàn)存其他方法相比,所提出模型具有最高分類準確率.
整個帕金森病診斷系統(tǒng)由標準化、特征增強、特征提取和識別分類4部分組成.具體流程框圖如圖1所示.在帕金森數(shù)據(jù)集上,首先運用Z-score標準化統(tǒng)一量綱,隨后采用統(tǒng)計池方法進行特征增強,增大個體差異.為了提取重要特征,本文采用主成分分析方法去除多余特征,最后運用本文提出的DCDNN 分類器,將經(jīng)過特征預處理后的樣本的一部分用于訓練,一部分用于測試,得到測試集每一個樣本預測所屬類別,對所提出方法進行性能評估.
本節(jié)首先簡單介紹了實驗所用的數(shù)據(jù)集,接著詳細介紹了數(shù)據(jù)的預處理方法,為動態(tài)收斂微分神經(jīng)網(wǎng)絡進行識別做好前期準備工作.
本文中使用的帕金森數(shù)據(jù)集已經(jīng)被公開在UCI數(shù)據(jù)庫中[2,4].該數(shù)據(jù)集共有80個人的聲音數(shù)據(jù),其中包括40個正常人,40個帕金森患者.它一共有240個樣本,由這80個人重復發(fā)三次a音得到.原數(shù)據(jù)集一共有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) 基于梅爾倒譜系數(shù)的0到12階譜測度(MFCC0,MFCC1,···,MFCC12)及其導數(shù)(Delta0,Delta1,···,Delta12);
5) 復發(fā)周期密度熵(recurrence period density entropy,RPDE);
6) 去趨勢波動分析(detrended fluctuation analysis,DFA);
7) 基頻周期熵(baseband peroid entropy,PPE);
8) 聲門噪聲激法比(glottal to noise excitation ratio,GNE).
在提出的模型中,預測用到的屬性只包含聲學信號,因此可以得到一個240×44的特征矩陣.
為了消除奇異樣本數(shù)據(jù)導致的不良影響,對輸入數(shù)據(jù)進行標準化.此外,數(shù)據(jù)標準化還可以進一步提高模型的收斂速度,獲得更好的性能.在提出的模型中,Z-score方法被用于對輸入數(shù)據(jù)進行標準化處理,使得每一維度的數(shù)據(jù)均值為0,標準差為1,使用MATLAB工具箱中的mapstd()函數(shù)實現(xiàn).
在本文中,統(tǒng)計池技術[9]用于對輸入數(shù)據(jù)的特征數(shù)進行擴充,以產(chǎn)生更獨特的特征,實現(xiàn)更高的分類精度.統(tǒng)計池的具體原理如圖2所示.
圖2 統(tǒng)計池Fig.2 Statistics pooling
具體擴充過程為:首先將44個特征分3次劃分,第1次有序平均劃分成4個特征塊,每塊含有11個特征;第2次有序平均劃分成2個特征塊,每塊含有22個特征;第3次劃分為包含所有44個特征的塊.接著對3次劃分得到的特征塊采用統(tǒng)計學方法,利用19個統(tǒng)計公式[9]得出每個塊的19個統(tǒng)計特征(平均值、標準差、能量、熵、自相關、絕對平均值、峰度、偏度、中值、最小值、最大值、變異系數(shù)、均方根、形狀因子、峰值因子、裕度因子、脈沖因子、最大值與最小值之差、最大值與平均值之差),再加上原始特征矩陣,形成一個240×177的特征矩陣.
相對于240個樣本的數(shù)據(jù)集,177個特征是比較多的,因此輸入數(shù)據(jù)需要進行降維處理以獲得更好的分類效果.在本文中,主成分分析被用于對數(shù)據(jù)集特征進行降維處理.下面給出其計算過程:
步驟1設樣本集N×d為特征集,輸入特征選擇模型,其中N為樣本個數(shù),d為特征維數(shù);
步驟2對特征空間進行中心化,生成散度矩陣.定義散度矩陣ST為
其中:αi是第i個數(shù)據(jù)樣本,μ是基于所有樣本的特征空間的均值特征;
步驟3計算ST的特征值和特征向量,按從小到大排序;
步驟4按照累積貢獻率選擇前m個特征值,即前m個主成分的方差,其具體表達式如下:
其中:λj表示排序后的第j個特征值,G(m)表示前m個特征值占總特征值的比例,即累積貢獻率.在此實驗中,G(m)設定為80%;
步驟5找到與前m個特征值對應的特征向量,將所有樣本投影到特征向量上,得到新的樣本集N ×m.
本節(jié)對提出的DCDNN分類模型的網(wǎng)絡拓撲結構進行展開描述,對相應的網(wǎng)絡參數(shù)求解器進行詳細分析與設計.
本文提出的DCDNN模型是一種前饋神經(jīng)網(wǎng)絡,包含輸入層、隱含層和輸出層,通過神經(jīng)動力學公式將輸出層誤差逐層反向傳播,其原理如圖3所示.
圖3 DCDNN原理圖Fig.3 DCDNN principle diagram
在圖3中,動態(tài)收斂微分神經(jīng)網(wǎng)絡的輸入為樣本向量x=[x1x2··· xm]T.對于輸入層和隱含層,在第k輪訓練中定義兩層之間的權重矩陣為v(k),偏置為a(k).此時隱含層輸出為
設輸入樣本向量的維數(shù)為m,隱含層節(jié)點數(shù)為n,則v(k)為一個n×m的矩陣,a(k)為一個n×1的向量.g(·)為softsign激活函數(shù),其具體表達式如下:
對于隱含層和輸出層,定義權重矩陣為w(k),偏置為b(k),此時輸出層輸出為
設輸出節(jié)點個數(shù)為p,則w(k)為一個p×n的矩陣,b(k)為一個p×1的向量,f(·)為激活函數(shù),此處依然選用softsign函數(shù).
上述網(wǎng)絡參數(shù)在訓練前需要進行初始化,其中權重v(k)和w(k)采用正態(tài)分布初始化,偏置a(k)和b(k)采用零初始化.
這一節(jié)對網(wǎng)絡訓練權值參數(shù)的更新方式進行詳細分析和設計.具體而言,這一過程分3個步驟進行.
第1步定義損失函數(shù)
其中:k代表迭代更新權重的次數(shù),y代表輸入數(shù)據(jù)的類別標簽.
在傳統(tǒng)梯度下降法中,誤差以權重導數(shù)的方式進行傳遞,而本網(wǎng)絡模型通過神經(jīng)動力學公式將誤差以時間(此處表示迭代輪次)導數(shù)的方式進行迭代,優(yōu)勢在于可以根據(jù)迭代輪次預測模型誤差,進而達到更快誤差收斂的效果[13-15],其具體表達式如下:
其中:λ >0為學習率,網(wǎng)絡訓練時通過實驗調(diào)節(jié)λ以使收斂更平穩(wěn).?(·)是一個單調(diào)遞增的奇函數(shù)[13].本文使用power-sigmoid函數(shù)作為激活函數(shù)?(·),其具體表達式如下:
這里需要滿足n≥2和r≥2且均為整數(shù)[13].
第2步將損失函數(shù)公式(3)代入神經(jīng)動力學公式(4),得到隱式動力學方程如下:
其中:f′為輸出層激活函數(shù)f(·)的導數(shù),(k)和(k)分別為隱含層與輸出層權重w(k)和偏置b(k)關于k的導數(shù),(k)為隱含層輸出關于k的導數(shù).
第3步采取分步迭代的方式更新權重v(k),w(k)和偏置a(k),b(k),為了方便公式推導,定義如下4個矩陣:
式(5)更新為
下面將給出具體的權值修正過程.
首先,固定H(k),此時(k)=0,隨后由式(6)可以得到
不斷重復上述操作進行迭代,直到誤差穩(wěn)定收斂即達到最小值后繼續(xù)迭代不再減小,可以得到最優(yōu)的權值矩陣W1和W2,完成訓練過程.
本算法程序采用MATLAB語言編寫,在MATLAB R2016b軟件平臺上運行.計算機硬件配置如下:英特爾i5-9600KF處理器,24 G運行內(nèi)存,64位操作系統(tǒng).
由第3.1節(jié)可知,輸入數(shù)據(jù)共有240個樣本,其中包含120個正類樣本(即患者的聲音樣本),120個負類樣本(即正常人的聲音樣本).由此看來,數(shù)據(jù)集是絕對平衡的.隨后對數(shù)據(jù)集進行Z-score標準化、統(tǒng)計池特征增強以及主成分分析特征提取,可以得到一個240×9的特征矩陣,即輸入特征有9個.最后對樣本數(shù)據(jù)進行劃分,分別在正負樣本中取70%作為訓練集,剩下的30%作為測試集.
數(shù)據(jù)集劃分完成后,需要對模型進行訓練來得到最佳參數(shù).經(jīng)過多次仿真實驗后,設定學習率λ=0.17,隱含層節(jié)點個數(shù)為4.網(wǎng)絡訓練過程如圖4所示,其中橫軸表示訓練輪數(shù),縱軸表示診斷準確率.從圖4可以看出,最高測試準確率97.22%在第49輪訓練時已經(jīng)出現(xiàn),之后一直保持在最高水平,這說明提出的DCDNN模型在帕金森病診斷方面具有高準確率和強穩(wěn)定性.
圖4 網(wǎng)絡訓練過程Fig.4 Network training process
另一方面,本文選擇幾個不同的評價指標來對提出的模型進行綜合性能的評估,這些評價指標包括準確率(Accuracy)、精確度(Precision)、召回率(Recall)、F1-score.下面分別給出這4個值的計算公式:
式中:TP,TN,FP,FN分別為正樣本正確分類個數(shù)、負樣本正確分類個數(shù)、正樣本錯誤分類個數(shù)、負樣本錯誤分類個數(shù).
提出模型與其他現(xiàn)有方法的對比結果如表1所示,其中平均值取的是運行100次之后的平均結果.此外,通過仿真實驗驗證,在模型總體框架不變的情況下,所提出的DCDNN分類器百次平均訓練時間在3 s左右.與現(xiàn)存最高準確率SVM分類器比較,SVM百次平均訓練時間在4 s左右,驗證了DCDNN分類器在訓練速度上具有快的誤差收斂速度.從表1中可以看出,提出的模型無論是最高準確率(97.22%)還是平均準確率(90.89%)均高于其它方法.此外,對于疾病診斷來說,一般既要求真實患者能被檢測出來,又要求檢測出來的患者中盡可能不出現(xiàn)誤診.提出的模型無論是精確率(查準率)還是召回率(查全率)在最高值上均高于其他方法.因此,在帕金森病診斷查準和查全方面,提出的模型具有較大優(yōu)勢.
表1 提出方法與現(xiàn)有方法各項性能指標比較Table 1 Comparison of performance indexes of the proposed method and the existing methods
在最高準確率下的分類混淆矩陣如表2所示.從表2中可以看出,絕大多數(shù)樣本均識別正確,正常人診斷為患者的概率與患者診斷為正常的概率呈現(xiàn)平衡狀態(tài).
表2 分類混淆矩陣Table 2 Classification confusion matrix
在本文中,一種新型的基于神經(jīng)動力學的動態(tài)收斂微分神經(jīng)網(wǎng)絡(DCDNN)被提出并應用于聲學特征的帕金森數(shù)據(jù)集.不同于傳統(tǒng)的梯度下降法,提出的網(wǎng)絡模型擁有更快的誤差收斂速度以及更好的分類結果.同時,在將其應用于基于聲學特征的帕金森數(shù)據(jù)集時,結合了一些其他的數(shù)據(jù)預處理方法進行優(yōu)化,包括數(shù)據(jù)標準化、統(tǒng)計池技術、主成分分析.計算機數(shù)值仿真結果顯示所提出的模型達到了百次平均準確率90.89%以及最高97.22%的準確率,該結果高于以往研究提出的方法,進一步驗證了本文所提出模型的優(yōu)越性.