AI的可解釋性是什麼?能吃嗎?
撰文/賴佳昀
為什麼需要「可解釋性」?
舉凡醫療、公共安全、金融市場……,隨著機器學習逐漸滲透我們的生活,我們不再滿足於正確的預測結果,對於背後的模型運作機制也同樣好奇。一來,當模型給出的預測與實際情況有所出入時,能準確地找出問題點;二來,由於生活中的問題往往比較複雜,很難完美、貼切地寫成電腦可以解決的問題。譬如,當一個公司要雇用新人時,生產力、工作倫理、合法性都是必須納入考量的範圍,但是後兩者並無法直接寫成可量化的公式。因為問題轉化的不完全,導致只得到預測結果是不夠的,我們還得知道模型是如何一步步得到最後的結果。「可解釋性」(Interpretability)便是在這樣的脈絡下被提出。
研究可解釋性最主要的原因就如前面所提到的:信任。不僅是「訓練好的模型是否足以應付實際情況?」、「模型做出正確預測或決策的機率為何?」、「在哪些情境與案例下,模型會得出正確的結論?」,甚至於「模型決策過程與結果是否符合倫理與法律上的考量?」
解釋模型的兩種途徑
解釋模型大致上可從兩方面切入:一是直接解釋模型本身,提升模型的透明度(transparency);二則是以「事後歸因」(post-hoc explanations)的方式,解讀模型除了預測結果之外,還提供了哪些有用的資訊。
提升模型透明度,最直觀的想法是一個人拿著同樣的數據與模型參數,按部就班地在合理的時間內核算,是否能得出與模型相同的結果。然而,這只能套用在結構相對簡單的模型上,一旦所使用的變數越來越多,即使是線性模型也會變得非常複雜,超乎人類可理解的範圍。第二種想法,則是將模型分割成一個個可理解的小零件,譬如說建立模型的參數、輸入的數據等,都有明確定義。例如:決策樹中,每個分支都有明確的把關條件;線性模型中,每個加權參數都代表該項的重要性。不過,這個方法並不適用於高度處理過的數據,因為這些數據已經抽象化了。第三種可能則與演算法有關,通常線性模型的演算法較為透明,而深度學習則否。
「事後歸因」(我喜歡想成「果因關係」)則與前述相反,是以最終的結果去反推模型可能的運作機制。「可視化」(visualization)是事後歸因的一種形式,定性地反向推導模型是如何一步步給出最終的預測結果。當整個模型過於龐大、複雜而難以周全,還可以將模型分割,一部份一部份地分析,稱為局部解釋法。繪製顯著圖(saliency map)是最廣為使用的方法,它可以讓我們了解一張圖片中,哪些特定部位對模型結果預測的影響較大。舉例來說,如果我們要訓練模型辨別狗的圖片,那顯著圖就可以告訴我們,究竟是尾巴、耳朵、鼻子或其他部位,是模型辨別狗的重要依據。還有一種方式,則是以類比的方法去理解模型,這就像醫生或律師會用案例來支持他們的論述。
模型解讀很重要嗎?有些人反對這樣的想法,認為這違背了人工智慧或機器學習的初衷;但在某些行業中,例如保險或銀行業,模型給出預測前的每一步都相當重要,必須被仔細檢視,甚至連「需要什麼形式的可解釋性」、「此種解釋方式是否會造成誤解」等,都必須有明確的論述。
參考資料
- Z. C. Lipton, “The mythos of model interpretability,” arXiv preprint arXiv:1606.03490, 2016.
- T. Miller, “Explanation in artificial intelligence: Insights from the social sciences,” Artificial Intelligence, 2018.
(本文由教育部補助「AI報報─AI科普推廣計畫」執行團隊編譯)