機器之心報導
編輯:魔王
如果說科學的本質是尋找變量之間的因果關係,那麼過去幾年機器學習的研究和努力依然沒有觸及問題的本質。正如圖靈獎獲得者、貝葉斯網絡之父 Judea Pearl 所言,機器學習不過是在擬合數據和概率分布曲線,而變量的內在因果關係並未得到足夠的重視。如果要真正解決科學問題,甚至開發真正意義上的智能機器,因果關係是必然要邁過的一道坎。最近發表在 Nature Communications 上的一項研究通過建立反事實因果診斷模型,提升了機器學習在醫療診斷領域的效果。
圖靈獎獲得者、貝葉斯網絡之父 Judea Pearl 轉發推薦這篇文章。
近年來,人工智慧和機器學習成為解決不同領域複雜問題的強大工具。在醫療診斷方面,機器學習輔助診斷有望通過大量病人數據提供精確、個性化的診斷,從而革新臨床決策和診斷。
然而,人類醫生的診斷流程與現有的機器學習診斷方法從原理上來說大相逕庭。
在醫療診斷中,醫生需要確定病因,進而向病人解釋症狀。然而,現有的機器學習診斷方法是完全基於相關性的,它可以識別出與病人症狀強相關的疾病。
最近,來自英國數字醫療公司 Babylon Health 的研究人員在《Nature Communications》上發表論文,表明無法將相關性與因果性解耦會導致次優甚至危險的診斷結果。為了克服這一點,該研究將診斷重新形式化為反事實推斷(counterfactual inference)任務,並得到反事實診斷算法。
研究人員將其反事實算法與標準關聯算法(associative algorithm)和 44 名醫生進行性能對比。結果表明,關聯算法的準確率在醫生團隊中能排到 top 48%,而反事實算法可以排到 top 25%,實現了專家級別的臨床準確率。
這一結果表明:因果推理是將機器學習應用到醫療診斷中的重要缺失元素。
論文地址:https://www.nature.com/articles/s41467-020-17419-7#MOESM1
這篇論文先介紹了當前算法診斷方法的底層基本原則和假設;然後詳述了這類方法由於因果混雜(causal confounding)而崩潰的場景,並提出了設計能夠克服這些缺陷的診斷算法的一組原則;最後,研究人員利用這些原則提出了兩種診斷算法,它們均基於必要且充分的因果關係。
關聯診斷
因其形式定義,基於模型的診斷等同於:給出發現結果 ϵ,使用模型 θ 估計 fault component D 的似然:
在醫療診斷中,D 表示疾病,發現結果 ϵ 包括症狀、檢測結果以及相關病史。在對多種可能疾病進行診斷時(如鑑別診斷),潛在疾病按照後驗進行排序。基於模型的診斷算法要麼是判別式的,直接基於輸入特徵 ϵ 建模疾病 D 的條件分布 (1),要麼是生成式的,建模疾病和發現結果的先驗分布,使用貝葉斯規則估計後驗:
判別式診斷模型包括神經網絡和深度學習模型,而生成式模型通常是貝葉斯網絡。
因果診斷
基於人類醫生的診斷流程,這項研究提出了「因果診斷」的定義:
基於病史,識別出最可能導致病人症狀的疾病。
儘管大量文獻將因果推理置於診斷的核心位置,但迄今為止尚未有基於模型的診斷方法使用現代因果分析技術。
利用後驗來識別因果關係在絕大多數因果場景中會導致謬誤的結論(最簡單的因果場景除外),這種現象叫做「因果混雜」(confounding)。
下圖 1 展示了疾病與症狀之間的 3 種不同的因果結構,圖 b 中的 R 即是 D 和 S 的混雜因素。
診斷推理三原則
關聯診斷方法的替代方案是推斷因果責任(或因果歸因)——目標原因 D 導致目標結果 S 的概率。這就需要一個診斷度量 M(D, ϵ),對存在證據 ϵ 的情況下,疾病 D 導致病人症狀的概率進行排序。為滿足這一診斷度量,研究人員提出了以下三個基本原則:
1. 疾病 D 導致病人症狀的可能性應與疾病的後驗似然成比例,
1(一致性);
2. 未導致病人症狀的疾病 D 不構成診斷,M(D, ϵ) = 0(因果性);
3. 能夠解釋更多病狀的疾病應具備更高的可能性(簡潔性)。
反事實診斷
為了量化疾病導致病狀的似然,該研究使用了反事實推斷。研究人員提出兩種反事實診斷度量,分別定義了「expected disablement」和「expected sufficiency」。定理 1 表明這兩種度量均滿足上述三原則。
expected disablement 定義
expected sufficiency 定義
定理 1
新型診斷模型:結構因果模型
該研究使用的疾病模型是貝葉斯網絡(BN),可建模數百種疾病、風險因子和症狀之間的關係。
BN 是一個有向無環圖(DAG),下圖 2a 即是 BN 的一個簡單示例。
BN 疾病模型歷史悠久,而在因果推斷領域中,BN 被更基礎的結構因果模型(SCM)取代。現有的疾病診斷 BN(如 BN2O 網絡)可被表示為 SCM。
Noisy-OR twin 診斷網絡
在構建疾病模型時,通常會在 DAG 結構以外做出一些額外的建模假設,最常用的就是 noisy-OR 模型,參見圖 2b。
這項研究使用 [64,71] 提出的計算反事實的 twin-network 方法,推導出這些模型 expected disablement 和 expected sufficiency 的表達式。該方法在一個 SCM 中表示真實和反事實的變量——即 twin network,基於此我們可以利用標準推斷技術計算反事實概率。相比於 abduction 而言,這一方法大幅分攤了計算反事實的推斷成本。
研究人員將這類診斷模型稱作「twin 診斷網絡」(twin diagnostic network)。
定理 2
實驗
診斷模型和數據集
該研究使用的測試集包含 1671 個臨床場景,這些場景由至少達到全科醫生級別的各組醫生生成。
實驗中所用的反事實算法和關聯算法均使用相同的疾病模型,以確保診斷準確率的差異可完全歸因於所用的 ranking query。
反事實算法 vs 關聯算法
研究人員首先使用後驗 (1)、expected disablement 和 expected sufficiency (5) 對比了排名靠前的疾病的診斷準確率。對比結果參見下圖 3:
從表 1 中可以看出,研究人員按照真實疾病的先驗發生率將臨床場景分類為 very common、common、uncommon、rare 和 very rare。在 common 和 rare 疾病中,反事實算法相比關聯算法有大幅提升,而在 rare 和 very-rare 疾病中,這一性能提升更加明顯,排名分別達到了 29.2% 和 32.9%。
這一提升非常重要,因為罕見病通常更難診斷,包含很多重症病例,而診斷誤差將對這些病例帶來嚴重後果。
與人類醫生進行對比
第二個實驗將反事實算法和關聯算法與 44 名醫生進行了對比。
實驗表明,反事實算法的診斷準確率遠遠高於關聯算法,尤其是對罕見病的診斷方面。關聯算法的性能與醫生的平均水平持平,而反事實算法則處於醫生水平的前 25%。