當前位置:
首頁 > 知識 > 因果關係到底存不存在:反事實和平行宇宙

因果關係到底存不存在:反事實和平行宇宙

選自inference.vc

作者:Ferenc Huszár

機器之心編譯

參與:Nurhachu Null、劉曉坤

本文是 Ferenc Huszár 關於因果推理的系列教程中的第三篇——反事實。反事實(counterfactual)也是一個被重複定義的詞。Judea Pearl 對反事實的定義是:「如果...... 將會......」這種問題的概率性答案。其他人則更頻繁地使用反事實機器學習或者反事實推理來指代與因果分析相關的廣泛性技術。在這篇文章中,作者將聚焦於 Pearl 對反事實的狹義定義。

第二篇:隱藏著的因果關係,如何讓相同的機器學習模型變得不同

反事實

例子 1:David Blei 的選舉例子

已知希拉里·柯林頓沒有贏得 2016 年的總統大選,她在大選前三天沒有訪問密歇根,已知我們知道關於選舉情況的所有事情,那麼,假如希拉里在大選前三天訪問了密歇根,她贏得大選的概率又會如何呢?

讓我們試著分解一下這個問題。我們對以下這個概率感興趣:

假設她會贏得選舉

以以下四件事為條件:

她輸了選舉

她沒有訪問密歇根

其他任何觀察到的相關事實

假設她訪問了密歇根

這是一個奇怪的事情:你同時在假設她是否訪問了密歇根。而且你還對她贏得選舉的概率感興趣。這是什麼鬼?

為什麼量化這個概率是有用的?主要是為了信用分配。我們想知道她為何輸掉了選舉,以及選舉失敗可以歸因於她在大選三天前沒有訪問密歇根的程度。量化這個概率是有用的,這有助於政治顧問在下一次做出更好的決策。

例子 2: 反事實公平

這裡是一個關於反事實的現實應用:評估個人決策的公平性。考慮一下這個反事實問題:

已知 Alice 在工作中沒有得到晉陞,已知她是一名女性,已知我們可以觀察到的關於她的情況和表現的一切事情,那麼,如果 Alice 是男性,她的晉陞概率又會如何?

還是這樣,問這個問題的主要原因是為了確定性別會對我們看到的結果有多大程度的影響。要注意的是,這是一個單獨的公平概念,而不是在總體上評定晉陞在統計上是否公平。或許晉陞系統在整體上是相當公平的,但是在 Alice 的特例中,不公平的特例發生了。

反事實問題基於一個特殊的數據點,在這個例子中是 Alice。

關於這個反事實問題的另一個需要注意的點就是干預(Alice 的性別被奇蹟般地改成了男性)並不是我們在實際中可以實現或者進行試驗的東西。

我的鬍子和我的博士學位

這裡有一個例子,我會在討論中用到,並且這個例子會貫穿這篇文章:我想理解我長鬍子的程度和我獲得博士學位有什麼程度的關聯:

已知我是有鬍子的,我擁有博士學位,以及我們現在所知的關於我的一切,那麼,如果我從未長過鬍子,我會以多大的概率獲得博士學位。

在我開始描述如何把這個表述為一個概率問題之前,讓我們首先思考一下,我們直覺的期望答案是什麼?在這個宏大的計劃中,我的鬍子或許不是我獲得博士學位的一個主要因素。即使有什麼事情阻止我留鬍子,我也會苦苦追尋我的博士學習,並且可能完成學位。所以:

我們期望這個反事實問題的答案會是一個很高的概率,是一個接近於 1 的概率。

觀察性查詢研究

讓我們從最簡單的可以嘗試回答我的反事實問題的地方開始:收集一些個體數據,他們是否有鬍子,是否已婚,是否健壯,是否擁有博士學位,等等。下面是一個描述這麼一個數據集的卡通圖示:

如果我們有這些數據並且用它們做常規的統計機器學習,不做因果推理,我們可能會嘗試估計 p(|=0),即有鬍子的情況下擁有博士學位的條件概率。正如我在圖的底部展示的,這就像是從一列的數值來預測另一列的數值。

但願你們現在了解了足夠多的關於因果推理的東西,知道 p(|=0) 不是我們要尋求的量。如果沒有關於因果結構的額外知識,它就無法推廣到假設的場景和我們所關注的干預。可能還存在隱藏的混淆因素。或許較高的自閉症譜系得分會讓你更有可能長鬍子,它也許會讓你更有可能獲得博士學位。這兩個量是否存在因果關係,並不是很明顯。

干預查詢

在前面的兩篇文章中我們已經了解到,如果我們想要推理干預,就必須以一個不同的條件分布來表達,p(|do(=0))。我們還知道,為了推理這種分布,我們需要的不僅僅是一個數據集,我們還需要一個因果圖。我們在圖中增加一些其他的東西:

這裡,為了說明問題,我在數據上面繪製了一個卡通因果圖,它只是從以前的圖中複製過來的,並不代表鬍鬚和博士學位的一般理論。但我們這裡假設這個因果圖已經描述了現實。

這個因果圖讓我們可以推斷出另一個世界中的數據分布,如果你願意的話,可以推算並行宇宙,在那裡每個人都以某種方式被神奇地掛掉了鬍鬚。你可以想像從這個分布中採樣數據集,如綠色的表所示。我們可以測量這個綠色分布中博士學位和鬍鬚之間的關聯,這正是 p(|do(=0)) 的含義。如表格下方的箭頭所示,p(|do(=0)) 是關於從綠色數據集中的一個列預測另一個列的概率。

p(|do(=0)) 能表達我們尋求的反事實概率嗎?好了,請記住,我們的期望是即使沒有鬍子,我也很有可能獲得博士學位。然而,p(|do(=0)) 討論了在刮掉鬍鬚的干預之後隨機個體的博士學位的情況。我們直觀地期望 p(|do(=0)) 接近博士比例的基本程度 p(),大概是 1-3%。

p(|do(=0)) 討論了一個隨機採樣的個體,而反事實討論的是一個特例。

反事實是「個性化」的,在這種意義下,如果替換成另一個人,結果可能會改變。我父親留著小鬍子,但是他沒有博士學位。我覺得不讓他長鬍子也不會讓他有更多的可能獲得博士學位。所以,他的反事實概率是一個接近於 0 的概率。

反事實概率是因人而異的。如果你從隨機個體中計算它們,然後對概率求平均值,就能得到 p(|do(=0)) 的期望。但是我們現在對多人的期望值不感興趣,而只對計算每個個體的概率感興趣。

反事實查詢

為了徹底地解決反事實問題,我必須超越因果圖,再引入另一個概念:結構方程模型。

結構方程模型

因果圖對哪些變數對任何給定節點具有直接因果影響進行了編碼——我們將這些變數稱為節點的因果父項。結構方程模型更明確地指定了這種依賴性:對於每一個變數,它具有描述每個節點的值與其因果父項的值之間的精確關係的函數。

舉個例子:下面是一個在線廣告系統的因果圖,此圖取自 Bottou 等人的論文。

這些變數實際代表的是什麼並不重要。圖中所示的依賴可以用下面的方程來等價編碼。

對於上圖中的每一個節點,我們現在有一個對應的函數 fi。每個函數的參數就是它的實例化變數的因果父項,例如 f1 計算得到了來自於因果父項 u 的 x,f2 計算得到了來自於其因果父項 x 和 v 的 a。為了允許變數之間的不確定關係,我們還允許每個函數 fi 具有另外的一個輸入?i,你可以認為?i 是一個隨機數。通過隨機輸入?i,f1 的輸出可以在給定固定值 u 的情況下是隨機的,因此產生條件分布 p(x|u)。

結構方程模型(SEM)需要因果圖,因為可以通過查看每個函數的輸入來重建因果圖。它還能得到聯合分布,因為可以通過按順序評估函數從 SEM 中進行「採樣」,在需要的地方插入隨機函數。

在結構方程模型中,一個變數的干預(例如 q),可以通過刪除對應的函數 f4,使用另一個函數來代替進行建模。例如,做 do Q=q0) 會對應著~f4(x,a)=q0 的常數賦值。

回到鬍子的例子

現在我們已經了解了結構方程模型是什麼,我們可以回到鬍子和學位的例子中了。讓我們在圖中增加一些其他東西:

我現在用確定的結構方程模型來建模,在因果圖上用函數 f1,f2,f3 標記。請注意,綠色的結構方程模型和藍色的結構方程模型是一樣的,只是我刪除了 f1 函數,並用一個常量賦值進行替代。但是 f2 和 f3 在藍色模型和綠色模型中是一樣的。

然後我明確了?i 雜訊變數的存在,並且在灰色的表格中展示了它們的數值。如果將第一行?輸入到藍色結構方程模型,則會獲得第一個藍色數據點(0110)。如果將相同的?提供給綠色的 SEM,則會得到第一個綠色數據點(0110)。如果將第二行?提供給模型,則會獲得藍色和綠色表中的第二行,依此類推......

我喜歡將第一個綠色數據點視為第一個藍色數據點的平行孿生點。為了討論干預,我談論了在沒有人留鬍子的平行宇宙進行預測。現在想像一下,對於生活在我們可觀測的宇宙中的每一個人,平行宇宙中都有一個對應的人是他的平行孿生點。你的平行孿生點的每一個方面都是和你一樣的,除了一點:平行孿生點沒有鬍子,而且也沒有任何由鬍子帶來的結果。

我們已經建立了雙數據點的隱喻,我們可以說,反事實就是:

基於觀測到的數據點的特徵來預測未觀測到的雙數據點的特徵。

關鍵是,由於我們在藍色 SEM 和綠色 SEM 中使用了相同的?,所以這是可能的。這引入了一個關於能夠觀測到的環境中的變數和不可觀測的環境中的變數之間的一個聯合分布。綠色表中的列不再獨立於藍色表中的列。你可以使用藍色表中的列來開始預測綠色表中的值,正如下面的箭頭所示。

在數學上,反事實就是下面的條件概率:p(?|?=0,=1,=1,=1,=1)

其中,具有?的變數是未觀測到的(也是不可觀測的)變數,它們存在於反事實的世界,而沒有*的變數是可觀測的。

從數據來看,事實證明,沒有鬍子的鏡子版本的我已經結婚並擁有博士學位,但並不像觀察到的我那麼健壯。

另一種畫圖的方式

這是另一張圖,有些人可能會覺得更有吸引力,特別是那些熟悉 GAN、VAE 和類似的生成模型的人:

SEM 本質上是一種數據生成模型,在這個例子中,它使用了一些雜訊數據 ?1,?2,…然後將它們轉變成觀察變數 (U,Z,X,Y)。這個在上圖的左邊部分展示。現在,如果你想在干預 X=x^的情況下做反事實陳述,你可以構造一個殘缺的 SEM,除了刪除了 f3 並替換為一個常量賦值函數 x=x^之外,它與常規的 SEM 是完全一樣的。這個修正版的 SEM 在上圖中的右邊。如果你將?輸入到殘缺的 SEM 中,你會得到一個變數集 (U?,Z?,X?,Y?),如圖中的綠色區域所示。這些就是孿生點的特徵。(U,Z,X,Y) 和 (U?,Z?,X?,Y?) 中的這個聯合生成模型定義了變數 (U,Z,X,Y,U?,Z?,X?,Y?) 的組成的集合上的聯合分布。那麼,現在你可以計算這個聯合分布中的所有類型的條件概率和邊際概率了。

p(y?|X?=x^,X=x,Y=y,U=u,Z=z) 是一個反事實預測。實際上,因為 X?=x^的概率為 1,所以我們可以丟棄這個條件。

現在是時候指出 Pearl 的符號,do 算符現在被廣泛接受了。

我們也可以使用這個表達來標識干預條件概率 p(y|do(x)):

p(y|do(X=x^))=p(y?|X?=x^)

我們可以看到,干預條件僅僅包含具有*的變數,所以它並不需要 f (U,Z,X,Y,U?,Z?,X?,Y?) 的聯合分布,僅僅需要具有*的變數的邊際分布。因此,為了討論 p(y|do(X=x^)),我們不需要引入 SEM 或者?。

另外,請注意下面的等式:

換句話說,干預條件概率 p(y|do(X=x^)) 是可觀測群體的反事實的平均值。

總結

反事實通常被認為是不科學的,主要是因為它們不是經驗上可測試的。在一般的機器學習中,我們習慣於對數據集進行基準測試,並且我們的預測質量總是可以在某些測試數據集上進行測試。在因果機器學習中,並非所有東西都可以直接測試或根據經驗進行基準測試。對於干預,如果可以的話,最好的測試是運行隨機對照試驗直接測量 p(y|do(X=x)),然後使用這個經驗數據來評估你的因果推論。但是有一些干預在現實中是不可能的。想一想關於性別或種族干預的公平性推理的所有工作。那麼該怎麼做呢?

在反事實的世界中,這是一個更大的問題,因為直接觀察你做出預測的變數是完全不可能的。除了微小的變化之外,你不能回到過去並以完全相同的情況重新運行歷史。根據星際迷航(Star Trek)的說法,你無法前往平行宇宙(至少在 24 世紀之前)。反事實判斷仍然是假設的、主觀的、不可測試的、不可證實的。對於滿足每個人的反事實,可能沒有 MNIST 或 Imagenet 這樣的基準,儘管存在一些好的數據集,它們適用於可以進行顯式測試的特定場景,或者使用模擬器代替「真實」數據。

儘管它不可測試且難以解釋,但人們總是使用反事實陳述,而且直觀地感覺它們對於智能行為非常有用。能夠確定導致特定情況或結果的原因,這對於學習、推理和智能肯定是有用的。因此,我現在的策略是忽略關於反事實的哲學辯論,並且繼續使用它,如果這種預測必須被做出,我知道該使用什麼工具。

本文為機器之心編譯,轉載請聯繫本公眾號獲得授權。

------------------------------------------------

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

還原論方法無法解開意識之謎,理解意識需要整體考慮
人民網人工智慧合作夥伴大會將於12月28日舉行

TAG:機器之心 |