0
神經(jīng)網(wǎng)絡(luò)的可解釋性一直是所有研究人員心頭的一團(tuán)烏云。傳統(tǒng)的嘗試進(jìn)行可解釋性研究的方法是通過查看網(wǎng)絡(luò)中哪個(gè)神經(jīng)元被激發(fā)來來理解,但是即使我們知道“第538號(hào)神經(jīng)元被激發(fā)了一點(diǎn)點(diǎn)”也毫無意義,并不能幫助我們理解神經(jīng)元在網(wǎng)絡(luò)中的意義。為了解決這樣的問題 Google Brain的一些研究人員開發(fā)了神經(jīng)網(wǎng)絡(luò)特征可視化方法。
2015 年上半年的時(shí)候,谷歌大腦的人員就嘗試將神經(jīng)網(wǎng)絡(luò)理解圖像并生成圖像的過程進(jìn)行可視化。隨后他們開源了他們的代碼 DeepDream。這個(gè)方法出乎他們意料的是,竟然促成了一個(gè)小小的藝術(shù)運(yùn)動(dòng),很多人通過可視化神經(jīng)網(wǎng)絡(luò)的技術(shù)生成了各種魔幻的作品。
去年在在線期刊 Distill 上,谷歌大腦的研究人員再次使用這項(xiàng)技術(shù)將單個(gè)神經(jīng)元在網(wǎng)絡(luò)中是如何工作的進(jìn)行了可視化,這項(xiàng)工作讓我們可以看到在網(wǎng)絡(luò)中間的各個(gè)神經(jīng)元如何一步步檢測(cè)到圖像中的各個(gè)事物,并且讓我們看到隨著網(wǎng)絡(luò)層次的加深圖像如何越來越復(fù)雜。雷鋒網(wǎng)曾經(jīng)在下面這篇文章中詳細(xì)介紹過
《谷歌的新CNN特征可視化方法,構(gòu)造出一個(gè)華麗繁復(fù)的新世界》
但是去年的這項(xiàng)工作漏掉了一項(xiàng)重要的事情:這些神經(jīng)元如何像網(wǎng)絡(luò)那樣連接起來的?
繼去年發(fā)布神經(jīng)網(wǎng)絡(luò)特征可視化方法之后,今天 Google Brain 在神經(jīng)網(wǎng)絡(luò)的可視化上又進(jìn)了一步。Google Brain 將這項(xiàng)工作稱為「神經(jīng)網(wǎng)絡(luò)的核磁共振成像」,我們知道核磁共振技術(shù)是生理學(xué)家可視化大腦工作機(jī)理的最有用的工具之一。
Google Brain 在 Distill 發(fā)布的「The Building Blocks of Interpretability」這篇文章中,作者探討了如何將特征可視化與其他可解釋性技術(shù)相結(jié)合,進(jìn)而可以了解網(wǎng)絡(luò)如何一步步做出決策的。這讓我們能夠「站在神經(jīng)網(wǎng)絡(luò)之中」看著網(wǎng)絡(luò)如何一步步做出決策的整個(gè)過程。
目前作者已經(jīng)公開其全部代碼 Lucid,并放出 colab notebooks 以方便任何人使用 Lucid 來重現(xiàn)他們的文章。
雷鋒網(wǎng) AI 科技評(píng)論將 Google Brain 在 Distill 上的研究?jī)?nèi)容全文翻譯如下:
研究神經(jīng)網(wǎng)絡(luò)可解釋性的技術(shù)往往都是單獨(dú)研究的。這篇論文里,作者們提出了強(qiáng)有力的可視化界面,讓讀者得以把各種技術(shù)結(jié)合在一起;不僅如此,現(xiàn)在還可以探索合并后的空間的復(fù)雜結(jié)構(gòu)。
比如,嘗試把特征可視化(一個(gè)神經(jīng)元在尋找什么)和歸因(它對(duì)輸出的影響如何)結(jié)合起來,我們可以開始探究網(wǎng)絡(luò)是如何把拉布拉多和豹貓區(qū)分開的。
從網(wǎng)絡(luò)中發(fā)現(xiàn),識(shí)別狗時(shí)有好幾個(gè)檢測(cè)軟塌塌的耳朵的檢測(cè)器發(fā)揮了重要作用;而檢測(cè)貓時(shí)就換成了尖耳朵的檢測(cè)器
隨著神經(jīng)網(wǎng)絡(luò)越來越成功,新的需求也隨之而來,那就是解釋它們是如何做出決定的:包括基礎(chǔ)性的研究證據(jù)說明它們?cè)谡鎸?shí)世界中的表現(xiàn)如何,如何檢測(cè)模型的偏倚,以及純粹為了科研目標(biāo)。為了達(dá)到這些目標(biāo),我們不僅需要構(gòu)建足夠深入的抽象,而且也需要以豐富的可視化形式把它們表現(xiàn)出來。然而,目前關(guān)于可解釋性的絕大多數(shù)研究都并沒有做出很好的成果。(幾個(gè)很有價(jià)值的是 Visualizing Representations: Deep Learning and Human Beings,Understanding neural networks through deep visualization(arXiv:1506.06579),Using Artificial Intelligence to Augment Human Intelligence)
整個(gè)機(jī)器學(xué)習(xí)社區(qū)的主要精力都花在了開發(fā)更強(qiáng)有力的新方法上,比如特征可視化(feature visualization)、歸因(attribution)以及降維,以便理解和推理神經(jīng)網(wǎng)絡(luò)的行為。然而,這些技術(shù)都是各自沿著不同的研究路徑在前進(jìn),相應(yīng)需要的把成果具體化、實(shí)例化的研究卻被忽略了。另一方面,人機(jī)交互研究社區(qū)已經(jīng)開始探索為神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)豐富的用戶界面,不過他們對(duì)機(jī)器學(xué)習(xí)領(lǐng)域的抽象方法并沒有多少接觸。對(duì)于如何使用這些抽象結(jié)果,目前都還是以相對(duì)標(biāo)準(zhǔn)的方法。所以最終我們看到的就是過于簡(jiǎn)單的界面(比如顯著性映射圖或者相關(guān)的抽象神經(jīng)元),其中有許多的值是留著未解釋的。更糟糕的是,有很多關(guān)于可解釋性的技巧并沒有完全實(shí)施到抽象中來,因?yàn)檠芯空邆儾]有遇到什么壓力來讓結(jié)果更通用化和組合化。
在這篇文章中,作者們把現(xiàn)有的各種可解釋性方法看作基礎(chǔ)的、可以相互組合的基礎(chǔ)結(jié)構(gòu),在它們基礎(chǔ)之上構(gòu)建豐富的用戶界面。他們發(fā)現(xiàn)這些互相獨(dú)立的技巧也能夠以統(tǒng)一的形式組合起來,在最后得到的界面中發(fā)揮補(bǔ)充性作用。更重要的是,這種統(tǒng)一的形式可以讓我們系統(tǒng)地探索可解釋性界面的整個(gè)空間,讓我們得以評(píng)估它們是否達(dá)到了特定目標(biāo)。下文中將展示各種樣式的界面,從中展示網(wǎng)絡(luò)檢測(cè)發(fā)現(xiàn)了什么,并且解釋網(wǎng)絡(luò)對(duì)物體的理解是如何逐步生成的,同時(shí)還把其中涉及到的信息保持在適合人類理解的尺度下。比如,我們將會(huì)看到一個(gè)看到了拉布拉多犬的網(wǎng)絡(luò)是如何檢測(cè)它軟塌塌的耳朵的,以及這種檢測(cè)行為是如何影響網(wǎng)絡(luò)的分類結(jié)果的。
這篇文章的研究基于的模型是谷歌 GoogLeNet,選用它展現(xiàn)作者們的界面構(gòu)建想法的原因是因?yàn)槠渲械纳窠?jīng)元有強(qiáng)于一般網(wǎng)絡(luò)的語義性。雖然這篇文章中作者們采用的是精心選擇的任務(wù)和網(wǎng)絡(luò)結(jié)構(gòu),其中的基礎(chǔ)抽象手段和組合它們的方式還是可以用在其它領(lǐng)域的神經(jīng)網(wǎng)絡(luò)中。
近期關(guān)于可解釋性的大部分工作都涉及神經(jīng)網(wǎng)絡(luò)的輸入和輸出層。 可以說,這主要是由于這些層具有明確的含義:在計(jì)算機(jī)視覺中,輸入層代表輸入圖像中每個(gè)像素的紅、綠、藍(lán)通道的值,而輸出層由類標(biāo)簽以及它們相關(guān)的概率。
然而,神經(jīng)網(wǎng)絡(luò)的強(qiáng)大之處是在于它們的隱藏層 —— 在每一層,網(wǎng)絡(luò)都會(huì)發(fā)現(xiàn)新的輸入表示。 在計(jì)算機(jī)視覺中,我們使用神經(jīng)網(wǎng)絡(luò)在圖像中的每個(gè)位置運(yùn)行相同的特征檢測(cè)器。我們可以將每個(gè)圖層的學(xué)習(xí)表示看作一個(gè)三維立方體。立方體中的每個(gè)單元格都是一個(gè)激活,或者神經(jīng)元激活的數(shù)量。x軸和y軸對(duì)應(yīng)圖像中的位置,z軸是正在運(yùn)行的通道(或檢測(cè)器)。
圖中用于計(jì)算機(jī)視覺任務(wù)的神經(jīng)網(wǎng)絡(luò)的不同的隱含層如何組成了激活值的“立方體”。對(duì)立方體的不同分割方法可以把激活值具體到單個(gè)神經(jīng)元、單個(gè)空間位置或者單個(gè)通道
理解這些激活是很困難的,因?yàn)槲覀兺ǔ⑺鼈冏鳛槌橄笙蛄縼砉ぷ鳎?/span>
通過特征可視化,我們可以將這個(gè)抽象矢量轉(zhuǎn)換成更有意義的“語義字典”。
根據(jù)可視化結(jié)果,似乎可以認(rèn)為網(wǎng)絡(luò)中有一些檢測(cè)器,分別對(duì)應(yīng)軟塌塌的耳朵、凸鼻子、貓頭、毛茸茸的腿、草地等等。
為了制作一個(gè)語義詞典,我們將每個(gè)神經(jīng)元激活與該神經(jīng)元的可視化進(jìn)行配對(duì),并根據(jù)激活的大小對(duì)它們進(jìn)行排序。 激活與特征可視化的結(jié)合改變了我們與潛在數(shù)學(xué)對(duì)象的關(guān)系。 激活現(xiàn)在映射到圖標(biāo)表示,而不是抽象的索引,其中許多表現(xiàn)形式類似于人類的思想,如“松軟的耳朵”、“狗鼻子”或“毛皮”。
語義詞典的強(qiáng)大功能不僅僅是因?yàn)樗鼈償[脫了無意義的索引,還因?yàn)樗鼈冇玫湫偷睦颖磉_(dá)了神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)抽象。通過圖像分類,神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)一組視覺抽象,因此圖像是表示它們的最自然的符號(hào)。如果我們使用音頻,更自然的符號(hào)很可能是音頻剪輯。這很重要,因?yàn)楫?dāng)神經(jīng)元看起來符合人類的想法時(shí),很容易將它們縮減為單詞。
但是,這樣做是一項(xiàng)有損失的操作 —— 即使對(duì)于熟悉的抽象,網(wǎng)絡(luò)也可能學(xué)到了更深的細(xì)微差別。例如,GoogLeNet具有多個(gè)「松軟耳朵」檢測(cè)器,它們可以檢測(cè)到耳朵的下垂度,長(zhǎng)度和周圍環(huán)境略有不同。也可能存在視覺熟悉的抽象概念,但我們?nèi)狈α己玫淖匀徽Z言描述,例如,在太陽浮于水面的地方拍攝特定的光線。此外,網(wǎng)絡(luò)可能會(huì)學(xué)習(xí)到對(duì)我們來說異乎尋常的新抽象概念 —— 在這里,自然語言會(huì)使我們完??!一般來說,規(guī)范化的例子是一種更自然的方式來表示神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的外來抽象,而不是原生的人類語言。
通過為隱藏層帶來意義,語義字典為我們現(xiàn)有的可解釋性技術(shù)設(shè)置了可組合的構(gòu)建塊。正如我們將看到的,就像它們的基礎(chǔ)向量一樣,我們可以對(duì)它們應(yīng)用降維。在其他情況下,語義詞典允許我們進(jìn)一步推進(jìn)這些技術(shù)。例如,除了我們目前使用輸入和輸出層執(zhí)行的單向歸因外,語義詞典還允許我們將特定的隱藏層歸屬到特定的隱藏層。原則上,這項(xiàng)工作可以在沒有語義詞典的情況下完成,但是結(jié)果意味著什么還不清楚。
語義詞典讓我們能夠?qū)δ硞€(gè)激活進(jìn)行細(xì)致的考察,即每一個(gè)單個(gè)神經(jīng)元能夠檢測(cè)到什么。建立了這種表示之后,我們同樣也可以將一個(gè)激活向量作為整體來考慮。這里不再是將單個(gè)神經(jīng)元可視化,而是將在給定空間范圍內(nèi)處于 fire 狀態(tài)的神經(jīng)元組合進(jìn)行可視化。(具體來說就是,我們優(yōu)化圖像,以最大化激活點(diǎn)與原始激活向量的點(diǎn)積)
將這種技術(shù)應(yīng)用于所有的激活向量,使我們不僅可以看到網(wǎng)絡(luò)在每個(gè)位置檢測(cè)到的內(nèi)容,而且還可以了解網(wǎng)絡(luò)對(duì)整個(gè)輸入圖像的理解程度。
mixed4d 層激活可視化
另外,通過跨層(例如「mixed3a」,「mixed4d」)的工作,我們還可以觀察到網(wǎng)絡(luò)對(duì)輸入的理解是如何發(fā)展的:從檢測(cè)早期圖層中的邊緣,到后期更復(fù)雜的形狀以及物體的部分。
同一幅貓狗圖像,不同層的神經(jīng)元對(duì)同一個(gè)區(qū)域的激活可視化
不過,前面的這些可視化忽略了一個(gè)關(guān)鍵的信息——激活的量級(jí)大小。我們通過按照激活矢量的大小來縮放每個(gè)單元的面積,就可以指出網(wǎng)絡(luò)在該位置檢測(cè)到特征的強(qiáng)度了:
如何組裝概念?
特征可視化幫助我們回答了「網(wǎng)絡(luò)能夠檢測(cè)到什么」這個(gè)問題,但是它并沒有回答網(wǎng)絡(luò)如何組裝這些單獨(dú)的部分來達(dá)成后面的決策,或者為什么會(huì)做出這些決策。
歸因(Attribution)是一組通過解釋神經(jīng)元之間的關(guān)系來回答這些問題的技術(shù)。現(xiàn)在市場(chǎng)上有各種各樣的歸因方法,但到目前為止卻似乎沒有一個(gè)能夠給出明確的、正確的答案;事實(shí)上,我們甚至有理由認(rèn)為我們目前的所有答案都不太正確。盡管如此,就本文而言,確切的歸因方法并不重要,所以我們作為案例,使用一種最簡(jiǎn)單的方法——線性逼近關(guān)系。這種方法可以很容易地用其他任何技術(shù)來代替,所以未來對(duì)歸因的改進(jìn)也會(huì)相應(yīng)地改善基于它們的界面。
關(guān)于歸因方法有很多重要的研究,但就本文而言,確切歸因方法并不重要。我們使用一種相當(dāng)簡(jiǎn)單的方法,線性逼近關(guān)系,但很容易用其他任何技術(shù)來替代。未來對(duì)歸因的改進(jìn),當(dāng)然會(huì)相應(yīng)地改善基于它們的界面。
最常見的歸因界面稱為顯著圖(saliency map)——一種簡(jiǎn)單的熱圖,突出顯示輸入圖像中最能引起輸出分類的像素部分。我們發(fā)現(xiàn)這種方法存在兩個(gè)缺陷。
首先,不清楚個(gè)別像素是否應(yīng)該是歸因的主要單元。這里每個(gè)像素的含義與其他像素極為糾纏,即使對(duì)簡(jiǎn)單的視覺變換(例如,亮度,對(duì)比度等)也會(huì)有很差的魯棒性,此外單個(gè)的像素還遠(yuǎn)離高級(jí)概念(如輸出類)。其次,傳統(tǒng)的顯著圖是一種非常有限的界面類型——它們一次只能顯示一個(gè)類的屬性,并且不允許你更深入地探究單個(gè)點(diǎn)。由于它們沒有明確地處理隱藏層,因此很難全面探索隱藏層的設(shè)計(jì)空間。
作為一種改進(jìn),我們將歸因視為另一個(gè)用戶界面的構(gòu)建塊(building block),并將其應(yīng)用于神經(jīng)網(wǎng)絡(luò)的隱藏層。這樣做了之后,我們同時(shí)也改變了我們的問題,我們不再問特定像素的顏色是否對(duì)「拉布拉多獵犬」的分類很重要,而是問在這個(gè)像素位置檢測(cè)到的高級(jí)別想法(例如「松軟的耳朵」)是否重要。這種方法與類激活映射(CAM)方法類似,但由于它們將結(jié)果解釋回輸入圖像,因此它們錯(cuò)過了以網(wǎng)絡(luò)隱藏層的豐富行為進(jìn)行交互的機(jī)會(huì)。
越向后的層的歸因結(jié)果看起來有越強(qiáng)的語義性。就像我們期待的那樣,歸因的結(jié)果就是軟塌塌的耳朵、凸鼻子、貓頭之類的我們熟悉的局部特征
令人驚訝的是,mixed4d 層中下方的凸鼻子特征和網(wǎng)球的特征有不少重合之處,這個(gè)特征之后也為“網(wǎng)球”和“拿著蘋果的奶奶”這樣的識(shí)別結(jié)果提供了支持
上圖的界面為我們提供了較為靈活的歸因關(guān)系。首先,我們從每個(gè)隱藏層的每個(gè)空間位置向所有 1,000 個(gè)輸出類顯示屬性。為了將這個(gè) 1000 維的向量可視化,我們使用降維來產(chǎn)生多向顯著圖。在我們多尺度的激活網(wǎng)格上疊加這些顯著圖,從而提供歸因空間的信息。激活網(wǎng)格能夠?qū)⒄Z義詞典建立的視覺詞匯屬性固定下來。在某個(gè)像素上懸停,我們可以看到這個(gè)空間位置最有助于哪些類別的輸出。
也許最有趣的是,這個(gè)界面允許我們交互式地查看隱藏層之間的歸因。懸停時(shí),額外的顯著圖會(huì)遮蓋隱藏層,這在某種意義上就相當(dāng)于「將光線照入黑箱」。這種層到層的歸因或許將成為界面設(shè)計(jì)促進(jìn)傳統(tǒng)意義上可解釋性抽象概括的一個(gè)主要例子。
通過這個(gè)圖,我們開始考慮更高層次概念的歸因。但是在某個(gè)特定位置上,會(huì)同時(shí)檢測(cè)到許多概念,通過這個(gè)界面很難將它們分開。如果還繼續(xù)關(guān)注空間位置,那么這些概念將仍然糾纏在一起。
顯著圖通過對(duì)隱藏層的空間位置歸因,隱式地切割了我們的激活立方體。在這種切割中聚合了所有的通道(Channel),因此我們無法確定每個(gè)位置上的哪個(gè)特定檢測(cè)器對(duì)最終輸出分類貢獻(xiàn)最大。
當(dāng)然還有另一種切割激活立方體的方法,那就是對(duì)通道的切割,而不是對(duì)空間位置的切割。這樣做的結(jié)果就是,我們可以進(jìn)行通道歸因——每個(gè)檢測(cè)器對(duì)最終輸出的貢獻(xiàn)到底有多大?(這種方法類似于Kim等人的同時(shí)期工作,他們對(duì)學(xué)習(xí)的通道組合進(jìn)行了歸因。)
這個(gè)圖與我們前面看到的類似:我們進(jìn)行層到層的歸因,但這次是通過通道而不是空間位置。我們?cè)僖淮问褂谜Z義詞典中的圖標(biāo)來表示對(duì)最終輸出分類有貢獻(xiàn)的通道。將鼠標(biāo)懸停在單個(gè)通道上會(huì)顯示覆蓋在輸入圖像上的激活熱圖。
圖例還同時(shí)更新顯示其對(duì)輸出類的歸因(即此通道支持的top類是什么?)。點(diǎn)擊一個(gè)通道可以讓我們深入了解層到層的歸因,讓我們顯式地確定較低層中哪些是最有貢獻(xiàn)的通道,或者較高層中哪些是最受支持的通道。
雖然這些圖側(cè)重于層到層的歸因,但將注意力集中在單個(gè)隱藏層上仍然很有價(jià)值。 例如,先行圖(teaser ?gure)可以讓我們?cè)u(píng)估為什么某個(gè)類會(huì)更有優(yōu)勢(shì)。
從以上的討論中,我們可以看到空間位置歸因和通道歸因在揭示網(wǎng)絡(luò)模型方面的強(qiáng)大功能,特別是當(dāng)我們將兩者組合在一起的時(shí)候。但不幸的是,這類方法有兩個(gè)顯著的問題。一方面,它會(huì)給我們反饋大量的信息,由于長(zhǎng)尾效應(yīng),這可能需要人工幾個(gè)小時(shí)的審查才能弄明白哪些對(duì)輸出只有輕微的影響;二是,這兩種聚合方法會(huì)有大量的丟失,這可能會(huì)導(dǎo)致錯(cuò)過重要的情節(jié)。當(dāng)然,我們可以通過對(duì)單個(gè)神經(jīng)元進(jìn)行工作來避免有損聚合,或者根本就不聚合,但這反過來又會(huì)出現(xiàn)第一個(gè)問題。
在前面章節(jié)中,我們考慮了三種將激活狀態(tài)的立方體進(jìn)行分割的方法:空間激活、通道、單個(gè)神經(jīng)元。每一種方式都存在缺點(diǎn)。如果只使用空間激活或通道,會(huì)忽略掉整個(gè)情節(jié)中非常重要的部分。例如,「松軟耳朵」探測(cè)器(?oppy ear detector)幫助我們將圖像分類為一只拉布拉多犬,當(dāng)與那些沒有利用到的地方相結(jié)合時(shí),情節(jié)會(huì)有趣得多。你可以深入到神經(jīng)元的層面來講述整個(gè)情節(jié),但是成千上萬的神經(jīng)元中包含太多信息了。即使是數(shù)百個(gè)通道,在分裂成單個(gè)神經(jīng)元之前,也包含著太多信息!
只是想要在神經(jīng)網(wǎng)絡(luò)中制造有用的界面,還不足以讓事情變得有意義。我們應(yīng)根據(jù)人類需要,而不是依據(jù)大量無用信息。這樣做的關(guān)鍵是找到更有意義的方法將激活分解,有充分的理由相信存在這樣的分解。通常,許多通道或空間位置將以高度相關(guān)的方式協(xié)同工作,最有用的方法是將其視為一個(gè)單元。其他通道或位置幾乎沒有活動(dòng),在高級(jí)概述上可以被忽略。所以,如果我們有正確的工具,那就應(yīng)該能夠找到更好的分解手段。
有一個(gè)叫矩陣因子分解(matrix factorization)的研究領(lǐng)域,研究分解矩陣的最優(yōu)策略。通過將立方體壓成空間位置和通道的矩陣,我們可以應(yīng)用這些技術(shù)來獲得更有意義的神經(jīng)元組群。這些組群不會(huì)像我們之前看到的組那樣自然地隨著立方體排列整齊,它們將是空間位置和通道的組合。此外,這些組群是用來解釋網(wǎng)絡(luò)在特定圖像上的行為,在另一個(gè)圖像上重用相同的分組是無效的,每個(gè)圖像都需要計(jì)算一組獨(dú)特的組。
除了之前那樣把隱層中的神經(jīng)元自然地分為單個(gè)神經(jīng)元、空間位置、不同通道之外,作者們也考慮更靈活地跨越部分空間位置和通道把神經(jīng)元分成不同的組
源于這個(gè)因子分解的組將是用戶使用界面的原子。不幸的是,任何分組本質(zhì)上都是將事物減少到人類規(guī)模與保存信息之間的折衷,因?yàn)槿魏尉酆隙际怯袚p的。矩陣因子分解可以讓我們挑選出針對(duì)特定內(nèi)容優(yōu)化的組,這比之前的自然分組要好。
用戶界面的目標(biāo)應(yīng)該會(huì)影響矩陣因子分解優(yōu)化的優(yōu)先級(jí)。例如,如果想要優(yōu)先考慮網(wǎng)絡(luò)檢測(cè)到的東西,我們就希望因子分解能充分地描述激活。相反,如果想要優(yōu)先考慮改變網(wǎng)絡(luò)行為的因素,我們希望因子分解能充分描述梯度。最后,如果想要優(yōu)先考慮是什么導(dǎo)致了現(xiàn)在的行為,我們希望因子分解能充分地描述歸因。當(dāng)然,我們可以在這三個(gè)目標(biāo)之間實(shí)現(xiàn)平衡,而不是僅僅只優(yōu)化一個(gè)目標(biāo)。
下圖中,我們已經(jīng)構(gòu)建了一些組,我們利用非負(fù)矩陣因子分解,按優(yōu)先級(jí)來分解激活。請(qǐng)注意大量神經(jīng)元被簡(jiǎn)化成一小套組群的過程。
通過非負(fù)的矩陣分解,作者們把總數(shù)目很大的神經(jīng)元分為一個(gè)個(gè)小組,讓它們簡(jiǎn)明地總結(jié)出整個(gè)網(wǎng)絡(luò)的運(yùn)行狀況。右圖小方塊的不同顏色對(duì)應(yīng)了下方不同的特征分別占不同空間的激活值的主要成分
該圖只關(guān)注單個(gè)層,但是,正如我們前面看到的,查看多個(gè)層以了解神經(jīng)網(wǎng)絡(luò)是如何將低級(jí)檢測(cè)器聚合到高級(jí)概念中是很有用的。
我們優(yōu)化了之前構(gòu)造的組,以理解獨(dú)立于其他層的單個(gè)層。為了同時(shí)理解多個(gè)層,我們希望每一層的因子分解都是「兼容的」——將早期層的組自然地組合到后面的層組中。這里我們也可以進(jìn)行因子分解優(yōu)化。
綠線表示正影響,紅線表示負(fù)影響
在這一節(jié)中,我們認(rèn)識(shí)到對(duì)激活立方體的分割方法是一個(gè)重要的接口決策。我們不再執(zhí)著于于自然的切割,而是構(gòu)建更優(yōu)化的神經(jīng)元組合。這些改進(jìn)的分組更有意義,也更人性化,讓了解網(wǎng)絡(luò)的行為不再那么乏味。
我們這次的可視化方法只是基于提供更好的原子來理解神經(jīng)網(wǎng)絡(luò),探索潛在可能性的一個(gè)開始。例如,當(dāng)我們專注于創(chuàng)建更少指示來解釋獨(dú)立案例時(shí),最近發(fā)現(xiàn)了有意義的「全局」指示,這是令人興奮的工作——這樣的依據(jù)在嘗試一次理解多個(gè)例子或?qū)Ρ饶P蜁r(shí)尤其有用。
本文中提到的界面思想將功能可視化和歸因等模塊兒結(jié)合在一起。編寫這些模塊兒不是一個(gè)隨意的過程,而是遵循基于界面目標(biāo)的結(jié)構(gòu)。例如,如果界面強(qiáng)調(diào)網(wǎng)絡(luò)所能識(shí)別的內(nèi)容,則優(yōu)先考慮其認(rèn)知將如何發(fā)展,或者專注于讓事情發(fā)展在人類可控范圍內(nèi)。為了評(píng)估這些目標(biāo),并理解這種權(quán)衡,我們需要能夠系統(tǒng)地考慮可能的替代方案。
我們可以將界面視為各個(gè)元素的集合。
每個(gè)元素使用特定的呈現(xiàn)風(fēng)格(例如,特征可視化或傳統(tǒng)信息可視化)來顯示特定類型的內(nèi)容(例如,激活或歸因)。該內(nèi)容存在于由網(wǎng)絡(luò)給定層如何分解為原子而定義的底層上,并且可以通過一系列操作(例如,將其過濾或?qū)⑵渫队暗搅硪坏讓由希┻M(jìn)行轉(zhuǎn)換。例如,我們的語義詞典使用特征可視化來顯示隱藏層神經(jīng)元的激活。
表達(dá)這種思維方式的一種方法是使用常規(guī)語法,但我們發(fā)現(xiàn)它對(duì)視覺化思考空間是有幫助的。我們可以將網(wǎng)絡(luò)的底層(我們展示的那些層,以及如何將它們分開)作為網(wǎng)格,將網(wǎng)格的內(nèi)容和風(fēng)格繪制為點(diǎn)和連接。
這個(gè)設(shè)置為我們提供了一個(gè)框架,開始逐步探索可解釋界面的空間。例如,讓我們?cè)俅慰紤]我們的先行圖(teaser figure)。其目標(biāo)是幫助我們比較輸入圖像的兩種潛在分類。
在這篇文章中,我們只是抓住了可能性的表面。我們的模塊兒有很多可供探索的組合,并且設(shè)計(jì)空間為我們提供了一種系統(tǒng)化的方法。
而且,每個(gè)模塊兒都代表了一大類技術(shù)。我們的界面只采用一種方法,但正如我們?cè)诿抗?jié)中看到的,還有許多功能可視化,歸因和矩陣分解的替代方法。下一步就是嘗試使用這些替代技術(shù)和研究方法來改進(jìn)它們。
最后,這不是一套完整的模塊。隨著新的發(fā)現(xiàn),研究員們擴(kuò)大了空間。例如,Koh&Liang 提出了解數(shù)據(jù)集示例對(duì)模型行為影響的方法。我們可以將數(shù)據(jù)集示例作為我們?cè)O(shè)計(jì)空間中的另一個(gè)底層,從而成為與其他基礎(chǔ)塊兒完全組合的另一個(gè)模塊兒。
在這樣做的時(shí)候,我們可以想象界面不僅允許我們檢查「數(shù)據(jù)集示例」對(duì)最終輸出分類的影響(如 Koh 和 Liang 提出的),而且可以觀察「數(shù)據(jù)集示例」如何影響隱藏層的特征以及它們?nèi)绾斡绊戇@些功能與輸出之間的關(guān)系。例如,如果我們考慮我們的「拉布拉多獵犬」(Labrador retriever)圖像,我們不僅可以看到哪些「數(shù)據(jù)集示例」對(duì)模型分類的影響最大,而且可以看到哪些「數(shù)據(jù)集示例」最能引起「松軟耳朵」檢測(cè)器觸發(fā),以及哪個(gè)數(shù)據(jù)集對(duì)探測(cè)器影響最大,增加了「拉布拉多獵犬」的分類。
盡管今天大多數(shù)模型都經(jīng)過了優(yōu)化簡(jiǎn)單目標(biāo)函數(shù)的訓(xùn)練,而我們希望模型在現(xiàn)實(shí)世界中做的許多事情都是微妙的,并且很難用數(shù)學(xué)來描述。為這些微妙目標(biāo)去訓(xùn)練模型的一個(gè)非常有用的方法是從人類的反饋中學(xué)習(xí)。然而,即使有了人類的反饋,如果模型的有問題的方面在人類反饋的訓(xùn)練體系中沒有表現(xiàn)出強(qiáng)烈的意圖,那么仍然很難訓(xùn)練模型讓它以我們想要的方式行事。
人們對(duì)模型決策過程的反饋,可通過可解釋界面進(jìn)行推動(dòng),這可能是解決這些問題的有力解決方案。它可以讓我們訓(xùn)練模型,不僅是為了做出正確的決定,也是是為了正確的可解釋性。(然而,這里存在危險(xiǎn):我們正在優(yōu)化我們的模型,以便我們的界面中查找我們想要的方式;如果不小心,這可能會(huì)導(dǎo)致模型愚弄我們)
另一個(gè)可能性是比較多個(gè)模型界面。例如,我們可能想要了解一個(gè)模型在訓(xùn)練期是如何演變的,或者當(dāng)你把它遷移到新任務(wù)時(shí),模型會(huì)如何變化?;蛘?,可能想了解整個(gè)模型家族是如何相互比較的?,F(xiàn)有的工作主要側(cè)重于比較模型的輸出行為,但最近的工作也開始探索比較它們的內(nèi)部表示。這項(xiàng)工作的挑戰(zhàn)之一是我們可能想要對(duì)齊每個(gè)模型的原子; 如果我們有完全不同的模型,我們能找到它們之間最相似的神經(jīng)元嗎?再聚焦,我們能開發(fā)接口,讓我們一次性評(píng)估模型的大型空間嗎?
為了讓這些提供解釋性的界面發(fā)揮出效果,我們就需要相信它們給出的故事和結(jié)論是可靠的。對(duì)于目前我們用的這一組技術(shù)和架構(gòu),作者們認(rèn)為其中有兩點(diǎn)是有疑慮的。
對(duì)于不同的輸入圖像,神經(jīng)元們的意義是相對(duì)固定的嗎,并且特征可視化這個(gè)過程對(duì)這些意義的表達(dá)是準(zhǔn)確的嗎?語義字典,以及在語義字典基礎(chǔ)上建立的界面,都是建立在前面的問題有肯定答案的基礎(chǔ)上的。
歸因的結(jié)果是合理的嗎?我們目前有的歸因方法都是可以信任的嗎?
有許多更早的研究都發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)中的「方向」從語義角度講是有意義的。其中有一個(gè)非常有力的例子,就是可以做「語義算數(shù)」,比如「皇帝」-「男人」+「女人」=「皇后」。在前一篇關(guān)于特征可視化的文章中作者們就基于 GoogLeNet 深入探索了這個(gè)問題,發(fā)現(xiàn)其中的多數(shù)神經(jīng)元都可以對(duì)應(yīng)某個(gè)有意義的想法。然而除了這部分神經(jīng)元之外,作者們也發(fā)現(xiàn)了有很多神經(jīng)元并沒有非常確定的意義,其中有一些神經(jīng)元會(huì)同時(shí)會(huì)對(duì)幾種突出的特征產(chǎn)生響應(yīng)(比如同時(shí)對(duì)汽車和貓)。對(duì)于這種狀況,上述提出的界面也有自然的方法可以處理:可以用差異化的特征可視化結(jié)果發(fā)掘神經(jīng)元可以接受的各種不同的含義,或者對(duì)語義字典做一些調(diào)整,讓其中的部件之間更加去耦合。當(dāng)然了,就像模型可以被欺騙一樣,這些組成了可視化的特征也可以被欺騙,包括對(duì)于對(duì)抗性樣本的情況。在作者們看來,思考研究特征的時(shí)候并不需要它們是完美無缺的,現(xiàn)在就已經(jīng)可以起到很大作用。實(shí)際上,檢測(cè)器「走火」的情況可能會(huì)更值得仔細(xì)琢磨。
對(duì)于歸因方法,近期有研究表明許多目前所用的方法都不是很可靠。有的人可能會(huì)問,既然一個(gè)函數(shù)的輸出是它的輸入的非線性互動(dòng)產(chǎn)生的結(jié)果,那么歸因的設(shè)想怎么會(huì)有根本性問題呢。這種互動(dòng)有可能展現(xiàn)出的一種問題就是「路徑依賴」。對(duì)這個(gè)問題的自然的回答是在用戶界面中顯式地展現(xiàn)出這個(gè)信息:這個(gè)歸因結(jié)果的路徑依賴程度有多高。然而,我們還有更深入的擔(dān)憂,就是這種路徑依賴性是否是歸因結(jié)果的主要成因。很顯然,對(duì)于相鄰的層來說,由于它們之間的連接映射很簡(jiǎn)單(近乎于線性),所以這并不是個(gè)問題。但同時(shí)相關(guān)聯(lián)的輸入也會(huì)帶來一些技術(shù)問題,所以作者們相信歸因方法還是站得住腳的。并且,即便對(duì)于相聚較遠(yuǎn)的層,作者們的經(jīng)驗(yàn)也是高級(jí)別特征與輸出結(jié)果之間的歸因的穩(wěn)定性也要比高級(jí)別特征與輸入之間的穩(wěn)定性更好。所以作者們認(rèn)為在這里路徑依賴并不是一個(gè)重要影響因素。
模型行為是非常復(fù)雜的一件事,受到目前的基礎(chǔ)技術(shù)的限制,現(xiàn)在所能揭示出的只有其中的部分視角。關(guān)于可解釋性的未來研究的一個(gè)重要方向?qū)?huì)是開發(fā)新的技術(shù),借助它們覆蓋到模型行為的更多方面。不過,即便有了這些改進(jìn),作者們也認(rèn)為讓人們對(duì)這些方法建立起信心的關(guān)鍵因素應(yīng)當(dāng)是展現(xiàn)出的界面不會(huì)誤導(dǎo)人們。接觸到和界面上顯示出的顯式信息的同時(shí),不應(yīng)該引發(fā)用戶對(duì)模型產(chǎn)生不正確的隱式推斷。作者們認(rèn)為這篇文章中展示出的界面毋庸置疑在這方面還有提高的空間?;A(chǔ)研究,在機(jī)器學(xué)習(xí)和人機(jī)交互的交叉口部分的基礎(chǔ)研究,必須要想辦法解決這些問題。
對(duì)于可解釋性的種種應(yīng)用,作者們認(rèn)為很大程度上需要相信他們的方法有效、可靠。這一方面是因?yàn)椴豢紤]可解釋性的風(fēng)險(xiǎn)很高(比如在安全和醫(yī)療領(lǐng)域),另一方面也是因?yàn)槿藗円呀?jīng)有了這樣的想法,想要訓(xùn)練一個(gè)帶有可解釋性反饋的模型,就可以在對(duì)抗性訓(xùn)練的過程中使用所提的可解釋性方法。
關(guān)于如何和枚舉性的算法互動(dòng),還有非常大的設(shè)計(jì)空間,作者們相信和神經(jīng)網(wǎng)絡(luò)互動(dòng)的設(shè)計(jì)空間也同樣地大。為了構(gòu)建出強(qiáng)有力的、值得信任的關(guān)于可解釋性的用戶界面,研究者們面前還有很多的工作要做,不過一旦做出了全面的成果,可解釋性必將成為人類指導(dǎo)構(gòu)建公平、安全、協(xié)調(diào)的 AI 系統(tǒng)的有力方法。
via GoogleBlog & Distill,雷鋒網(wǎng) AI 科技評(píng)論編譯
相關(guān)文章:
谷歌的新CNN特征可視化方法,構(gòu)造出一個(gè)華麗繁復(fù)的新世界
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。