谷歌大腦提出概念啟用向量,助力神經網路可解釋性研究

AIBigbull2050發表於2019-08-23

選自 KDnuggets

作者:Jesus Rodriguez

機器之心編譯

參與:李詩萌、路

最近,谷歌大腦團隊發表了一篇論文,文中提出了一種叫做概念啟用向量(Concept Activation vectors,CAV)的新方法,這種方法為深度學習模型的可解釋性提供了一個全新的視角。

可解釋性仍然是現代深度學習應用的最大挑戰之一。

計算模型和深度學習研究領域近期取得了很大進展,建立了非常複雜的模型,這些模型可以包括數千個隱藏層、數千萬神經元。雖然建立高階深度神經網路相對簡單,但理解如何建立這些模型以及它們如何使用知識仍然是一個挑戰。

最近,谷歌大腦(Google Brain)團隊發表了一篇論文《Interpretability Beyond Feature Attribution: Quantitative Testing with Concept Activation Vectors (TCAV)》,提出一種叫作「概念啟用向量」(Concept Activation Vectors,CAV)的新方法,為深度學習模型的可解釋性提供了全新視角。

  • 論文地址:
  • GitHub 地址:tensorflow/tcav

可解釋性與準確率

理解 CAV 技術,需要首先理解深度學習模型可解釋性難題的本質。在這一代深度學習技術中,模型準確率與可解釋性之間存在永久的衝突。可解釋性與準確性之間的衝突也是實現複雜知識任務與如何實現這些任務之間的衝突。知識與控制、效能與可解釋性、效率與簡潔……這些問題都可以透過權衡準確率與可解釋性來解釋。

你想要最佳結果還是想理解這些結果是如何產生的?這是資料科學家在每個深度學習場景中都要回答的問題。很多深度學習技術本質上是複雜的,儘管在很多情況下它們產生的結果是準確的,但是它們難以解釋。如果我們繪製一些著名深度學習模型的可解釋性和準確率,可以得到:

谷歌大腦提出概念啟用向量,助力神經網路可解釋性研究

深度學習模型的可解釋性不是一個單一的概念,可以跨多個層次來理解:

谷歌大腦提出概念啟用向量,助力神經網路可解釋性研究

要跨越上圖定義的層次來解釋模型,需要一些基礎的構建塊。在近期的一篇文章中,谷歌的研究人員概述了他們認為解釋模型所需的基礎構建塊。

谷歌將可解釋性原則總結如下:

  • 理解隱藏層做了什麼:深度學習模型中的大部分知識是在隱藏層中形成的。要解釋深度學習模型,必須要從宏觀角度理解不同隱藏層的功能。
  • 理解節點是如何啟用的:可解釋性的關鍵不是理解網路中單一神經元的功能,而是要理解在同一空間位置一起啟用的互相連線的神經元組。透過互相連線的神經元組分割網路可以從更簡單的抽象層次來理解其功能。
  • 理解概念是如何形成的:深度神經網路如何形成可組裝成最終輸出的單個概念,理解這一問題是另一個關鍵的可解釋性構建塊。

而這些原則是谷歌新方法 CAV 的理論基礎。

概念啟用向量(CAV)

如前所述,可解釋性的一般方法應該是根據深度模型所考慮的輸入特徵來描述其預測結果。一個經典例子就是 logistic 迴歸分類器,一般會把分類器中的係數權重解釋為每個特徵的重要性。但大部分深度學習模型在特徵層面(如畫素值)的運算,無法和人類能輕易理解的高階概念對應。此外,模型的內部值(例如神經啟用)似乎是無法理解的。儘管像顯著性圖(saliency map)這樣的技術可以有效測量特定畫素區域的重要性,但它們無法和更高階的概念相對應。

CAV 的核心思想是度量模型輸出中概念的相關性。對概念來說,CAV 是概念示例集的值方向上的一個向量。在他們的論文中,谷歌研究團隊還提到了一種名為 TCAV(Testing with CAV)的新型線性可解釋性方法,這種方法用方向導數(directional derivatives)來量化模型預測對 CAV 學習到的底層高階概念的敏感度。從概念上講,定義 TCAV 有以下四個目標:

  • 易於訪問:使用者幾乎不需要 ML 專業知識。
  • 可定製化:適應任何概念(比如性別),而且不受限於訓練過程中所考慮的概念。
  • 外掛準備:不需要重新訓練或修改 ML 模型就可以直接工作。
  • 全域性量化:用單個量化方法就可以解釋整個類或整組示例,而且不只是解釋資料輸入。


谷歌大腦提出概念啟用向量,助力神經網路可解釋性研究

為了實現上述目標,TCAV 方法分為三個基本步驟:

  • 給模型定義相關概念;
  • 理解預測結果對這些概念的敏感度;
  • 全域性定量解釋每個概念對每個模型預測類的相對重要性。


谷歌大腦提出概念啟用向量,助力神經網路可解釋性研究

TCAV 方法中的第一步是定義感興趣的概念(CAV)。TCAV 使用的方法是,選擇一組可以表示這個概念的示例集,或者可以找到具備該概念的獨立資料集的示例集。透過訓練能夠分辨概念示例產生的啟用和任意層產生的啟用的線性分類器,學得 CAV。

第二步是生成 TCAV 分數,該分數表示預測結果對特定概念的敏感度。TCAV 用方向導數實現了這一點,方向導數可以在神經啟用層衡量 ML 預測值對沿著概念方向變化的輸入的敏感度。

最後一步是評估學到的 CAV 的全域性相關性,來避免依賴不相關的 CAV。TCAV 技術的一大缺陷是可能學到無意義的 CAV。畢竟,就算用隨機選擇的一組圖片也會得到 CAV。基於這種隨機概念的測試不太可能有意義。為了解決這一問題,TCAV 引入了統計顯著性檢驗,根據隨機的訓練次數(一般是 500 次)評估 CAV。這一步的思路是,有意義的概念會讓訓練過程中的 TCAV 分數保持一致。

TCAV 的效果

谷歌大腦團隊進行了多項實驗來對比 TCAV 和其他可解釋性方法的效率。在最引人矚目的一項實驗中,該團隊用顯著性圖來理解計程車的概念。該顯著性圖的輸出如下圖所示:

谷歌大腦提出概念啟用向量,助力神經網路可解釋性研究

谷歌大腦團隊用這些影像作為測試資料集,在 Amazon Mechanical Turk 上用 50 人進行了實驗。每個人做 6 項任務(3 object classes x 2s aliency map types),所有這些任務都針對單個模型。任務順序是隨機的。在每項任務中,工作人員首先會看到四張影像及其對應的顯著性掩碼(saliency mask)。然後他們對影像對模型的重要性(10 分制)、標題對模型的重要性(10 分制)以及他們對自己答案的確信程度(5 分制)等問題進行打分。這些工作人員一共評估了 60 張不同的影像(120 個不同的顯著性圖)。

實驗的基本事實是影像概念與標題概念更相關。但當看到顯著性圖時,人們認為標題概念更重要(0% 噪聲模型)或沒有差別(100% 噪聲模型)。相比之下,TCAV 的結果正確地表明瞭影像概念更重要。

谷歌大腦提出概念啟用向量,助力神經網路可解釋性研究

TCAV 是近幾年間研究神經網路可解釋性領域中最具創新性的方法之一。

GitHub 上有 TCAV 的初始技術程式碼,我們期待看到一些主流深度學習框架會採用這一想法。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2654710/,如需轉載,請註明出處,否則將追究法律責任。

相關文章