針對臨床上重癥疾病樣本數量少容易導致預后模型過擬合、預測誤差大、不穩定的問題,本文提出遷移長短時程記憶算法(transLSTM)。該算法基于遷移學習思想,利用疾病間的相關性實現不同疾病預后模型的信息遷移,借助相關疾病的大數據輔助構建小樣本目標病種有效模型,提升模型預測性能,降低對目標訓練樣本量的要求。transLSTM 算法先利用相關疾病數據預訓練部分模型參數,再用目標訓練樣本進一步調整整個網絡。基于 MIMIC-Ⅲ數據庫的測試結果顯示,相比傳統的 LSTM 分類算法,transLSTM 算法的 AUROC 指標高出 0.02~0.07,AUPRC 指標超過 0.05~0.14,訓練迭代次數僅為傳統算法的 39%~64%。應用于膿毒癥疾病的結果顯示,僅 100 個訓練樣本的 transLSTM 模型死亡率預測性能與 250 個訓練樣本的傳統模型相當。在小樣本情況下,transLSTM 算法預測精度更高、訓練速度更快,具有顯著優勢。它實現了遷移學習在小樣本重癥疾病預后模型中的應用。
引用本文: 夏靜, 潘素, 顏默磊, 蔡國龍, 嚴靜, 寧鋼民. 基于遷移學習的小樣本重癥疾病預后模型. 生物醫學工程學雜志, 2020, 37(1): 1-9. doi: 10.7507/1001-5515.201905074 復制
引言
隨著信息技術的高速發展和醫院信息系統的日益普及,大量臨床資料得以電子化存儲和高效使用。基于患者臨床數據利用機器學習技術建立的臨床預測模型,能夠為醫生評估病情和確定治療管理方案提供決策支持。對于持續監測的患者生理指標構成的臨床時間序列數據,長短時程記憶(long short-term memory,LSTM)算法[1]能夠捕捉其中的變化趨勢信息,近年來在醫學上的研究和應用進展迅速[2-12]。Lipton 等[3]基于 10 401 份兒童病例,建立了 128 種疾病診斷的 LSTM 模型,能夠判斷患者是否患急性呼吸窘迫、充血性心力衰竭和腎衰竭等疾病。Harutyunyan 等[6]利用 42 276 份病例的時間序列數據,設計了基于 LSTM 的多目標學習模型,實現了多個臨床最終事件的預測功能。Baytas 等[9]提出能適應不規則采樣時間間隔的 LSTM 網絡,以提取患者特性,實現了患者的聚類分組。Reddy 等[12]針對狼瘡患者構建了 LSTM 模型,以準確預測其 30 天再入院概率。
大部分醫學領域的 LSTM 應用都是基于大量臨床樣本,但對于單病種,尤其是重癥疾病,其樣本量往往比較少。樣本量不足會導致 LSTM 模型過擬合、預測誤差大、不穩定,甚至難以構建多層復雜 LSTM 模型。因此,目前 LSTM 算法在單病種、少樣本量臨床預測模型的應用中受到了嚴重制約。
大樣本臨床數據所獲得的知識能解決小樣本量疾病應用中數據稀缺的問題,而遷移學習為疾病間的信息遷移提供了一種技術框架。傳統機器學習是基于目標領域數據訓練出目標模型,它要求目標領域有足夠數量的樣本才能保證模型的準確性和可靠性;而遷移學習是利用多個領域間的相關性,將源領域數據中學習到的知識遷移至目標領域以輔助目標模型的訓練,通過源領域知識和目標領域數據相結合的方式,降低模型對目標領域樣本量的需求[13-16]。目前,遷移學習在計算機視覺、自然語言、推薦系統等領域的應用都取得了顯著進展[13-22]。計算機視覺領域,遷移學習被廣泛應用于目標識別、圖像分類和人體動作識別等場景;自然語言領域,遷移學習成功應用于情感分類、垃圾郵件檢測和多語言文本分類等任務;遷移學習還應用于推薦系統,例如新上映電影的個性化推送。
遷移學習可利用大樣本量所獲得的知識解決小樣本量應用中數據稀缺、知識稀缺等瓶頸問題[23],在目標領域樣本采集困難而相關領域樣本數量大的情況下具有顯著優勢,因此可應用于小樣本的重癥疾病預后模型。但目前相關研究較為缺乏,一系列關鍵技術還有待探索。
本文提出基于遷移學習框架的遷移長短時程記憶算法(long short-term memory transferring algorithm,transLSTM),利用不同疾病之間的相關性,通過多病種重癥監護室(intensive care unit,ICU)大數據集的信息遷移輔助有限樣本特定疾病預后模型的構建。該算法采取基于模型的遷移策略,運用微調[24]技術以實現預后模型間的信息遷移。首先基于源領域疾病的數據集建立預后模型原型,再傳遞模型框架及部分模型參數,最后用目標疾病的數據集對所有模型參數進行調整以轉換成目標疾病預后模型。
1 遷移長短時程記憶算法
本文選用 ICU 中多病種的時序數據集為源領域,某種重癥疾病為目標領域。源任務與目標任務是預測患者進入 ICU 第 28 天的生存狀態,以評價疾病嚴重程度。transLSTM 算法首先基于相關疾病數據集(記為 sourceData)訓練出預后模型的原型,再根據原型對目標疾病預后模型的部分參數進行初始化,最后用目標疾病數據集(記為 targetData)對模型參數進行細微調整,從而得到目標模型。
假設 sourceData 中有 N1 個樣本,第 i 個樣本為。其中 Ai 包含該樣本 T 個時刻 D 個臨床指標的數值,可表示為
。
包含 D 個臨床指標的數值,可表示為
。第 i 個樣本的目標標簽
,取值 0 代表 28 天生存,取值 1 則代表 28 天內死亡。假設 targetData 中有 N2 個訓練樣本,第 i 個樣本為
。其中 Bi 的數據結構與 sourceData 中的 Ai 相同,包含該樣本 T 個時刻 D 個臨床指標的數值,可表示為
。
可表示為
。與 sourceData 中的 yi 含義一樣,zi 代表該樣本的 28 天生存狀況,取值 0 是生存,取值 1 則是死亡。
transLSTM 算法的訓練過程包括兩個環節:
(1)基于 sourceData 構建預后模型的原型:預后模型的結構由 LSTM 隱藏層和 Sigmoid 輸出層兩個部分構成。LSTM 模塊的結構如圖1 所示,預后模型的結構如圖2 所示。


LSTM 模塊的輸入為 Ut,即第 t 個時刻的 sourceData。通過式(1)~(4)依次計算遺忘門 ft、輸入門 it、輸出門 ot 以及當下時刻的細胞記憶值 Ct。
![]() |
![]() |
![]() |
![]() |
式(1)~(4)中,權重 wf、wi、wo、wc 和偏置 bf、bi、bo、bc 是可訓練的模型參數,ht ? 1 是上一個時刻的隱藏層狀態。式(4)中,Ct ? 1 代表上一個時刻的細胞記憶值。符號 σ 代表 Sigmoid 函數,符號 tanh 代表 hyperbolic tangent 函數。符號·代表矩陣乘法(matrix multiplication),而符號 * 代表元素積(element-wise product)。
再根據式 (5) 計算第 t 個時刻的隱藏層狀態 ht。
![]() |
Sigmoid 輸出層對 LSTM 模塊最后時刻的隱藏層狀態 hT 進行處理以輸出二分類結果。
![]() |
式中,who 和 bho 是基于 sourceData 預訓練模型時輸出層的權重和偏置參數。
損失函數是真實標簽 y 與預測值的交叉熵。隨機初始化所有參數,并以最小化損失函數為優化目標對所有參數進行調整。通過多次迭代優化,得到最小的損失值及相應參數值。
(2)基于 targetData 轉換成目標疾病預后模型:該環節中,LSTM 模塊的輸入是 targetData 第 t 個時刻的數據 Xt。通過式 (7)~(11) 計算第 t 個時刻的隱藏層狀態。
![]() |
![]() |
![]() |
![]() |
![]() |
式(7)~(10)中,權重、
、
、
和偏置
、
、
、
是可訓練的模型參數。
接著對 LSTM 模塊最后一個時刻的隱藏層狀態進行處理,得到目標模型的預測值
。
![]() |
式中,和
是 targetData 訓練目標模型時輸出層的權重和偏置參數。
損失函數是真實標簽 z 與預測值的交叉熵。根據預后模型原型對 LSTM 模塊參數進行初始化,同時隨機初始化 Sigmoid 輸出層,再以最小化損失函數為優化目標調整所有參數。通過多次迭代優化,得到最小損失值及最優目標模型參數值。
圖3 給出了 transLSTM 算法的完整訓練過程。

transLSTM 算法訓練具體操作流程如下:
1)參照圖2 設置 LSTM 預后分類模型的結構。
2)初始化模型參數。權重參數采用 Glorot 均勻初始化方法,LSTM 遺忘門的偏置參數初始值設為 1[25],其余偏置參數初始值均設置為 0。
3)用 sourceData 訓練出模型的原型。
for j=1:max_epochs
輸入模型計算損失函數值 loss
通過 BPTT 更新一次模型參數
if (j < max_epochs) and (loss 沒有持續下降)
break;# 跳出循環,即 early stopping
end
end
4)再次初始化模型參數。復制步驟 3)訓練完畢得到的參數終值作為 LSTM 隱藏層參數初始值,Sigmoid 輸出層的權重參數采用 Glorot 均勻初始化,偏置參數初始值設為 0。
5)用 targetData 樣本微調模型。
for j=1:max_epochs
輸入模型計算損失函數值 loss
通過 BPTT 更新一次模型參數
if (j < max_epochs) and (loss 沒有持續下降)
break;# 跳出循環,即 early stopping
end
end
2 算法驗證
2.1 實驗方案
為了評估 transLSTM 算法的性能,本文開展了兩個階段的測試:第一階段基于公開的 ICU 數據庫 MIMIC-Ⅲ[26]進行多個疾病組的測試;第二階段將其應用于常見的重癥疾病——膿毒癥,驗證算法的實際效果。
第一階段,transLSTM 模型的目標是通過患者入院后連續 7 天的 50 個常用臨床指標數值,判斷患者是否生存超過 28 天。首先提取 MIMIC-Ⅲ數據庫中住院不少于 7 天的 28 743 份病例,再根據病例的第一診斷疾病的國際疾病分類(International Classification of Diseases,ICD)[27]編碼,將病例歸類成若干疾病組。為了保證模型的可靠性,本研究選擇 28 天生存病例數量和非生存病例數量都大于 50 的疾病組作為目標領域,相應疾病組的病例作為 targetData,而數據庫中其他病例組合成為 sourceData。符合條件的共有 7 個疾病組,其基本情況見表1。這些疾病組依次作為目標領域,形成 7 個目標領域,由此構成 7 組不同的數據組織和模型測試方案:第 1 組測試中,非 A 組病例作為 sourceData 訓練出模型原型,接著 A 組病例作為 targetData 對參數進行微調以確定 A 疾病的預后模型;第 2 組測試中,作為 sourceData 的非 B 組病例訓練得到模型原型,作為 targetData 的 B 組病例再確定 B 疾病的預后模型;以此類推。采用 20 次重復實驗。每次實驗從 targetData 中隨機抽取 90% 作為訓練集,剩下 10% 作為測試集。

第二階段,transLSTM 模型的目標是通過膿毒癥患者入院后連續 7 天的若干預后指標數值,預測膿毒癥患者入院后是否生存超過 28 天。膿毒癥是感染引起的全身炎癥反應綜合征,具有病情兇險、死亡率高的特點,是 ICU 中常見的一種重癥疾病[28]。其預后指標包括體溫、心率、呼吸頻率、收縮壓、平均動脈壓(mean arterial pressure,MAP)、空腹血糖、谷草轉氨酶(aspartate aminotransferase,AST)、谷丙轉氨酶(alanine aminotransferase,ALT)、總膽紅素、白蛋白、血尿素氮(blood urea nitrogen,BUN)、肌酐(creatinine,Cr)、K+、Na+、Cl?、白細胞、血紅蛋白、血細胞比容、Plt、pH、PaCO2、PaO2、BE、動脈 FiO2、PaO2/FiO2 和血乳酸。臨床上,膿毒癥多由循環系統、呼吸系統、消化系統和泌尿生殖系統的感染引起,而且身患膿毒癥時,代表循環系統的心率增加、MAP 下降,代表呼吸系統的呼吸頻率增加、PaO2/FiO2 下降,代表消化系統的膽紅素增加、AST 和 ALT 升高,而代表泌尿生殖系統的 BUN 和 Cr 升高、尿量減少。綜上所述,循環系統、呼吸系統、消化系統和泌尿生殖系統都與膿毒癥存在相關性,可作為該階段 transLSTM 模型的源領域。
“嚴重膿毒癥/膿毒性休克早期預警體系研究”項目納入 2013 年 10 月至 2015 年 9 月浙江醫院 ICU 嚴重膿毒癥/膿毒性休克的成年患者( ≥ 18 歲),共 497 例。膿毒癥診斷符合 2012“拯救膿毒癥運動”(Surviving Sepsis Campaign,SSC)指南的膿毒癥診斷標準[29]。該項目通過醫院的醫學倫理委員會審核,得到所有患者的知情同意。為了驗證模型的臨床應用效果,以上述 497 份膿毒癥病例樣本集為 targetData,并將 MIMIC-Ⅲ數據庫中住院至少 7 天且第一診斷疾病屬于膿毒癥相關系統疾病的 16 576 份病例作為 sourceData。采用 20 次重復實驗。為了評估訓練樣本數量對算法的影響,每次實驗從 497 份膿毒癥病例中選取 40% 樣本作為測試集,從其余樣本中隨機選取 50、100、150、200、250 個樣本作為訓練集。
此外,為了分析更大數量目標訓練樣本對算法的影響,本研究從 MIMIC-Ⅲ數據庫中提取住院至少 7 天的病例,其中 4 442 份膿毒癥(ICD-9 編碼前三位為“038”)病例作為 targetData,非膿毒癥而第一診斷疾病屬于膿毒癥相關系統疾病的病例作為 sourceData,進行實驗。從這 4 442 份膿毒癥樣本中選取 30% 樣本作為測試集,其余樣本中選取 200、400、600、800、1 000、1 500、2 000、2 500、3 000 個樣本作為訓練集。
2.2 評估設置
本文提出的 transLSTM 算法與傳統 LSTM 算法(僅用 targetData 訓練 LSTM 模型的方法,記為 targetLSTM)進行比較。為了評估算法的預測精度,根據測試集的預測結果計算并比較兩種算法的 ROC 曲線下面積(area under ROC curve,AUROC)、precision-recall 曲線下面積(area under precision-recall curve,AUPRC)、靈敏度、特異度及正確率指標。同時,通過迭代次數評估算法的計算效率。
算法超參數設置為:LSTM 模塊的神經元個數為 64,學習率為 0.001,最大迭代次數為 100,采用 AdamOptimizer 優化器。
所有實驗在配置為 NVIDIA GeForce GTX 1080Ti GPU 以及 i7-6700 CPU、8G RAM 的計算機上用 Python 3.6 編程實現。在 Tensorflow1.7 平臺上設計模型網絡結構并實現迭代優化。
3 測試結果
3.1 基于 MIMIC-Ⅲ數據庫的測試結果
基于 MIMIC-Ⅲ數據庫所有疾病組的測試結果列于表2 中。A~G 組測試中,transLSTM 的 AUROC 值比 targetLSTM 分別高 0.03、0.04、0.02、0.04、0.03、0.07、0.03,其 AUPRC 值比 targetLSTM 分別高 0.05、0.06、0.05、0.07、0.06、0.14、0.08。transLSTM 算法在 C 組、D 組、E 組、F 組、G 組測試中的靈敏度、特異度、正確率都明顯優于 targetLSTM 算法;而 A 組測試中,相比 targetLSTM 算法,transLSTM 的靈敏度更高,特異度、正確率與之接近;B 組測試中,transLSTM 算法的靈敏度、正確率高于 targetLSTM,兩個算法的特異度相近。采用 LSTM 流行變體——門控循環單元(gated recurrent unit,GRU)[30]為預后模型隱藏層模塊時,非遷移算法 targetLSTM(G) 和遷移算法 transLSTM(G) 比較具有類似的結果。所有疾病組測試中,相比非遷移的 targetLSTM(G) 模型,遷移模型 transLSTM(G) 均取得更高的 AUROC 值和 AUPRC 值。

A~G 組的多次重復實驗平均迭代次數列于表3 中。從表中看到,A~G 組測試中,transLSTM 的迭代次數都比 targetLSTM 少,分別是 targetLSTM 迭代次數的 48%、47%、56%、45%、56%、64%、39%。采用 GRU 為預后模型隱藏層模塊的 targetLSTM(G) 和 transLSTM(G) 算法的迭代次數呈現出類似的差異。所有疾病組測試中,相比非遷移的 targetLSTM(G) 模型,遷移模型 transLSTM(G) 均具有更少的迭代次數。

3.2 應用于膿毒癥疾病的死亡率預測結果
從圖4 看到,以膿毒癥項目的膿毒癥樣本集為目標數據集時,隨著目標訓練樣本數量的增加,targetLSTM 算法和 transLSTM 算法預測膿毒癥患者 28 天生存狀態的 AUROC 值都不斷上升。50~250 個目標訓練樣本時,transLSTM 算法的 AUROC 始終高于 targetLSTM。50 個目標樣本得到的 transLSTM 模型的 AUROC 指標優于 200 個目標樣本訓練出的 targetLSTM 模型;采用 100 個目標樣本的 transLSTM 算法可達到 250 個目標樣本 targetLSTM 模型的分類效果。同時,targetLSTM(G) 算法和 transLSTM(G) 算法的對比結果與上述結果類似。

從圖5 看到,以 MIMIC-Ⅲ數據庫膿毒癥樣本集為目標數據集時,隨著目標訓練樣本數量的增加,targetLSTM 和 transLSTM 算法的 AUROC 都不斷上升。200~2 000 個訓練樣本時,transLSTM 算法的 AUROC 值大幅超過 targetLSTM:200 個目標樣本得到的 transLSTM 模型的 AUROC 值可達到 800 個目標樣本訓練出的 targetLSTM 模型的水平;transLSTM 模型僅需 600 個目標樣本即可達到 2 000 個目標樣本 targetLSTM 模型的分類效果。而目標訓練樣本數量上升至 2 500 個及以上時,兩個模型的 AUROC 值十分接近。同時,targetLSTM(G) 算法和 transLSTM(G) 算法的對比結果與上述結果類似。

為了進一步分析 transLSTM 算法的有效性,本文還觀察了圖5 對應的模型訓練過程中的參數變化范圍。對于 targetLSTM 算法和 transLSTM 算法,其迭代過程中 LSTM 層參數初始值與終值之差的絕對值記為 target_range 和 trans_range。將 target_range 減去 trans_range,取均值得到 mean_delta_range。由圖6 看到,目標訓練樣本數量為 200~3 000 時,mean_delta_range 都為正值,即 target_range > trans_range。說明不管目標訓練樣本數量多少,相比 targetLSTM 模型,遷移模型 transLSTM 的模型參數調整范圍總是更小。這與 transLSTM 算法中微調方式設計的初衷完全相符。

4 討論
由表2 可知,在 MIMIC-Ⅲ數據庫 A~G 組的測試中,transLSTM 算法的 AUROC、AUPRC 指標均優于 targetLSTM,其 AUROC 指標比 targetLSTM 算法高出 0.02~0.07,其 AUPRC 指標超過 targetLSTM 算法 0.05~0.14。以上數據表明 transLSTM 算法的泛化性好,該算法在 ICU 臨床預后方面具有性能優勢,能夠為治療管理決策提供更有效的輔助工具。通過表3 可知,在 A~G 組測試中,transLSTM 算法的迭代次數僅為 targetLSTM 迭代次數的 39%~64%,說明其訓練速度更快。在膿毒癥疾病的應用中,僅 100 個訓練樣本的 transLSTM 模型預測精度與 250 個訓練樣本的 targetLSTM 模型相當(見圖4),600 個訓練樣本的 transLSTM 模型預測精度與 2 000 個訓練樣本的 targetLSTM 相當(見圖5)。為了獲取相同的預測性能,transLSTM 所需要的膿毒癥樣本數量遠小于 targetLSTM,說明 transLSTM 算法能夠降低對目標樣本數量的要求。綜上所述,相比傳統的 targetLSTM 算法,基于遷移學習框架的 transLSTM 算法具有預測精度更高和訓練速度更快的優點,且對目標樣本數量的要求更低。
transLSTM 模型的優勢可從兩方面進行理解:① 源領域疾病與目標領域疾病雖是樣本概率分布不同的兩類疾病,但同屬 ICU 疾病,其臨床指標的數值高低和變化趨勢與患者身體狀況的對應關系是一致的,說明源領域與目標領域之間具有相關性,因此能夠保證遷移學習的有效性;② transLSTM 算法通過源領域數據為目標模型的訓練提供了一個比隨機初始化更合理的起始點,所以能夠以更少的迭代次數(見表3)和更小的模型參數調整范圍(見圖6)逼近最優值。
VC 維是用于評價算法復雜度的指標[31],樣本量/VC 維 < 20 代表樣本量不足[32-34]。根據實踐規律,算法 VC 維與算法中能夠自由變動的參數數量大約相等,因此本文預后模型的 VC 維≈預后模型的參數數量 > LSTM 層參數數量 = ((64 + 26)*64 + 64)*4 = 23 296。若僅靠膿毒癥項目中的 497 個膿毒癥樣本建立預后模型,則樣本量/VC 維 < 497/23 296 = 0.021,遠小于 20,說明樣本量是嚴重不足的。若采用遷移學習框架的 transLSTM 模型,則模型中隨機初始化的參數數量為 65。因 497/65 = 7.65,比 0.021 有大幅提高,所以 transLSTM 能夠解決單病種樣本量少導致模型過擬合、預測誤差大的問題。
5 結語
本文針對重癥疾病樣本數量少容易導致預后模型過擬合的問題,提出了基于遷移學習框架的遷移長短時程記憶算法 transLSTM。目前缺乏遷移學習應用于小樣本重癥疾病預測的相關研究。transLSTM 算法采用微調技術實現不同疾病預后模型的信息遷移,借助相關疾病大數據輔助構建小樣本目標病種有效模型。它利用相關疾病樣本預訓練部分模型參數,再用目標疾病樣本進一步調整網絡以轉換成目標模型。基于 MIMIC-Ⅲ數據庫測試以及應用于膿毒癥疾病的結果表明,相比傳統的 targetLSTM 模型,基于遷移框架的 transLSTM 模型具有更高的預測精度和更快的訓練速度,取得相同預測性能所需的樣本量更少。遷移模型 transLSTM 為構建有限樣本的臨床預測模型提供了一種行之有效的思路,有望推動今后小樣本疾病預測模型的技術發展和應用拓展。
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
引言
隨著信息技術的高速發展和醫院信息系統的日益普及,大量臨床資料得以電子化存儲和高效使用。基于患者臨床數據利用機器學習技術建立的臨床預測模型,能夠為醫生評估病情和確定治療管理方案提供決策支持。對于持續監測的患者生理指標構成的臨床時間序列數據,長短時程記憶(long short-term memory,LSTM)算法[1]能夠捕捉其中的變化趨勢信息,近年來在醫學上的研究和應用進展迅速[2-12]。Lipton 等[3]基于 10 401 份兒童病例,建立了 128 種疾病診斷的 LSTM 模型,能夠判斷患者是否患急性呼吸窘迫、充血性心力衰竭和腎衰竭等疾病。Harutyunyan 等[6]利用 42 276 份病例的時間序列數據,設計了基于 LSTM 的多目標學習模型,實現了多個臨床最終事件的預測功能。Baytas 等[9]提出能適應不規則采樣時間間隔的 LSTM 網絡,以提取患者特性,實現了患者的聚類分組。Reddy 等[12]針對狼瘡患者構建了 LSTM 模型,以準確預測其 30 天再入院概率。
大部分醫學領域的 LSTM 應用都是基于大量臨床樣本,但對于單病種,尤其是重癥疾病,其樣本量往往比較少。樣本量不足會導致 LSTM 模型過擬合、預測誤差大、不穩定,甚至難以構建多層復雜 LSTM 模型。因此,目前 LSTM 算法在單病種、少樣本量臨床預測模型的應用中受到了嚴重制約。
大樣本臨床數據所獲得的知識能解決小樣本量疾病應用中數據稀缺的問題,而遷移學習為疾病間的信息遷移提供了一種技術框架。傳統機器學習是基于目標領域數據訓練出目標模型,它要求目標領域有足夠數量的樣本才能保證模型的準確性和可靠性;而遷移學習是利用多個領域間的相關性,將源領域數據中學習到的知識遷移至目標領域以輔助目標模型的訓練,通過源領域知識和目標領域數據相結合的方式,降低模型對目標領域樣本量的需求[13-16]。目前,遷移學習在計算機視覺、自然語言、推薦系統等領域的應用都取得了顯著進展[13-22]。計算機視覺領域,遷移學習被廣泛應用于目標識別、圖像分類和人體動作識別等場景;自然語言領域,遷移學習成功應用于情感分類、垃圾郵件檢測和多語言文本分類等任務;遷移學習還應用于推薦系統,例如新上映電影的個性化推送。
遷移學習可利用大樣本量所獲得的知識解決小樣本量應用中數據稀缺、知識稀缺等瓶頸問題[23],在目標領域樣本采集困難而相關領域樣本數量大的情況下具有顯著優勢,因此可應用于小樣本的重癥疾病預后模型。但目前相關研究較為缺乏,一系列關鍵技術還有待探索。
本文提出基于遷移學習框架的遷移長短時程記憶算法(long short-term memory transferring algorithm,transLSTM),利用不同疾病之間的相關性,通過多病種重癥監護室(intensive care unit,ICU)大數據集的信息遷移輔助有限樣本特定疾病預后模型的構建。該算法采取基于模型的遷移策略,運用微調[24]技術以實現預后模型間的信息遷移。首先基于源領域疾病的數據集建立預后模型原型,再傳遞模型框架及部分模型參數,最后用目標疾病的數據集對所有模型參數進行調整以轉換成目標疾病預后模型。
1 遷移長短時程記憶算法
本文選用 ICU 中多病種的時序數據集為源領域,某種重癥疾病為目標領域。源任務與目標任務是預測患者進入 ICU 第 28 天的生存狀態,以評價疾病嚴重程度。transLSTM 算法首先基于相關疾病數據集(記為 sourceData)訓練出預后模型的原型,再根據原型對目標疾病預后模型的部分參數進行初始化,最后用目標疾病數據集(記為 targetData)對模型參數進行細微調整,從而得到目標模型。
假設 sourceData 中有 N1 個樣本,第 i 個樣本為。其中 Ai 包含該樣本 T 個時刻 D 個臨床指標的數值,可表示為
。
包含 D 個臨床指標的數值,可表示為
。第 i 個樣本的目標標簽
,取值 0 代表 28 天生存,取值 1 則代表 28 天內死亡。假設 targetData 中有 N2 個訓練樣本,第 i 個樣本為
。其中 Bi 的數據結構與 sourceData 中的 Ai 相同,包含該樣本 T 個時刻 D 個臨床指標的數值,可表示為
。
可表示為
。與 sourceData 中的 yi 含義一樣,zi 代表該樣本的 28 天生存狀況,取值 0 是生存,取值 1 則是死亡。
transLSTM 算法的訓練過程包括兩個環節:
(1)基于 sourceData 構建預后模型的原型:預后模型的結構由 LSTM 隱藏層和 Sigmoid 輸出層兩個部分構成。LSTM 模塊的結構如圖1 所示,預后模型的結構如圖2 所示。


LSTM 模塊的輸入為 Ut,即第 t 個時刻的 sourceData。通過式(1)~(4)依次計算遺忘門 ft、輸入門 it、輸出門 ot 以及當下時刻的細胞記憶值 Ct。
![]() |
![]() |
![]() |
![]() |
式(1)~(4)中,權重 wf、wi、wo、wc 和偏置 bf、bi、bo、bc 是可訓練的模型參數,ht ? 1 是上一個時刻的隱藏層狀態。式(4)中,Ct ? 1 代表上一個時刻的細胞記憶值。符號 σ 代表 Sigmoid 函數,符號 tanh 代表 hyperbolic tangent 函數。符號·代表矩陣乘法(matrix multiplication),而符號 * 代表元素積(element-wise product)。
再根據式 (5) 計算第 t 個時刻的隱藏層狀態 ht。
![]() |
Sigmoid 輸出層對 LSTM 模塊最后時刻的隱藏層狀態 hT 進行處理以輸出二分類結果。
![]() |
式中,who 和 bho 是基于 sourceData 預訓練模型時輸出層的權重和偏置參數。
損失函數是真實標簽 y 與預測值的交叉熵。隨機初始化所有參數,并以最小化損失函數為優化目標對所有參數進行調整。通過多次迭代優化,得到最小的損失值及相應參數值。
(2)基于 targetData 轉換成目標疾病預后模型:該環節中,LSTM 模塊的輸入是 targetData 第 t 個時刻的數據 Xt。通過式 (7)~(11) 計算第 t 個時刻的隱藏層狀態。
![]() |
![]() |
![]() |
![]() |
![]() |
式(7)~(10)中,權重、
、
、
和偏置
、
、
、
是可訓練的模型參數。
接著對 LSTM 模塊最后一個時刻的隱藏層狀態進行處理,得到目標模型的預測值
。
![]() |
式中,和
是 targetData 訓練目標模型時輸出層的權重和偏置參數。
損失函數是真實標簽 z 與預測值的交叉熵。根據預后模型原型對 LSTM 模塊參數進行初始化,同時隨機初始化 Sigmoid 輸出層,再以最小化損失函數為優化目標調整所有參數。通過多次迭代優化,得到最小損失值及最優目標模型參數值。
圖3 給出了 transLSTM 算法的完整訓練過程。

transLSTM 算法訓練具體操作流程如下:
1)參照圖2 設置 LSTM 預后分類模型的結構。
2)初始化模型參數。權重參數采用 Glorot 均勻初始化方法,LSTM 遺忘門的偏置參數初始值設為 1[25],其余偏置參數初始值均設置為 0。
3)用 sourceData 訓練出模型的原型。
for j=1:max_epochs
輸入模型計算損失函數值 loss
通過 BPTT 更新一次模型參數
if (j < max_epochs) and (loss 沒有持續下降)
break;# 跳出循環,即 early stopping
end
end
4)再次初始化模型參數。復制步驟 3)訓練完畢得到的參數終值作為 LSTM 隱藏層參數初始值,Sigmoid 輸出層的權重參數采用 Glorot 均勻初始化,偏置參數初始值設為 0。
5)用 targetData 樣本微調模型。
for j=1:max_epochs
輸入模型計算損失函數值 loss
通過 BPTT 更新一次模型參數
if (j < max_epochs) and (loss 沒有持續下降)
break;# 跳出循環,即 early stopping
end
end
2 算法驗證
2.1 實驗方案
為了評估 transLSTM 算法的性能,本文開展了兩個階段的測試:第一階段基于公開的 ICU 數據庫 MIMIC-Ⅲ[26]進行多個疾病組的測試;第二階段將其應用于常見的重癥疾病——膿毒癥,驗證算法的實際效果。
第一階段,transLSTM 模型的目標是通過患者入院后連續 7 天的 50 個常用臨床指標數值,判斷患者是否生存超過 28 天。首先提取 MIMIC-Ⅲ數據庫中住院不少于 7 天的 28 743 份病例,再根據病例的第一診斷疾病的國際疾病分類(International Classification of Diseases,ICD)[27]編碼,將病例歸類成若干疾病組。為了保證模型的可靠性,本研究選擇 28 天生存病例數量和非生存病例數量都大于 50 的疾病組作為目標領域,相應疾病組的病例作為 targetData,而數據庫中其他病例組合成為 sourceData。符合條件的共有 7 個疾病組,其基本情況見表1。這些疾病組依次作為目標領域,形成 7 個目標領域,由此構成 7 組不同的數據組織和模型測試方案:第 1 組測試中,非 A 組病例作為 sourceData 訓練出模型原型,接著 A 組病例作為 targetData 對參數進行微調以確定 A 疾病的預后模型;第 2 組測試中,作為 sourceData 的非 B 組病例訓練得到模型原型,作為 targetData 的 B 組病例再確定 B 疾病的預后模型;以此類推。采用 20 次重復實驗。每次實驗從 targetData 中隨機抽取 90% 作為訓練集,剩下 10% 作為測試集。

第二階段,transLSTM 模型的目標是通過膿毒癥患者入院后連續 7 天的若干預后指標數值,預測膿毒癥患者入院后是否生存超過 28 天。膿毒癥是感染引起的全身炎癥反應綜合征,具有病情兇險、死亡率高的特點,是 ICU 中常見的一種重癥疾病[28]。其預后指標包括體溫、心率、呼吸頻率、收縮壓、平均動脈壓(mean arterial pressure,MAP)、空腹血糖、谷草轉氨酶(aspartate aminotransferase,AST)、谷丙轉氨酶(alanine aminotransferase,ALT)、總膽紅素、白蛋白、血尿素氮(blood urea nitrogen,BUN)、肌酐(creatinine,Cr)、K+、Na+、Cl?、白細胞、血紅蛋白、血細胞比容、Plt、pH、PaCO2、PaO2、BE、動脈 FiO2、PaO2/FiO2 和血乳酸。臨床上,膿毒癥多由循環系統、呼吸系統、消化系統和泌尿生殖系統的感染引起,而且身患膿毒癥時,代表循環系統的心率增加、MAP 下降,代表呼吸系統的呼吸頻率增加、PaO2/FiO2 下降,代表消化系統的膽紅素增加、AST 和 ALT 升高,而代表泌尿生殖系統的 BUN 和 Cr 升高、尿量減少。綜上所述,循環系統、呼吸系統、消化系統和泌尿生殖系統都與膿毒癥存在相關性,可作為該階段 transLSTM 模型的源領域。
“嚴重膿毒癥/膿毒性休克早期預警體系研究”項目納入 2013 年 10 月至 2015 年 9 月浙江醫院 ICU 嚴重膿毒癥/膿毒性休克的成年患者( ≥ 18 歲),共 497 例。膿毒癥診斷符合 2012“拯救膿毒癥運動”(Surviving Sepsis Campaign,SSC)指南的膿毒癥診斷標準[29]。該項目通過醫院的醫學倫理委員會審核,得到所有患者的知情同意。為了驗證模型的臨床應用效果,以上述 497 份膿毒癥病例樣本集為 targetData,并將 MIMIC-Ⅲ數據庫中住院至少 7 天且第一診斷疾病屬于膿毒癥相關系統疾病的 16 576 份病例作為 sourceData。采用 20 次重復實驗。為了評估訓練樣本數量對算法的影響,每次實驗從 497 份膿毒癥病例中選取 40% 樣本作為測試集,從其余樣本中隨機選取 50、100、150、200、250 個樣本作為訓練集。
此外,為了分析更大數量目標訓練樣本對算法的影響,本研究從 MIMIC-Ⅲ數據庫中提取住院至少 7 天的病例,其中 4 442 份膿毒癥(ICD-9 編碼前三位為“038”)病例作為 targetData,非膿毒癥而第一診斷疾病屬于膿毒癥相關系統疾病的病例作為 sourceData,進行實驗。從這 4 442 份膿毒癥樣本中選取 30% 樣本作為測試集,其余樣本中選取 200、400、600、800、1 000、1 500、2 000、2 500、3 000 個樣本作為訓練集。
2.2 評估設置
本文提出的 transLSTM 算法與傳統 LSTM 算法(僅用 targetData 訓練 LSTM 模型的方法,記為 targetLSTM)進行比較。為了評估算法的預測精度,根據測試集的預測結果計算并比較兩種算法的 ROC 曲線下面積(area under ROC curve,AUROC)、precision-recall 曲線下面積(area under precision-recall curve,AUPRC)、靈敏度、特異度及正確率指標。同時,通過迭代次數評估算法的計算效率。
算法超參數設置為:LSTM 模塊的神經元個數為 64,學習率為 0.001,最大迭代次數為 100,采用 AdamOptimizer 優化器。
所有實驗在配置為 NVIDIA GeForce GTX 1080Ti GPU 以及 i7-6700 CPU、8G RAM 的計算機上用 Python 3.6 編程實現。在 Tensorflow1.7 平臺上設計模型網絡結構并實現迭代優化。
3 測試結果
3.1 基于 MIMIC-Ⅲ數據庫的測試結果
基于 MIMIC-Ⅲ數據庫所有疾病組的測試結果列于表2 中。A~G 組測試中,transLSTM 的 AUROC 值比 targetLSTM 分別高 0.03、0.04、0.02、0.04、0.03、0.07、0.03,其 AUPRC 值比 targetLSTM 分別高 0.05、0.06、0.05、0.07、0.06、0.14、0.08。transLSTM 算法在 C 組、D 組、E 組、F 組、G 組測試中的靈敏度、特異度、正確率都明顯優于 targetLSTM 算法;而 A 組測試中,相比 targetLSTM 算法,transLSTM 的靈敏度更高,特異度、正確率與之接近;B 組測試中,transLSTM 算法的靈敏度、正確率高于 targetLSTM,兩個算法的特異度相近。采用 LSTM 流行變體——門控循環單元(gated recurrent unit,GRU)[30]為預后模型隱藏層模塊時,非遷移算法 targetLSTM(G) 和遷移算法 transLSTM(G) 比較具有類似的結果。所有疾病組測試中,相比非遷移的 targetLSTM(G) 模型,遷移模型 transLSTM(G) 均取得更高的 AUROC 值和 AUPRC 值。

A~G 組的多次重復實驗平均迭代次數列于表3 中。從表中看到,A~G 組測試中,transLSTM 的迭代次數都比 targetLSTM 少,分別是 targetLSTM 迭代次數的 48%、47%、56%、45%、56%、64%、39%。采用 GRU 為預后模型隱藏層模塊的 targetLSTM(G) 和 transLSTM(G) 算法的迭代次數呈現出類似的差異。所有疾病組測試中,相比非遷移的 targetLSTM(G) 模型,遷移模型 transLSTM(G) 均具有更少的迭代次數。

3.2 應用于膿毒癥疾病的死亡率預測結果
從圖4 看到,以膿毒癥項目的膿毒癥樣本集為目標數據集時,隨著目標訓練樣本數量的增加,targetLSTM 算法和 transLSTM 算法預測膿毒癥患者 28 天生存狀態的 AUROC 值都不斷上升。50~250 個目標訓練樣本時,transLSTM 算法的 AUROC 始終高于 targetLSTM。50 個目標樣本得到的 transLSTM 模型的 AUROC 指標優于 200 個目標樣本訓練出的 targetLSTM 模型;采用 100 個目標樣本的 transLSTM 算法可達到 250 個目標樣本 targetLSTM 模型的分類效果。同時,targetLSTM(G) 算法和 transLSTM(G) 算法的對比結果與上述結果類似。

從圖5 看到,以 MIMIC-Ⅲ數據庫膿毒癥樣本集為目標數據集時,隨著目標訓練樣本數量的增加,targetLSTM 和 transLSTM 算法的 AUROC 都不斷上升。200~2 000 個訓練樣本時,transLSTM 算法的 AUROC 值大幅超過 targetLSTM:200 個目標樣本得到的 transLSTM 模型的 AUROC 值可達到 800 個目標樣本訓練出的 targetLSTM 模型的水平;transLSTM 模型僅需 600 個目標樣本即可達到 2 000 個目標樣本 targetLSTM 模型的分類效果。而目標訓練樣本數量上升至 2 500 個及以上時,兩個模型的 AUROC 值十分接近。同時,targetLSTM(G) 算法和 transLSTM(G) 算法的對比結果與上述結果類似。

為了進一步分析 transLSTM 算法的有效性,本文還觀察了圖5 對應的模型訓練過程中的參數變化范圍。對于 targetLSTM 算法和 transLSTM 算法,其迭代過程中 LSTM 層參數初始值與終值之差的絕對值記為 target_range 和 trans_range。將 target_range 減去 trans_range,取均值得到 mean_delta_range。由圖6 看到,目標訓練樣本數量為 200~3 000 時,mean_delta_range 都為正值,即 target_range > trans_range。說明不管目標訓練樣本數量多少,相比 targetLSTM 模型,遷移模型 transLSTM 的模型參數調整范圍總是更小。這與 transLSTM 算法中微調方式設計的初衷完全相符。

4 討論
由表2 可知,在 MIMIC-Ⅲ數據庫 A~G 組的測試中,transLSTM 算法的 AUROC、AUPRC 指標均優于 targetLSTM,其 AUROC 指標比 targetLSTM 算法高出 0.02~0.07,其 AUPRC 指標超過 targetLSTM 算法 0.05~0.14。以上數據表明 transLSTM 算法的泛化性好,該算法在 ICU 臨床預后方面具有性能優勢,能夠為治療管理決策提供更有效的輔助工具。通過表3 可知,在 A~G 組測試中,transLSTM 算法的迭代次數僅為 targetLSTM 迭代次數的 39%~64%,說明其訓練速度更快。在膿毒癥疾病的應用中,僅 100 個訓練樣本的 transLSTM 模型預測精度與 250 個訓練樣本的 targetLSTM 模型相當(見圖4),600 個訓練樣本的 transLSTM 模型預測精度與 2 000 個訓練樣本的 targetLSTM 相當(見圖5)。為了獲取相同的預測性能,transLSTM 所需要的膿毒癥樣本數量遠小于 targetLSTM,說明 transLSTM 算法能夠降低對目標樣本數量的要求。綜上所述,相比傳統的 targetLSTM 算法,基于遷移學習框架的 transLSTM 算法具有預測精度更高和訓練速度更快的優點,且對目標樣本數量的要求更低。
transLSTM 模型的優勢可從兩方面進行理解:① 源領域疾病與目標領域疾病雖是樣本概率分布不同的兩類疾病,但同屬 ICU 疾病,其臨床指標的數值高低和變化趨勢與患者身體狀況的對應關系是一致的,說明源領域與目標領域之間具有相關性,因此能夠保證遷移學習的有效性;② transLSTM 算法通過源領域數據為目標模型的訓練提供了一個比隨機初始化更合理的起始點,所以能夠以更少的迭代次數(見表3)和更小的模型參數調整范圍(見圖6)逼近最優值。
VC 維是用于評價算法復雜度的指標[31],樣本量/VC 維 < 20 代表樣本量不足[32-34]。根據實踐規律,算法 VC 維與算法中能夠自由變動的參數數量大約相等,因此本文預后模型的 VC 維≈預后模型的參數數量 > LSTM 層參數數量 = ((64 + 26)*64 + 64)*4 = 23 296。若僅靠膿毒癥項目中的 497 個膿毒癥樣本建立預后模型,則樣本量/VC 維 < 497/23 296 = 0.021,遠小于 20,說明樣本量是嚴重不足的。若采用遷移學習框架的 transLSTM 模型,則模型中隨機初始化的參數數量為 65。因 497/65 = 7.65,比 0.021 有大幅提高,所以 transLSTM 能夠解決單病種樣本量少導致模型過擬合、預測誤差大的問題。
5 結語
本文針對重癥疾病樣本數量少容易導致預后模型過擬合的問題,提出了基于遷移學習框架的遷移長短時程記憶算法 transLSTM。目前缺乏遷移學習應用于小樣本重癥疾病預測的相關研究。transLSTM 算法采用微調技術實現不同疾病預后模型的信息遷移,借助相關疾病大數據輔助構建小樣本目標病種有效模型。它利用相關疾病樣本預訓練部分模型參數,再用目標疾病樣本進一步調整網絡以轉換成目標模型。基于 MIMIC-Ⅲ數據庫測試以及應用于膿毒癥疾病的結果表明,相比傳統的 targetLSTM 模型,基于遷移框架的 transLSTM 模型具有更高的預測精度和更快的訓練速度,取得相同預測性能所需的樣本量更少。遷移模型 transLSTM 為構建有限樣本的臨床預測模型提供了一種行之有效的思路,有望推動今后小樣本疾病預測模型的技術發展和應用拓展。
利益沖突聲明:本文全體作者均聲明不存在利益沖突。