作者 | 求真務實的
隨著人工智能的不斷發展,安全及合規問題變得越來越重要。當前機器學習比較大的一個局限性在于其學習模型都是基于關聯框架,這種框架存在樣本選擇偏差的問題,且其穩定性也較差。而因果推理模型的出現,給機器學習打開了一個新的思路。
近日,美團技術團隊特別邀請到清華大學計算機學院長聘副教授崔鵬老師,為美團內部同學介紹了因果推斷技術最新的發展趨勢,以及現階段取得的一些成果。本文系崔鵬老師分享內容的文字實錄整理,希望能對大家有所幫助或者啟發。
崔鵬,清華大學計算機系長聘副教授,博士生導師
研究興趣聚焦于大數據驅動的因果推理和穩定預測、大規模網絡表征學習等。在數據挖掘及人工智能領域頂級國際會議發表論文100余篇,先后5次獲得頂級國際會議或期刊論文獎,并先后兩次入選數據挖掘領域頂級國際會議KDD最佳論文專刊。擔任IEEE TKDE、ACM TOMM、ACM TIST、IEEE TBD等國際頂級期刊編委。曾獲得國家自然科學二等獎、教育部自然科學一等獎、電子學會自然科學一等獎、北京市科技進步一等獎、中國計算機學會青年科學家獎、國際計算機協會(ACM)杰出科學家。
背景
人工智能在很多風險敏感的領域有越來越廣泛的應用,包括互聯網、醫療、司法、生產、金融科技等等。風險不僅來自場景本身,也來自越來越嚴格的法律和監管。因此,人工智能技術所帶來的風險值得重視。對人工智能風險的防控,可謂“只知其然,不知其所以然”。大家知道怎樣去做預測,但很難去回答“Why”,比如為什么要做這樣的決策?什么時候可以相信系統的判斷?很多問題的模型我們都無法給出一個相對準確的答案。這樣的話,就會帶來一系列的問題。首先是不可解釋性,這也導致了“人機協同”模式很難在現實世界中落地,比如人工智能技術很難應用于醫療行業,因為醫生不知道系統判斷的依據是什么,所以目前人工智能技術在落地時有很大的局限性。第二,當前主流的人工智能方法基于獨立同分布的假設,這要求模型的訓練集數據和測試集數據來自同一分布,而在實際應用中,很難保證模型會被應用于什么樣的數據中,因為模型最終的性能取決于訓練集和測試集分布的擬合度有多高。第三,人工智能技術在應用于社會性問題時會引入公平性風險,比如在美國,收入、教育等背景完全一致的兩個人,系統判斷黑人的犯罪率可能是白人的十倍。最后是不可回溯性,無法通過調整輸入來獲取想要的輸出,因為推理和預測的過程是不可回溯的。
圖 1
而出現以上問題的主要根源在于:當前人工智能是基于關聯的框架。在基于關聯的框架下,可以得出收入-犯罪率和膚色-犯罪率都是強關聯關系。而在基于因果的框架下,當我們需要判斷某個變量T對輸出Y是否有因果效果時,不是直接度量T和Y的關聯關系,而是在控制住X的情況下去看T和Y之間的關聯關系。比如,在兩組對照組中X(收入水平)是分布是一樣的(要么都有錢,要么都沒錢),然后再通過調整T(膚色)去觀察兩組的Y(犯罪率)是否會有顯著的差異,然后我們會發現黑人和白人的犯罪率并沒有顯著性的差異。那么,為什么在基于關聯的框架中會得出膚色與犯罪率是強關聯關系呢?這是因為大部分黑人的收入都比較低,從而導致整體的犯罪率偏高,但這并不是由膚色導致的。
圖 2
究其根本,問題并不是出在關聯模型上,而是出在如何使用機器學習的方式上。總的來說,產生關聯一共有三種方式,第一種是因果機制,因果關系是穩定、可解釋且可回溯的。第二種是混淆效應,如果X同時導致了T和Y,T和Y之間就會產生虛假關聯。第三種是樣本選擇偏差。比如在狗和草地的案例中,當更換了沙灘環境之后,模型無法識別出狗,這是由于我們選擇了大量草地環境下的狗作為樣本,所以模型會認為狗和草地之間存在關聯關系,這也是一種虛假關聯。
在以上三種方式中,除了因果關系產生的關聯關系是靠譜的,其他兩種方式產生的關聯都不太靠譜。但目前的機器學習領域并沒有區分這三種產生關聯的方式,其中存在著很多的虛假關聯,這就導致了模型的可解釋性、穩定性、公平性、可回溯性都存在一定的問題。如果想要從根本上突破當前機器學習的局限性,就需要用一種更嚴格的統計邏輯,比如使用因果統計去替代原來的關聯統計。
圖 3
把因果推理應用到機器學習層面面臨著很多挑戰,因為因果推理原本研究的范圍主要是在統計領域(包括哲學領域),這些領域所面向的環境都是小數據的控制環境,整個數據的產生過程是可控的。比如一個檢測疫苗是否有效的行為學實驗,我們可以控制哪些人打疫苗,哪些人不打疫苗。但是在機器學習中,數據的產生過程是不可控的。在一個大數據的觀測研究中,我們需要考慮大數據的高維、高噪聲、弱先驗性等因素,數據的產生過程是不可知的,這些對傳統的因果推理框架都帶來了非常大的挑戰。另外,因果推理和機器學習的目標也存在很大的區別:因果推理需要去理解數據的產生機制,而機器學習(包括在互聯網領域的很多的應用)主要是去預知未來到底會發生什么樣的變化。
圖 4
那么,怎樣去彌合因果推理和機器學習之間的鴻溝呢?我們提出了一個因果啟發的學習推理和決策評估的一套方法體系。第一個要解決的問題是如何在大規模數據中識別出其中的因果結構。第二個要解決的問題是在有了因果結構后怎樣去和機器學習做融合,現在的因果啟發的穩定學習模型、公平無偏見的學習模型都是以此為目標。第三個要解決的問題是從預測問題進一步到設計決策機制,怎樣利用這些因果結構去幫助我們做決策上的優化,也就是反事實推理和決策優化機制。
因果推理的兩個基本范式
結構因果模型
圖 5
因果推理有兩個基本范式。第一種范式是結構因果模型(Structure Causal Model),這個框架的核心是怎樣在一個已知的因果圖中去做推理。比如怎樣去識別其中的任意一個變量,這個變量對另一個變量的影響程度是多少。目前已有較為成熟的判斷準則如后門準則(Back Door)、前門準則(Front Door)等去除其中的混淆,通過Do-Calculus方式進行因果估計(Causal Estimation)。目前這種方法面對的核心問題是我們無法在做觀測研究時定義因果圖,雖然在一些領域(比如考古)可以通過專家知識來定義因果圖,但這就又走到了“專家系統”的老路上。總的來說,核心問題還是怎樣去發現因果結構。
圖 6
這里有一個衍生技術是因果發現(Causal Discovery),可以基于條件獨立性檢測和現有的數據去定義因果圖,使用現有的變量去頻繁地做條件獨立性等一系列的獨立性判斷來定義因果圖,這是一個NP問題,可能會出現組合爆炸的問題。這是結構因果模型應用于大規模數據時所面臨的一個瓶頸,最近也有一些研究比如使用可微分因果發現去解決這個問題。
潛在結果框架
第二種范式是潛在結果框架(Potential Outcome Framework),這個框架的核心是不需要知道所有變量的因果結構,而只需要知道其中一個變量對于輸出是否有因果影響,對于其他變量之間的影響不在意,但我們需要知道這個變量和輸出之間有哪些干擾因素(Confounders),并假設其中所有的干擾因素都已經被觀測到。
圖 7
以上就是一些背景知識和理論方面的介紹。接下來,主要講一下我們最近的一些思考和嘗試,以及如何把這兩個范式結合到具體的問題中去。
可微分因果發現以及在推薦系統中的應用
因果發現和問題定義
因果發現的定義是對于給定的一組樣本,其中每個樣本都由一些變量去表征,我們希望通過一些可觀測數據去找到這些變量之間的因果結構。找到的因果圖,可以認為是一個圖模型,從生成式模型的角度來講,我們希望找到一個因果圖使得它能夠按照其中的因果結構去生成這樣的一組樣本,這組樣本的似然性是最高的。
圖 8
這里引入一個叫做Functional Causal Model(FCMs)的概念,所謂的FCM就是,對于某一類變量X,由于因果圖是一個有向無環圖(DAG),這個變量一定有它的父節點,那它的值一定是由它所有的父節點通過一個函數的作用再加上噪聲來生成的。比如在線性框架下,這個問題就變成:怎樣找到一組W,使得X的重構是最優的。有向無環圖的優化一直是一個開放性問題,2018年的一篇論文[1]提出來了一個優化方法:可以在全空間的有向無環圖內去做梯度優化,通過增加DAG限制和稀疏限制(l1或l2正則),使得最終X的重構誤差最小。
圖 9
圖 10
我們在具體實施這個框架時發現了一些問題,這個框架的基本假設是所有變量的噪聲必須是高斯分布,且噪聲的規模應該差不多,如果不滿足這個假設就會出現一些問題,比方說擁有最小重構誤差的結構可能并不是真實值(Ground Truth),這是可微分因果發現方法的一個局限性。我們可以通過施加一個獨立性限制去解決這個問題,把獨立性判斷準則轉化為可優化的形式去進行優化。具體的實現細節在這里不再贅述,感興趣的同學可以閱讀論文[2]。
可微分因果發現在推薦系統中的應用
整個推薦系統存在I.I.D(Independent and Identically Distributed, 獨立同分布)的假設,也就是說用戶和物品的訓練集、測試集需要來自同一個分布,但實際上推薦系統中存在各種各樣的OOD(Out Of Distribution, 分布外)問題。第一種是自然偏移(Natural Shift),比如基于北京、上海的數據訓練得到的模型,在面向重慶的用戶時就不一定有效。第二種是由推薦系統機制引起的非自然偏移(Artificial Shift)。我們希望能提出一種比較通用的方式,去抵抗推薦系統中存在的各種OOD問題或者偏差問題的推薦算法。針對這個問題,我們也做了一些研究工作[3]。在OOD推薦系統中存在一個不變性假設——一個人看到了一個商品后是否購買是不會隨著環境變化而改變的。因此只要保證用戶對物品的偏好不變,就可以使得這樣的不變性假設成立,從而給出比較合理的推薦結果,這是解決OOD問題的核心。
圖 11
如何保證用戶偏好是不變的?有一個基本共識是,不變性和因果關系是存在某種等價性的轉化關系的。如果可以保證一個結構在各種各樣的環境下都具有同等的預測效應,那么這個結構一定是一個因果結構,而且一個因果結構在各種環境下的性能都是相對穩定的。因此,找到不變的用戶偏好,就轉化為一個因果偏好學習的問題。在推薦系統中有一個特殊的結構叫做二部圖,我們需要基于這樣的特殊結構去設計因果發現的方法。在這個最終學到的模型中,只需要輸入用戶的表征,就可以知道這個用戶會喜歡什么樣的物品。
圖 12
圖 13
很顯然,這種方法對于提升推薦系統的可解釋性、透明性以及穩定性都會一定的好處,我們也和很多的方法進行了對比,可以看到,它都有比較明顯的性能提升。
關于OOD泛化和穩定學習的一些思考
OOD問題是機器學習中一個非常基本的問題,之前做的基本上都是基于I.I.D.的假設,雖然遷移學習做了自適應,但因為遷移學習假設測試集是已知的,所以它的主體還是I.I.D.的理論框架。我們從2018年開始在OOD這個方向做了一些研究,首先,OOD的定義是訓練集和測試集不是來自同一個分布,如果訓練集和測試集來自同一個分布那么就是I.I.D.。OOD又可分為兩種情況,如果測試集的分布是已知或部分已知的,就是OOD Adaptation,也就是遷移學習/領域自適應。如果測試集的分布未知,才是真正的OOD泛化問題。這里的“泛化”和機器學習中的“泛化”概念有所不同。機器學習中的“泛化”更多的是在談內插問題,訓練數據內部的插值問題都是“內插”問題,如果要對超出了插值域的X進行預測就是“外插”問題。“外插”是一件比較危險的事情,在什么情況下可以做“外插”呢?如果能夠找到其中的不變性(invariance),就可以做“外插”這件事情。以前在做機器學習的時候,都是在做I.I.D.也就是數據擬合,只需要防止過擬合/欠擬合就好了。而現在如果要解決OOD問題,就要找到其中的不變性。找到不變性有兩個路徑,第一個路徑是因果推斷,因果關系和不變性之間存在等價性,也就是說只要找到了因果結構就可以保證不變性,實際上因果推斷本身就是關于不變性的科學。穩定學習,在某種程度上就是希望模型在做學習和預測時是基于因果推斷的。我們發現,通過對樣本進行重加權就可以使得所有的變量變得獨立,使得一個基于關聯的模型變成基于因果的模型,大家如果感興趣的話,可以去看看相關的論文。第二個路徑是從差異性中找到不變性。在統計中有一個概念是異質性,比方說一個狗的分布有兩個峰,一個峰是沙灘上的狗,一個峰是草地上的狗,既然這兩個峰都代表狗,那么其中一定存在著不變性,不變的那部分就具有OOD泛化能力。數據的異質性是不能被預定義的,我們希望通過數據驅動的方式去找到其中隱含的異質性,在隱含的異質性中找到其中的不變性,而這二者的學習是互相促進的。
圖 14
所謂的穩定學習,就是使用一種分布的訓練集和多種不同的未知分布的測試集,優化的目標是最小化準確率的方差。也就是說假設有一個訓練分布,它內在具有一定的異質性,但沒有對它的異質性進行人為的劃分,在這種情況下我們希望學出一個能夠在各種未知分布下有較好性能表現的模型。我們在去年寫了一篇關于OOD泛化的Survery[4],對這個問題做了比較系統的分析,感興趣的同學可以進行參考。