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

東軟與中國信通院聯合發布數據報告
開放原子與Eclipse兩基金會聯合發布EPL-2.0許可證中譯文
OpenAI啟動12天新品發布盛宴

Orion模型即將面世,OpenAI采用新發布模式
京東方與雷神聯合發布首款仿生蜂鳥屏
壁仞科技與軟通動力聯合發布創新AI PC產品
中科曙光聯合發布《智能算力產業發展白皮書》
中軟國際與華為聯合發布院端醫保風控一體機解決方案

OpenAI推出SearchGPT原型,正式向Google搜索引擎發起挑戰
商湯科技與泰國DTGO集團聯合發布泰語大模型

評論