簡單梳理一下機器學習可解釋性(Interpretability)

來自 | 知乎    作者 | 謝天凱

鏈接 | https://zhuanlan.zhihu.com/p/141013178

編輯 | 深度學習這件小事公衆號

本文經作者授權轉載,請勿二次轉發

機器學習可解釋性在學術界也討論了好幾年了,一直想寫一篇關於這個的總結,今天就來儘量用大白話幫大家總結一下這個方面的概念和近些年的發展進度。

關於機器學習可解釋性(Interpretability),又或者是XAI(Explainable Artificial Intelligence )其實就是搞機器學習的研究者們始終存在的一個擔憂:很多現在的深度神經網絡沒有辦法以一種從人類角度完全理解模型的決策。我們知道現在的模型既可以完勝世界圍棋冠軍電競冠軍,圖形識別語音識別接近滿分,然而我們對這些預測始終抱有一絲戒備之心,就是我們因爲不完全瞭解他們的預測依據是什麼,不知道它什麼時候會出現錯誤。這也是現在幾乎所有的模型都沒法部署到一些對於性能要求較高的關鍵領域,例如運輸,醫療,法律,財經等。我們會發現這些領域仍然無法完全相信模型的預測能力,試想一下,如果哪天5級無人駕駛車真的突然問世了,你會真的放棄方向盤上路在車裏睡覺嗎?因此人們現在急於想要探求出的是,我們有沒有辦法去解釋這些模型,從而真正建立人與模型之間的信任。

   什麼是可解釋性(Interpretability)?

對於比較模糊的理論和學科來講,一般開頭都需要摳摳字眼。可解釋性其實是我從Interpretability翻譯過來的,還有一個詞是Explainability。這兩個詞在一開始的時候其實是經常互換的,大家都指的是一個意思,就是對模型的行爲有一個解釋。之後兩個名詞又有了些細微的差別:Interpretability或者Interpretable AI是使本就透明的模型(白盒)通俗易懂,所有經驗水平的用戶都可以明白模型的含義;而Explainabilily或者Explainable AI則是研究者對於黑盒模型的行爲作出人們所能理解的解釋。本文討論是包括這兩種理論的更廣義一些的可解釋性。

那麼也許會有人問,如果可解釋性的目的是把模型的行爲變成人類理解的因果關係,那麼在一個有成千上萬neuron的神經網絡裏,我們細緻地要探究到每一個neuron如何傳播嗎?其實不然。可解釋性不需要知道網絡裏面的每一個數字,每一個矩陣,每一個激活函數。這裏我們又要引出第二個問題,那就是我們爲了什麼而要可解釋性。

   爲什麼要可解釋性?

還記得2019年CVPR的時候一位大佬(名字忘記了)也提過一句關於神經網絡的可解釋性。他認爲也許可解釋性是沒有一個確切的解的:“模型也許像心理學,藝術一樣,或許根本就不可解釋”。這也體現了這個領域很多人持不同的意見。於是我們要思考的是,爲什麼我們要可解釋性?

Google Brian的Been Kim在她的演講中提到一個詞:Fundamental Underspecification(翻譯無能)。大概的意思是,可解釋性不是爲了一個明確的目標(像是一個待優化的目標函數)而存在,而是爲了確保一些方面因爲可解釋性本身而得到保障。一個簡單的例子就是安全方面。我們沒有辦法把安全這個方面量化到一個目標,然後說只要我們達到這個目標,無人車就是100%安全,因爲我們不可能枚舉出所有的不確定性事件危險事件然後我們統一優化他們。而對於模型開發者來說,我們想知道模型性能不佳的根本原因,而不是持續煉丹。這樣的方面還有很多,包括現在的機器學習在保證高性能高精確率的情況下,還要帶有一些人文主義色彩。比如分類器不可以根據種族膚色性別作爲分類的依據,不然的話就扣上歧視的帽子了。

有了可解釋性的必要性,我們就要進一步明確,什麼時候需要可解釋性,什麼時候不需要。需要的時候是當我們考慮模型所涉及的因素的影響是比較模糊的或者沒法形成明確的目標的時候。比如說我們想確保模型是公平的,可靠的等等。當然如果有一天這些方面有了萬全的定義和量化指標的時候,我們也許就不需要可解釋性了。

   如何實現可解釋性?

關於實現可解釋性的方式方法,Kim擺出了一個比較通用的公式來概括我們要做的事:

其中Q是一個解釋性的評價方程,E是實現可解釋性的具體方法。整個過程就是讓我們尋求這樣一種解釋方法:該方法使得給定特定的數據(Data)和針對於某種特定的任務(Task),特定經驗的人羣(Human)擁有對於特定的模型(Model)最大程度上的理解。

基於現在存在的方法,我們可以把實現可解釋性的方法按照訓練模型週期的流程劃分,即分爲模型訓練前,訓練中,訓練後三個階段。

訓練前期的可解釋性的目標可以直接表示爲:

也就是說,在這一過程中,我們要做的就是儘可能地瞭解數據。傳統機器學習理論中我們也知道數據的分佈爲IID是最基本的假設,然而實際上數據的分佈不是。對於訓練前期的可解釋性重點在於數據的分析。用到的方法一般有數據可視化,統計分析數據分佈(MMD)等。

訓練過程的可解釋性目標可以表示爲:

這個過程也同樣可以理解爲,我們如何去打造可解釋的模型。之前也講到了,Interpretable AI和Explainable AI的兩個對可解釋性的闡述有細微差別,那麼這個在訓練過程中一邊創建可解釋性一邊訓練模型其實就是等同於我們創建的就是可解釋的模型,即interpretable的模型,然後基於此,我們追求最好的模型表現。一個最簡單的例子就是決策樹。決策樹是可解釋的,不過我們也知道當決策規則越來越多時,整個樹會變得十分難於維護。類似的還有規則集合(Rule Lists/ Rule Sets)等。他們都有類似的侷限性,不過回到可解釋性的目標來看,對於不同的任務和數據,這樣的方法不見得是糟糕的。

訓練後的可解釋性目標即是:

這個也是目前該領域做的最多的嘗試策略。我們企圖通過不同的手段來解釋這些既有的黑盒算法,從而來解釋這些黑盒模型的決策依據。比較典型的兩種方式是敏感性分析(Sensitivity Analysis)和基於梯度的方法(Gradient-based Methods)。

首先敏感性分析的出發點就是看你的模型對於哪個數據實例非常敏感。例如一個分類器,如果我們刪除掉一個數據點,模型的決策邊界有了劇烈的變化,那麼我們就說這個數據點事非常敏感的,同時它也是這個分類器判別的一個重要依據。LIME這篇文章就是基於這樣的思想,對於特定的數據點進行各個特徵的擾動,從而給出分類器局部的解釋,即局部來看,什麼特徵是最影響分類器的決策的。同樣的還有Koh提出的Influential function,用來解釋數據點對SVM的影響程度。

基於梯度的方法說起來也比較簡單,其實就是看輸入的哪一部分更影響決策。對於一個圖片識別模型來說,這種方法就體現在一個saliency map上。也就是將圖片的每個像素通過梯度變化的比較,來顯示圖片的哪些像素是分類器作爲分類的依據。但是要注意,我們在這裏沒有講到的是解釋性的評價。對於saliency map來說,有一個被證實的偏見是來自於我們人類本身,它就是Confirmation Bias。這種偏見就是說,我們即使用這種方式看到了這些明顯的像素對於決策佔比很高,只是迎合了我們人類的理解,而實際上它並沒有反映出它是模型決策的證據。這個結論也是kim團隊做出的一項對於saliency map的檢查。他們發現,即使把神經網絡的每一層的輸入隨機化,許多模型的saliency map仍然是一個對於人類可識別的輪廓或形狀,而理論上講,打亂神經網絡的各個層的輸入和輸出,這個模型只是一個隨機的混亂預測,不應該找出人可以理解的證據的。於是隨後推出了一些benchmark來評價可解釋性的可靠程度。

訓練後的可解釋性實現方法還有很多不同的嘗試,例如surrogate models,knowledge distillation,hidden layer的可視化等等,以後會另行總結。

   對於可解釋性的一些看法

對於可解釋性的研究,個人認爲是一個與AI行業有着密不可分的關係。很多人也許會覺得現如今的模型和算法已經遠遠超出了人類的極限,我們眼中的不可解釋或許是它已遠在我們的理解力之上,甚至認爲人爲的干預只會變成自動化(automation)的干擾項。但可解釋性的必要性在於,它背後的理論是已人類爲中心,反應的是我們該如何通過解釋模型達到人類對模型的信任,從而創造更加安全可靠的應用,進而推動整個AI產業的進步。

參考文獻

[1]Marco Tulio Ribeiro, Sameer Singh, and Carlos Guestrin. 2016. Why Should I Trust You?: Explaining the Predictions of Any Classifier. (2016), 1135–1144. DOI:doi.org/10.1145/2939672

[2] Koh, Pang Wei, and Percy Liang. "Understanding black-box predictions via influence functions."Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org, 2017.

[3] Doshi-Velez, Finale, and Been Kim. "Towards a rigorous science of interpretable machine learning."arXiv preprint arXiv:1702.08608(2017).

[4] UX defines chasm between explainable vs. interpretable AI

[5] Adebayo, Julius, et al. "Sanity checks for saliency maps."Advances in Neural Information Processing Systems. 2018.

[6] Doshi-Velez, Finale, and Been Kim. "Considerations for evaluation and generalization in interpretable machine learning."Explainable and Interpretable Models in Computer Vision and Machine Learning. Springer, Cham, 2018. 3-17.APA

[7] Interpretable Machine Learning(ICML 2017 Tutorial) vimeo.com/240429018

—完—

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章