譚言丹,趙陽洋,趙光財
(1.中國科學院海西研究院 泉州裝備制造研究所,福建 泉州 362200; 2.中北大學 電氣與控制工程學院,山西 太原 038507;3.廈門理工學院 光電與 通信工程學院,福建 廈門 361024;4.中國科學院大學 計算機與控制學院,北京 100049)
研究表明,帕金森病(Parkinson’s disease,PD)患者會在早期呈現一定程度的書寫障礙[1]。Pereira等提供了包含74例PD患者以及18例健康對照組的Spiral和Meander兩種手繪數據集[2],且該研究僅呈現了約67%的精度。然而,由于涉及豐富的樣本類別,因此該數據集是目前最流行的基于手繪圖診斷PD的數據集。Senatore等基于該數據集提出利用笛卡爾遺傳規劃來診斷PD,精度提升到76%[3]。Ali等報道由于該數據集不平衡,因此之前的研究無法獲得優越的性能[4]。因而,Ali等基于該數據集開發了隨機欠采樣的方案來平衡AdaBoost訓練過程,然而精度并未得到明顯改善(Acc=76.44%)。總得來說,這些機器學習算法未能實現良好的分類性能。劉峰等采用卷積神經網絡(convolutional neural network,CNN)來實現基于手繪圖的自動PD診斷[5],精度提升到82.68%。可以發現,深度學習在手繪圖診斷PD的研究中取得了突破性的精度。然而遺憾的是,該研究[5]對圖像進行了二值化處理,以至于圖像的顏色深淺信息被丟失,這會導致模型無法學習手繪圖的筆觸壓力和筆劃時間等信息。因此為了應對挑戰,本研究采用基于色彩信息保留的圖像預處理和深度學習的方式來實現基于手繪圖的PD診斷。
在本研究中,我們采用博圖卡圖醫學院采集的手繪圖數據集[2],每個患者或健康人提供4張手繪Spiral和4張手繪Meander。該數據集總共包含74例PD患者(59名男性,15名女性)的手繪圖樣本和18例健康對照組(12名女性,6名男性)的樣本。其中,患者組包含69例右撇子和5例左撇子,平均年齡(58.75±7.51),健康組包括16例右撇子和2例左撇子,平均年齡(44.22±16.53)歲。因此可以發現所獲得的數據集是具有足夠豐富的樣本且沒有年齡偏差。
為了盡可能保留圖像的手繪特征信息,我們基于僅去除背景的方式以保留色彩信息用于后續的模型診斷。首先采用閾值分割的方法去除背景噪聲和模板線條,方法如下
(1)


圖1 圖像預處理過程
然后,可以發現剩余較多白色雜邊以及部分白點背景,這類似于椒鹽噪聲。中值濾波是一種非線性平滑技術,對和圖像具有較大閾值差異的椒鹽噪聲具有較好的處理效果。考慮到噪聲所占圖片比例的變化,我們對圖像進行兩次中值濾波。第一、第二次分別設置3*3和7*7的濾波器。
相比于傳統的神經網絡,CNN能實現以局部感受視野的方式對圖像自動卷積感興趣特征域。然后,該模型可基于權值共享實現快速對相似特征的學習,最后CNN對圖像進行池化操作以保留輪廓或者背景信息。在基于Meander和Spiral圖的PD診斷研究中,我們為CNN設置了7層網絡,如圖2所示。

圖2 基于PD手繪圖的CNN模型結構
首先,我們設計一層具有80個10*10的二維卷積核的卷積層Conv1來初步學習手繪圖的局部特征。由于所采用的手繪圖是彩色圖,因此所設置的通道為3。值得注意的是,進行分類的圖片包含大量的背景,因此我們將圖像傳遞到至下采樣層Maxpooling1進行最大池化操作以保留圖像的輪廓特征。在該模型中,我們為卷積和池化的步長分別設置為1和3。考慮到圖像經過第一層的卷積和池化操作后圖像變小,因此我們設置了具有40個5*5的卷積層Conv2來進一步進行特征抽象。同樣地,最大池化MaxPooling2被采用來保留圖像的輪廓信息。
進一步地,為了習得圖像和標簽之間的更多非線性關系,我們設置了兩層全連接層F1和F2來捕捉這種關系。其間,Flatten層被設置來銜接卷積操作和全連接操作。值得注意的,tanh激活函數被報道有利于CNN收斂和實現更高精度[5],因此tanh被用于每層CNN網絡的激活。
事實上,盡管具有快速感知興趣特征域的能力,然而CNN的池化操作容易導致大量的信息丟失[7],且由于標量化的特征學習方式以至于CNN無法對圖像的方位整體結構特征進行學習。因此為了解決該問題,Sabour等提出具有矢量特征處理能力的CapsNet來動態路由特征與標簽之間的關系[7],在他們的研究中,CapsNet被報道具有優越的性能來識別Mnist手寫數據。因此,為了捕捉本研究中Spiral和Meander圖涵蓋區分PD和健康人的結構差異特征,我們設計了基于兩種手繪圖的CapsNet診斷方案。
在我們的研究中,我們為CapsNet設置了4層網絡。首先,我們設置了一層具有30個10*10的傳統卷積層L1實現對圖像特征的初步提取,tanh依舊作為激活函數。然后,我們設計了一層初級膠囊層L2實現對特征的進一步提取,該層分為兩部分。第一部分為傳統的二維卷積層,我們使用具有24*5的卷積核對圖像的特征進行進一步抽象。然而這樣獲得的特征依舊為標量特征,為了保留圖像的矢量信息,我們設置了第二個膠囊模塊,其目標是將二維卷積層的輸出轉化為一個作為后續膠囊層的輸入序列,具體而言是將卷積操作的輸出轉化為二維特征。然后,對于第i個膠囊,squashing函數被用來激活矢量輸出
(2)
其中,φi表示第i個膠囊的輸出,且公式的前一部分表示向量ψi的縮放比例。值得注意的是,該激活函數使用向量的方式對特征進行存儲,這樣即保留了矢量特征也將模長縮為[0,1)。模長表示膠囊表示的實體存在于當前輸入的概率,0表示不會出來該類,1則反之。與傳統神經網絡網相比,初級膠囊層以矢量的方式標記了特征興趣域,執行過程過圖3所示。

圖3 初級膠囊網絡層執行的特征轉化過程
如CNN一樣,為了捕獲特征與標簽之間更多的非線性關系,我們設置了全連接膠囊層L3來銜接初級膠囊層和最后的分類層。不同于普通的全連接網絡,我們使用squashing激活函數對學習后的信息進行矢量激活以進一步保留特征的矢量信息。最后,為了實現最終的PD診斷,我們設計了具有2個膠囊的數字膠囊層。在該層中,屬于不同類別的概率將由不同膠囊進行編碼,且其連接方式如圖傳統全連接層。不同的是一種動態路由協議被實施以路由L3與L4之間的信息,該路由過程將增強高度一致或者刪除最弱的連接來捕獲膠囊元之間的關系,圖4展示了L3和L4之間的路由過程,其中i,j分別表示L3和L4的下標。

圖4 CapsNet的動態路由過程
由圖4可發現,一個耦合系數c被添加來實現增強或者刪除層與層之間的連接。基于耦合系數,對于L4中第j個膠囊元的第k個輸入獲得方式如下
(3)

(4)

(5)

(6)
當s類的樣本不存在時,Ts=0,否則Ts=1。此外,設置邊界β+= 0.9和β-= 0.1來確保φj∈[0,>1]。α= 0.5被設置為正則化參數,以減少不存在對應類別的活動向量的影響。
傳統的梯度下降優化方法容易局限于鞍點使得模型無法實現最優性能。為了應對該問題,Adam優化器結合一階、二階動量加速梯度下降以進行值校正[8],并結合RMSprop來自適應調整學習率使得模型獲得魯棒的分類性能,更新方式如下
(7)

在本章節中,我們展示和分析了研究結果以及評估模型性能的指標。為了呈現更加客觀公正的結果,我們使用10次5折交叉驗證[9]的平均結果來呈現最終結果。
在本研究中,所設計的問題是二分類問題,即診斷是否患有PD。基于該問題,首先精度(Acc)是一個重要的衡量指標,它通常由正確分類的樣本數量與進行診斷的所有樣本數量的百分比表示。此外,對于疾病的診斷而言,漏檢往往比誤判導致更大的代價,因而查全率(recall score,RS)也是該類分類模型的性能重要評估指標,它被定義為患有PD的樣本被預測成PD的概率。此外,AUC(area under curve)作為一項模型性能評估指標通常用來衡量模型的泛化能力,它由ROC曲線下的面積計算獲得[10],其含義見表1。

表1 基于AUC的分類器性能評估[10]
事實上,深度學習的穩定性一直是值得擔憂的問題,因為不同的初始化或者梯度下降的方向都會導致不一樣的評估結果。因此我們引入標準差(STD)來呈現所開發的深度學習方案的Acc穩定性性能,計算如下
(8)
其中,m、k分別代表進行的實驗次數和交叉驗證實驗的折數。此外,較低計算復雜度也是研究學者追求的性能之一,本文使用Time指標來表示獲得最優模型的程序處理時間。
基于Spiral數據集,我們提供CNN和CapsNet的診斷方案,圖5顯示了兩者模型訓練過程的Acc和Loss變化情況。首先就整體來看,CapsNet的Acc和Loss都分別呈現了平穩上升和平穩下降的趨勢。就收斂快慢來看,CNN優于CapsNet,然而CNN在迭代5-15次之間Acc和Loss和都存在震蕩,這表明該網絡具備一定的不穩定性以至于模型存在過擬合風險。

圖5 基于Spiral手繪圖的訓練Acc和Loss變化
進一步地,我們對模型的Acc、AUC、RS以及STD進行了對比,如圖6所示。由圖可知CapsNet就Acc、AUC和RS的性能而言均優于CNN,而STD未呈現明顯的優勢。表2呈現了進一步的數值化結果對比,可以發現除Time之外的指標,CapsNet都實現了更加優越的性能。值得注意的是相比CNN,CapsNet的AUC明顯優于CNN,這體現了CapsNet能實現更加魯棒的診斷性能。然而由于CapsNet相比CNN涉及到動態路由和矢量的特征處理方式,因此CapsNet需要花費更多的Time來獲得最優模型。但總的來說,CapsNet實現了基于Spiral手繪圖診斷PD的綜合最優性能。

圖6 基于Spiral的訓練和測試的交叉驗證性能對比

表2 基于Spiral的CNN和CapsNet數值結果對比
基于Meander圖,我們依舊提供了兩種模型的性能對比。圖7展示了CNN和CapsNet的訓練測試結果對比,可以發現CapsNet的Acc和Loss依舊呈現穩定的上升或者下降趨勢,且訓練過程的曲線幾乎靠近測試曲線。而對于CNN而言,測試的Acc明顯低于其訓練的結果,且測試的Loss卻呈現上升的趨勢,這驗證了CNN的訓練階段具有一定的過擬合風險。

圖7 基于Meander手繪圖的訓練Acc和Loss變化
圖8進一步展示了10次5折交叉驗證的結果,可以發現就所有性能指標而言,CNN和CapsNet并未呈現明顯的差異。進一步地,表3展示了兩者模型的數值結果對比,可以發現,CNN就Acc、AUC、RS均只呈現了微弱的優勢,且STD指標無差異。然而Time指標如同Spiral的實驗結果一樣,CapsNet花費了多于CNN約5倍的時間獲得最優模型。因此,綜合實驗結果來看,CNN在基于Meander手繪圖中實現了相對優越且花費更少時間代價的性能。

圖8 基于Meander的交叉驗證性能對比

表3 基于Meander的CNN和CapsNet數值結果對比
基于2.2和2.3所呈現的實驗結果來看,CapsNet實現了在耗費更多時間代價的情況下基于Spiral手繪圖的最優整體分類性能,且這種性能優越性明顯高于CNN,因此所犧牲的時間代價是值得的。而CNN僅呈現了相比CapsNet微弱的優勢來基于Meander手繪圖診斷PD,且時間代價低于CapsNet。此外值得注意的是,基于Meander實現的模型性能均低于基于Spiral對應的結果,且基于Spiral的CapsNet實現了基于手繪圖的最優性能(Acc=95.7%),這明顯優于其它診斷方案。因此研究呈現兩個結論:①相比Meander,Spiral手繪圖能呈現更多差異來區分PD患者與健康對照組;②相比Meander,Spiral手繪圖能具備更多的相對位置差異。在Spiral手繪圖中,不同位置出錯的情況具有更多差異性,而在Meander中,出錯情況因位置的改變而呈現明顯差異的概率相對較小。如圖1所示,患者繪制的Spiral手繪圖在不同位置呈現更多差異,比如隨著曲線的移動逐漸大于或者小于弧形軌跡,而在Meander中不同位置的手繪錯誤呈現類似差異,大部分為溢出鋸齒偏差。
總的來說,CapsNet和CNN分別是基于Spiral和Meander圖診斷PD的推薦方案。然而綜合而言,基于CapsNet的Spiral是基于手繪圖診斷PD的最優方案。
PD的準確便捷診斷一直是關注的難題。在本研究中,我們提出了基于手繪圖早期診斷PD的方案,其中患者只需提供自己手繪Spiral或者Meander的圖既可以診斷是否患有PD,這對于遠程、長期、便捷且低代價監測PD具有重大意義。本研究的主要貢獻如下:
(1)研究表明Spiral具備相比Meander更多的差異來區分PD患者和健康人,且CapsNet是基于Spiral的最佳診斷方案。
(2)研究表明保留色彩信息的圖像能實現基于手繪圖診斷PD的更優性能,這能使得模型能學習筆劃壓力、空間、速度等特征,所實現的結果(Acc=95.7%)優于先前最優報道(Acc=82.7%)[5]。
總的來說,本研究實現了基于深度學習的PD診斷方案,并取得了一定的研究成果。為了輔助醫生診斷PD,可進一步將所提出的方案開發成實時在線學習系統以學習最新采集的數據從而提升模型對新數據的泛化能力。此外,除書寫障礙以外,PD患者還會在早期呈現一定的語音障礙,因此我們可以進一步結合多種信號提升PD診斷的精度。