柯博文,楊 湘,陳艷紅
(1.武漢科技大學 計算機科學與技術(shù)學院,武漢 430065;2.國家新聞出版署富媒體數(shù)字出版內(nèi)容組織與知識服務(wù)重點實驗室,北京 100038;3.武漢亞洲心臟病醫(yī)院 心血管內(nèi)科,武漢 430022)
心房顫動是心血管疾病中常見的慢性心律失常[1],隨著年齡增長,患病率逐漸上升。房顫具有隱秘性,患者在病發(fā)前不會出現(xiàn)任何明顯的身體異常,但病發(fā)時容易致命[2]。因此,針對心房顫動的早期篩查和風險預(yù)測工作是非常有必要的。
心電圖(Electrocardiogram,ECG)是一種常用的心房顫動診斷手段,但具有普適性的電子健康病歷(Electronic Health Records,EHR)更適合用于心房顫動的早期篩查工作[3]。EHR 直接反應(yīng)了患者一段時間內(nèi)的身體健康狀況,其中涵蓋了患者一段時間內(nèi)做過的診斷、檢查檢驗、用藥等信息。不同于心電圖,EHR 來源于患者的日常治療過程,是一種較易獲取的數(shù)據(jù)。
受益于近些年來深度學習的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)[4-5]和循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)[6-7]被廣泛應(yīng)用于疾病風險預(yù)測任務(wù)。CNN 是一個能夠提取數(shù)據(jù)中的局部特征,并不斷匯聚以反映數(shù)據(jù)整體特征的深度神經(jīng)網(wǎng)絡(luò),在圖像處理[8]、語音識別[9]等領(lǐng)域表現(xiàn)理想。EHR 涵蓋了非常多的醫(yī)療事件,醫(yī)療事件之間的多依賴關(guān)系使得數(shù)據(jù)的全局特征更為重要,而CNN 無法完全提取到數(shù)據(jù)的全局特征。
除了EHR 的數(shù)據(jù)特性以外,在實際臨床診斷過程中,房顫的發(fā)生也受到其他醫(yī)學指標的影響。臨床醫(yī)學[10]與早期的分析方法[11]已經(jīng)證實,高血壓、甲狀腺功能異常等指標會直接導致房顫發(fā)生,因此重點關(guān)注這些特定指標是非常有必要的。
為了克服上述挑戰(zhàn),本文提出因素風險-注意神經(jīng)網(wǎng)絡(luò)(Factor Risk-Attention Neural Network,F(xiàn)RANN),F(xiàn)R-ANN 的一個通道通過引入注意力機制來提取數(shù)據(jù)的全局特征,另一個通道對一些重要的醫(yī)療事件獨立進行特征提取,解決CNN 無法有效提取到數(shù)據(jù)全局特征的問題。根據(jù)患者近幾次就診記錄,預(yù)測患者半年內(nèi)是否有患病風險,并采用專用通道提取單個醫(yī)療事件的變化特征,捕捉醫(yī)療事件對結(jié)果的直接影響。在MIT 的公共數(shù)據(jù)集MIMIC-Ⅲ[12]和武漢亞洲心臟病醫(yī)院提供的私有數(shù)據(jù)集上驗證FR-ANN 在房顫風險預(yù)測工作中的有效性。
在現(xiàn)代醫(yī)學領(lǐng)域,基于EHR 的房顫早期篩查技術(shù)對于降低疾病致死率具有重要意義,它能夠幫助醫(yī)生預(yù)防疾病的發(fā)生。EHR 數(shù)據(jù)包含大量的醫(yī)療事件,主要由醫(yī)療診斷和檢查檢驗構(gòu)成。特征提取是疾病預(yù)測工作中最重要的一步,它將經(jīng)過特征工程的數(shù)據(jù)輸入到模型中,模型通過手動或自動的方式提取特征,最后預(yù)測結(jié)果。
在早期的疾病預(yù)測任務(wù)研究中,許多研究人員通過邏輯回歸、決策樹、隨機森林、貝葉斯網(wǎng)絡(luò)等機器學習算法從EHR 中提取與患者相關(guān)的特征[13]。機器學習算法能夠結(jié)合臨床醫(yī)學知識,幫助研究人員重建疾病的潛在機制,構(gòu)建符合任務(wù)特點的框架。但這些方法建立在手動特征提取的模式之上,需要加入大量的醫(yī)學專業(yè)知識以及專家輔助完成特征提取工作,這將會限制實際應(yīng)用的適用性。
隨著計算機性能逐漸提升,更多的研究偏向于使用深度學習方法對EHR 數(shù)據(jù)進行建模。在醫(yī)學領(lǐng)域,深度學習的自動特征提取模式使其使用范圍非常廣泛,它不需要手動加入醫(yī)學專業(yè)知識。CNN是疾病風險預(yù)測任務(wù)中最常用的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)之一[14],能夠提取到EHR 中的局部特征,通過增加模型深度的方式建立醫(yī)療事件之間的聯(lián)系,其池化層能夠?qū)μ卣鬟M行壓縮與下采樣,以擴大感知視野。LANDI 等[15]使用CNN 提取醫(yī)療事件的時間特征,并預(yù)測最終結(jié)果。文獻[16]使用基于CNN 的方法預(yù)測心力衰竭的患病風險。CNN 擅于捕獲數(shù)據(jù)的局部特征,然而EHR 的全局特征使CNN 方法的分類效果與醫(yī)療事件序列的排列規(guī)則具有緊密聯(lián)系。值得注意的是,F(xiàn)RDLS 通過多種分析方法計算每個醫(yī)療事件的得分,根據(jù)得分從高到低重新排列醫(yī)療事件序列。通過不同的分析方法得到多種排列規(guī)則,并對多種排列規(guī)則的數(shù)據(jù)同時進行建模,分析排列規(guī)則對結(jié)果的影響,提供幾種性能較優(yōu)的排列方式。
RNN[17-19]同樣適用于疾病風險預(yù)測任務(wù)。RNN善于通過鏈式的方式將多個醫(yī)療事件聯(lián)系起來,使前后醫(yī)療事件之間的時間關(guān)系顯而易見。文獻[20]將時間1 到t的醫(yī)療代碼序列輸入Bi-LSTM 模型中,從而預(yù)測第t+1 次的醫(yī)療代碼。雙向LSTM 很好地保留了前t次醫(yī)療代碼之間的時序關(guān)系,以此推斷出第t+1 次的結(jié)果。XU 等[21]將醫(yī)療 事件按 時間排 序輸入到LSTM 中,提取醫(yī)療事件之間的時間特征。RNN 對于數(shù)據(jù)的時序關(guān)系是非常敏感的,但是將EHR 數(shù)據(jù)鏈式排列時,并不能直接斷定前后兩個醫(yī)療事件存在潛在多依賴關(guān)系。雖然LSTM 加入了“門”機制,但是每個單元的計算過程依然依賴于上一個單元,這可能會加入原本不存在的潛在關(guān)系。
近年來,隨著自然語言處理的發(fā)展,注意力(Attention)機制[22]開始被普及。注意力機制并行計算的特點降低了其性能消耗。在注意力機制的特征提取過程中,每個醫(yī)療事件的特征提取過程相對獨立,但在提取過程中醫(yī)療事件之間又相互依賴,清晰的界限能夠很好地解決數(shù)據(jù)存在多依賴關(guān)系帶來的全局特征問題。文獻[23]引入Attention 機制提取每個醫(yī)療事件對結(jié)果的貢獻,然后通過一個3 層的多層感知機(Multilayer Perceptron,MLP)得到預(yù)測結(jié)果。在MLP 之前加入注意力機制,相當于先進行一次特征提取,能夠降低模型的資源消耗,提高計算效率。文獻[24]基于LSTM 結(jié)構(gòu)在醫(yī)療事件和就診記錄兩個級別分別加入注意力機制預(yù)測哮喘疾病的風險。TSANN 加入的兩層注意力機制能夠分析單次就診與單個事件在各自維度內(nèi)的權(quán)重,并提供就診和醫(yī)療事件兩個維度的事后可解釋性。文獻[25]通過構(gòu)造多尺度的注意力機制的方式對單次就診進行建模,然后將多尺度信息匯集,減少序列長度。多尺度注意力機制可以理解為多個局部注意力機制,這種方式可以定制化地獲取數(shù)據(jù)不同尺度的特征,貼合任務(wù)特性。
目前絕大多數(shù)的研究都是基于深度學習進行的,這得益于自動特征提取模式。對于疾病風險預(yù)測任務(wù)來說,深度學習有很多方法可以使用,但選擇符合數(shù)據(jù)與疾病特性的方法才是解決問題的關(guān)鍵。總的來說,CNN 適用于提取數(shù)據(jù)的局部關(guān)系,以局部特征反映全局特征;RNN 的結(jié)構(gòu)優(yōu)勢使得它善于提取數(shù)據(jù)的時序性特征;注意力機制使用較少的參數(shù)提取數(shù)據(jù)的全局特征,并挖掘數(shù)據(jù)之間的潛在依賴關(guān)系。
以上方法均在考慮如何解決數(shù)據(jù)特性,除此之外,疾病帶來的特性同樣重要。年齡較大是最有可能直接導致房顫發(fā)生的因素之一,但更深層次的原因是患有多種其他疾病導致心房顫動發(fā)生的概率上升,心房顫動的并發(fā)性需要引起重視。現(xiàn)有的臨床醫(yī)學知識已經(jīng)可以篩選出一部分與心房顫動相關(guān)性較高的醫(yī)療事件,例如高血壓、甲狀腺功能等,獨立捕獲這些醫(yī)療事件對心房顫動的預(yù)測非常必要。
心房顫動的疾病風險預(yù)測工作可以看作是一個二分類任務(wù),即是否患有心房顫動。本文將患有房顫的樣本分為陽性樣本(正樣本),未患有房顫的樣本分為陰性樣本(負樣本)。本節(jié)將描述FR-ANN 的模型結(jié)構(gòu),并介紹FR-ANN 中的每個模塊。
本文數(shù)據(jù)集以病人為單位,用X代表每個病人。每個病人的EHR 數(shù)據(jù)可構(gòu)成一個二維矩陣,如式(1)所示:
其中:ci表示病人的第i次就診記錄,每次就診記錄中包含多個醫(yī)療事件,即ci=[si,1,si,2,…,si,m],si,m表示病人的第i次就診記錄中的第m個醫(yī)療事件。
本文模型將從時間序列特征分析通道和單指標特征分析通道兩個不同的通道進行分析,它們的輸入由原始EHR 矩陣切割得到。圖1 所示為數(shù)據(jù)切割的過程。EHR 矩陣縱向切割得到多個醫(yī)療事件向量,即Sj代表由第j個醫(yī)療事件在多次就診記錄中的表現(xiàn)構(gòu)成的向量,本文根據(jù)醫(yī)學專業(yè)知識從m個醫(yī)療事件中篩選出100 多個對房顫影響較大的醫(yī)療事件(表1 給出了部分篩選出的醫(yī)療事件),將這些篩選后的醫(yī)療事件作為最終得到的Sj=[s1,j,s2,j,…,sn,j],j?[1,m]醫(yī)療事 件向量序列MR=[S1,S2,…,Sm]。由EHR 矩陣橫向切割將得到多個就診記錄向量,即ci=[si,1,si,2,…,si,m],i?[1,n],ci代表第i次就診記錄,多個就診記錄向量構(gòu)成最終的就診記錄向量序列VR=[c1,c2,…,cn]。數(shù)據(jù)切割過程只是把病人的EHR 矩陣轉(zhuǎn)換成了兩種形式,它們依然是同源的數(shù)據(jù)。

表1 部分篩選出的醫(yī)療事件(用于單指標特征分析通道)Table 1 Selected medical events(for single indicator characteristic analysis channel)

圖1 數(shù)據(jù)切割過程Fig.1 Process of data cutting
圖2 所示為FR-ANN 的模型結(jié)構(gòu)。

圖2 FR-ANN 模型結(jié)構(gòu)Fig.2 Structure of FR-ANN model
由圖2 可知,F(xiàn)R-ANN 模型將就診記錄向量序列VR輸入到時間序列特征分析通道,將醫(yī)療事件向量序列MR輸入到單指標特征分析通道。
單指標特征分析通道會對醫(yī)療事件向量序列MR中的每個醫(yī)療事件向量獨立分析,以提取每個醫(yī)療事件在多次就診中不同表現(xiàn)的綜合特征,并匯總得到所有醫(yī)療事件的綜合變化特征coutput;時間序列特征分析通道會先對VR中的每條就診記錄向量單獨進行特征提取與注意力分析,并將多條就診記錄向量的特征匯總輸入到一個LSTM 中,根據(jù)前幾次的就診記錄得到下一次的預(yù)測狀態(tài)信息hn。分類器模塊把2 個通道的輸出拼接,通過多個全連接層與一個Sigmoid 分類器得到最終預(yù)測結(jié)果。具體的計算過程如下:
其中:W1?Rr×(4+4m)、W2?Rs×r、b1?Rr×1、b2?Rs×1是全連接層的參數(shù)矩陣;yD是全連接層的計算結(jié)果;y是yD通過Sigmoid 函數(shù)得到的最終預(yù)測結(jié)果。
數(shù)據(jù)樣本比例不平衡是醫(yī)療數(shù)據(jù)的通病,本文使用的數(shù)據(jù)同樣存在此類問題。為了與醫(yī)學臨床過程保持一致,本文在模型方法上做出一些優(yōu)化,而不是直接增加正樣本的占比。在損失函數(shù)的選擇上,本文使用了Focal Loss[26]代替常用的二值交叉熵損失函數(shù)作為FR-ANN 的損失函數(shù)。這是因為Focal Loss 的出現(xiàn)就是為了解決訓練集正負樣本極度不平衡的問題。損失函數(shù)的計算過程如下:
其中:y為標簽值為模型預(yù)測值;α和γ是超參數(shù),α用于調(diào)和正負樣本比例,γ負責緩解易分類樣本(負樣本)的影響。實驗過程中使用的超參數(shù)均設(shè)置為Focal Loss 推薦的值,即α=0.25、γ=2。
EHR 數(shù)據(jù)中的潛在關(guān)系可分為兩種形式:單個就診記錄形成的時間片內(nèi)和多個就診記錄之間。在單個時間片內(nèi),各個醫(yī)療事件的指標綜合反映了患者一段時間內(nèi)的身體狀況;在多個就診記錄之間,每個就診記錄根據(jù)時間順序排列。分級提取兩種潛在特征是有必要的。首先,本文基于注意力機制提取每個時間片內(nèi)醫(yī)療事件之間的多依賴潛在特征,然后再使用LSTM 提取多個就診記錄之間的時序特征,最后將提取到的特征輸入到分類器中。
2.3.1 基于注意力機制的片內(nèi)特征提取
在時間序列特征分析通道中,本文拿到患者單次就診 記錄向 量ci=[si,1,si,2,…,si,m],i?[1,n]。CNN在特征提取工作中,由于卷積核大小的限制,一般通過增加模型深度的方法達到提取與距離較遠的單元之間的潛在關(guān)系的目的。而注意力機制由于并行計算的優(yōu)勢,可以獨立考慮醫(yī)療事件與其他事件之間的潛在關(guān)系,不會受到距離與其他因素的影響。并且注意力機制計算得到的注意力分布體現(xiàn)了單個醫(yī)療事件在整體上的權(quán)重,增強了模型的可解釋性。所以本文在FR-ANN 中引入注意力機制,代替時間序列特征分析通道中的常規(guī)卷積方法。
對于每一個就診記錄ci,本文都將接入一個獨立的注意力層。注意力機制的計算過程可以簡寫為:
其中:ci表示病人第i次就診記錄;ai表示ci計算得到的注意力權(quán)重是可訓練參數(shù)矩陣;Dk表示ci的維度m,即醫(yī)療事件的個數(shù)。
2.3.2 基于LSTM 的時序特征提取
AATTs=[a1,a2,…,an]是多個自注意力層的輸出構(gòu)成的注意力權(quán)重序列,at對應(yīng)患者的第t次就診記錄。多次就診記錄之間存在的時序關(guān)系反映了患者在一段時間內(nèi)的身體變化趨勢。LSTM 既能夠捕捉多次就診記錄之間的時序關(guān)系,又可以保留每個就診記錄內(nèi)的潛在關(guān)系。所以本文把LSTM 放在自注意力層之后,用于提取多個就診之間的時序特征。
整個LSTM 模塊由一層LSTM 構(gòu)成,具有n個隱藏層單元。LSTM 模塊的結(jié)構(gòu)圖如圖3 所示。對于LSTM 的每個單元而言,它的輸入由一個自注意力層的輸出at得到,AATTs通過LSTM 層得到多個隱藏層狀態(tài)h1,h2,…,hn,本文取最后一個狀態(tài)hn作為LSTM 層的輸出。LSTM 每個單元中的計算過程如下:

圖3 LSTM 模塊的結(jié)構(gòu)Fig.3 Structure of LSTM module
其中:第t次的輸入at和第t-1 次的隱藏狀態(tài)ht-1的拼接得到[ht-1,at],構(gòu)成每個單元的輸入;在保留隱藏狀態(tài)過程中,主要起作用的是記憶門和輸出門ot;?表示逐元素相乘。
醫(yī)學臨床知識能夠篩選出與心房顫動相關(guān)性較大的醫(yī)療事件,本文專門在單指標特征分析通道上獨立提取每個篩選得到的醫(yī)療事件在多個時間片之間的變化趨勢,加強對結(jié)果的預(yù)測能力。本文通過CNN 提取單個醫(yī)療事件在多次就診中的變化特征,將多個醫(yī)療事件的變化特征拼接得到的綜合變化特征coutput輸入到分類器中,由分類器拼接特征并預(yù)測結(jié)果。
房顫是一種慢性疾病,它與許多疾病關(guān)系密切。現(xiàn)代臨床醫(yī)學已經(jīng)證實,高血壓、心動過速等癥狀會直接導致房顫的發(fā)生。第2.1 節(jié)已經(jīng)篩選出部分相關(guān)性較大的醫(yī)療事件作為此通道的輸入。因為患者的就診次數(shù)在4 次左右,所以CNN 的卷積核可以輕松地幫助本文模型捕捉到單個醫(yī)療事件在較低跨度上的變化特征。由于房顫的治療過程較為漫長,因此更早的記錄產(chǎn)生的影響會逐漸減弱。所以本文把卷積核的大小設(shè)置為1×2,以關(guān)注單個醫(yī)療事件前后兩次就診之間的變化趨勢。
在得到單個醫(yī)療事件的變化曲線之后,本文還需要對特征進行收斂。平均池化層(Average Pooling Layer)和最大 池化層(Maximum Pooling Layer)是兩種常用的池化手段,前者保留信息的平均值,后者保留信息的最大值。對于單個醫(yī)療事件的變化特征而言,平均值能夠權(quán)衡醫(yī)療事件在每一次就診時的表現(xiàn),而最大值只記錄了極端情況。結(jié)合實際情況,平均池化層更適用于收斂單個醫(yī)療事件的變化特征。
單指標特征分析通道的模塊結(jié)構(gòu)如圖4 所示。對于每個醫(yī)療事件向量Sj,都將經(jīng)過3 個卷積層和1 個平均池化層,卷積層的通道數(shù)均為16,卷積核大小均為2×1,平均池化層的卷積核均為16×1。計算過程如下:

圖4 單指標特征分析通道的模塊結(jié)構(gòu)Fig.4 Module structure of single index feature analysis channel
對于每個醫(yī)療事件ei都有輸出Aj,將所有的輸出拼接得到序列coutput=[A1,A2,…,Am]。
本研究使用的數(shù)據(jù)來源于武漢亞洲心臟病醫(yī)院房顫中心的私有數(shù)據(jù)庫和MIT 的公開數(shù)據(jù)庫MIMIC-Ⅲ。私有數(shù)據(jù)集經(jīng)過武漢亞洲心臟病醫(yī)院倫理委員會批準,所有數(shù)據(jù)都經(jīng)過去標識化處理,即去除了所有可能跟患者個人隱私相關(guān)的信息。
本文從數(shù)據(jù)庫中收集病人的診斷數(shù)據(jù)、檢查檢驗數(shù)據(jù)和人口學數(shù)據(jù),將其組合得到患者的電子病歷信息。對于各種醫(yī)療事件,來自亞心的私有數(shù)據(jù)庫保留頻率不小于1 000 次的事件,最終篩選出480 種診斷、檢查檢驗等項目;而MIMIC-Ⅲ數(shù)據(jù)庫保留了頻率不小于5 000 次的事件,最終篩選出241 種診斷、檢查檢驗等項目。本文統(tǒng)計了所有病人的就診次數(shù),最終確定將患者的前4 次就診記錄作為實驗用數(shù)據(jù),以預(yù)測患者半年內(nèi)是否會發(fā)生房顫。
本文涉及的所有代碼均基于Python3.8.3 完成。機器學習模型通過sklearn 實現(xiàn),深度學習模型基于Keras2.4.3 實現(xiàn)。在深度學習模型中,自動學習的參數(shù)使用Adam 優(yōu)化器自動更新,初始學習率為0.001,訓練20 個輪次。所有模型均采用批量大小為1 024的小批量訓練方式。深度學習模型使用Dropout 和L1、L2 正則化防止過擬合問題。在訓練開始前將數(shù)據(jù)集隨機打亂,再以6∶2∶2 的比例區(qū)分訓練集、驗證集和測試集。在每個輪次過程中,模型利用訓練集來訓練模型,使用驗證集驗證模型訓練后的結(jié)果并自動調(diào)整可訓練參數(shù)。在所有輪次訓練完成后,使用測試集測試模型的最終性能,并計算評價指標。
在疾病預(yù)測任務(wù)中,如何評判模型的性能非常重要。在實驗過程中,本文使用了4 種評價指標:精確率(P)、召回率(R)、F1 值(F1)以及AUC 曲線。計算式如下:
其中:精確率指的是預(yù)測為患病的結(jié)果中實際患病的占比;召回率指的是對于實際患病的樣本中,預(yù)測正確(預(yù)測為患病)的比例;精確率體現(xiàn)了模型對樣本整體預(yù)測的準確性;召回率體現(xiàn)了對患病群體判斷的準確性;F1 值兼顧了精確率和召回率,是一種綜合性能指標;AUC 代表模型區(qū)分陽性樣本和陰性樣本的能力,數(shù)值越高,表示模型的分辨能力越強。
為了驗證模型性能,本文選取了幾種機器學習算法以及基于EHR 數(shù)據(jù)并應(yīng)用在疾病風險預(yù)測任務(wù)上的深度學習模型,和本文提出的FR-ANN 模型進行比較。本文所選用的機器學習算法包括邏輯回歸(Logistic Regression,LR)和隨機森林(Random Forest,RF)。深度學習模型分別是基于MLP 與注意力機制 的MLP_Attention[23]、基 于CNN 的FRDLS[16]和基于LSTM 與注意力機制的TSANN[24]。
實驗分別在來自武漢亞洲心臟病醫(yī)院的私有數(shù)據(jù)庫(簡稱亞心數(shù)據(jù)庫)和MIT 的公開數(shù)據(jù)庫MIMIC-Ⅲ中進行。基線模型與FR-ANN 模型的性能評分如表2、表3 所示。

表2 對比模型評分表(亞心數(shù)據(jù)庫)Table 2 Scoring table of comparison model(Yaxin database)

表3 對比模型評分表(MIMIC-Ⅲ數(shù)據(jù)庫)Table 3 Scoring table of comparison model(MIMIC-Ⅲ database)
在基于私有數(shù)據(jù)集的實驗中,MLP_Attention 和FRDLS 的AUC 分別為0.744 和0.724。多層感知機是一種全連接的神經(jīng)網(wǎng)絡(luò),雖然MLP 增加了參數(shù)數(shù)量,但它的性能優(yōu)于FRDLS 模型,而TSANN 模型的召回率要優(yōu)于前兩者,這歸功于注意力機制準確地注意到了醫(yī)療事件之間的多依賴關(guān)系,捕捉到了數(shù)據(jù)中的潛在知識。FR-ANN 模型的時間序列特征分析通道完成了醫(yī)療事件之間的多依賴關(guān)系與就診記錄之間時序關(guān)系的特征提取工作;單指標特征分析通道通過提取每個醫(yī)療事件的變化特征,增加FR-ANN 模型對重要醫(yī)療事件的關(guān)注度,兩者結(jié)合使得FR-ANN模型的各項指標均優(yōu)于幾種基線模型。
首先,本文在消融實驗中以僅使用時間序列特征分析通道和僅使用單指標特征分析通道兩種模式預(yù)測患者的心房顫動風險,并與FR-ANN 模型進行比較,以分析單個通道對FR-ANN 模型的貢獻。其次,本文還將FR-ANN 模型的時間序列特征分析通道中的注意力層替換成卷積層,分析兩種不同模塊給FR-ANN 模型帶來的影響。消融實驗均在亞心數(shù)據(jù)庫上進行。
圖5 為消融實驗評分圖。圖5(a)展示了兩種模式以及FR-ANN 的性能評分。僅使用單個通道時,各項性能指標讀數(shù)有所下降,兩個通道的差異主要體現(xiàn)在精確率和召回率上。時間序列特征分析通道的召回率有所提升,這歸功于注意力機制能在全局范圍內(nèi)提取醫(yī)療事件之間的潛在關(guān)系。單指標特征分析通道的精確率較高,這是因為此通道的輸入均是經(jīng)過醫(yī)學專業(yè)知識鑒定的、與房顫疾病相關(guān)性較大的醫(yī)療事件,使得單指標特征分析通道能夠直接聚焦于疾病相關(guān)性較大的醫(yī)療事件,排除了其他醫(yī)療事件的干擾。

圖5 消融實驗評分圖Fig.5 Rating chart of ablation experiment
從性能與功能上看,F(xiàn)R-ANN 模型中的兩個通道各自承擔了不同的職責。時間序列特征分析通道采用多層級的特征提取方法,在醫(yī)療事件層級提取醫(yī)療事件之間的多依賴關(guān)系,在就診記錄層級提取就診記錄之間的時序特征。單指標特征分析通道針對每個輸入的醫(yī)療事件獨立分析,并且輸入的醫(yī)療事件由醫(yī)學臨床知識篩選得到,能夠加強模型的可解釋性。
圖5(b)展示了FR-ANN 模型的時間序列特征分析通道中,使用CNN 或者使用注意力機制兩種情況下的性能差異。由實驗結(jié)果可看出,引入注意力機制主要提升了召回率。相較于CNN,注意力機制的優(yōu)勢在于全局性,這使得它能夠兼顧所有醫(yī)療事件之間的潛在關(guān)系。實驗結(jié)果表明,使用注意力機制的FR-ANN:Attention 的各項指標均優(yōu)于FR-ANN:Conv1d。
在臨床治療過程中,醫(yī)生往往需要結(jié)合多項指標綜合分析才能給出治療方案。常見的診斷依據(jù)包含高血壓、冠心病等與心臟、血液相關(guān)的疾病,也包括鉀測定、血糖、血清總蛋白等檢查檢驗指標。而FR-ANN 模型在訓練過程中會自動學習這些模式,本文引入的注意力機制通過分析醫(yī)療事件之間的潛在依賴關(guān)系,得到每個醫(yī)療事件在整個集合中的注意力權(quán)重,權(quán)重越高表示它越可能導致房顫發(fā)生。圖6 所示為在亞心數(shù)據(jù)庫中FR-ANN 的注意力層輸出的注意力分布結(jié)果。

圖6 FR-ANN 自注意力層輸出的注意力分布Fig.6 Attention distribution outputing by FR-ANN self attention level
在注意力評分超過0.03 的醫(yī)療事件中,多數(shù)指標是與心血管疾病相關(guān)的,例如心包積液、心房撲動、冠心病、高血壓、膽固醇等指標,這些指標均預(yù)示著人體健康狀況異常,提高心房顫動發(fā)生的概率。
由圖6 可知,心房顫動與其他心血管類疾病具有非常大的關(guān)聯(lián)性,同時也受到高血糖、高血壓等其他疾病的影響。并且當?shù)鞍啄懝檀肌⒀宓鞍椎瘸R?guī)檢查檢驗指標異常時,也需要結(jié)合其他指標綜合考慮心房顫動的風險。注意力分布得到的信息與臨床診斷結(jié)果較為接近,注意力機制不僅注意到了高血壓、高血糖等相關(guān)性較大的醫(yī)療事件,而且能發(fā)現(xiàn)一些常規(guī)檢查檢驗指標對房顫的影響,例如紅細胞濃度、鉀測定、血清蛋白等。
圖6 的注意力分布的結(jié)果表明,以上對注意力權(quán)重的分析結(jié)論與臨床醫(yī)學知識相吻合,能夠為臨床診斷提供建議。
基于EHR 的心房顫動風險預(yù)測有助于更早地預(yù)防心房顫動。本文提出一種新的基于深度學習的模型FR-ANN,模型結(jié)構(gòu)充分考慮了目前EHR 存在的問題以及心房顫動的隱蔽性等疾病特性。實驗結(jié)果表明:FR-ANN 模型對多項醫(yī)療事件的篩選工作提升了模型的召回率;注意力機制的引入能夠代替卷積層完成特征提取工作,提升了模型的計算性能,注意力機制的事后可解釋性為臨床診斷提供了解決方案。但目前模型只考慮了醫(yī)療事件的變化趨勢,沒有考慮單個醫(yī)療事件的時間間隔因素,例如,持續(xù)30 天與持續(xù)300 天的高血壓所反映的癥狀嚴重性是不同的。因此下一步將在數(shù)據(jù)中融入時間信息以刻畫癥狀的嚴重性程度,并改善模型,提升模型的可解釋性。