為什麼我要相信你?- 如何向使用者解釋 AI 預測的結果?
論文出處:Why Should I Trust You?”:Explaining the Prediction of Any Classifier
儘管近年來,機器學習在各種應用領域都取得了很大的進展,但最終決定是否使用預測模型的還是使用者,而如果使用者無法信任這個模型,或是預測的結果,那他就不會使用它。一般在做研究的時候,我們大多是用準確度等指標來衡量模型的好壞,但在現實世界中,一般人未必有相關的背景知識,學術的指標無法用來建立一般人對於模型預測結果的信任感。
因此,如何讓使用者願意相信模型預測的結果,並採取行動,越來越受到注目。這可以從產品設計的角度切入,比如說更深入考慮人機互動的準則;而在學術研究方面,可解釋的人工智慧 (Explainable AI) 這個研究領域所關心的,就是如何讓人類了解人工智慧下判斷的理由。2017 年的 NIPS 會議,幾位 AI 領域的專家也針對這個議題激辯:
本論文即提出 LIME (Local Interpretable Model-agnostic Explanations) 這個分析架構,並希望可以套用到所有的模型,讓機器學習所預測的結果可以較容易被人類所理解並接受。以下圖一為例,假設模型透過資料集預測病人感染了流感,作為醫生,他必須要知道模型是基於怎樣的條件下判斷,才有辦法選擇是否相信預測的結果並直接採取行動。而解釋器 (explainer) 在此處的功能,就是為模型預測的結果提供解釋,以求採信於產品的使用者,也就是醫生。
解釋器 (Explainer) 應該要具備的四個特徵
- 可解釋性 (interpretable):解釋器不可或缺的當然就是可解釋性,讓使用者可以輕易理解輸入的變數和輸出結果之間的關係。但若有上百個特徵都對模型有影響,不可能將每個特徵的重要性逐一列出。因此,提供的解釋中的輸入變數可能會與特徵不同。
- 局部忠實 (local fidelity):難以要求在解釋性上要有辦法解釋全局,但至少在我們感興趣的樣本周圍,局部解釋的效果要能夠很接近。
- 不侷限於特定模型 (model-agnostic):agnostic 這個字具有「不可知的」意思。亦即將原始模型視為一個黑盒子,我們對其一無所知,甚至連他是用怎樣的模型訓練的也不曉得。因此,我們的解釋器必須要有辦法解釋任何的模型。
- 具全局觀 (global perspective):「準確性」不一定是一個好的用來衡量模型的指標,所以,我們才需要對於一個預測模型提供多個解釋,來幫助使用者對模型產生信任。
為達到上述目的,作者定義了 LIME (Local Interpretable Model-agnostic Explanations),我將其譯為「不侷限於特定的模型,利用局部可理解性的解釋方法」。LIME 的目標為找出一個可解釋的模型,這個模型對於整體的複雜模型具備可解釋的表現性,並且在感興趣的樣本周圍,局部解釋效果要能夠接近全局。
LIME (不侷限於特定模型,利用局部可理解性的解釋方法)
LIME 主要採用四個步驟:
- 展示可解釋的資料 (Interpretable Data Representations):
- 忠實度和可解釋性間的取捨 (Fidelity-Interpretability Trade-off)
- 局部探索取樣 (Sample for Local Exploration)
- 建立簡單的線性迴歸 (Sparse Linear Explanations)
直觀來說,因為我們希望最後所找到的可解釋性可以適用於各種模型,採用的作法是擾動輸入的變數,然後觀察最終的結果如何因為輸入變數而改變,需注意的是:輸入變數未必和訓練模型所使用的特徵相同。舉例來說,假設我們是使用詞嵌入 (word embedding) 方法訓練模型,但一般人並不理解這個方法,但若是告訴他們某個詞彙在模型訓練後的結果如何,就比較容易被理解。
下圖二的演算法表示式解釋了 LIME 的基本精神,我們可以用這段話來描述他:
假設我們有一個複雜的分類模型 𝑓,為了要解釋他,我們能不能夠找到一個較容易解釋的模型 𝑔,解釋為什麼一個個體 (instance) 𝑥 會被分類到模型 𝑓 所預測的類別,並且在每一個個體的附近,找出局部的決策準則 𝝃,這個準則對於任何的模型 𝑓 都能夠適用。
下圖三則可用來理解上述的 LIME 的精神。假設我們希望使用特徵 X1 與 特徵 X2 來預測一個個體是 + 還是 O,一個複雜但準確的模型 可以得到如下圖很好的分類效果,將藍色和粉紅色分開,粉紅色是 +,而藍色是 O。但我們很難直接去解釋複雜模型 𝑓,因此我們只好找到圖三中虛實線代表的局部區域,解釋為什麼較粗的 + 個體會被模型 𝑓 判斷為 +,為什麼較粗的個體 O 會被模型 𝑓 判斷為 O,模型 𝝃 就是可解釋那些個體的決策模型。這個模型在該個體附近的預測準確度與 𝑓 相當,但離開那個局部區域後,準確度會大幅下降,這也就是上述所說的局部忠實性。
圖四到圖六用圖片分類器的範例來解釋 LIME 的精神。假設我們今天訓練了一個圖片分類器的模型,他可以預測一張照片裡面,可能有哪些物體。然後我輸入下圖這張樹蛙的照片,結果模型回傳有 54% 的機率他是一隻樹蛙,7% 的機率是撞球,以及 5% 的機率是熱氣球,我們如何透過 LIME 來解釋模型為什麼會做出這樣的判斷?
圖五先將原始圖片分解成可解釋的局部特徵。
接下來,我們藉由將某些部分用灰色色塊掩蓋過去來擾動輸入變數,不同的擾動個體預測圖片中有樹蛙的機率皆不同 (圖六中間),然後我們產生一個局部加權過後的線性回歸,最後,我們用正向權重最高的特徵來解釋這個模型的結果,就能理解為什麼模型會做出這樣的判斷
預測的結果真的有辦法被人接受嗎?
論文中也設計實驗來模擬預測的結果是否有辦法被信賴,以書籍和電影的 review 分類器來作為範例,並定義了一個「信賴度 (trustworthiness)」指標,來衡量不同模型受信賴的程度。從下圖七可看出, LIME 的結果不論是在書籍或是電影的資料集,且不論是在任何種類的模型,信賴度都遠勝於其他解釋器。
這篇論文的創新之處在於他提出了一個完整的架構 LIME 來解釋不同的預測模型,讓預測結果更容易被一般人接受,做出決策。然而,他也提出了幾個未來的研究方向:
- 本論文是使用簡單的線性迴歸來建立解釋器,應該也將 LIME 應用到其他的模型例如決策樹來建立決策模型
- 找到局部個體的方式
- 將 LIME 應用到聲音、影像與醫療領域
- 對取樣數目與 GPU 計算能力做最佳化處理,以求可以做到即時的運算