馬連韜 張超賀 焦賢鋒 王亞沙 唐 雯 趙俊峰
1(高可信軟件技術(shù)教育部重點實驗室(北京大學) 北京 100871) 2(北京大學信息科學技術(shù)學院 北京 100871) 3(北京大學軟件工程國家工程中心 北京 100871) 4(北京大學第三醫(yī)院腎內(nèi)科 北京 100191)
我國醫(yī)療服務(wù)領(lǐng)域存在明顯供需矛盾.一方面,隨人口老齡化加速、慢病增多、健康意識增強,人民對健康醫(yī)療服務(wù)的需求快速增長;另一方面,醫(yī)療服務(wù)供給總量不足,醫(yī)療資源分布不均.以重癥監(jiān)護預后為例,隨著疾病的進展,患者病情會發(fā)生變化,死亡風險也會隨之變化,在變化的不同階段都需要醫(yī)護人員及時的跟進治療.現(xiàn)如今,由于缺乏這類有經(jīng)驗的醫(yī)護人員,很多臨床死亡風險高的患者在早期未被及時識別并處理.
近年來,現(xiàn)代衛(wèi)生系統(tǒng)推進了醫(yī)療病歷記錄信息化的建設(shè),在醫(yī)療機構(gòu)中存儲了大量的醫(yī)療電子病歷(electronic medical record, EMR)[1].其中結(jié)構(gòu)化多變量時間序列數(shù)據(jù)是一種重要且在醫(yī)療領(lǐng)域廣泛記錄的數(shù)據(jù)類型,蘊含巨大價值有待分析[2-5].對醫(yī)療多變量時序數(shù)據(jù)進行分析挖掘,可以輔助醫(yī)生對患者進行疾病快速診斷篩查,降低誤診率,提升醫(yī)療效率,為提前醫(yī)療干預帶來機會,發(fā)現(xiàn)人類醫(yī)學專家尚未意識到的醫(yī)學知識.
隨著計算機硬件設(shè)備算力的提升,深度學習模型逐漸成為多變量時間序列數(shù)據(jù)分析的主流技術(shù),并被廣泛應(yīng)用于解決以下問題:死亡預測[6]、患病預測[7]、再入院預測[8]、患者相似性分析[9]、治療方案分析[10]、臨床路徑分析[7]、疾病進展建模[11]、ICU患者死亡預測[12]等.雖然在這些研究中處理的任務(wù)各不相同,但它們的本質(zhì)均為學習患者的健康狀況表示,將患者復雜的健康數(shù)據(jù)壓縮至低維空間中,從而進行健康預測.
然而,在醫(yī)療等領(lǐng)域中,多變量時間序列數(shù)據(jù)存在特征構(gòu)成復雜、患者個性化差異大、可解釋性要求高等諸多挑戰(zhàn)有待解決.在構(gòu)建預測模型時,應(yīng)綜合考慮3個醫(yī)療多變量時序數(shù)據(jù)特性以及醫(yī)療領(lǐng)域預測可解釋性需求:
1)分析特征關(guān)聯(lián)關(guān)系,個性化抽取患者健康上下文.醫(yī)療特征之間有高度的相關(guān)性,應(yīng)綜合考慮以進行患者狀況表示學習.如血漿中肌酐和尿素濃度開始雙曲線上升時,它們和腎小球濾過率值通常與慢性腎病患者的全身表現(xiàn)相關(guān).此外,靜態(tài)特征與動態(tài)特征之間亦有高度相關(guān)性,如臨床特征(如血糖)的值可能對具有不同靜態(tài)基線(記錄了是否患有糖尿病)的患者具有不同的意義.建?;颊呓】禒顟B(tài)時應(yīng)綜合分析患者不同醫(yī)學指標之間的關(guān)聯(lián)關(guān)系.
2)為處于不同健康狀態(tài)的患者差異化分析特征重要性.對于健康狀況不同的患者,其重要的生理指標也不同;即使對于同一患者,其每個生理指標的重要性也應(yīng)隨著時間的推移進行自適應(yīng)地調(diào)整.例如既往病情穩(wěn)定的尿毒癥患者突然出現(xiàn)血紅蛋白大幅降低可能預示著消化道出血可能,模型應(yīng)立刻給予關(guān)注.模型在評估每個指標的取值給患者身體狀況帶來的影響時,需綜合考慮各項特征,判定每個指標對健康的指示意義.
3)醫(yī)療領(lǐng)域預測可解釋性需求.雖然深度學習在許多領(lǐng)域取得了巨大的成功,但由于其黑匣子的性質(zhì),在醫(yī)療領(lǐng)域尚未得到廣泛信任[13].如果模型可以從多角度輸出其判斷邏輯,醫(yī)生可以在信任該結(jié)果的基礎(chǔ)上為患者制定精準的治療方案.
本文針對醫(yī)療領(lǐng)域數(shù)據(jù)特點所帶來的挑戰(zhàn)和醫(yī)療應(yīng)用對多視角可解釋性的獨特需求,開展了針對醫(yī)療多變量醫(yī)療時間序列數(shù)據(jù)表示學習的研究.提出了一種基于醫(yī)療特征上下文學習的患者健康狀態(tài)可解釋評估方法Dr.Deep,并開發(fā)了基于醫(yī)療多變量時序數(shù)據(jù)分析的醫(yī)生臨床輔助系統(tǒng),為臨床診療提供輔助決策支持.本文的創(chuàng)新點總結(jié)為3個大方面.
1)面向多變量時序電子病歷數(shù)據(jù),提出基于特征上下文表示學習的患者健康狀態(tài)個性化表示學習方法與可解釋評估方法.技術(shù)貢獻具體包括:
① 提出了一種多通道健康上下文表示學習方法,有效編碼醫(yī)療記錄以構(gòu)成患者的健康表示.在多特征通道結(jié)構(gòu)的基礎(chǔ)上,采用了基于去相關(guān)自注意力機制的特征上下文關(guān)聯(lián)分析,顯式抽取多個動態(tài)特征之間、以及動態(tài)特征與靜態(tài)基線信息之間的關(guān)聯(lián)信息,解決需求1.
② 提出了基于壓縮激勵機制的特征重要性重標定方法,自適應(yīng)地選擇重要特征信息作為代表性的指標來構(gòu)建健康狀態(tài)表示,抑制無用特征以提升表示學習魯棒性.最終將指標重要性顯示輸出,為模型提供可解釋性,解決需求2與需求3.
2)在2個開放重癥監(jiān)護患者醫(yī)療數(shù)據(jù)集上進行膿毒癥預測、出院時間預測實驗.實驗證明本文方法有效性顯著高于同期其他方法:
① 重癥監(jiān)護開放數(shù)據(jù)集(PhysioNet Challenge)的膿毒癥預測實驗中,與醫(yī)療時序分析領(lǐng)域經(jīng)典最佳基準模型T-LSTM(SIGKDD)[9]相比,Dr.Deep在精準召回率曲線下面積(area under precision recall curve, AUPRC)指標實現(xiàn)了10.7%的相對性能提升,min(Se,P+)指標實現(xiàn)了6.4% 的相對提升.
② 同濟醫(yī)院開放的新冠肺炎重癥監(jiān)護患者數(shù)據(jù)集出院時間預測實驗中,此方法相比最佳基準模型在均方誤差(mean square error, MSE)和平均絕對誤差(mean absolute error, MAE)指標上,分別實現(xiàn)了18.2% 和5.4%的性能相對提升.
3)設(shè)計并實現(xiàn)了一種基于醫(yī)療多變量時序數(shù)據(jù)分析的人工智能醫(yī)生在線臨床輔助系統(tǒng):該系統(tǒng)可以展示每一位患者的健康狀態(tài)動態(tài)評估結(jié)果、預測依據(jù)等.經(jīng)由醫(yī)學專家試用系統(tǒng)并查閱醫(yī)療文獻驗證,本文方法抽取的可解釋性符合臨床經(jīng)驗,解決需求3.
現(xiàn)在已有較多工作將通用時序數(shù)據(jù)分析方法(以循環(huán)神經(jīng)網(wǎng)絡(luò)為代表)應(yīng)用至醫(yī)療多變量時間序列數(shù)據(jù)分析任務(wù),并取得了相較傳統(tǒng)模型的較大提升[14].但醫(yī)療領(lǐng)域,多變量時間序列數(shù)據(jù)分析存在特征記錄不規(guī)則、變化模式復雜、樣本少、可解釋性要求高等特點,傳統(tǒng)模型往往應(yīng)用效果不佳、決策支持效果差,以至于深度學習模型落地困難,難以切實在實際應(yīng)用場景發(fā)揮模型原本價值.
現(xiàn)有醫(yī)療多變量時序數(shù)據(jù)分析工作中所輸出的可解釋性主要集中在使用注意力機制輸出時間步層面的重要性.例如,Lee等人[11]提出了一種基于醫(yī)學上下文注意力機制(medical context attention, MCA)的循環(huán)神經(jīng)網(wǎng)絡(luò),捕捉時序重要性;Ma等人[14]使用雙向循環(huán)網(wǎng)絡(luò)結(jié)構(gòu)和注意機制來捕捉不同訪問之間的關(guān)系以進行預測;Song等人[15]借鑒了自然語言處理領(lǐng)域中的自注意力機制(self-attention),取代了傳統(tǒng)的時間序列處理常用的如長短時記憶網(wǎng)絡(luò)、門控循環(huán)網(wǎng)絡(luò)等方法,抓取各個時間步下就診信息的相互關(guān)聯(lián).此類方法忽略了對特征重要性的分析,而針對不同患者個性化判別的特征重要性才是醫(yī)生了解模型判斷依據(jù)并制定精準治療方案的關(guān)鍵信息.
一些研究因此進一步探討了醫(yī)學特征層面的可解釋性.如Bai等人[16]提出不同醫(yī)療特征對隱層表示應(yīng)該有不同程度的影響,因此利自注意力機制,學習單次就診下不同輸入特征對應(yīng)的注意力權(quán)重,此類方法能識別疾病編碼的重要性,但無法分析實驗室檢驗檢查特征重要性.考慮到復雜的深度學習模型擬合數(shù)據(jù)的能力、表示學習的能力強、性能好,但可能可解釋性差,部分研究工作為提升模型可解釋性,降低深度學習模型復雜度或與決策樹等高可解釋性模型結(jié)合;Yan等人[17]使用決策樹方法對新冠肺炎重癥患者進行死亡預測;Choi等人[18]提出了雙層注意力模型RETAIN,利用2個循環(huán)神經(jīng)網(wǎng)絡(luò)分別學習各次就診的重要性和單次就診下每個特征的重要性.其用特征注意力加權(quán)來刻畫每次就診的隱層表示,再將每次就診的隱層表示用時間注意力加權(quán)求和記得到一個患者的隱層表示,最終對學得的患者表示使用全連接層進行相應(yīng)的預測.亦有其他工作[19-20]指出,此類簡化方法往往僅使用決策樹或線性層學習的隱層表示,難以抽取復雜時序變化模式,特征提取不夠充分,表示學習能力降低而性能受損,可能陷入“性能/可解釋性的選擇困局”,難以在保證高性能的同時輔助醫(yī)生有針對性地制定個性化治療方案.
此外,較少研究從醫(yī)療特征關(guān)聯(lián)關(guān)系方面分析模型的可解釋性.Bai等人[16]引入自注意力機制學習不同疾病編碼之間的關(guān)聯(lián),但其僅適用于疾病編碼特征,不適用于實驗室檢驗檢查特征,且僅學習單次就診下的關(guān)聯(lián),未捕捉到全局視角.現(xiàn)有工作仍然不能捕捉特征記錄之間的相互依賴關(guān)系.
因此,盡管當前深度學習方案相關(guān)工作在醫(yī)療多變量時序數(shù)據(jù)分析、健康狀態(tài)預測任務(wù)上已達到較高準確率,但距離滿足臨床需求落地應(yīng)用仍需要針對患者情況學習其特征健康上下文關(guān)系、個性化利用特征編碼構(gòu)成患者最終健康表示,并輸出可解釋性供醫(yī)生參考.
醫(yī)療多變量時序數(shù)據(jù)中涉及病人健康相關(guān)的多個因素,包括生理指標因素(如血糖、血壓、體重等)、治療措施因素(如服用某種藥品、采取某種處置等)和疾病診斷因素(如被診斷患有某種疾病等).在數(shù)據(jù)分析中,這些因素被抽象為一組“變量”.由于病人通常在醫(yī)院接受多次多種檢查或治療,因此上述變量在不同時間的取值形成了多變量時間序列數(shù)據(jù),本文稱其為“醫(yī)療多變量時間序列數(shù)據(jù)”.在這里,時間是一個抽象的概念,通常表示為就診檢查時步(timestep).在一個以就診為單位的醫(yī)療數(shù)據(jù)序列中,序列中第1次就診所得到的檢驗檢查結(jié)果就是第1個時步.
假設(shè)病人的動態(tài)臨床記錄由T次就診記錄組成.因此,這樣的臨床序列可以被表述為一個縱向的病人矩陣R,其中一個維度代表醫(yī)療特征,另一個維度表示訪問時間戳:
多個患者的不同就診、不同特征數(shù)據(jù)共同構(gòu)成一個稀疏的張量.在真實臨床應(yīng)用中,電子病歷數(shù)據(jù)除時序數(shù)據(jù)R之外,一般還需要一并分析靜態(tài)基線信息,包含人口統(tǒng)計信息(如性別、年齡等)和原發(fā)疾病(如慢性腎小球腎炎、慢性間質(zhì)性腎炎等),記為base.
醫(yī)療預測的目標是使用EMR數(shù)據(jù)(即R和base)來預測病人在治療過程中是否會出現(xiàn)目標臨床結(jié)果,表示為y.問題被表述為分類或回歸任務(wù),即:
在絕大多數(shù)基于深度學習的多變量醫(yī)療時序數(shù)據(jù)分析工作中,患者的健康狀態(tài)表示學習主要基于循環(huán)神經(jīng)網(wǎng)絡(luò)來進行.健康變化過程被類比為自然語言中的句子,患者疾病發(fā)展路徑建模類比于學習自然語言模型.患者隨著就診逐漸產(chǎn)生多次醫(yī)療記錄,如同自然語言中的一句話中的每個單詞;而患者的多項生理檢查指標特征變量,則視作一個單詞的編碼中的多個隱層單元的取值.學習患者的健康狀態(tài)并做出健康預測,類比于學習一句話的表示并預測這句話的含義.
文獻[6]假設(shè),相比自然語言處理任務(wù)中提取時序關(guān)系,在綜合患者的醫(yī)療多變量時序數(shù)據(jù)以學習患者健康編碼并評估病情發(fā)展時,更重要的應(yīng)是提取特征關(guān)系,即對特征進行全局編碼隨后對特征關(guān)聯(lián)進行學習.因此其未采用絕大多數(shù)已有相關(guān)工作的時序壓縮編碼方案,而是提出了多特征通道編碼框架.多特征通道結(jié)構(gòu)適合從患者健康完整序列的全局視角顯式捕捉特征之間的關(guān)聯(lián),并篩選最重要的特征.在多通道編碼部分使用循環(huán)神經(jīng)網(wǎng)絡(luò)編碼動態(tài)特征序列的同時,使用多層感知機隱層神經(jīng)網(wǎng)絡(luò)將靜態(tài)信息base做映射,得到一個更加稠密中間的表示輸入到網(wǎng)絡(luò)之中.該表示為后續(xù)網(wǎng)絡(luò)使用自注意力機制學習靜態(tài)信息與動態(tài)特征關(guān)聯(lián)做準備,與其他動態(tài)特征序列編碼結(jié)果即將按位疊加,因此亦屬于同一隱層特征空間.
針對學習特征關(guān)聯(lián)關(guān)系的預測需求,提出去相關(guān)自注意力機制.每個特征的隱層表示通過關(guān)注所有其他特征的隱層狀態(tài)來計算注意力權(quán)重,讓每個特征都和其他所有特征產(chǎn)生線性組合的交互,即每個特征都能“全局”地觀察其他特征和自身的關(guān)系,并通過加權(quán)方式結(jié)合不同特征信息,重新學習結(jié)合醫(yī)療上下文的個性化編碼.這樣不受采樣頻率、記錄稀疏度的限制,建立任意2個特征序列之間直接關(guān)聯(lián),關(guān)聯(lián)信息丟失更少.例如當模型重編碼“舒張壓”這一生理指標的隱層表示時,會和舒張壓更相關(guān)的生理指標(如收縮壓)產(chǎn)生更多關(guān)聯(lián),從而將“收縮壓”這一指標的信息也納入到“舒張壓”中來.此外,本文額外結(jié)合靜態(tài)基線信息捕捉動態(tài)特征之間的相互依賴關(guān)系.例如,當模型處理特征“血糖”時,自注意機制可能會使其與靜態(tài)基線信息中的“糖尿病診斷”相關(guān)聯(lián).
在前期工作多特征通道表示學習基礎(chǔ)上,本文指出,根據(jù)傳統(tǒng)多頭自注意力機制工作(multi-head self-attention)[21]在實踐中的經(jīng)驗,多個注意力頭之間很可能會學到近似的相關(guān)知識,造成編碼冗余,泛用性下降.具體來說,由于多頭自注意機制往往傾向于捕捉最有判別力的特征,學習到的醫(yī)療上下文信息將是有限的.基于相關(guān)工作在防止過擬合方面的研究[22-24],本文認為在數(shù)據(jù)量少且缺乏額外約束的情況下,特征編碼器被訓練為在訓練數(shù)據(jù)上協(xié)同工作,即特征編碼器僅在幾個其他特定編碼器的協(xié)同環(huán)境中才能發(fā)揮作用,存在可能導致過擬合的協(xié)同適應(yīng)效應(yīng),更容易發(fā)生過擬合現(xiàn)象.因此本文針對性提出了多頭去相關(guān)自注意力提升策略,抑制部分注意頭對重要特征的關(guān)注,迫使網(wǎng)絡(luò)去尋找其他上下文關(guān)聯(lián)信息.以迫使各個注意頭廣泛差異化關(guān)注特征.
同時,文獻[6]僅依賴靜態(tài)信息在最終預測層發(fā)起查詢(query),因此在缺少靜態(tài)信息或其所包含信息對待預測任務(wù)目標意義不足時可能面臨無法合理分配特征重要性的問題.本文進一步引入了壓縮激勵機制以學習用于發(fā)起查詢的隱層編碼,并通過針對不同患者學習每個特征的重要性權(quán)重,提供特征級別的預測可解釋性.
如圖1所示,本文方法Dr.Deep具體分為3個模塊:
1)多通道時序特征抽取表示學習(multi-channel time series feature extraction);
2)基于自注意力的健康上下文關(guān)聯(lián)學習方法(self-attention-based health context learning)與去相關(guān)增強策略(boosted strategy);
3)基于壓縮激勵機制的特征重要性重標定(SEBlock-based adaptive feature recalibration).
Fig.1 Dr.Deep framework
Dr.Deep使用了多通道的門控循環(huán)單元(gated recurrent unit, GRU)分別壓縮表示不同特征的時序信息,讀入數(shù)據(jù)并將每個特征時序各自編碼為同一特征空間的等長隱層向量.將模型的特征序列輸入統(tǒng)一記為r.GRU會依次重復接收就診時步t下的原始特征rt,并結(jié)合歷史就診數(shù)據(jù)編碼ht-1,將數(shù)據(jù)映射為抽象的隱層空間編碼結(jié)果ht.循環(huán)神經(jīng)網(wǎng)絡(luò)通過“更新”(zt)和“重置”(et)操作來控制歷史編碼結(jié)果對最新就診時步的影響.
et=σ(Ue·rt+We·ht-1+be),
zt=σ(Uz·rt+Wz·ht-1+bz),
其中,σ和tanh分別指sigmoid和tanh非線性激活函數(shù),×和+分別指矩陣的元素乘法和矩陣加法.隨后通過多通道GRU分別嵌入每個特征的時間序列:
hn,1,hn,2,…,hn,T=GRUn(rn,1,rn,2,…,rn,T),
其中,特征n的時間序列表示為rn,:=(rn,1,rn,2,…,rn,T)∈T.至此,已經(jīng)針對不同特征序列分別學習獲得其時序編碼結(jié)果,暫不考慮其時序不規(guī)則性,取最后一個時間步的表示作為該特征的最終表示,則:
fn=hn,T,n=1,2,…,N.
此外,將基線數(shù)據(jù)線性映射至與特征序列編碼同樣的隱層維度,為后續(xù)綜合學習靜態(tài)特征動態(tài)特征之間的關(guān)聯(lián)并獲得最終健康表示做好準備:
fbase=Wbase·base,
其中,Wbase是待學習參數(shù)矩陣.為了便于記述,在本文的公式中忽略了偏置項.至此,患者的所有變長時序特征數(shù)據(jù)與靜態(tài)信息均已被編碼至矩陣:
F=(f1,f2,…,fN,fbase).
Dr.Deep通過自注意力機制的方式捕捉特征間相互關(guān)聯(lián),從而全局捕捉患者的健康上下文語義信息,并以此獲得每個特征新的表示.該模塊結(jié)合上下文信息重新編碼語義后的特征向量,輸入前饋神經(jīng)網(wǎng)絡(luò)中得到最終患者健康表示.具體而言,自注意力機制[21]中原始輸入或前一層編碼器的輸出,經(jīng)過線性變化,將特征矩陣F映射到3個不同的子空間中,分別形成3個新的編碼矩陣Q,K,V.當處理某個特征時,將當前特征作為查詢發(fā)起(query),去和病歷中所有特征(包含該特征本身)的相應(yīng)向量(key)去匹配,即Q與K之間進行點乘計算得到不同特征之間相關(guān)度的度量,隨后使用softmax函數(shù)將上述計算結(jié)果進行歸一化,每個值(value)項都獲得相對應(yīng)的權(quán)重以進行后續(xù)加權(quán)求和.注意力權(quán)重矩陣A計算:
Q=F·WQ,
K=F·WK,
V=F·WV,
F*=AVWO,
其中,WO為待訓練的參數(shù)矩陣.
同時,自注意力機制可進一步拓展為多頭(multi-head)注意力機制[21],即多個自注意結(jié)構(gòu)的組合,同時學習不同的Q,K,V表示每個注意頭學習到在不同特征空間中的語義,因此它們學習到的注意力側(cè)重點可能均有不同,進而可以使模型豐富學得特征的表示空間、捕捉更豐富信息.首先對于每個自注意頭i:
其展開式為
dk為Ki的尺寸.矩陣Ai表示頭i所學到的對特征間的相關(guān)程度.headi為該自注意頭所學習到的融合特征相關(guān)信息的后的編碼,其接收上文原始特征線性映射后得到的Vi作為輸入:
headi=AiVi,
其展開式為
隨后結(jié)合全部注意頭的計算結(jié)果:
U=(u1,u2,…,uN)T=
(head0⊕head1⊕…⊕headm)WO,
其中,⊕是按行連接算子,WO為待訓練的參數(shù)矩陣,U為數(shù)據(jù)F通過學習信息關(guān)聯(lián)得到的重構(gòu)編碼.利用單層映射層對ui進行編碼,形成結(jié)合健康上下文后學得的特征表示矩陣:
在表示學習模塊基礎(chǔ)上,本節(jié)進一步提出多頭去相關(guān)自注意力提升策略,在訓練過程中控制網(wǎng)絡(luò)中神經(jīng)元之間的關(guān)聯(lián)減少冗余表示,即訓練自注意頭對擁有不同特征記錄情況的樣本可以有效工作,不能依賴于其他特征的存在,防止對訓練數(shù)據(jù)進行復雜的協(xié)同適應(yīng),鼓勵頭之間的多樣性,并全面地提取患者健康狀況.Dr.Deep抑制多頭機制中特別具有判別性特征的注意力,自我注意模塊被迫尋找其他的信息特征,每個自注意頭的不同神經(jīng)元被控制于有傾向性的學習不同信息、捕捉不同的特征相關(guān)性規(guī)律,實現(xiàn)隱層單元級別的表示學習控制.使得不同的頭形成不同的隱藏空間,從不同的角度捕捉病人的信息,全面抽取患者健康上下文.
具體來說,在執(zhí)行多頭自我注意機制時,鼓勵后一個頭去關(guān)注與前一個頭不同的特征.頭i中丟棄第j個特征的概率計算為
pi,j=γ×softmax(xi,j×ξ),
其中,γ是超參,表示特征j在headi的丟棄率.ξ是一個放縮變量,控制了當前頭的注意力應(yīng)該被壓制的程度.xi,j為在headi前的所有注意力權(quán)重的標準化累積和,對于j,它被計算為
其中:
其中,k代表著第k個注意力頭.前面的頭對特定的特征給予的注意力權(quán)重越多,當前的頭對這個特征就會傾向于分配較少的注意力權(quán)重.網(wǎng)絡(luò)被迫尋找病人的其他相關(guān)特征.最后生成壓制向量壓制headi里的特征:
M(i,j)=1-rc,
其中,rc~Bernoulli(pi,j).
壓制向量M(i,j)與headi中的注意力權(quán)重相乘,來壓制先前注意力頭中過多關(guān)注的具有判別性的特征.在通過以上多頭注意力機制得到每一時間步的表示之后,使用全連接網(wǎng)絡(luò)子層:
FeedForward(rn)=
max(0,un·W1+b1)·W2+b2.
在其中每兩個子層之間使用殘差連接[25]和層標準化[26],得到的輸出被表示為
本文在美國醫(yī)療機構(gòu)重癥監(jiān)護患者數(shù)據(jù)集(PhysioNet)、中國同濟醫(yī)院新冠肺炎重癥患者數(shù)據(jù)集(COVID-19)上分別進行了院內(nèi)死亡預測膿毒癥預測、出院時間預測實驗,患者信息統(tǒng)計如表1所示.所進行實驗的源代碼、數(shù)據(jù)集的統(tǒng)計數(shù)據(jù)和案例研究均已上傳GitHub代碼庫(1)https://github.com/Accountable-Machine-Intelligence/Dr.Deep.
Table 1 Basic Statistics of Patient Visits in Datasets
4.1.1 重癥監(jiān)護患者-美國PhysioNet ICU
美國PhysioNet ICU預測賽數(shù)據(jù)集是一個公開的醫(yī)療數(shù)據(jù)集,其患者收集自2家美國的醫(yī)療機構(gòu):Beth Israel Deaconess Medical Center和Emory University Hospital.數(shù)據(jù)集中累計40 336名患者,每個患者擁有33個動態(tài)醫(yī)療特征,總計1 552 210條動態(tài)醫(yī)療記錄.該數(shù)據(jù)集的預測目標為在一定時間窗口內(nèi)診斷為膿毒癥疾病的概率.在這40 336名患者中,共有2 932名患者最終患上了膿毒癥,剩余的37 404名患者則為負樣本.詳細統(tǒng)計數(shù)據(jù)見數(shù)據(jù)集發(fā)布方原文[27].在該數(shù)據(jù)集中預測患者最終是否會被診斷為膿毒癥.
4.1.2 新冠肺炎重癥患者—中國同濟醫(yī)院
中國同濟醫(yī)院新冠肺炎重癥患者數(shù)據(jù)集[17]為在2020-01-10—2020-02-18期間收集的同濟醫(yī)院新冠肺炎重癥患者數(shù)據(jù).患者平均年齡58.8歲,其中男性59.7歲.375例患者中,201例從COVID-19中康復出院,174例不幸死亡.相關(guān)記錄天數(shù)分布統(tǒng)計等如圖2、表2所示.
Fig.2 Days to outcome of patients’ records in COVID-19 dataset
Table 2 Statistics of the COVID-19 Dataset
在疫情爆發(fā)期,大量新冠肺炎患者擠兌醫(yī)療資源,尤其是重癥監(jiān)護病房(ICU)不堪重負,醫(yī)療資源運轉(zhuǎn)效率降低.而其中部分重癥患者亟待搶救,部分輕癥患者已好轉(zhuǎn).如能有效預測不同患者的出院時間,將有助于提高醫(yī)療資源利用效率.如圖3所示,住院時間相同但結(jié)局不同(最終從ICU中康復出院或死亡)的患者在健康狀況上存在顯著差異.對于幾天內(nèi)出院的患者,他們的健康狀況應(yīng)該比其他患者更為健康,尤其是即將死亡的患者.則以剩余住院天數(shù)t作為存活患者記錄的出院時間標簽,以LIMIT-t作為死亡患者的標簽.如根據(jù)新冠肺炎重癥監(jiān)護患者數(shù)據(jù)集統(tǒng)計[17],COVID-19重癥患者大多在35 d內(nèi)出院.因此將LIMIT的值設(shè)置為2×35=70.
Fig.3 ICU Length-of-stay problem definition
高風險評分的患者面臨著很高的不良結(jié)局風險,需要緊急治療.相反,低風險分數(shù)的人健康狀況相對穩(wěn)定.
4.2.1 數(shù)據(jù)集劃分
本文按照2種方式來劃分實驗數(shù)據(jù)集:
1)在數(shù)據(jù)量較大(約40 000位患者)的PhysioNet ICU數(shù)據(jù)集上,按照8∶1∶1的比例將數(shù)據(jù)劃分為訓練集、驗證集和測試集,在驗證集上損失函數(shù)最小的模型將被保存用于測試.
2)在數(shù)據(jù)量較小的COVID-19(約300位患者)數(shù)據(jù)集上,使用十折交叉驗證進行實驗.
4.2.2 評估指標
本文使用以下分類與回歸經(jīng)典評估指標進行實驗結(jié)果分析:
對于二分類任務(wù),本文使用受試者工作特征(receiver operation characteristic, ROC)曲線下面積(area under the ROC curve, AUROC),精確召回曲線(area under the precision-recall curve, AUPRC)下的面積以及精度和靈敏度最小值min(Se,P+)評估對患者健康風險的預測性能.尤其當處理高度不平衡和偏斜的數(shù)據(jù)集時,AUPRC是提供最多信息和最主要的評估指標[28-29].
對于回歸任務(wù),本文使用平均平方誤差(mean square error, MSE)、平均絕對值誤差(mean absolute error, MAE)作為評估指標.
4.2.3 實施細節(jié)
本文在一臺配置了CPU:Intel Xeon E5-2630、256 GB RAM和GPU:Nvidia Titan V的計算機上使用Pytorch 1.5.0進行模型的訓練.為了防止過擬合,本文在所有RNN層中使用了dropout(dropout率為0.3).對于本文模型中的特征維度的注意力機制和SEBlock模塊,局部和歷史特征的壓縮比r=4.本文對模型中所有權(quán)重使用了l1和l2正則化,正則化系數(shù)為0.001.本文使用了Adam優(yōu)化方法[30]以及256名患者的批量,并將學習率設(shè)置為1E-3.本文使用網(wǎng)格搜索(grid search)對本文模型和所有基線模型進行超參選擇.我們將Dr.Deep與以下6種基線方法進行了對比評估,這些先進的基線方法均解決同本文相似的醫(yī)療預測問題或使用了相似的機制:
1)GRUα是具有注意力機制的GRU.
2)RETAIN(NeurIPS)[18]利用兩級注意機制來檢測有影響的就診和重要變量.
3)T-LSTM(SIGKDD)[9]通過啟用時間衰減來處理不規(guī)則的時間間隔.本文將其修改為監(jiān)督學習模型.
4)MCA-RNN(ICDM)[11]利用從條件變量自編碼器生成的個體患者信息來構(gòu)建基于醫(yī)學上下文關(guān)注的RNN.
5)Transformere(NeurIPS)[21]使用了Trans-former的編碼器,在最后一步中,本文將高階特征扁平化并使用前饋神經(jīng)網(wǎng)絡(luò)進行預測.
6)Dr.Deepbasic(AAAI)為拓展前會議版本ConCare模型[6],其使用時間感知機制與注意力機制學習患者時序編碼.
4.3.1 真實世界數(shù)據(jù)集預測實驗結(jié)果
表3與表4分別為同濟醫(yī)院新冠肺炎重癥患者出院時間預測實驗結(jié)果和PhysioNet重癥監(jiān)護數(shù)據(jù)集膿毒癥預測實驗結(jié)果,其中括號()內(nèi)的數(shù)字表示Physionet膿毒癥預測數(shù)據(jù)集上進行自助法(bootstrap)測試100次的標準差,以及COVID-19數(shù)據(jù)集上十折交叉驗證的標準差.
Table 3 Results of the Length-of-Stay Prediction on COVID-19 Dataset
如表3所示,與最佳基準模型相比,Dr.Deep在MSE和MAE方面分別實現(xiàn)了18.2%和5.4%的性能相對提升.COVID-19數(shù)據(jù)集僅包含400位患者的時間序列數(shù)據(jù),表明Dr.Deep在較小的數(shù)據(jù)集上表現(xiàn)依然良好.本文所提出的模型可以有效地預測住院時間,這將有助于醫(yī)生合理分配醫(yī)療資源,并在許多不堪重負的醫(yī)療機構(gòu)中提高臨床效率.
如表4所示,與醫(yī)療時序分析領(lǐng)域經(jīng)典最佳基準模型T-LSTM(SIGKDD)[9]相比,Dr.Deep在AUPRC中指標實現(xiàn)了10.7%的相對性能提升,min(Se,P+)指標實現(xiàn)了6.4% 的相對提升.特征關(guān)聯(lián)表示學習去相關(guān)增強策略可以使得AUPRC,AUROC同時進一步提升.
Dr.Deep優(yōu)于順序表示學習方法(即GRU,T-LSTM等方法),表明在全局視圖中分別學習每個特征編碼優(yōu)于直接順序?qū)W習整個就診序列的信息.Dr.Deep的性能優(yōu)于Dr.Deepbasic(本文模型在會議上的ConCare模型),從而驗證了特征關(guān)聯(lián)表示學習去相關(guān)壓制策略的功效,其鼓勵多頭注意力機制的多樣性并提高性能.
Table 4 Results of the Sepsis Prediction on PhysioNet Dataset
盡管RETAIN可以提供可解釋性,但在這4個數(shù)據(jù)集上,其性能都比GRU模型差,與[31]中報告的結(jié)果一致.
為了確定Dr.Deep的合理性并提取有用的醫(yī)學知識,本文對PhysioNet數(shù)據(jù)集上不同患者群組(即有/無敗血癥)的模型行為進行了實驗觀察,并計算具有不同結(jié)局的患者對每個生物標記物的平均注意權(quán)重,在圖4中生成特征重要性熱力圖.
如圖4所示,紅細胞壓積(Hct)和肌酐(Creatinine)等特征在敗血癥和非敗血癥隊列中均具有很高的關(guān)注權(quán)重,與患者敗血癥的發(fā)展密切相關(guān).有一些醫(yī)學文獻支持本文的發(fā)現(xiàn).嚴重敗血癥和敗血性休克處理的國際準則[32]在2012年提到了Hct的重要性.他們建議在出現(xiàn)血流灌注不足的前6 h內(nèi)保持血細胞比容超過30%[32-33].提示血壓可以反映疾病狀態(tài),因為敗血癥發(fā)生時患者經(jīng)常會出現(xiàn)血管舒張和血容量不足,從而導致血壓降低.
Fig.4 Importance of biomarkers differentiated by Dr.Deep for sepsis prediction on the PhysioNet dataset
本文設(shè)計并實現(xiàn)臨床輔助系統(tǒng):小雅醫(yī)生系統(tǒng)(2)隨系統(tǒng)更新迭代,特征重要性分布與案例可視化結(jié)果可能會有變動..如圖5所示,其輸入數(shù)據(jù)為住院患者或門診隨訪患者隨時間多次記錄的多變量時序數(shù)據(jù),以及初次就診時記錄的靜態(tài)基線數(shù)據(jù).該系統(tǒng)綜合利用前文表示學習模型,評估患者健康狀況,提示不同患者應(yīng)當重點關(guān)注的高危生理指標,對健康狀況不佳患者的疾病發(fā)展狀況進行時刻監(jiān)視.
以PhysioNet重癥監(jiān)護數(shù)據(jù)集膿毒癥預測任務(wù)中11 498患者為例(3)http://47.93.42.104/challenge/11498,本文模型Dr.Deep判斷該患者經(jīng)歷了3個不同的膿毒癥高風險階段.針對該患者,模型重點關(guān)注體溫的變化.尤其是在患者被診斷膿毒癥前的最后3次檢驗檢查中,患者的體溫從37.33℃升至39.67℃,模型預估的膿毒癥風險從12.52%升至67.66%.該案例過程表明Dr.Deep捕捉到了患者體溫的上升過程,并將其作為一種預示著膿毒癥的不良狀態(tài)予以高度關(guān)注,并建議醫(yī)生對重癥監(jiān)護患者、潛在膿毒癥高危人群進行及時、密集的體溫監(jiān)測管理.研究[34-35]表明體溫是嚴重發(fā)炎或感染的標準,并且嚴重膿毒癥患者經(jīng)常出現(xiàn)體溫異常.
Fig.5 Sepsis case study
針對結(jié)構(gòu)化多變量時序電子病歷數(shù)據(jù)分析工作當中個性化表示學習不足、可解釋性缺乏的問題,本文提出了基于特征上下文表示學習的患者健康狀態(tài)可解釋評估方法Dr.Deep.該方法針對不同患者情況自適應(yīng)捕捉患者醫(yī)療特征上下文并利用去相關(guān)策略增強表示學習效果,同時基于壓縮激勵機制進行特征重要性重標定以輸出可解釋性因素.在公開數(shù)據(jù)集PhysioNet重癥監(jiān)護患者膿毒癥預測與同濟醫(yī)院COVID-19重癥患者出院時間預測任務(wù)中,Dr.Deep性能均顯著超越最佳基準方法.本文最終設(shè)計并實現(xiàn)了人工智能醫(yī)生在線交互系統(tǒng),可視化患者的疾病發(fā)展路徑及模型所動態(tài)分析的特征重要性供醫(yī)學專家參考.
作者貢獻聲明:馬連韜提出算法、撰寫文章、設(shè)計可視化系統(tǒng);張超賀進行算法設(shè)計實現(xiàn)和實驗驗證;焦賢鋒對數(shù)據(jù)預處理、實現(xiàn)部署可視化系統(tǒng)、進行實驗驗證;王亞沙修改了深度學習模型;唐雯負責醫(yī)學知識引入模型設(shè)計、醫(yī)學知識挖掘、案例分析;趙俊峰對文章進行修改、提供了實驗室計算資源.其中,馬連韜和張超賀為共同第一作者,王亞沙和唐雯為共同通信作者.