深度學習的可解釋性研究(一):讓模型「說人話」

2020-12-14 雷鋒網

雷鋒網(公眾號:雷鋒網) AI 科技評論按:本文為 BIGSCity 的知乎專欄內容,作者王小賤。北航智慧城市興趣組 BIGSCITY是隸屬於北京航空航天大學計算機學院的一個學術研究小組,小組致力於研究機器學習與數據挖掘在城市科學、社會科學等領域的交叉應用技術。AI 科技評論獲得 BIGSCity 授權轉載,敬請期待更多後續內容。

非常開心本文成為 BIGSCity 興趣組的第一篇投稿,《深度學習的可解釋性研究》系列預計包含 3-4 篇內容,用儘可能淺顯的語言帶領大家了解可解釋性的概念與方法以及關於深度學習可解釋性工作的研究成果,不定期更新內容(歡迎催更)。

可解釋性是什麼?

廣義上的可解釋性指在我們需要了解或解決一件事情的時候,我們可以獲得我們所需要的足夠的可以理解的信息。比如我們在調試 bug 的時候,需要通過變量審查和日誌信息定位到問題出在哪裡。比如在科學研究中面臨一個新問題的研究時,我們需要查閱一些資料來了解這個新問題的基本概念和研究現狀,以獲得對研究方向的正確認識。反過來理解,如果在一些情境中我們無法得到相應的足夠的信息,那麼這些事情對我們來說都是不可解釋的。比如劉慈欣的短篇《朝聞道》中霍金提出的「宇宙的目的是什麼」這個問題一下子把無所不知的排險者卡住了,因為再高等的文明都沒辦法理解和掌握造物主創造宇宙時的全部信息,這些終極問題對我們來說永遠都是不可解釋的。

而具體到機器學習領域來說,以最用戶友好的決策樹模型為例,模型每作出一個決策都會通過一個決策序列來向我們展示模型的決策依據:比如男性&未婚&博士&禿頭的條件對應「不感興趣」這個決策,而且決策樹模型自帶的基於信息理論的篩選變量標準也有助於幫助我們理解在模型決策產生的過程中哪些變量起到了顯著的作用。所以在一定程度上,我們認為決策樹模型是一個具有比較好的可解釋性的模型,在以後的介紹中我們也會講到,以決策樹為代表的規則模型在可解釋性研究方面起到了非常關鍵的作用。再以用戶最不友好的多層神經網絡模型為例,模型產生決策的依據是什麼呢?大概是以比如 1/(e^-(2*1/(e^(-(2*x+y))+1) + 3*1/(e^(-(8*x+5*y))+1))+1) 是否大於 0.5 為標準(這已經是最簡單的模型結構了),這一連串的非線性函數的疊加公式讓人難以直接理解神經網絡的「腦迴路」,所以深度神經網絡習慣性被大家認為是黑箱模型。

17 年 ICML 的 Tutorial 中給出的一個關於可解釋性的定義是:

Interpretation is the process of giving explanations to Human.

總結一下就是「說人話」,「說人話」,「說人話」,不以人類可以理解的方式給出的解釋都叫耍流氓,記住這三個字,你就差不多把握了可解釋性的精髓所在。

我們為什麼需要可解釋性?

廣義上來說我們對可解釋性的需求主要來源於對問題和任務了解得還不夠充分。具體到深度學習/機器學習領域,就像我們上文提到的多層神經網絡存在的問題,儘管高度的非線性賦予了多層神經網絡極高的模型表示能力,配合一些堪稱現代煉丹術的調參技術可以在很多問題上達到非常喜人的表現,大家如果經常關注 AI 的頭條新聞,那些機器學習和神經網絡不可思議的最新突破甚至經常會讓人產生 AI 馬上要取代人類的恐懼和幻覺。但正如近日貝葉斯網絡的創始人 Pearl 所指出的,「幾乎所有的深度學習突破性的本質上來說都只是些曲線擬合罷了」,他認為今天人工智慧領域的技術水平只不過是上一代機器已有功能的增強版。雖然我們造出了準確度極高的機器,但最後只能得到一堆看上去毫無意義的模型參數和擬合度非常高的判定結果,但實際上模型本身也意味著知識,我們希望知道模型究竟從數據中學到了哪些知識(以人類可以理解的方式表達的)從而產生了最終的決策。從中是不是可以幫助我們發現一些潛在的關聯,比如我想基於深度學習模型開發一個幫助醫生判定病人風險的應用,除了最終的判定結果之外,我可能還需要了解模型產生這樣的判定是基於病人哪些因素的考慮。如果一個模型完全不可解釋,那麼在很多領域的應用就會因為沒辦法給出更多可靠的信息而受到限制。這也是為什麼在深度學習準確率這麼高的情況下,仍然有一大部分人傾向於應用可解釋性高的傳統統計學模型的原因。

不可解釋同樣也意味著危險,事實上很多領域對深度學習模型應用的顧慮除了模型本身無法給出足夠的信息之外,也有或多或少關於安全性的考慮。比如,下面一個非常經典的關於對抗樣本的例子,對於一個 CNN 模型,在熊貓的圖片中添加了一些噪聲之後卻以 99.3% 的概率被判定為長臂猿。

在熊貓圖片中加入噪聲,模型以 99.3% 的概率將圖片識別為長臂猿

事實上其他一些可解釋性較好的模型面對的對抗樣本問題可能甚至比深度學習模型更多,但具備可解釋性的模型在面對這些問題的時候是可以對異常產生的原因進行追蹤和定位的,比如線性回歸模型中我們可以發現某個輸入參數過大/過小導致了最後判別失常。但深度學習模型很難說上面這兩幅圖到底是因為哪些區別導致了判定結果出現了如此大的偏差。儘管關於對抗樣本的研究最近也非常火熱,但依然缺乏具備可解釋性的關於這類問題的解釋。

當然很多學者對可解釋性的必要性也存有疑惑,在 NIPS 2017 會場上,曾進行了一場非常激烈火爆的主題為「可解釋性在機器學習中是否必要」的辯論,大家對可解釋性的呼聲還是非常高的。但人工智慧三巨頭之一的 Yann LeCun 卻認為:人類大腦是非常有限的,我們沒有那麼多腦容量去研究所有東西的可解釋性。有些東西是需要解釋的,比如法律,但大多數情況下,它們並沒有你想像中那麼重要。比如世界上有那麼多應用、網站,你每天用 Facebook、Google 的時候,你也沒想著要尋求它們背後的可解釋性。LeCun 也舉了一個例子:他多年前和一群經濟學家也做了一個模型來預測房價。第一個用的簡單的線性於猜測模型,經濟學家也能解釋清楚其中的原理;第二個用的是複雜的神經網絡,但效果比第一個好上不少。結果,這群經濟學家想要開公司做了。你說他們會選哪個?LeCun 表示,任何時候在這兩種裡面選擇都會選效果好的。就像很多年裡雖然我們不知道藥物裡的成分但一直在用一樣。

但是不可否認的是,可解釋性始終是一個非常好的性質,如果我們能兼顧效率、準確度、說人話這三個方面,具備可解釋性模型將在很多應用場景中具有不可替代的優勢。

有哪些可解釋性方法?

我們之前也提到機器學習的目的是從數據中發現知識或解決問題,那麼在這個過程中只要是能夠提供給我們關於數據或模型的可以理解的信息,有助於我們更充分地發現知識、理解和解決問題的方法,那麼都可以歸類為可解釋性方法。如果按照可解釋性方法進行的過程進行劃分的話,大概可以劃分為三個大類:

1. 在建模之前的可解釋性方法

2. 建立本身具備可解釋性的模型

3. 在建模之後使用可解釋性方法對模型作出解釋

在建模之前的可解釋性方法

這一類方法其實主要涉及一些數據預處理或數據展示的方法。機器學習解決的是從數據中發現知識和規律的問題,如果我們對想要處理的數據特徵所知甚少,指望對所要解決的問題本身有很好的理解是不現實的,在建模之前的可解釋性方法的關鍵在於幫助我們迅速而全面地了解數據分布的特徵,從而幫助我們考慮在建模過程中可能面臨的問題並選擇一種最合理的模型來逼近問題所能達到的最優解。

數據可視化方法就是一類非常重要的建模前可解釋性方法。很多對數據挖掘稍微有些了解的人可能會認為數據可視化是數據挖掘工作的最後一步,大概就是通過設計一些好看又唬人的圖表或來展示你的分析挖掘成果。但大多數時候,我們在真正要研究一個數據問題之前,通過建立一系列方方面面的可視化方法來建立我們對數據的直觀理解是非常必須的,特別是當數據量非常大或者數據維度非常高的時候,比如一些時空高維數據,如果可以建立一些一些交互式的可視化方法將會極大地幫助我們從各個層次角度理解數據的分布,在這個方面我們實驗室也做過一些非常不錯的工作。

還有一類比較重要的方法是探索性質的數據分析,可以幫助我們更好地理解數據的分布情況。比如一種稱為 MMD-critic 方法中,可以幫助我們找到數據中一些具有代表性或者不具代表性的樣本。

使用 MMD-critic 從 Imagenet 數據集中學到的代表性樣本和非代表性樣本(以兩種狗為例)

建立本身具備可解釋性的模型

建立本身具備可解釋性的模型是我個人覺得是最關鍵的一類可解釋性方法,同樣也是一類要求和限定很高的方法,具備「說人話」能力的可解釋性模型大概可以分為以下幾種:

1. 基於規則的方法(Rule-based)

2. 基於單個特徵的方法(Per-feature-based)

3. 基於實例的方法(Case-based)

4. 稀疏性方法(Sparsity)

5. 單調性方法(Monotonicity)

基於規則的方法比如我們提到的非常經典的決策樹模型。這類模型中任何的一個決策都可以對應到一個邏輯規則表示。但當規則表示過多或者原始的特徵本身就不是特別好解釋的時候,基於規則的方法有時候也不太適用。

基於單個特徵的方法主要是一些非常經典的線性模型,比如線性回歸、邏輯回歸、廣義線性回歸、廣義加性模型等,這類模型可以說是現在可解釋性最高的方法,可能學習機器學習或計算機相關專業的朋友會認為線性回歸是最基本最低級的模型,但如果大家學過計量經濟學,就會發現大半本書都在討論線性模型,包括經濟學及相關領域的論文其實大多數也都是使用線性回歸作為方法來進行研究。這種非常經典的模型全世界每秒都會被用到大概 800 多萬次。為什麼大家這麼青睞這個模型呢?除了模型的結構比較簡單之外,更重要的是線性回歸模型及其一些變種擁有非常 solid 的統計學基礎,統計學可以說是最看重可解釋性的一門學科了,上百年來無數數學家統計學家探討了在各種不同情況下的模型的參數估計、參數修正、假設檢驗、邊界條件等等問題,目的就是為了使得在各種不同情況下都能使模型具有有非常好的可解釋性,如果大家有時間有興趣的話,除了學習機器學習深度模型模型之外還可以儘量多了解一些統計學的知識,可能對一些問題會獲得完全不一樣的思考和理解。

基於實例的方法主要是通過一些代表性的樣本來解釋聚類/分類結果的方法。比如下圖所展示的貝葉斯實例模型(Bayesian Case Model,BCM),我們將樣本分成三個組團,可以分別找出每個組團中具有的代表性樣例和重要的子空間。比如對於下面第一類聚類來說,綠臉是具有代表性的樣本,而綠色、方塊是具有代表性的特徵子空間。

使用 BCM 學到的分類及其對應的代表性樣本和代表性特徵子空間

基於實例的方法的一些局限在於可能挑出來的樣本不具有代表性或者人們可能會有過度泛化的傾向。

基於稀疏性的方法主要是利用信息的稀疏性特質,將模型儘可能地簡化表示。比如如下圖的一種圖稀疏性的 LDA 方法,根據層次性的單詞信息形成了層次性的主題表達,這樣一些小的主題就可以被更泛化的主題所概括,從而可以使我們更容易理解特定主題所代表的含義。

Graph-based LDA 中的主題層次結構

基於單調性的方法:在很多機器學習問題中,有一些輸入和輸出之間存在正相關/負相關關係,如果在模型訓練中我們可以找出這種單調性的關係就可以讓模型具有更高的可解釋性。比如醫生對患特定疾病的概率的估計主要由一些跟該疾病相關聯的高風險因素決定,找出單調性關係就可以幫助我們識別這些高風險因素。

在建模之後使用可解釋性性方法作出解釋

建模後的可解釋性方法主要是針對具有黑箱性質的深度學習模型而言的,主要分為以下幾類的工作:

1. 隱層分析方法

2. 模擬/代理模型

3. 敏感性分析方法

這部分是我們接下來介紹和研究的重點,因此主要放在後續的文章中進行講解,在本篇中不作過多介紹。

除了對深度學習模型本身進行解釋的方法之外,也有一部分工作旨在建立本身具有可解釋性的深度學習模型,這和我們前面介紹通用的可解釋性模型有區別也有聯繫,也放到以後的文章中進行介紹。

如果對本系列感興趣或有疑問,歡迎私信交流。

關於 BIGSCity

北航智慧城市興趣組 BIGSCITY 是隸屬於北京航空航天大學計算機學院的一個學術研究小組,小組致力於研究機器學習與數據挖掘在城市科學、社會科學等領域的交叉應用技術。BIGSCITY 的研究興趣包括:城市計算,時空數據挖掘,機器學習可解釋性,以及 AI 在交通、健康、金融等領域的應用等。本專欄將介紹 BIGSCITY 的一些研究成果,不定期更新與課題組研究相關的研究工作介紹,以及介紹與 BIGSCITY 相關的一切有趣的內容。

關於 BIGSCITY 的詳細情況參見研究組主頁:https://www.bigscity.com/

參考文獻

1. Google Brain, Interpretable Machine Learning: The fuss, the concrete and the questions.

2. Kim B, Koyejo O, Khanna R, et al. Examples are not enough, learn to criticize! Criticism for Interpretability[C]. neural information processing systems, 2016: 2280-2288.

3. Kim B, Rudin C, Shah J. The Bayesian Case Model: A Generative Approach for Case-Based Reasoning and Prototype Classification[J]. Computer Science, 2015, 3:1952-1960.

4. Doshi-Velez F, Wallace B C, Adams R. Graph-sparse LDA: a topic model with structured sparsity[J]. Computer Science, 2014.

雷鋒網版權文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 深度學習的可解釋性!
    一、深度學習的可解釋性研究概述隨著深度學習模型在人們日常生活中的許多場景下扮演著越來越重要的角色,模型的「可解釋性」成為了決定用戶是否能夠「信任」這些模型的關鍵因素(尤其是當我們需要機器為關係到人類生命健康、財產安全等重要任務給出預測和決策結果時
  • 相信你的模型:初探機器學習可解釋性研究進展
    但如今人們不僅關注於機器人執行任務的準確和效率,更希望理解其決策的原因和行動,從而判斷是否信任答案,而這正也是可解釋人工智慧(XAI)所要研究的問題。XAI 主要解決以下問題:對於使用者而言某些機器學習模型如同黑盒一般,給它一個輸入,決策出一個結果。比如大部分深度學習的模型,沒人能確切知道它決策的依據以及決策是否可靠。
  • 深度|如何在 CV 模型的性能和可解釋性之間尋求平衡?
    如何在模型的性能和可解釋性之間尋求平衡,實現對以深度學習為代表的複雜模型工作機理的解釋,進一步發展新一代的人工智慧理論與方法,成為當前人工智慧領域的研究熱點之一。基於上述思考,我們提出三個關於可解釋性的研究問題。第一,我們需要建立什麼樣的可解釋模型?是先建立黑箱模型然後解釋,還是從一開始就建立可解釋的、透明的模型。第二,和剛才林倞老師說的一樣,建立可解釋模型,要推進視覺研究、知識表達和語言的結合。但其中的主要問題是其中涉及的knowledge graph沒有看上去那麼簡單。
  • 香港中文大學博士沈宇軍:生成對抗網絡的可解釋性研究及其應用
    「CV研究合輯」,是智東西公開課針對計算機視覺推出的一檔合輯,聚焦於計算機視覺前沿領域研究成果與進展的講解。每一講由主講與答疑兩個環節組成,其中,主講60分鐘,採用視頻直播形式,答疑30分鐘,將在相應交流群進行。
  • 普林,DeepMind新研究:結合深度學習符號回歸,深度模型中看見宇宙
    符號模型緊湊,具備可解釋性和良好的泛化能力,但很難處理高維機器學習問題;深度模型擅長在高維空間中學習,但泛化性和可解釋性卻很差。那麼有沒有什麼辦法可以取二者之所長呢?這項研究做到了。如何將深度模型轉換為符號方程?
  • 一文讀懂可解釋機器學習簡史,讓你的模型再也不是「Black Box」
    最近,arXiv上的一篇論文簡要介紹了解釋機器學習(IML)領域的歷史,給出了最先進的可解釋方法的概述,並討論了遇到的挑戰。 當機器學習模型用在產品、決策或者研究過程中的時候,「可解釋性」通常是一個決定因素。
  • Darkon:可更好理解深度學習模型的開源工具包
    由於難以理解,深度學習經常被稱為黑箱。有鑑於此,Neosapience 開發了開源工具包 Darkon,它可以更好地理解深度學習模型,進而調試故障,解釋決策等等。目前 Darkon 適用於所有 Tensorflow 模型。
  • 谷歌大腦提出概念激活向量,助力神經網絡可解釋性研究
    可解釋性仍然是現代深度學習應用的最大挑戰之一。計算模型和深度學習研究領域近期取得了很大進展,創建了非常複雜的模型,這些模型可以包括數千個隱藏層、數千萬神經元。雖然創建高級深度神經網絡相對簡單,但理解如何創建這些模型以及它們如何使用知識仍然是一個挑戰。
  • ICML 2019|神經網絡的可解釋性,從經驗主義到數學建模
    但是,尋找適當的數學工具去建模深度神經網絡表達能力和訓練能力,將基於經驗主義的調參式深度學習,逐漸過渡為基於一些評測指標定量指導的深度學習,是新一代人工智慧需要面對的課題,也是在當前深度學習渾渾噩噩的大背景中的一些新的希望。
  • 「精品」機器學習模型可解釋的重要及必要性
    導語:不管你是管理自己的資金還是客戶資金,只要你在做資產管理,每一步的投資決策都意義重大,做技術分析或基本面分析的朋友很清楚地知道每一個決策的細節,但是通過機器學習、深度學習建模的朋友可能就會很苦惱,因為直接產出決策信號的模型可能是個黑盒子,很難明白為什麼模型會產出某一個信號,甚至很多保守的私募基金把模型的可解釋性放入了事前風控。
  • 淺談機器學習模型的可解釋性和透明性
    打開APP 淺談機器學習模型的可解釋性和透明性 YuZhang 發表於 2021-01-05 14:02:28 XAI 主要解決以下問題
  • 華為雲IEEE TPAMI論文解讀:規則化可解釋模型助力知識+AI融合
    在機器學習領域,人們始終對模型的可解釋性存在擔憂。我們有沒有辦法寫出可解釋的模型,建立起人對於機器的信任?
  • 模型聽人講幾句就能學得更好?斯坦福提出用語言解釋輔助學習
    今年史丹福大學 AI 實驗室(SAIL)的兩篇 ACL 2020 論文在這一研究方向上取得了一些進展:針對自然語言處理(NLP)和計算機視覺領域的多種高難度任務,他們首先用語言解釋這些任務,然後使用深度神經網絡模型來學習這些語言解釋,進而幫助解決這些任務。
  • 天生一對,硬核微分方程與深度學習的「聯姻」之路
    近日,北京智源人工智慧研究院開展了第一次論壇,其以「人工智慧的數理基礎」這一重大研究方向為主題,從數學、統計和計算等角度討論了智能系統應該怎樣融合數學系統。在論壇中,北京大學董彬副教授、林偉研究院和張志華教授等研究者從基礎出發介紹了「數學」眼中的機器學習是什麼樣的。
  • 圖靈獎「擁抱」深度學習
    「我們很難預測未來……但是有些事情我們可以預測,比如深度神經網絡這項技術會改變一切。」ACM(國際計算機協會)在美國當地時間 3 月 27 日公布了 2018 年圖靈獎的授予結果。ACM 將本屆圖靈獎頒給了深度學習領域,並且讚譽三位獲獎人為「深度學習之父」。
  • 深度卷積模糊系統—可解釋性深度學習?
    用蓋樓的方式構建深度模糊模型:從盲人摸象開始?,用戶端的簡單設備就做不到了;(2)模型不可解釋,知其然不知其所以然,用起來心裡沒譜;對於像自動駕駛這樣人命關天的應用場景,出事不可怕,可怕的是不知道如何改進,保證下一次不犯同樣的錯誤,因為模型不可解釋,誰也不知道問題出在哪裡。
  • 可解釋的深度學習模型N-BEATS
    從完整的名字中我留意到了一個很關鍵的詞「INTERPRETABLE」,也就是可解釋。神經網絡模型(以及深度學習),對其在回歸方面我一直比較慎用,主要還是難以解釋的緣故。這一點我在最近的關於鍾南山院士團隊新論文感觸的原創文章裡,就曾表達過關於神經網絡算法的態度:因為複雜且很難解釋,當要指導廣大沒有基礎的用戶使用的時候,還不如選擇更經典的可解釋的模型。
  • 模型可解釋性差?你考慮了各種不確定性了嗎?
    她的研究領域是探索深度學習在推薦系統中的應用,在本文作者介紹了數據科學中模型不確定性的問題,並探索了如何利用不確定性來調試模型。當深度神經網絡(DNN)變得越來越強大的時候,它們的複雜性也在一併與日俱增,而這種複雜性也給研究員帶來了一系列新的挑戰,其中就包括模型的可解釋性。
  • NeurIPS 2019:兩種視角帶你了解網絡可解釋性的研究和進展
    研究者們的重點都在如何提升網絡性能上,很少有人能說清楚深度神經網絡為何能夠得到較好的泛化能力,有的研究者習慣從原理上來說明這個問題,有的研究者則會從中間結果來解釋,當然這些觀點都各有千秋。在 NeurIPS 2019 上,有些學者在網絡的可解釋性上發表了自己的研究。以下就兩篇論文從兩種不同的角度來描述研究者們對於泛化能力的理解和解釋。
  • 這是一份「不正經」的深度學習簡述
    關於深度學習,我們能夠看到很多優秀的介紹、課程和博客,本文將列舉其中的精華部分,而且,你會發現這是一篇「不一樣」的文章。不一樣在哪兒呢?可能是本文沒有按照「正常」的深度學習博客結構:從數學講起,然後介紹論文、實現,最後講應用。我希望用講故事的方式來介紹深度學習,這可能要比只介紹信息和公式要更加平易近人一些。我為什麼要寫這篇深度學習簡介?