Explainable AI 是什麼?為什麼 AI 下判斷要可以解釋?
本文同步刊登於 Trustable AI 部落格。
可解釋人工智慧(Explainable AI,或縮寫為 XAI)這個研究領域所關心的是,如何讓人類瞭解人工智慧下判斷的理由。特別是近來有重大突破的深度學習技術中,模型是如何做出決定的,一直是個難以回答的問題。最近幾年,不論是 DARPA 開啟了 XAI 5 年研究計劃,或是 IJCAI 2017 舉辦了 Workshop on Explainable AI,都顯示這個問題愈來愈受到重視。
在 2016 年 AlphaGo 與李世乭對戰五番棋的過程中,AlphaGo 多次下出人類圍棋專家未曾想過的棋步。當時觀戰的樊麾曾經評論「這不是人類會下的棋步,我未曾看過人類下出這一步(It’s not a human move. I’ve never seen a human play this move.)」。我們對於 AlphaGo 的棋力可能會有出於好奇心與競賽需要的研究,不過如果人工智慧相關技術要推廣到更多的領域,例如在法院裡協助量刑、在醫療上協助診斷、在保險與金融上判斷一個投資策略的優劣,或是在社會福利政策裡主導資源的分配,我們都會更迫切需要知道模型到底怎麼得出結論的。Samek et al[1] 在研究中,歸納了幾個我們要弄懂 AI 在想什麼的原因:
- 確認它的判斷合理(verification of the system):在關係重大的決策中,我們需要確實知道一個決策的理由是合情合理的。如果演算法只是提供建議做為參考,我們也需要知道演算法建議的理由,才能評估它的意見是否值得參考。例如在醫療上,曾發生過預測感染肺炎機率的模型因為歷史資料的偏誤,誤認為患有氣喘與心臟疾病的人死於肺炎的機率要小於一般健康的人[2]。
- 改良它的算法(improvement of the system):當模型開始解釋自己如何做出判斷,我們會比較知道它有什麼缺失,如何改良它。特別是當模型與資料中存在著偏誤,缺乏解釋的話,可能很難發現這些問題。例如判斷一張圖片裡出現的是狼或是哈士奇犬時,一個不好的模型可能會因為圖片裡出現雪,就判斷圖片裡的是哈士奇犬[3]。
- 從它身上學習(learning from the system):當一套模型從大量的歷史資料裡粹取出真正有用的知識,例如 AlphaGo 真的找到了好的棋步,人類就可以從模型身上學到更多。但這往往需要人類弄清楚模型的答案是如何推導出來的,特別是在尋找自然規律的科學研究中。
- 符合法規要求(compliance to legislation):隨著 AI 系統的影響擴大,可以預期會出現愈來愈多相關的法律規範,其中可能要求運用 AI 技術的服務方對其模型提供解釋,不論是基於人權的要求或是法院判決的要求。例如我們曾提到的歐盟 GDPR 就將在明年實施,其中就規定使用者有「要求解釋的權力」(right to explanation)。
從另一個角度來看,可解釋人工智慧也將開啟許多人類與機器新的合作方式。例如許多領域會嘗試在缺乏足夠資料的情況下,引進機器學習技術,以借重它快速處理大量資料的能力。這時候,可解釋人工智慧能幫助人類判斷什麼時候該讓機器處理,什麼時候又該介入。例如在風險投資等金融領域中[4]:
金融場景內,特彆(別)強調模型的可解釋性,這樣才能把人的風控經驗和直觀感受跟數據表現結果關聯起來。
其實關於解釋人工智慧與機器學習模型的研究,在人工智慧研究很早期開始就在進行,但直到最近才集結成一個研究領域,因此可解釋人工智慧的研究範圍雖然近年來聚焦在深度學習,但也涵蓋其它機器學習模型與人工智慧技術。DARPA 的 XAI 計劃裡,把可解釋人工智慧的技術分成 3 大類[5]:
- Deep explanation:模型在輸出決策結果的同時,也輸出決策背後的解釋。例如 Hendricks et al(2016)[6]裡的模型,不只會對圖片分類,也同時產生一組「因為⋯⋯」英文句子做為解釋。
- Interpretable models:模型本身可以被解釋。Gunning 舉了 probabilistic program induction 與 stochastic and-or-graphs 兩個例子。一般而言深度學習模型不在此類。
- Model induction:就是對黑箱模型找出解釋,方法可能是描述模型的局部行為,或是對模型的類神經網絡架構與參數進行分析。這個與視覺化是目前解釋深度學習模型時最常採用的研究途徑。
這篇文章後半部會聚焦在 model induction,主要討論 LIME 與 LRP 兩個比較常見的作法。以影像辨識為例,LIME 可以分離出影像中的哪些部份能支持辨識的結果,LRP 則可以用熱區圖(heatmap)顯示影像上每個像素對於辨識結果的重要性(relevance)。這兩個作法的優點是比較不受限於模型與網絡架構,解釋結果有容易理解的視覺化呈現。除了 XAI 裡較多人研究的影像辨識之外,LRP 也被用在解釋文件分類、語言翻譯模型等等問題上。
LIME
LIME(Local interpretable model-agnostic explanations)是由 Ribeiro et al(2016)[7]所提出,其背後的假設是,我們基本上能夠理解某些模型,只要它們不要長的太過複雜。例如在影像辨識,可能對 super-pixel 的線性迴歸模型是可以理解的(我們接受「大量俱備某些特徵的圖就是某個東西的影像」這樣的解釋);在文字分類,可能對 bag-of-words 的線性迴歸模型是可以理解的(「大量含有某些關鍵詞的文字就屬於某個分類」)。LIME 就是想辦法用這種可理解的模型去局部 fit 你手上要解釋的模型與預測結果。
我們以影像辨識為例。假設 f 是要被解釋的影像辨識模型,x 是一筆資料(也許是一張照片),f(x) 是模型輸出的結果(也許是「哈士奇犬」這樣的標籤),我們想解釋 f 為什麼會預測 f(x)。依照 LIME 的想法,我們要找一個在 x 附近的行為跟 f 差不多的線性迴歸模型 g 來解釋 f。所謂差不多的意思,就是對於類似 x 的照片,f 的預測結果 f(x) 有很大的機會跟 g 的預測結果 g(x) 是一致的。
所以我們可以在 x 附近隨機找一些樣本資料 z 來訓練 g 這個模型。在 LIME 的作法中,就是從 x 這張影像裡,隨機拿掉一些特徵(隨機取一些 super-pixel),來取得 z。接下來再算出 f(z),做為 z 的標籤。等我們搜集了一堆 z 與 f(z) 的配對,就可以拿來訓練一個線性迴歸模型 g。
這樣的 g 要解釋 f 會有兩個問題,一個是 g 跟 f 可能還相差太多;另一個是 g 本身可能太複雜,例如可能要看非常多的特徵才能下判斷,所以會很難讓人理解。這些問題可以透過好的取樣來試圖解決。
我們可以測量 g 跟 f 的差距。這可以拿 g(z) 跟 f(z) 的差距,用 z 跟 x 的距離做為某種權重(我們希望當 z 愈接近 x 的時候,g 就愈接近 f,所以這時 g(z) 與 f(z) 的差距,權重應該高一些),計算加權總合而得。而 g 本身的複雜度可以用線性迴歸模型的參數向量的長度來測量。對 f 最好的解釋,應該讓這兩個度量的總合為最小。
於是我們要解一個最佳化問題,透過不同的取樣嘗試,讓上述這個值為最小。這個最佳化問題的解答應該是 NP-hard,而 Ribeiro et al 提出一個演算法可以逼近這個解答,得到解釋模型 g。
LIME 有提供 Python 程式,可以參考測試使用。
LRP
LRP(Layer-wise relevance propagation)最早發表於 Bach et al(2015)[8]。一般運用在影像辨識的模型解釋上,LRP 可以計算出輸入的影像資料中,每一個像素(pixel)對於辨識結果的重要性(relevance)。
可以看看 heatmapping.org 的這個 demo。你可以手寫一些阿拉伯數字給模型辨識,辨識結果會同時以熱度圖(heatmap)呈現每個像素的重要性,其中偏紅色的像素就是對結果比較重要的證據(evidence),偏藍色的像素就是反證(negative evidence)。像「3」與「9」這兩個數字的一個重要區別是,「3」的左上方沒有封閉起來。所以如果你寫一個「3」,演算法在解釋「3」這個判斷時,左上方的開口位置往往呈現紅色,表示這個開口位置的現狀(沒有筆跡)是支持「3」這個判斷的重要依據。Heatmapping.org 還提供一些開源程式庫可以測試使用。
事實上,以熱度圖來呈現輸入資料每一個維度的重要性,已經有好幾種作法。Samek et al(2015)[9]就比較過 LRP、sensitivity analysis[10]、deconvolution[11] 三種作法的差異,大致的結論是 LRP 比起 sensitivity analysis 與 deconvolution,解釋力比較好,熱度圖的資料量比較小,亂度也比較低。不過 sensitivity analysis 主要是計算分類函數的 gradient 向量在每一個輸入資料維度上的 norm,所以它呈現的是「哪些維度的變動最能讓預測結果改變」,跟重要性有一點差異。
這些熱度圖的計算都透過某種反向傳播演算法,用輸出結果推導出輸入資料的重要性。LRP 用的演算法還蠻直觀的,原則上就是看預測過程中,前一層的神經元(neuron)對後一層的貢獻(contribution)有多少,依照這個比例,在反向傳播時把後一層的所有 relevance 分配到前一層,一直回推到輸入層。
除了用在影像分類上,Ding et al(2017)[12]利用 LRP 解釋語言翻譯模型,Arras et al(2017)[13]利用 LRP 解釋文字分類模型,顯示 LRP 可以被用在比較多樣的網絡架構上。
Arras et al 很仔細地說明他們如何用 LRP 計算出文件裡的每一個單字對於模型分類的影響,並且用 LRP 給的單字分數,產生一個基於向量的文件語意抽象表示,再利用這個資料設計了一個「模型解釋力」(model explanatory power)的計算方法,比較了兩個文件分類模型,一個基於 CNN、一個基於 SVM,的解釋力。結果顯示兩個模型雖然分類的準確度差不多,但 CNN 的解釋力更高。
- W. Samek, T. Wiegand, and K.-R. Müller, “Explainable Artificial Intelligence: Understanding, Visualizing and Interpreting Deep Learning Models,” arXiv:1708.08296 [cs, stat], Aug. 2017.
- R. Caruana, Y. Lou, J. Gehrke, P. Koch, M. Sturm, andN. Elhadad. Intelligible models for healthcare: Predict-ing pneumonia risk and hospital 30-day readmission.In Proceedings of the 21th ACM SIGKDD InternationalConference on Knowledge Discovery and Data Mining,pages 1721–1730, 2015.
- M. T. Ribeiro, S. Singh, and C. Guestrin, “‘Why Should I Trust You?’: Explaining the Predictions of Any Classifier,” in Proceedings of the 22Nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, New York, NY, USA, 2016, pp. 1135–1144.
- CreditX 氪信創辦人朱明傑在朗迪金融科技峰會的演講,取自《機器學習如何應用於金融領域?》。
- D. Gunning, “Explainable artificial intelligence (xai),” Defense Advanced Research Projects Agency (DARPA), nd Web, 2017.
- L. A. Hendricks, Z. Akata, M. Rohrbach, J. Donahue, B. Schiele, and T. Darrell, “Generating Visual Explanations,” in Computer Vision — ECCV 2016, 2016, pp. 3–19.。
- M. T. Ribeiro, S. Singh, and C. Guestrin, “‘Why Should I Trust You?’: Explaining the Predictions of Any Classifier,” in Proceedings of the 22Nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, New York, NY, USA, 2016, pp. 1135–1144.
- S. Bach, A. Binder, G. Montavon, F. Klauschen, K.-R. Müller, and W. Samek, “On Pixel-Wise Explanations for Non-Linear Classifier Decisions by Layer-Wise Relevance Propagation,” PLOS ONE, vol. 10, no. 7, p. e0130140, Jul. 2015.
- W. Samek, A. Binder, G. Montavon, S. Bach, and K.-R. Müller, “Evaluating the visualization of what a Deep Neural Network has learned,” arXiv:1509.06321 [cs], Sep. 2015.
- D. Baehrens, T. Schroeter, S. Harmeling, M. Kawanabe, K. Hansen, and K.-R. Mueller, “How to Explain Individual Classification Decisions,” arXiv:0912.1128 [cs, stat], Dec. 2009.
- M. D. Zeiler and R. Fergus, “Visualizing and understanding convolutional networks,” in European conference on computer vision, 2014, pp. 818–833.
- Y. Ding, Y. Liu, H. Luan, and M. Sun, “Visualizing and Understanding Neural Machine Translation,” 2017, pp. 1150–1159.
- L. Arras, F. Horn, G. Montavon, K.-R. Müller, and W. Samek, “‘What is relevant in a text document?’: An interpretable machine learning approach,” PLOS ONE, vol. 12, no. 8, p. e0181142, Aug. 2017.