0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用淺顯的語言帶領(lǐng)大家了解可解釋性的概念與方法

8g3K_AI_Thinker ? 來源:未知 ? 作者:胡薇 ? 2018-06-25 10:21 ? 次閱讀

01

深度學(xué)習(xí)的可解釋性研究(一)

讓模型具備說人話的能力

▌可解釋性是什么?

廣義上的可解釋性指在我們需要了解或解決一件事情的時候,我們可以獲得我們所需要的足夠的可以理解的信息。

比如我們在調(diào)試bug的時候,需要通過變量審查和日志信息定位到問題出在哪里。比如在科學(xué)研究中面臨一個新問題的研究時,我們需要查閱一些資料來了解這個新問題的基本概念和研究現(xiàn)狀,以獲得對研究方向的正確認(rèn)識。

反過來理解,如果在一些情境中我們無法得到相應(yīng)的足夠的信息,那么這些事情對我們來說都是不可解釋的。比如劉慈欣的短篇《朝聞道》中霍金提出的“宇宙的目的是什么”這個問題一下子把無所不知的排險者卡住了,因為再高等的文明都沒辦法理解和掌握造物主創(chuàng)造宇宙時的全部信息,這些終極問題對我們來說永遠都是不可解釋的。

而具體到機器學(xué)習(xí)領(lǐng)域來說,以最用戶友好的決策樹模型為例,模型每作出一個決策都會通過一個決策序列來向我們展示模型的決策依據(jù):比如男性&未婚&博士&禿頭的條件對應(yīng)“不感興趣”這個決策,而且決策樹模型自帶的基于信息理論的篩選變量標(biāo)準(zhǔn)也有助于幫助我們理解在模型決策產(chǎn)生的過程中哪些變量起到了顯著的作用。

所以在一定程度上,我們認(rèn)為決策樹模型是一個具有比較好的可解釋性的模型,在以后的介紹中我們也會講到,以決策樹為代表的規(guī)則模型在可解釋性研究方面起到了非常關(guān)鍵的作用。

再以用戶最不友好的多層神經(jīng)網(wǎng)絡(luò)模型為例,模型產(chǎn)生決策的依據(jù)是什么呢?大概是以比如 1/(e^-(2*1/(e^(-(2*x+y))+1) + 3*1/(e^(-(8*x+5*y))+1))+1) 是否大于0.5為標(biāo)準(zhǔn)(這已經(jīng)是最簡單的模型結(jié)構(gòu)了),這一連串的非線性函數(shù)的疊加公式讓人難以直接理解神經(jīng)網(wǎng)絡(luò)的“腦回路”,所以深度神經(jīng)網(wǎng)絡(luò)習(xí)慣性被大家認(rèn)為是黑箱模型。

17年ICML的Tutorial中給出的一個關(guān)于可解釋性的定義是:Interpretation is the process of giving explanationsto Human.

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

▌我們?yōu)槭裁葱枰山忉屝裕?/p>

廣義上來說我們對可解釋性的需求主要來源于對問題和任務(wù)了解得還不夠充分。具體到深度學(xué)習(xí)/機器學(xué)習(xí)領(lǐng)域,就像我們上文提到的多層神經(jīng)網(wǎng)絡(luò)存在的問題,盡管高度的非線性賦予了多層神經(jīng)網(wǎng)絡(luò)極高的模型表示能力,配合一些堪稱現(xiàn)代煉丹術(shù)的調(diào)參技術(shù)可以在很多問題上達到非常喜人的表現(xiàn),大家如果經(jīng)常關(guān)注AI的頭條新聞,那些機器學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)不可思議的最新突破甚至經(jīng)常會讓人產(chǎn)生AI馬上要取代人類的恐懼和幻覺。

但正如近日貝葉斯網(wǎng)絡(luò)的創(chuàng)始人Pearl所指出的,“幾乎所有的深度學(xué)習(xí)突破性的本質(zhì)上來說都只是些曲線擬合罷了”,他認(rèn)為今天人工智能領(lǐng)域的技術(shù)水平只不過是上一代機器已有功能的增強版。

雖然我們造出了準(zhǔn)確度極高的機器,但最后只能得到一堆看上去毫無意義的模型參數(shù)和擬合度非常高的判定結(jié)果,但實際上模型本身也意味著知識,我們希望知道模型究竟從數(shù)據(jù)中學(xué)到了哪些知識(以人類可以理解的方式表達的)從而產(chǎn)生了最終的決策。從中是不是可以幫助我們發(fā)現(xiàn)一些潛在的關(guān)聯(lián),比如我想基于深度學(xué)習(xí)模型開發(fā)一個幫助醫(yī)生判定病人風(fēng)險的應(yīng)用,除了最終的判定結(jié)果之外,我可能還需要了解模型產(chǎn)生這樣的判定是基于病人哪些因素的考慮。如果一個模型完全不可解釋,那么在很多領(lǐng)域的應(yīng)用就會因為沒辦法給出更多可靠的信息而受到限制。這也是為什么在深度學(xué)習(xí)準(zhǔn)確率這么高的情況下,仍然有一大部分人傾向于應(yīng)用可解釋性高的傳統(tǒng)統(tǒng)計學(xué)模型的原因。

不可解釋同樣也意味著危險,事實上很多領(lǐng)域?qū)ι疃葘W(xué)習(xí)模型應(yīng)用的顧慮除了模型本身無法給出足夠的信息之外,也有或多或少關(guān)于安全性的考慮。比如,下面一個非常經(jīng)典的關(guān)于對抗樣本的例子,對于一個CNN模型,在熊貓的圖片中添加了一些噪聲之后卻以99.3%的概率被判定為長臂猿。

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

事實上其他一些可解釋性較好的模型面對的對抗樣本問題可能甚至比深度學(xué)習(xí)模型更多,但具備可解釋性的模型在面對這些問題的時候是可以對異常產(chǎn)生的原因進行追蹤和定位的,比如線性回歸模型中我們可以發(fā)現(xiàn)某個輸入?yún)?shù)過大/過小導(dǎo)致了最后判別失常。但深度學(xué)習(xí)模型很難說上面這兩幅圖到底是因為哪些區(qū)別導(dǎo)致了判定結(jié)果出現(xiàn)了如此大的偏差。盡管關(guān)于對抗樣本的研究最近也非?;馃?,但依然缺乏具備可解釋性的關(guān)于這類問題的解釋。

當(dāng)然很多學(xué)者對可解釋性的必要性也存有疑惑,在NIPS 2017會場上,曾進行了一場非常激烈火爆的主題為“可解釋性在機器學(xué)習(xí)中是否必要”的辯論,大家對可解釋性的呼聲還是非常高的。

但人工智能三巨頭之一的Yann LeCun卻認(rèn)為:人類大腦是非常有限的,我們沒有那么多腦容量去研究所有東西的可解釋性。有些東西是需要解釋的,比如法律,但大多數(shù)情況下,它們并沒有你想象中那么重要。比如世界上有那么多應(yīng)用、網(wǎng)站,你每天用Facebook、Google的時候,你也沒想著要尋求它們背后的可解釋性。

LeCun也舉了一個例子:他多年前和一群經(jīng)濟學(xué)家也做了一個模型來預(yù)測房價。第一個用的簡單的線性于猜測模型,經(jīng)濟學(xué)家也能解釋清楚其中的原理;第二個用的是復(fù)雜的神經(jīng)網(wǎng)絡(luò),但效果比第一個好上不少。結(jié)果,這群經(jīng)濟學(xué)家想要開公司做了。你說他們會選哪個?LeCun表示,任何時候在這兩種里面選擇都會選效果好的。就像很多年里雖然我們不知道藥物里的成分但一直在用一樣。

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

有哪些可解釋性方法?

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

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

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

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

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

這一類方法其實主要涉及一些數(shù)據(jù)預(yù)處理或數(shù)據(jù)展示的方法。機器學(xué)習(xí)解決的是從數(shù)據(jù)中發(fā)現(xiàn)知識和規(guī)律的問題,如果我們對想要處理的數(shù)據(jù)特征所知甚少,指望對所要解決的問題本身有很好的理解是不現(xiàn)實的,在建模之前的可解釋性方法的關(guān)鍵在于幫助我們迅速而全面地了解數(shù)據(jù)分布的特征,從而幫助我們考慮在建模過程中可能面臨的問題并選擇一種最合理的模型來逼近問題所能達到的最優(yōu)解。

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

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

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

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

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

1. 基于規(guī)則的方法(Rule-based)

2. 基于單個特征的方法(Per-feature-based)

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

4. 稀疏性方法(Sparsity)

5. 單調(diào)性方法(Monotonicity)

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

基于單個特征的方法主要是一些非常經(jīng)典的線性模型,比如線性回歸、邏輯回歸、廣義線性回歸、廣義加性模型等,這類模型可以說是現(xiàn)在可解釋性最高的方法,可能學(xué)習(xí)機器學(xué)習(xí)或計算機相關(guān)專業(yè)的朋友會認(rèn)為線性回歸是最基本最低級的模型,但如果大家學(xué)過計量經(jīng)濟學(xué),就會發(fā)現(xiàn)大半本書都在討論線性模型,包括經(jīng)濟學(xué)及相關(guān)領(lǐng)域的論文其實大多數(shù)也都是使用線性回歸作為方法來進行研究。

這種非常經(jīng)典的模型全世界每秒都會被用到大概800多萬次。為什么大家這么青睞這個模型呢?除了模型的結(jié)構(gòu)比較簡單之外,更重要的是線性回歸模型及其一些變種擁有非常solid的統(tǒng)計學(xué)基礎(chǔ),統(tǒng)計學(xué)可以說是最看重可解釋性的一門學(xué)科了,上百年來無數(shù)數(shù)學(xué)家統(tǒng)計學(xué)家探討了在各種不同情況下的模型的參數(shù)估計、參數(shù)修正、假設(shè)檢驗、邊界條件等等問題,目的就是為了使得在各種不同情況下都能使模型具有有非常好的可解釋性,如果大家有時間有興趣的話,除了學(xué)習(xí)機器學(xué)習(xí)深度模型模型之外還可以盡量多了解一些統(tǒng)計學(xué)的知識,可能對一些問題會獲得完全不一樣的思考和理解。

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

使用BCM學(xué)到的分類及其對應(yīng)的代表性樣本和代表性特征子空間

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

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

Graph-based LDA 中的主題層次結(jié)構(gòu)

基于單調(diào)性的方法:在很多機器學(xué)習(xí)問題中,有一些輸入和輸出之間存在正相關(guān)/負(fù)相關(guān)關(guān)系,如果在模型訓(xùn)練中我們可以找出這種單調(diào)性的關(guān)系就可以讓模型具有更高的可解釋性。比如醫(yī)生對患特定疾病的概率的估計主要由一些跟該疾病相關(guān)聯(lián)的高風(fēng)險因素決定,找出單調(diào)性關(guān)系就可以幫助我們識別這些高風(fēng)險因素。

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

建模后的可解釋性方法主要是針對具有黑箱性質(zhì)的深度學(xué)習(xí)模型而言的,主要分為以下幾類的工作:

1. 隱層分析方法

2. 模擬/代理模型

3. 敏感性分析方法

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

除了對深度學(xué)習(xí)模型本身進行解釋的方法之外,也有一部分工作旨在建立本身具有可解釋性的深度學(xué)習(xí)模型,這和我們前面介紹通用的可解釋性模型有區(qū)別也有聯(lián)系,也放到以后的文章中進行介紹。

02

深度學(xué)習(xí)的可解釋性研究(二)

不如打開箱子看一看

在上一節(jié)中我們介紹了深度學(xué)習(xí)可解釋性的三種方法:1. 隱層分析法,2. 敏感性分析法 3. 代理/替代模型法。在這一節(jié)中我們主要介紹第一種方法:隱層分析法。

▌黑箱真的是黑箱嗎?——深度學(xué)習(xí)的物質(zhì)組成視角

通過上一節(jié)的介紹我們也了解到,深度學(xué)習(xí)的黑箱性主要來源于其高度非線性性質(zhì),每個神經(jīng)元都是由上一層的線性組合再加上一個非線性函數(shù)的得到,我們無法像理解線性回歸的參數(shù)那樣通過非常solid的統(tǒng)計學(xué)基礎(chǔ)假設(shè)來理解神經(jīng)網(wǎng)絡(luò)中的參數(shù)含義及其重要程度、波動范圍。

但實際上我們是知道這些參數(shù)的具體值以及整個訓(xùn)練過程的,所以神經(jīng)網(wǎng)絡(luò)模型本身其實并不是一個黑箱,其黑箱性在于我們沒辦法用人類可以理解的方式理解模型的具體含義和行為,而神經(jīng)網(wǎng)絡(luò)的一個非常好的性質(zhì)在于神經(jīng)元的分層組合形式,這讓我們可以用物質(zhì)組成的視角來理解神經(jīng)網(wǎng)絡(luò)的運作方式。比如如下圖所示,人體的組成過程是從分子-細胞-組織-器官-系統(tǒng)-人體:

人體的組成結(jié)構(gòu)示意

而通過一些對神經(jīng)網(wǎng)絡(luò)隱層的可視化我們也發(fā)現(xiàn):比如下圖的一個人臉識別的例子,神經(jīng)網(wǎng)絡(luò)在這個過程中先學(xué)到了邊角的概念,之后學(xué)到了五官,最后學(xué)到了整個面部的特征。

(以上內(nèi)容參考了@YJango在如何簡單形象又有趣地講解神經(jīng)網(wǎng)絡(luò)是什么?中的回答,侵刪)

如果我們能夠用一些方法來幫助我們理解這個從低級概念到高級概念的生成過程,那么就離理解神經(jīng)網(wǎng)絡(luò)的具體結(jié)構(gòu)就近了很多。而這也可以逐漸幫助我們完成一個“祛魅”的過程,將調(diào)參的魔法真正變成一項可控、可解釋的過程。

要理解這個概念的生成過程很重要的一點就是要研究隱層的概念表示,在接下來的部分中我將給大家介紹業(yè)界關(guān)于隱層分析方法的幾個研究工作。

▌模型學(xué)到了哪些概念?

要理解神經(jīng)網(wǎng)絡(luò)中每層都學(xué)到了哪些概念一個非常直觀的方法就是通過對隱層運用一些可視化方法來將其轉(zhuǎn)化成人類可以理解的有實際含義的圖像,這方面一個非常具有代表性的一個工作就是14年ECCV的一篇經(jīng)典之作:《Visualizing and Understanding Convolutional Networks》,這篇文章主要利用了反卷積的相關(guān)思想實現(xiàn)了特征可視化來幫助我們理解CNN的每一層究竟學(xué)到了什么東西。我們都知道典型的CNN模型的一個完整卷積過程是由卷積-激活-池化(pooling)三個步驟組成的。而如果想把一個CNN的中間層轉(zhuǎn)化成原始輸入空間呢?我們就需要經(jīng)過反池化-反激活-反卷積這樣的一個逆過程。整個模型的結(jié)構(gòu)如下圖所示:

反池化:

反池化其實很好理解,以下面的圖片為例,左圖可以表示是池化(pooling)過程,右圖表示反池化(unpooling)過程,池化過程中我們將3*3的一個pooling塊中的最大值取出,而反池化則是將pooling后的值恢復(fù)成3*3的像素單元,由于我們現(xiàn)在只有一個激活值, 所以只將該激活值對應(yīng)原pooling塊中位置的值還原回去,其他的值設(shè)定成0。所以在max-pooling的時候,我們不光要知道pooling值,同時也要記錄下pooling值的對應(yīng)位置,比如下圖pooling值的位置就是(0,1)。

反池化過程

反激活:

在典型的CNN模型中,我們一般使用Relu作為激活函數(shù),而反激活的值和實際的激活值沒有任何區(qū)別:只保留正數(shù),其余值為0即可。

反卷積:

反卷積的過程其實非常有意思,其實反卷積這個名字多多少少有些誤人子弟,和真正的反卷積并沒有多大關(guān)系,真實的含義應(yīng)該是轉(zhuǎn)置卷積(Transposed Convolution),CNN模型的卷積過程本質(zhì)上來講和一般的神經(jīng)網(wǎng)絡(luò)沒有任何區(qū)別(只不過將一些共用參數(shù)組合成了一個濾波器的形式),都可以轉(zhuǎn)變成一個矩陣乘法的操作(只不過對CNN模型來說是一個參數(shù)重復(fù)度很高的稀疏矩陣),我們不妨將這個稀疏矩陣表示為 C,那么后一層和前一層的關(guān)系就可以表示為:

而在反向傳播的過程中,往往可以表示為卷積層對輸入層的梯度,也就是說通過對卷積層進行適當(dāng)?shù)难a0操作,再用原始的卷積核轉(zhuǎn)置之后的卷積核進行卷積操作,就可以得到相應(yīng)的梯度矩陣與當(dāng)前卷積層的乘積,而我們在這里使用反池化-反激活之后的特征(其中包含了大部分為0的數(shù)值)進行該操作其實表征了原始輸入對池化之后的特征的影響,因為在反激活過程中保證了所有值非負(fù)因此反卷積的過程中符號不會發(fā)生改變。

反卷積是個上采樣過程

通過上面的介紹我們其實可以明白,這個反卷積的方法之所以能夠成功地將CNN的隱層可視化出來,一個關(guān)鍵就在于通過反激活-反池化的過程,我們屏蔽掉了很多對當(dāng)前層的激活值沒有實際作用的輸入層的影響將其歸為0,通過反卷積操作就得到了僅對當(dāng)前層有實際貢獻的輸入層的數(shù)值——將其作為該層的特征表示。因為我們最后得到的這個特征表示和原輸入空間的大小是一致的,其數(shù)值表示也對應(yīng)著原始空間的像素點,所以在一定程度上,這是我們可以理解的一個特征表示。

從實驗結(jié)果可以看出來,第二層對應(yīng)著一些邊角或色彩特征,第三層對應(yīng)著紋理特征,第四層對應(yīng)著一些如狗臉、車輪這樣的局部部位,第五層則對整體的物體有較強的識別能力。

通過上面這篇論文的工作,我們可以大致地用肉眼來判斷神經(jīng)網(wǎng)絡(luò)學(xué)到的概念類型,但如果能識別一些語義概念的話對我們來說可能更有意義,在這方面一個非常有代表性的工作是在CVPR 2017上發(fā)表《Network Dissection:Quantifying.Interpretability.of.Deep.VisualRepresentations》,這篇文章提出了一種網(wǎng)絡(luò)切割(Network Dissection)的方法來提取CNN的概念表示。

所謂的網(wǎng)絡(luò)切割(Network Dissection)方法其實分為三個步驟:

1. 識別一個范圍很廣的人工標(biāo)注的視覺語義概念數(shù)據(jù)集

2. 將隱層變量對應(yīng)到這些概念表示上

3. 量化這些隱層-概念對的匹配程度

為了獲得大量的視覺語義概念數(shù)據(jù),研究人員收集了來自不同數(shù)據(jù)源的分層語義標(biāo)注數(shù)據(jù)(包括顏色、材質(zhì)、材料、部分、物體、場景這幾個層次),如下圖所示

而如何將隱層變量對應(yīng)到這些概念表示上并獲得隱層-概念對的匹配程度呢,本文提出了如下的方法:

對于每個輸入圖像x,獲取每個隱層k的activation map(其實也就是feature map),這樣就可以得到隱層k激活值的分布,對于每個隱層k,我們都可以找到一個??使得?,這個?可以作為接下來判斷區(qū)域是否激活的一個標(biāo)準(zhǔn)。

為了方便對比低分辨率的卷積層和輸入層的概念激活熱圖

(其實就是標(biāo)注出了相關(guān)概念在圖像中的代表區(qū)域),我們將低分辨率的卷積層的特征圖通過插值的方法擴展為和原始圖片尺寸一樣大的圖像??。

之后再建立一個二元分割?,這樣就得到了所有被激活的區(qū)域,而我們通過將?和輸入層的概念激活熱圖?作對比,這樣就可以獲得隱層-概念對的匹配程度:

可以發(fā)現(xiàn)如果匹配度高的話,那么分子就比較大(交叉范圍大),分母就比較?。ê喜⒎秶。?,我們通過和顏色、材質(zhì)、材料、部分、物體、場景不同層次的概念作匹配就能得到隱層學(xué)到的概念層次了,這個模型的結(jié)構(gòu)如下圖所示:

Network Dissection的模型結(jié)構(gòu)

模型在AlexNet上的實驗結(jié)果

從實驗結(jié)果中我們也可以發(fā)現(xiàn)隨著層數(shù)的增加,神經(jīng)網(wǎng)絡(luò)學(xué)到的概念類型也逐漸變得高級,比如在AlexNet中,前面的卷積層對顏色、材質(zhì)的識別力較強,后面的卷積層對物體、場景的識別力較強。特別是對物體的識別上,后面的卷積層有突出的優(yōu)勢。

▌低級到高級=泛化到特化?

當(dāng)然從低級概念到高級概念的一個過程中總是會伴隨著一個非常有意思的現(xiàn)象:泛化性逐漸降低,特化性逐漸升高。比如在細胞層次上,人類和其他動物的區(qū)別比較小,這個層次的泛化性就高,但到組織器官層次區(qū)別就比較大,這個層次的特化性就高。Bengio團隊在2014年發(fā)表的一篇工作《How transferable are features in deep neural networks》就是通過研究特征的可遷移性來對這個從泛化的特化的過程進行評估。

特征在遷移任務(wù)上的表現(xiàn)往往是評價特征泛化性能的一個非常好的依據(jù)。在遷移學(xué)習(xí)中,我們首先基于基礎(chǔ)數(shù)據(jù)訓(xùn)練一個基礎(chǔ)網(wǎng)絡(luò),然后將特征改換到另一個任務(wù)上,如果特征是具備泛化性的,那么其在遷移任務(wù)中應(yīng)該也是適用的。在這個工作中,作者將1000個ImageNet的分類分成了兩個組,每個組個包含大約500個分類和645000個樣本。然后利用這兩組數(shù)據(jù)各訓(xùn)練一個八層的卷積網(wǎng)絡(luò)baseA和baseB,然后分別取第1到第7個卷積層訓(xùn)練幾個新的網(wǎng)絡(luò),以第3層為例:

自我復(fù)制網(wǎng)絡(luò)(selffer network)B3B,前三層從baseB上復(fù)制并凍結(jié)。剩余的5個卷積層隨機初始化并在數(shù)據(jù)集B上訓(xùn)練,這個網(wǎng)絡(luò)作為控制組。

一個遷移網(wǎng)絡(luò)(transfer network)A3B:前三層從baseA上復(fù)制并凍結(jié)。剩余的5個卷積層隨機初始化并在數(shù)據(jù)集B上訓(xùn)練。如果A3B的任務(wù)表現(xiàn)和baseB一樣好,那么就說明第三層的特征至少對于B任務(wù)來講是泛化的,如果不如baseB,那么說明第三層特征就是特化的。

一個自我復(fù)制網(wǎng)絡(luò)B3B+,網(wǎng)絡(luò)結(jié)構(gòu)和B3B一樣,但所有層都是可學(xué)習(xí)的。

一個遷移網(wǎng)絡(luò)A3B+,網(wǎng)絡(luò)結(jié)構(gòu)和A3B一樣,但所有層都是可學(xué)習(xí)的。

這些網(wǎng)絡(luò)的結(jié)構(gòu)圖如下圖所示:

而從實驗結(jié)果來看,transferAnB的隨著層數(shù)的增加性能在不斷下降(泛化降低,特化提升,這印證了我們對泛化特化性質(zhì)隨層數(shù)變化的基本判斷),而控制組的selfferBnB的性能出現(xiàn)了先下降后上升的現(xiàn)象(泛化和特化都不足夠的中間層既缺乏可學(xué)習(xí)性,特征的描述性又不夠強,因而出現(xiàn)了性能下降的現(xiàn)象),transferBnB+和transferAnB+一直維持著比較好的性能,但其中transferAnB+的性能確是最好的,特征在遷移任務(wù)上表現(xiàn)出來的優(yōu)勢其實也對應(yīng)了我們在上一節(jié)中講的模型本身也意味著知識。

▌?wù)娴男枰敲炊鄬訂幔?/p>

對于神經(jīng)網(wǎng)絡(luò)來說,隱層的數(shù)量永遠都是一個玄學(xué),我們?nèi)绾卫斫怆[層的數(shù)量和模型性能之間的關(guān)系呢?Bengio在2016年還做過一個工作《Understanding intermediate layers using linear classifier probes》。這篇文章的思路非常簡單,就是通過在每個隱層中添加一個線性探針來測試隱層的表征性能。什么是線性探針呢?也很簡單,就是以每個隱藏層為輸入,判別的label為輸出建立一個邏輯回歸模型,通過評估模型的準(zhǔn)確率我們就能得到隱層在整個訓(xùn)練過程中以及訓(xùn)練結(jié)束之后表征性能的變化。

通過32個隱層在二分?jǐn)?shù)據(jù)上的實驗我們可以發(fā)現(xiàn)隨著隱層的增加表征性能不斷提高,但提高的比率也逐漸趨于緩慢。

在基于Minist數(shù)據(jù)訓(xùn)練的CNN模型上,經(jīng)過10個周期的訓(xùn)練,第一個卷積層的表征性能提升非常明顯,但之后的卷積層并沒有很明顯的提升。

▌小結(jié)

本文中我們主要介紹了四個在隱層分析上有代表性的工作,這類方法在神經(jīng)網(wǎng)絡(luò)可解釋性的研究中向我們揭示了隱層性質(zhì)的變化和概念生成的過程,在之后要講到的敏感性分析方法中,也會不可避免地涉及對隱層的分析。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標(biāo)題:詳解深度學(xué)習(xí)的可解釋性研究(上篇)

文章出處:【微信號:AI_Thinker,微信公眾號:人工智能頭條】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    機器學(xué)習(xí)模型可解釋性的結(jié)果分析

    AI 一文中我們已經(jīng)了解到模型可解釋性發(fā)展的相關(guān)背景以及目前較為成熟的技術(shù)方法,本文通過一個具體實例來了解下在 MATLAB 中是如何使用這些方法
    發(fā)表于 09-28 10:17 ?898次閱讀
    機器學(xué)習(xí)模型<b class='flag-5'>可解釋性</b>的結(jié)果分析

    什么是“可解釋的”? 可解釋性AI不能解釋什么

    通過建立既可解釋又準(zhǔn)確的模型來改良這種錯誤的二分法。關(guān)鍵是將神經(jīng)網(wǎng)絡(luò)與決策樹相結(jié)合,在使用神經(jīng)網(wǎng)絡(luò)進行低級決策時保留高級的可解釋性。
    發(fā)表于 05-31 10:51 ?8425次閱讀

    斯坦福探索深度神經(jīng)網(wǎng)絡(luò)可解釋性 決策樹是關(guān)鍵

    深度學(xué)習(xí)的熱潮還在不斷涌動,神經(jīng)網(wǎng)絡(luò)再次成為業(yè)界人士特別關(guān)注的問題,AI 的未來大有可期,而深度學(xué)習(xí)正在影響我們的日常生活。近日斯坦福大學(xué)給我們分享咯一則他對深度神經(jīng)網(wǎng)絡(luò)可解釋性的探索的論文,我們?nèi)タ纯此侨缋斫獾陌桑?/div>
    發(fā)表于 01-10 16:06 ?4344次閱讀
    斯坦福探索深度神經(jīng)網(wǎng)絡(luò)<b class='flag-5'>可解釋性</b> 決策樹是關(guān)鍵

    機器學(xué)習(xí)模型的“可解釋性”的概念及其重要意義

    如果考察某些類型的“事后可解釋性”(post-hoc interpretable),深度神經(jīng)網(wǎng)絡(luò)具有明顯的優(yōu)勢。深度神經(jīng)網(wǎng)絡(luò)能夠?qū)W習(xí)豐富的表示,這些表示能夠可視化、用語言表達或用于聚類。如果考慮對可解釋性的需求,似乎線性模型在研
    的頭像 發(fā)表于 07-24 09:58 ?2w次閱讀

    神經(jīng)網(wǎng)絡(luò)可解釋性研究的重要日益凸顯

    神經(jīng)網(wǎng)絡(luò)的可解釋性,從經(jīng)驗主義到數(shù)學(xué)建模
    的頭像 發(fā)表于 06-27 10:54 ?5185次閱讀

    深度理解神經(jīng)網(wǎng)絡(luò)黑盒子:可驗證可解釋性

    雖然神經(jīng)網(wǎng)絡(luò)在近年來 AI 領(lǐng)域取得的成就中發(fā)揮了關(guān)鍵作用,但它們依舊只是有限可解釋性的黑盒函數(shù)近似器。
    的頭像 發(fā)表于 08-15 09:17 ?1.3w次閱讀

    Explainable AI旨在提高機器學(xué)習(xí)模型的可解釋性

    Google Cloud AI戰(zhàn)略總監(jiān)Tracy Frey在 今天的博客中解釋說,Explainable AI旨在提高機器學(xué)習(xí)模型的可解釋性。她說,這項新服務(wù)的工作原理是量化每個數(shù)據(jù)因素對模型產(chǎn)生的結(jié)果的貢獻,幫助用戶了解其做出
    的頭像 發(fā)表于 03-24 15:14 ?2896次閱讀

    機器學(xué)習(xí)模型可解釋性的介紹

    模型可解釋性方面的研究,在近兩年的科研會議上成為關(guān)注熱點,因為大家不僅僅滿足于模型的效果,更對模型效果的原因產(chǎn)生更多的思考,這...
    的頭像 發(fā)表于 12-10 20:19 ?717次閱讀

    圖神經(jīng)網(wǎng)絡(luò)的解釋性綜述

    圖神經(jīng)網(wǎng)絡(luò)的可解釋性是目前比較值得探索的方向,今天解讀的2021最新綜述,其針對近期提出的 GNN 解釋技術(shù)進行了系統(tǒng)的總結(jié)和分析,歸納對比了該問題的解決思路。作者還為GNN解釋性問題提供了標(biāo)準(zhǔn)的圖
    的頭像 發(fā)表于 04-09 11:42 ?2638次閱讀
    圖神經(jīng)網(wǎng)絡(luò)的<b class='flag-5'>解釋性</b>綜述

    《計算機研究與發(fā)展》—機器學(xué)習(xí)的可解釋性

    機器學(xué)習(xí)的可解釋性 來源:《計算機研究與發(fā)展》,作者陳珂銳等 摘 要?近年來,機器學(xué)習(xí)發(fā)展迅速,尤其是深度學(xué)習(xí)在圖像、聲音、自然語言處理等領(lǐng)域取得卓越成效.機器學(xué)習(xí)算法的表示能力大幅度提高,但是
    發(fā)表于 01-25 08:35 ?1039次閱讀
    《計算機研究與發(fā)展》—機器學(xué)習(xí)的<b class='flag-5'>可解釋性</b>

    關(guān)于機器學(xué)習(xí)模型的六大可解釋性技術(shù)

    本文介紹目前常見的幾種可以提高機器學(xué)習(xí)模型的可解釋性的技術(shù)。
    的頭像 發(fā)表于 02-26 17:20 ?2128次閱讀
    關(guān)于機器學(xué)習(xí)模型的六大<b class='flag-5'>可解釋性</b>技術(shù)

    機器學(xué)習(xí)模型的可解釋性算法詳解

    本文介紹目前常見的幾種可以提高機器學(xué)習(xí)模型的可解釋性的技術(shù),包括它們的相對優(yōu)點和缺點。
    的頭像 發(fā)表于 02-16 16:21 ?4568次閱讀
    機器學(xué)習(xí)模型的<b class='flag-5'>可解釋性</b>算法詳解

    使用RAPIDS加速實現(xiàn)SHAP的模型可解釋性

      模型解釋性 幫助開發(fā)人員和其他利益相關(guān)者理解模型特征和決策的根本原因,從而使流程更加透明。能夠解釋模型可以幫助數(shù)據(jù)科學(xué)家解釋他們的模型做出決策的原因,為模型增加價值和信任。在本文中,我們將討論:
    的頭像 發(fā)表于 04-21 09:25 ?2375次閱讀

    可以提高機器學(xué)習(xí)模型的可解釋性技術(shù)

    本文介紹目前常見的幾種可以提高機器學(xué)習(xí)模型的可解釋性的技術(shù),包括它們的相對優(yōu)點和缺點。
    的頭像 發(fā)表于 02-08 14:08 ?1134次閱讀

    文獻綜述:確保人工智能可解釋性和可信度的來源記錄

    本文對數(shù)據(jù)起源、可解釋AI(XAI)和可信賴AI(TAI)進行系統(tǒng)的文獻綜述,以解釋基本概念,說明數(shù)據(jù)起源文件可以用來提升基于人工智能系統(tǒng)實現(xiàn)可解釋性。此外,文中還討論了這個領(lǐng)域近期的
    的頭像 發(fā)表于 04-28 15:55 ?1244次閱讀
    文獻綜述:確保人工智能<b class='flag-5'>可解釋性</b>和可信度的來源記錄