用概念激活向量 (CAVs) 理解深度網絡

2021-01-08 雷鋒網

可解釋性仍然是現代深度學習應用的最大挑戰之一。最近在計算模型和深度學習研究方面的進展,使創建高度複雜的模型成為可能,這些模型可以包括數千個隱藏層和數千萬個神經元。雖然創建令人驚訝的高級的深度神經網絡模型相對簡單,但理解這些模型如何創建和使用知識仍然是一個挑戰。最近,來自谷歌大腦研究小組的研究人員發表了一篇論文,提出了一種新的方法,稱為概念激活載體(CAVs),這為深度學習模型的可解釋性提供了一個新的視角。

詳見論文:https://arxiv.org/pdf/1711.11279.pdf

可解釋性vs準確性

為了理解CAV技術,了解深度學習模型中可解釋性的本質是非常重要的。在當前的深度學習技術中,模型的準確性和我們解釋其知識表達的能力之間存在著永恆的鴻溝。可解釋性-準確性的矛盾是指能夠複雜知識表達的任務和理解這些任務是如何完成的之間的矛盾。知識表達vs理解,性能vs可說明性,效率vs.簡單程度……任何模稜兩可的事物,都可以通過在準確性和可解釋性之間進行權衡來解釋。

你關心的是獲得較好的結果還是理解這些結果是如何產生的?這是數據科學家在每一個深度學習場景中都需要回答的問題。許多深度學習技術在本質上是複雜的,儘管它們在許多場景中都非常精確,但它們可能變得難以解釋。如果我們能將一些最著名的深度學習模型繪製在一張圖表上,並將其與準確性和可解釋性聯繫起來,我們將得到如下結果:

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

要在前面圖中定義的每一層之間實現可解釋性,需要幾個基本的組成部分。在最近的一篇論文中,來自谷歌的研究人員簡述了他們認為的可解釋性的一些基本構件,詳見論文:https://distill.pub/2018/building-blocks/。

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

理解隱藏層的作用:深度學習模型中的大部分知識都是在隱藏層中形成的。在宏觀層面理解不同隱藏層的功能對於能夠解釋深度學習模型是至關重要的。理解節點是如何被激活的:可解釋性的關鍵不在於理解網絡中單個神經元的功能,而在於理解在同一空間位置一起激活的相互連接的神經元群。通過一組相互連接的神經元群對網絡進行分割,可以提供一個更簡單的抽象層次來理解其功能。理解概念是如何形成的:理解深層神經網絡是如何形成單個概念,然後將這些概念組裝成最終的輸出,這是可解釋性的另一個關鍵構建模塊。 這些原則是谷歌CAV技術的理論基礎。

激活概念向量

按照上一節討論的想法,解決解釋性比較恰當的方法應該是根據它所考慮的輸入特性來描述深度學習模型的預測。一個經典的例子是logistic回歸分類器,其中係數權重通常被解釋為每個特徵的重要程度。然而,大多數深度學習模型處理的特徵,如像素值,並不對應於人類容易理解的高級概念。此外,模型的內部值(例如,神經元的激活)似乎是不可理解的。雖然像顯著性檢測這樣的技術在測量特定像素區域的重要程度方面是有效的,但是它們仍然不能與更高層次的概念相關聯。

CAV的核心思想是度量模型輸出的概念的相關性。CAV的概念只是指一個向量,指向該概念值(例如,激活值)的方向。在他們的論文中,谷歌研究小組簡述了一種新的線性可解釋性方法,被稱為CAV測試(TCAV),它使用方向導數來量化模型預測對於CAV學習的高級概念的敏感性。在概念上,TCAV的定義有四個目標:

易訪問性:幾乎不需要用戶機器學習專業知識。 適應性:適應任何概念(如性別),並不限於訓練中獲得的概念。即插即用:無需對機器學習模型進行任何再訓練或修改即可有效。全局量化:可以用單個量化度量解釋整個類別或示例集,而不只是解釋單個數據輸入。

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

1) 定義模型的相關概念。

2) 理解這些概念對預測的敏感性。

3) 對各概念相對於每個模型所需要預測的類別的相對重要性進行整體定量解釋。

TCAV方法的第一步是確定感興趣的概念(CAV)。TCAV方法只需要選擇一組表示這個概念的示例,或者找到一個帶有這個概念標籤的數據集,就可以實現這一點。CAVs是通過訓練線性分類器來區分是概念樣本激活的還是其他的任意層中的樣本所激活的。

第二步是生成一個TCAV評分,量化特定概念對預測結果的敏感性。TCAV是通過使用方向導數來實現這一目的的,方向導數可以在神經激活層測量ML預測相對於概念輸入方向變化的敏感度。

最後一步是評估學習的CAVs的整體相關性,避免依賴於不相關的CAVs。畢竟,TCAV技術的一個缺點就是會學習可能毫無意義的CAV概念。畢竟,使用隨機選擇的一組圖像同樣會產生CAV。基於這種隨機概念的測試不太可能有意義。為了解決這個問題,TCAV引入了一個重要性統計測試,它根據隨機的訓練次數(通常為500次)來評估CAV算法。這個想法有意義地方在於保持TCAV分數在訓練過程中保持一致。

運動 TCAV

谷歌大腦進行了幾項實驗來評估TCAV與其他解釋方法相比的效率。在其中一個最引人注目的測試中,研究小組使用了一個顯著性map,試圖預測標題或圖片的相關性,以理解計程車的概念。顯著性map的輸出如下:

谷歌大腦研究小組使用這些圖像作為測試數據集,在Amazon Mechanical Turk上對50人進行了實驗。每個人做了一系列的6個任務(3個對象類 x 2個顯著性map類),都是針對一個模型。任務順序是隨機的。在每一項任務中,工作人員首先看到四幅圖像及其相應的顯著性掩模圖。然後他們對自己認為圖片對模型有多重要(10分制),標題對模型有多重要(10分制),以及他們對自己的答案有多確定(5分制)進行打分。總共對60張特定的圖像(120張特定的顯著性map圖)進行了評分。

實驗的基本事實是,圖像概念比標題概念更相關。然而,當人們看到顯著性map時,他們認為標題概念更重要(零噪聲模型),或者沒有辨別出區別(100%噪聲模型)。與此相反,TCAV結果正確地表明,圖像概念更為重要。

TCAV是近年來研究神經網絡可解釋性的最具創新性的方法之一。最初技術的代碼可以在GitHub上找到,我們期待看到這裡的一些想法被主流的深度學習框架所採用。

via https://towardsdatascience.com/this-new-google-technique-help-us-understand-how-neural-networks-are-thinking-229f783300

點擊【用概念激活向量 (CAVs) 理解深度網絡】查看相關內容和參考文獻噢~

今日資源推薦:AI入門、大數據、機器學習免費教程

35本世界頂級原本教程限時開放,這類書單由知名數據科學網站 KDnuggets 的副主編,同時也是資深的數據科學家、深度學習技術愛好者的Matthew Mayo推薦,他在機器學習和數據科學領域具有豐富的科研和從業經驗。

點擊連結即可獲取:https://ai.yanxishe.com/page/resourceDetail/417

雷鋒網雷鋒網雷鋒網

相關焦點

  • 谷歌大腦提出概念激活向量,助力神經網絡可解釋性研究
    選自 KDnuggets作者:Jesus Rodriguez機器之心編譯參與:李詩萌、路最近,谷歌大腦團隊發表了一篇論文,文中提出了一種叫做概念激活向量(Concept Activation vectors,CAV)的新方法,這種方法為深度學習模型的可解釋性提供了一個全新的視角。
  • 深度網絡揭秘之深度網絡背後的數學
    了解更多的神經網絡的工作原理。我決定在今年夏天抽出點時間深入的學習一下數學。我也打算寫一篇關於最新的學習諮詢的文章,以便幫助別人理解一些生澀難懂的概念。我編寫的這篇文章會對那些不太擅長線性代數和微積分的人十分友好,但就像標題所暗示的,這將是一篇與數學密切相關的文章。
  • 初識向量,你必須要理解的概念
    生活中,有些物理量是可以用大小表示的,比如路程;但有些物理量用大小還不能夠準確表示,因為它還有方向,比如力、位移等。這一類既有大小又有方向的量,我們把它們稱之為向量。向量既然是有方向的,那麼它在平面中就應該從一個點指向另一個點,也就是說它有起點和終點。
  • 運用深度學習教機器人理解自然語言
    譯者/趙屹華 審校/劉帝偉、朱正貴 責編/周建丁。在深度學習出現之前,文字所包含的意思是通過人為設計的符號和結構傳達給計算機的。本文討論了深度學習如何用向量來表示語義,如何更靈活地表示向量,如何用向量編碼的語義去完成翻譯,以及有待改進的地方。在深度學習出現之前,我們書寫的文字所包含的意思是通過人為設計的符號和結構傳達給計算機的。
  • 如何從信號分析角度理解卷積神經網絡的複雜機制?
    有的神經網絡龐大且深度,但如果離開非線性激活函數,它們的複雜架構的效果與一個簡單的單層線性模型沒什麼不同,都是將輸入映射到另一個輸出空間。具體來說,非線性激活函數學習到的輸入的表徵集合更適合解決實際問題。CNN 只是 FNN 或 MLP(多層感知器/perceptron)的另一種類型。為了分析 CNN 的非線性,作者提出了一個數學模型來理解 CNN 的行為。
  • 理解神經網絡:從神經元到RNN、CNN、深度學習
    隨著時間的推移,證明了神經網絡在精度和速度方面,比其他的算法性能更好。並且形成了很多種類,像CNN(卷積神經網絡),RNN,自編碼,深度學習等等。神經網絡對於數據科學和或者機器學習從業者,就像線性回歸對於統計學家一樣。因此,對神經網絡是什麼有一個基本的理解是有必要的,比如,它是怎麼構成的,它能處理問題的範圍以及它的局限性是什麼。
  • 微軟IJCAI2016演講PPT:深度學習在語義理解上不再難有用武之地
    上圖是單個的神經元模型,把一個數值轉化為概率,然後把概率轉化為一個非線性激活函數,再進行logistic回歸。實際問題基本不可能用單個神經元的網絡就能解決。上圖是一個多層神經網絡的流程圖,實際上也和目前絕大多數的神經網絡結構類似。
  • 一文讀懂深度學習中的矩陣微積分,fast.ai創始人&ANTLR之父出品
    魚羊 編譯整理量子位 報導 | 公眾號 QbitAI想要真正了解深度神經網絡是如何訓練的,免不了從矩陣微積分說起。深度學習所需的矩陣微積分先來看一眼這篇教程都涵蓋了哪些內容:基本概念矩陣微積分神經元激活的梯度神經網絡損失函數的梯度文章開篇,先介紹了一下人工神經元。
  • 教程| 基礎入門:深度學習矩陣運算的概念和代碼實現
    本文從向量的概念與運算擴展到矩陣運算的概念與代碼實現,對機器學習或者是深度學習的入門者提供最基礎,也是最實用的教程指導,為以後的機器學習模型開發打下基礎。在我們學習機器學習時,常常遇到需要使用矩陣提高計算效率的時候。如在使用批量梯度下降迭代求最優解時,正規方程會採用更簡潔的矩陣形式提供權重的解析解法。
  • 深度| 理解深度學習中的卷積
    有太多的公開課、教程在反覆傳頌卷積神經網絡的好,卻都沒有講什麼是「卷積」,似乎默認所有讀者都有相關基礎。這篇外文既友好又深入,所以翻譯了過來。文章高級部分通過流體力學量子力學等解釋卷積的做法在我看來有點激進,這些領域恐怕比卷積更深奧,所以只需簡略看看即可。以下是正文:卷積現在可能是深度學習中最重要的概念。正是靠著卷積和卷積神經網絡,深度學習才超越了幾乎其他所有的機器學習手段。
  • 從數學概念入手,一文帶你理解感知機是什麼
    神經網絡類型眾多,其中最為重要的是多層感知機。 多層感知機中的特徵神經元模型稱為感知機。本文將解釋從數學概念上理解感知機模型,雷鋒網編譯。感知機元件神經元是神經網絡的主要組成部分,感知機是最常用的模型。 如下圖所示。上述神經元包含下列元素:輸入(x1 ,...,xn )。偏移b和突觸權重(w1 ,...,wn )。
  • 人工智慧黑盒揭秘:深度神經網絡可視化技術
    深度神經網絡又是最為複雜的機器學習模型,其可解釋性與可視化性更加具有挑戰性。網絡模型為什麼起作用,它是否足夠好,圖像識別是如何抽象出「貓」這個概念的?本段分析了幾種典型深度神經網絡可視化技術,詳盡展示了前沿的可視化原理以及解釋性效果。
  • 吳恩達深度學習(20)-激活函數的導數和神經網絡的梯度下降
    激活函數的導數(Derivatives of activation functions)在神經網絡中使用反向傳播的時候,你真的需要計算激活函數的斜率或者導數。>在神經網絡中a=g(z);g(z)'=d/dz g(z)=a(1-a)2) Tanh activation function其具體的求導如下: 公式2: g(z)=tanh(z)=(e^z-e^(-z))/(e^z+e^(-z) )在神經網絡中;3)Rectified Linear Unit
  • 人工智慧-深度學習-激活函數ReLU,Sigmoid,TanH,ELU,MaxOut
    激活函數:在多層神經網絡中,上層節點的輸出和下層節點的輸入之間具有一個函數關係,這個函數稱為激活函數(又稱激勵函數)激活函數的本質:激活函數是來向神經網絡中引入非線性因素的,通過激活函數,神經網絡就可以擬合各種曲線。
  • 人工神經網絡的驅動者:激活函數是什麼?
    圖源:unsplash激活函數是人工神經網絡的驅動因素,其位於神經元之上,並管理著神經元行為,比如是否需要處理某個輸入數據,若需要,又以何種程度處理等等。從技術上來講,某個節點的激活函數將其在神經網絡中前一個節點的數據輸入,並輸出一個確定值,這個值繼而指導後續節點如何發動來響應特定輸入信號。本文剖析由激活函數組成的神經網絡,以及神經網絡的生物類似物,並簡要介紹幾種常用的激活函數。神經網絡的結構作為一名數據科學愛好者,你一定見過上面的這張圖片或者與之相似的圖片。這張圖片是對雙層神經網絡工作流程的經典描述。
  • 理清神經網絡中的數學知識
    導讀:首先我想在這裡聲明的是,本篇文章針對的是一些已經具備一定神經網絡知識的人。意在幫助大家梳理神經網絡中涉及的數學知識,以及理解其物理含義。希望大家讀過之後,可以使大家對於神經網絡有更多角度的理解,幫助大家推導以及理解其中的數學公式。
  • 人工智慧-深度學習-神經網絡結構MLP,CNN,RNN,LSTM
    人工神經網絡、激活函數、代價函數、梯度下降、反向傳播是深度學習的幾個關鍵點;常見的深度學習神經網絡結構有多層感知器MLP、CNN、RNN、LSTM等。函數是sigmoid函數的一種變體,它的取值範圍為,而不是sigmoid函數的DNN-可以理解為有很多隱藏層的神經網絡,有時也叫做多層感知機(Multi-Layer perceptron,MLP)CNN-Convolutional
  • 教學研討|6.1平面向量的概念(2019版新教材)
    2.內容解析 本節課是向量的入門課,概念較多,但難度不大,學生可借鑑對物理學中的位移、力、速度等的認識來學習.在物理學中,位移、速度、力是既有大小又有方向的量,在數學中,我們可以以位移、速度、力等物理量為背景抽象出向量的概念. 受由用帶箭頭的線段表示位移啟發,教科書用有向線段直觀表示向量.
  • 深度學習入門:淺析卷積神經網絡
    卷積神經網絡的每一層都將3維的輸入數據變化為神經元3維的激活數據並輸出。在下圖中,紅色的輸入層代表輸入圖像,所以它的寬度和高度就是圖像的寬度和高度,它的深度是3(代表了RGB 3種顏色通道)。圖中紅色右邊的藍色部分是經過卷積運算(convolution)和池化運算(Pooling)之後的激活值(也可以看作一層神經元) ,後面是接著的下一部分卷積池化層,最右邊綠色的部分是一個深度為分類個數的輸出向量。
  • 用幾何思維幫你理解基、線性組合與向量空間
    鋪墊在介紹各種「高大上」的名詞之前,我們先來看下向量的幾何意義。現在有一個2維向量w=(2,1),把它畫在坐標軸上就是這個樣子的:我們可以把它看成是從原點(0,0)出發,終點是(2,1)的一段路徑或者一個箭頭,也可以把向量w抽象為1個點(因為所有的向量都是從原點出發,可以忽略掉路徑),這個點的坐標(2,1)就是它的向量坐標。