Google和OpenAI聯(lián)合發(fā)布了Activation Atlas(激活地圖),終于將神經(jīng)網(wǎng)絡(luò)圖像分類的“黑匣子”用可視化的方式表示出來了!AI的世界真是神奇!
AI眼中的世界就是激活地圖(Activation Atlases)。
近日,谷歌與OpenAI共同創(chuàng)建了Activation Atlases,這是一種可視化神經(jīng)元之間相互作用的新技術(shù)。通過使用特征反演(feature inversion)來可視化一個圖像分類網(wǎng)絡(luò)中數(shù)以百萬計的激活。
換言之,神經(jīng)網(wǎng)絡(luò)圖像分類的黑匣子終于被打開了。這將有助于研究人員更好的理解AI系統(tǒng)在內(nèi)部決策的過程。
Activation Atalas:神經(jīng)網(wǎng)絡(luò)隱藏層可以表示什么
我們先來看下以往的工作的一些缺陷:
(單個神經(jīng)元)單個神經(jīng)元的可視化使隱藏層變得有意義,但是忽略了神經(jīng)元之間的交互作用——它只向我們展示了高維激活空間的一維正交探針。(成對交互)成對的交互揭示了相互作用的效果,但它們只顯示了具有數(shù)百個維度空間的二維切片,而且許多組合是不現(xiàn)實的。(空間激活)空間激活通過對可能激活的子流形進行采樣來向我們顯示許多神經(jīng)元的重要組合,但它們僅限于給定示例圖像中出現(xiàn)的那些神經(jīng)元。(Activation Atlas)通過對多種可能的激活進行采樣,Activation Atlase為我們提供了一個更全面的概覽。
Activation Atalas是建立在特征可視化的基礎(chǔ)上,這是一種研究“神經(jīng)網(wǎng)絡(luò)隱藏層可以表示什么”的技術(shù)。
在深入研究Activation Atalas之前,先簡要回顧一下如何使用特征可視化使激活向量變得有意義,也就是如何“透過網(wǎng)絡(luò)的眼睛看”事物。 這種技術(shù)將成為Activation Atalas的基礎(chǔ)。
注:本文關(guān)注的神經(jīng)網(wǎng)絡(luò)是InceptionV1,也稱GoogLeNet。
因為InceptionV1是一個卷積網(wǎng)絡(luò),每層每幅圖像都不只有一個激活向量。
這意味著相同的神經(jīng)元運行在前一層的每個patch上。因此,當通過網(wǎng)絡(luò)傳遞整幅圖像時,每個神經(jīng)元將被評估數(shù)百次,每一個重疊的圖像塊被評估一次。
結(jié)果是一個特征可視化網(wǎng)格,每個patch都有一個。這向我們展示了網(wǎng)絡(luò)如何看到輸入圖像的不同部分。
(左)從ImageNet輸入的圖像;(右)來自InceptionV1的激活網(wǎng)格,mixed4d層。
這是單幅圖像的情況,但如果圖像的數(shù)量是數(shù)以百萬計的,那么AI的反應(yīng)又將如何呢?
先從收集一百萬個圖像的激活開始。
我們將隨機為每張圖像選擇一個空間激活。這就得到了100萬個激活向量。每個向量都是高維的,可能是512維!對于如此復(fù)雜的一組數(shù)據(jù),如果我們想要一個大的視圖,就需要對其進行組織和聚合。
通過一些先進的降維技術(shù),可以將收集到的激活向量投影到有用的二維布局中,并保留原始空間的一些局部結(jié)構(gòu)。將在創(chuàng)建的2D布局上繪制網(wǎng)格,對于網(wǎng)格中的每個單元格,將位于該單元格邊界內(nèi)的所有激活平均化,并使用特征可視化來創(chuàng)建圖標表示。
(左)從不同的訓(xùn)練示例中收集100萬個激活向量。
(中)將它們排列成2D,以便讓相似的元素更緊密地排列在一起。
(右)對每個單元格的平均添加網(wǎng)格,并對其進行特征可視化。
mixed4c層,應(yīng)用到InceptionV1,從左至右:20x20,40x40,80x80,160x160。
這幅地圖集乍一看可能有點讓人不知所措,這種多樣性反映了模型開發(fā)的各種抽象和概念。
如果我們看一下地圖集的左上方,我們會看到看起來像動物頭部的東西。
不同種類的動物之間有一些區(qū)別,但似乎更多的是一些普通哺乳動物的元素——眼睛、皮毛、鼻子——而不是不同種類動物的集合。
隨著我們向下移動,我們開始看到不同類型的毛皮和四足動物的背部。
在此之下,我們發(fā)現(xiàn)不同的動物腿和腳在不同的地面上休息。
在腳的下面,我們開始失去任何可識別的動物部分,并看到孤立的地面和地板。 我們看到歸屬于“沙洲”等環(huán)境以及地面上發(fā)現(xiàn)的東西,如“門墊”或“螞蟻”。
這些沙質(zhì)巖石背景慢慢地融入海灘和水體。在這里,我們可以看到水面上下的湖泊和海洋。雖然神經(jīng)網(wǎng)絡(luò)上確實有“海濱”這樣的特定類別,但我們看到許多海洋動物的屬性,而沒有任何與動物本身有關(guān)的視覺參考。
但令人欣慰的是,用于為“海濱”類識別海洋的活動與用于分類“海星”或“海獅”的活動是相同的。在這一點上,湖泊和海洋也沒有真正的區(qū)別——“湖邊”和“河馬”的屬性與“海星”和“黃貂魚”混雜在一起。
早期的特征可視化工作主要集中在單個神經(jīng)元上。而通過收集成千上萬個神經(jīng)元相互作用的例子并將其可視化,ActivationAtalas從單個神經(jīng)元轉(zhuǎn)移到這些神經(jīng)元共同代表的空間。
現(xiàn)在讓我們跳到地圖集的另一邊,在那里我們可以看到許多不同的文本檢測器。當識別諸如“菜單”、“web站點”或“book jacket”之類的類時,這些檢測器將非常有用。
再向上看,可以看到許多不同的人。在ImageNet中很少有專門識別人員的類,但人們會出現(xiàn)在很多圖像中。
我們看到人們使用的物品(“錘子”、“笛子”)、人們穿的衣服(“領(lǐng)結(jié)”、“郵筒”)以及人們參加的活動(“籃球”)的屬性。在這些可視化中,膚色是一致的,我們懷疑這反映了用于訓(xùn)練的數(shù)據(jù)的分布。
最后,回到左邊,我們可以看到圓形的食物和水果主要是由顏色組成的——我們看到歸屬于“檸檬”、“橘子”和“無花果”。
模型在多層次上發(fā)展過程
上述工作中,我們主要關(guān)注網(wǎng)絡(luò)的一個層——mixed4c,它位于網(wǎng)絡(luò)的中間。而卷積網(wǎng)絡(luò)通常很深,由許多層組成,且逐步構(gòu)建更強大的抽象。 為了獲得整體視圖,我們必須研究模型的抽象是如何在多個層次上發(fā)展的。
首先,讓我們比較來自網(wǎng)絡(luò)不同區(qū)域的三個層,以了解每個層的不同特征——mixed3b、mixed4c和mixed5b。我們將關(guān)注每層的有助于“卷心菜”分類的區(qū)域。
當在網(wǎng)絡(luò)中移動時,后面的層似乎變得更加具體和復(fù)雜。
因為每個層都在前一層的激活之上構(gòu)建其激活。后一層的接受域也往往比前一層更大(這意味著圖像的子集更大),因此概念似乎包含了更多的整體對象。
還有另一個值得注意的現(xiàn)象:不僅概念正在被提煉,而且新概念正在從舊概念的組合中出現(xiàn)。
最后,如果我們縮小一點,我們可以看到更寬的激活空間的形狀是如何從一層到另一層變化的。通過在幾個連續(xù)的層中觀察相似的區(qū)域,我們可以看到概念得到細化和區(qū)分——在mixed4a中,我們看到非常模糊的通用blob,通過mixed4e將其細化為更加具體的“半島”。
激活地圖中,類的邊界是導(dǎo)致神經(jīng)網(wǎng)絡(luò)容易“誤認”主要原因
突出顯示完整地圖集的特定類別激活有助于了解該類如何與網(wǎng)絡(luò)“可以看到”的完整空間相關(guān)聯(lián)。
但是,如果我們想要真正隔離有助于特定類的激活,我們 可以刪除所有其他激活。與一般地圖集類似,我們在類特定激活向量上運行維數(shù)減少5,以便排列類激活圖集中顯示的特征可視化。
類激活圖集使我們能夠更清楚地了解網(wǎng)絡(luò)使用哪些檢測器對特定類進行排名。 在“呼吸管”示例中,我們可以清楚地看到海洋、水下和彩色面具。
不過,在某些情況下,我們希望看到有很強的相關(guān)性(比如魚和潛水者)。這些激活本身可能比我們感興趣的類對不同的類有更強的貢獻,但是它們的存在也可以對我們感興趣的類有更大的貢獻。
對于這些,我們需要選擇一種不同的過濾方法。
要立即理解類之間的所有差異可能有點困難。為了便于比較,我們可以將這兩個視圖合并為一個視圖。我們將在水平方向繪制“snorkel”和“scuba diving”屬性之間的差異,并使用t-SNE在垂直方向聚集類似的活動。
在這個對比中,我們可以看到一些鳥一樣的生物和左邊清晰的管子,暗示著與“snorkel”有關(guān),而一些鯊魚一樣的生物和右邊圓形、閃亮、金屬的東西,暗示著與“scuba driver”有關(guān)。
讓我們從標記為“snorkel”的ImageNet數(shù)據(jù)集中獲取一張圖像,并添加類似于此圖標的內(nèi)容,以查看它如何影響分類分數(shù)。
這里的失效模式似乎是該模型正在使用其探測器用于“蒸汽機車”類來識別空氣罐以幫助對“潛水員”進行分類。
我們稱之為“多用途”功能 - 探測器可以對視覺上相似的非常不同的概念做出反應(yīng)。 讓我們來看看“灰鯨”和“大白鯊”之間的區(qū)別,看看這個問題的另一個例子。
在這個例子中,我們看到另一個似乎扮演兩個角色的探測器:探測棒球上的紅色縫線和鯊魚的白色牙齒和粉紅色的內(nèi)口。
這個探測器也出現(xiàn)在激活地圖集層混合5b過濾到“大白鯊”,它的歸屬點是各種各樣的球,最重要的是“棒球”。
讓我們將棒球圖片添加到ImageNet中的“灰鯨”圖片中,看看它是如何影響分類的。
所以,這也就是為什么神經(jīng)網(wǎng)絡(luò)經(jīng)常總會認錯東西了。
-
谷歌
+關(guān)注
關(guān)注
27文章
6176瀏覽量
105672 -
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4776瀏覽量
100939 -
圖像分類
+關(guān)注
關(guān)注
0文章
90瀏覽量
11943
原文標題:谷歌和OpenAI重磅解密神經(jīng)網(wǎng)絡(luò)“黑匣子”:AI圖像分類原來就是一張激活地圖!
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論