聶文靜 信 倫 李 幟
(中國移動通信有限公司研究院 北京100053) (杭州锘崴信息科技有限公司 杭州310053)
人工智能(Artificial Intelligence,AI)和大數據等技術的發展進一步推動互聯網醫療行業升級[1]。隨著醫療行業信息化水平逐年提升,互聯網技術與醫療行業場景深度融合,傳統醫療服務及運營方式逐漸向移動化、信息化、數字化方向轉變,醫療行業各類數據規模也逐年增加。為保障數據安全合規流通,《中華人民共和國數據安全法》《中華人民共和國個人信息保護法》《中華人民共和國生物安全法》等相關法律法規出臺。醫療行業數據種類較多且絕大部分數據都涉及用戶個人隱私,敏感等級較高,如心電圖、B超等影像數據,身體指標等病例相關數據以及生物基因序列等數據。大部分醫療機構為了防止泄露,很少與其他機構互通數據,甚至機構內部部門之間數據都不能互通。醫療數據資源呈現出“數據孤島”問題,嚴重影響其價值的進一步挖掘和發揮。因此如何平衡數據共享協同的需求與數據安全隱私保護的要求成為需要重點關注的問題。近幾年被業界廣泛關注的聯邦學習(Federated Learning,FL)技術能夠在保證各方數據集不出庫的前提下,協助不同機構的數據集進行聯合分析和建模,以共同挖掘數據潛在價值,聯邦學習技術在醫療行業也得到越來越多的關注和應用。
大部分醫療行業數據集具有明顯的碎片化、孤島化特點,比較適合使用聯邦學習技術來進行分析和挖掘。Xu J、Glicksberg B S和 Su C等[2]主要研究主從架構下縱向聯邦學習在醫療行業應用的典型案例,并總結應用過程中面臨的問題和挑戰。Guo K、Chen T和 Ren S等[3]為解決批量訓練模型時需要消耗大量資源和增量訓練導致災難性遺忘的問題,提出一種適合醫療數據的實時聯邦學習訓練方法。有學者[4]提出一種群體學習訓練醫療圖像數據的方法,而群體學習可以理解為融合邊緣學習和區塊鏈、點對點網絡架構下的一種分布式學習方法。綜上所述,聯邦學習技術打破了不同行業的數據壁壘,不僅可以幫助醫療行業中不同機構數據集在不出庫的情況下共同構建AI模型,以提高醫療圖像AI輔助診斷系統識別率,根據不同機構電子病歷來預測患者健康風險,還可以將患者數據與保險等相關行業數據相結合,以提升醫療行業數據在其他行業的應用度和影響力。
聯邦學習技術本質上是一種分布式機器學習方法,其改變了傳統的集中式學習和數據共享模式,不再需要將不同計算節點的原始數據集中到一起進行模型訓練,而僅需將不同計算節點本地模型的梯度或者模型參數加密后進行聚合,再返回給每個計算節點更新本地模型,經過多輪迭代,得到一個精度達到或接近傳統集中式建模效果的聯邦模型。根據不同數據提供方的數據集特征和標簽分布情況,聯邦學習可分為縱向聯邦學習、橫向聯邦學習和聯邦遷移學習3種類型[5]。橫向聯邦學習適合不同數據提供方的數據集特征相同、客戶群體不同的場景,其架構分為主從式和對等式??v向聯邦學習適合不同數據提供方的數據集特征不同、客戶群體相同的場景。聯邦遷移學習適合不同數據提供方的數據集特征、客戶群體重合度都比較低,甚至部分數據提供方數據集缺少標注信息的場景。目前聯邦遷移學習在醫療領域應用較多的是基于特征的聯邦遷移和基于模型的聯邦遷移[6-7],其中基于特征的聯邦遷移需要在不同數據集中找到共同的特征表示,如可穿戴手勢識別模型中涉及的某些特征,可以用于可穿戴步態識別模型中;基于模型的聯邦遷移可以將某個預測任務中訓練的模型作為另一個預測任務全部或者部分初始模型,如利用公開數據集 ImageNet訓練AlexNet模型參數可以作為醫療影像數據集訓練卷積神經網絡(Convolutional Neural Networks,CNN)的初始參數,實現醫療影像數據集的分類。
心電圖檢測是臨床中常見的體檢項目,通過心電圖機器采集、記錄客戶心臟活動時產生的生物電位變化。醫生通過特殊位置的電位變化,判斷客戶是否存在心電異常的行為。為提高效率,很多學者將AI引入到心電異常檢測項目中,將不同心電圖機器歷史數據匯集到同一個地方(服務器或云端等),構建心電異常檢測AI模型,自動輸出診斷結果。然而部分醫療機構由于規模等客觀原因的影響,有可能采集數據量不足或者缺少部分病例數據等,導致模型不可用。因此不同機構可以采用對等式橫向聯邦模型技術,與其他機構共同完成AI模型的訓練,為敘述方便該模型稱為聯邦心電異常檢測模型。為了防止模型反演攻擊[5]時利用梯度信息反推出原始數據,聯邦心電異常檢測模型僅交互加密的模型信息,其中可以采用差分隱私[8]的方式對共享的參數或者梯度進行加密。根據仿真實驗,在心電數據獨立同分布的情況下,聯邦模型效果接近于集中式機器學習模型,其中集中模型指的是將所有數據匯集到一個地方。不同計算節點的心電數據呈現非獨立同分布時,FedAvg 將表現不穩定[9]。為了解決數據集非獨立同分布對聯邦模型的影響,可以在進行聯邦學習之前增加一個分組流程,即將數據分布相似的計算節點放在一起訓練模型[10]。
醫療機構利用疾病數據開展研究時,經常遇到樣本量不足的問題,但是由于其隱私性較強,難以匯集多家醫療機構數據共同研究。鑒于以上問題,有學者[11]提出一種主從式的橫向聯邦學習框架,并在急性白血病治療的造血干細胞移植后復發風險預測、分析影響前列腺活檢陽性的主要因素等醫療業務場景中落地應用。整個系統分為3部分,見圖1。第1部分為聯邦學習基礎設施層,即由若干個計算節點構成,并將模型訓練與模型預測環境進行隔離。第2部分為評估設施層,即負責聯邦學習訓練過程中參數聚合以及評估不同計算節點的數據貢獻度,根據貢獻度維護計算節點的信譽分數,其中參數聚合協議不再選擇FedAvg,而是根據各個計算節點在統一的驗證集上的性能,選擇性能最好的計算節點聚合模型,并分配給基礎設施層計算節點更新本地模型。第3部分為用戶交互層。該系統較傳統的聯邦學習系統增加了評估設施層,引入激勵機制,根據模型貢獻度為各個計算節點分配權益以及更新信譽分數。該系統收集5 978位患者并分析其5年期間的前列腺癌活檢的數據,從中選擇2 426位患者數據訓練模型。該系統訓練的模型較之前傳統方式的LR和 SBT 模型準確率分別提高 3.41% 和 2.22%[11],也被應用于急性白血病治療的造血干細胞移植后復發風險預測模型等多種罕見病研究。

圖1 系統架構
目前有些學者通過在老年人家中安裝攝像頭、給老年人穿戴傳感器等方式采集老年人日常行為數據,傳遞到中央服務器,構建AI模型,并通過AI模型判斷老年人是否跌倒。然而,攝像頭和傳感器采集的數據隱私性較高,直接傳輸到中央服務器,容易造成數據泄露,為此需要借助聯邦學習技術,在原始數據集不離開終端的前提下構建聯邦AI模型。集中式AI模型需要數據集服從獨立同分布且擁有足夠多的質量較好樣本,才能獲得性能較好的模型,然而每個人的日常行為數據和身體指標數據存在差異性,導致標注成本較高,無法獲得足夠的標注好的樣本數據訓練AI模型,且每個終端采集的數據集也難以保證服從獨立同分布,為此部分學者提出聯邦遷移學習。以下以FedHealth框架[12]為例介紹聯邦遷移學習如何訓練模型。首先,FedHealth框架的中央服務器先收集類似場景的公共數據集,并利用公共數據集訓練模型,得到系統的云模型,并將該模型發送到各個終端,作為其本地模型的初始模型。其次,終端利用本地采集用戶日常數據訓練本地模型,并將其本地模型加密上傳到中央服務器,中央服務器根據收集的本地模型更新云模型,更新后的云模型再下發給各個終端,作為下輪本地模型訓練的初始參數,經過多輪迭代,直至各個終端的本地個性化模型收斂,停止迭代。研究者通過采集30位志愿者的6項活動,獲得10 299個樣本。為了模擬數據集呈現孤島的形式,將志愿者數據分散到不同計算節點上。通過實驗發現應用FedHealth框架訓練的模型與傳統深度學習模型相比,前者的準確率平均高于后者5.3%左右[12]。
醫生通過分析患者的臨床醫療影像判斷其是否處于健康狀態。這種人工判斷方式,工作效率低。為此,醫療機構通過患者圖片數據構建AI模型,自動判別患者的健康狀態。然而,醫療影像的數據需要專業較高的醫生標注,每家機構缺乏足夠的標簽數據訓練AI模型。部分學者提出數據增強技術生成訓練數據,但是生成的數據與真實數據存在一定差異性,模型效果可能受到這些生成數據的影響。對此有研究人員提出一種微分隱私模型[13-14],將差分隱私技術與橫向聯邦學習相結合。具體流程如下:首先,中央參數服務器設置初始系統模型參數,并下發給各個計算節點。其次,各個計算節點訓練本地模型,生成模型參數,并篩選出大于閾值的參數,加上噪聲。再次,各個計算節點將加入噪聲的參數,共享給中央參數服務器,其中為了降低共享量,加密的參數共享前需要先采用稀疏向量技術裁剪傳輸參數。之后中央參數服務器根據計算節點的貢獻,作為系數加權對應的加密參數生成系統參數,并下發給各個計算節點。最后,計算節點更新本地模型,多輪迭代,直至系統模型穩定。微分隱私模型對BraTS 2018數據集的腦腫瘤分割數據進行驗證,結果接近于集中模型,其中該數據集包括285位患者的核磁共振成像掃描數據[13-14]。
隨著國家逐步進入老齡化社會,重大疾病保險逐漸受到人們的關注。但是現有的保險產品定價策略存在保費偏高、個性化不足等問題。為解決該問題,研究者開始引入AI技術,通過分析客戶數據建立個性化保險服務定價模型,其中客戶的身體健康數據是影響保險產品定價的主要因素之一,而保險行業卻無法直接采集客戶健康數據,導致不能收集足夠多的特征數據構建AI模型,因此保險行業需要與醫療行業合作共同構建AI模型。由于保險行業和醫療行業的數據涉及客戶隱私,不能直接將雙方數據匯集來構建AI模型,需要借助縱向聯邦學習構建模型。傳統的縱向聯邦需要可信第3方聚合參數,但是第3方節點不易確定,為此可以采用基于秘密共享與同態加密的縱向聯邦學習,其中秘密分享指k個計算節點將本地需要共享的數據隨機切分為k份,本地僅保留1份,其余傳輸給其他計算節點,則每個計算節點依然有k份數據。每個計算節點計算本地k份數據之和,并將計算的結果傳輸給其他計算節點,則每個計算節點得到k個計算節點共享數據之和。因此不需要第3方節點計算k個計算節點共享數據之和[15],仿真實驗表明縱向聯邦學習結果接近于集中模型。
4.1.1 通信成本高和計算復雜 聯邦學習過程中需要不同的計算節點頻繁交互和計算加密數據,因此其通信成本高、計算復雜。為此不少學者開始從算法角度,優化聯邦學習性能,有學者[16]提出FedAvg和梯度壓縮相結合的方法,使不同計算節點交互的數據量下降了兩個數量級。但是過度降低通信成本將會導致聯邦模型精度的下降。因此,在保證模型精度前提下,如何降低通信成本或者計算復雜度也是聯邦學習研究熱點之一。
4.1.2 安全性與模型精度之間難以平衡 醫療領域的數據和模型都屬于高隱私信息,常見攻擊方式包括模型攻擊、數據攻擊、逃避攻擊等。聯邦學習可以借助多方安全計算和密碼學等方式防止其攻擊,但是保護數據集安全性同時可能需要犧牲模型的精度或者性能。如抵御模型攻擊方面,有學者提出基于差分隱私的聯邦優化算法,在不良藥物預測和死亡預測這兩個場景驗證其安全性和有效率,但是隨著差分隱私保護數據力度增強,模型精度將會降低[17]。
4.1.3 數據集無法滿足獨立同分布 醫療機構數據集受專業性、認知不統一等因素影響,導致不同醫療機構采集的數據集無法滿足獨立同分布。
4.1.4 數據集個性化突出 由于患者身體體質與健康記錄信息存在差異性,相同疾病或診斷結果,患者數據集可能存在較大差異。傳統聯邦學習是基于不同計算點的患者數據訓練統一的模型,該模型可能不足以充分挖掘出不同個體差異性,尤其是穿戴傳感器等個性化較突出的領域。
4.1.5 利益分配問題 聯邦學習在醫療行業應用時都是假設各個醫療機構愿意無償參與系統,實際上數據集本身是醫療機構的重要資產,共享數據集過程都需要成本。各個醫療機構借助聯邦學習實現數據集對外變現的可能,自然會涉及利益分配問題。利益分配不合理將會影響醫療機構繼續參與數據分享的積極性。因此,聯邦學習系統在醫療行業進行商業落地時,除需要考慮系統性能、數據安全性外,還需要增加合理的利益分配策略。
4.2.1 聯邦學習與TEE技術相結合提高聯邦學習性能 可信執行環境(Trusted Execution Enrironment,TEE)相當于在服務器中隔離出一塊安全區域保證程序和數據安全性與完整性,TEE中SGX可以保證數據存儲時為密文,CPU計算時為明文。在TEE上實現聯邦學習,可以簡化傳統的聯邦學習加密方式,降低交互頻率,提高運算速率,缺點是成本比普通服務器高,且安全性是由芯片廠商保證。
4.2.2 個性化聯邦學習 醫療行業不同機構的數據高度異質,傳統聯邦學習得到模型精度不夠,因此需要構建個性化聯邦學習[18],個性化聯邦學習分為兩類,第1類是全局模型個性化,即訓練流程與傳統相同,但是參數初始時與更新時存在差異性,導致最終的模型存在差異性;第2類是個性化訓練模型,即通過改變原有的參數聚合協議,建立計算節點的個性化模型。個性化聯邦尤其適合不同計算節點數據呈現非獨立同分布,但在數據集獨立同分布的場景,模型精度并不優于傳統的聯邦學習。
4.2.3 基于多種加密手段的聯邦學習平衡計算復雜度與模型精度 基于同態加密的聯邦學習安全等級高且不會影響聯邦學習精度,但是計算復雜度過高導致聯邦學習性能較差,比較適合帶寬受限制的環境。差分隱私計算復雜度低,但是安全等級不如同態加密,適合安全性要求不高、性能要求比較高的環境。因此兩者相結合的聯邦學習系統在保證安全性的同時也可以降低計算復雜度。
4.2.4 聯邦學習與區塊鏈相結合構建合理的激勵機制 區塊鏈是分布式的賬本,可信度高,可以防止數據篡改,其與聯邦學習有相似的應用基礎,前者可以保證價值安全轉移,交易記錄不可被篡改,后者是實現數據價值,兩者相結合,根據不同醫療機構參與聯邦學習的貢獻度制定利益分配方案,并將其貢獻度和獲得利益記錄到區塊鏈中,智能合約收到聯邦學習在實際服務中產生的收益后,自動為各個醫療機構分配收益。若每個醫療機構數據異常,也可以到區塊鏈中進行追溯。
聯邦學習打破不同行業數據壁壘,進一步加速醫療行業數據安全流通,其在醫療信息領域應用場景較廣泛。盡管聯邦學習在應用時會遇到一些難題,但是隨著聯邦學習技術的成熟,其可以衍生出多個技術路線去解決這些難題,進一步擴大聯邦學習在醫療信息化領域應用場景,并推動其轉型與發展。