CNN 究竟「看」到了什麼?曲線檢測器是否為可解釋性帶來了出路?
- 2020 年 8 月 11 日
- AI
著深度學習研究步入深水區,人們逐漸從簡單地應用 CNN 轉向對其內在視覺機理與可解釋性的探究。本文是一篇來自 OpenAI 研究團隊的實驗性論文,從數據、可視化、歸因分析等方面全面分析了 CNN 神經元中的曲線檢測機制,是一篇利用神經科學原理研究深度學習技術的精彩範例。
圖 1:上圖中徑向輻射的調諧曲線可視化了 InceptionV1 的四類曲線中的曲線神經元如何激活不同方向上的人工合成渲染的曲線。在本文中,我們將仔細分析 3b 曲線族的表現。
早在 2013 年,Zeiler 和 Fergus 的論文「Visualizing and understanding convolutional networks」(//arxiv.org/pdf/1311.2901.pdf)就已經提出了視覺模型中的曲線檢測器。在神經科學領域中,研究人員也對相似的神經元進行了深入的研究。
本文作者認為,解釋性機器學習研究社區存在疑慮的問題包括:神經網路表徵是否由有意義的特徵組成,即是否可以追蹤到可以清晰地表徵的影像特徵?一方面,許多論文展示了一些看似有意義的特徵,如眼睛探測器、頭部探測器、汽車單側器等等。然而也有許多人懷疑這些成果只在文獻中才部分成立。與此同時,也有人擔心看似十分有意義的特徵實際上可能並不是它們在論文中表現出來的那樣。
一些論文指出,神經網路的強大之處主要是檢測紋理或不易察覺的模式,而不是前面所描述的那些「有意義」的特徵。並且,即使存在一些有意義的特徵,它們也有可能在網路中並沒有扮演特別重要的角色。比如說一個人觀察到一個看起來像狗頭探測器的東西,那麼它實際上可能只是一個探測與狗頭相關的特殊紋理的探測器。
這種分歧真的很重要。如果每個神經元都是有意義的,並且它們的連接形成了有意義的迴路,我們相信這將開闢一條通往完全的逆向工程和可解釋性神經網路的道路。當然,大家都知道並不是所有的神經元都是有意義的,但是我們已經看到了走通這條道路的曙光。
作者認為,可以藉助曲線檢測器在這一問題上取得很好的進展。曲線檢測器似乎是從邊緣檢測 Gabor 濾波器(研究社區普遍認為它形成了第一個卷積層的結果)又適當地前進了一步。此外,我們可以用它很容易地生成人為合成的曲線,這為嚴謹的研究提供了許多可能性。
該模型實現的曲線檢測底層演算法相當複雜。如果本文能夠說服懷疑論者至少相信曲線檢測器存在的合理性,那麼這似乎是向前邁進了一大步。同樣地,如果本文能呈現一個更精確的分歧點,也可以促進社區之間的對話。
一、曲線神經元簡介
在介紹詳細的實驗之前,我們先從宏觀上來看看3b 層中的 10 個神經元是如何工作的(註: 3b 為神經層的編號,下文中的3a、4a 都為神經層的編號):
圖 2:通過特徵可視化技術創建的每個神經元的理想曲線,我們使用優化方法來尋找超強的刺激。
每個曲線檢測器都實現了相同演算法的一個變體:它響應各種各樣的曲線,優先響應方向特定的曲線,並隨著方向的變化逐漸降低激活程度。曲線神經元對亮度、紋理、和顏色等表面特性具有不變性。
圖 3:神經元的最大激活歸一化結果。
曲線探測器的激活是很稀疏的,它們只對 ImageNet 上 10% 的空間位置有反應。當它們的激活值很大時,它們響應的是具有相似方向和曲率的曲線,進而可視化它們的特徵。
圖 4:數據集中激活3b層中 379 號神經元(以下統用 3b:379指代)的影像都包含與理想曲線相似的曲線。
曲線探測器這種看似有意義的特徵是存在的,這十分值得我們回顧和反思。神經網路並沒有使用顯式的刺激來形成有意義的神經元。也就是說,我們並沒有將這些神經元優化成曲線探測器!相反,我們訓練 InceptionV1 將影像分類。在這個過程中,許多有關曲線的抽象的層被移除掉了,曲線探測器在梯度下降過程中被破壞。
此外,在經典的電腦視覺領域中,在各種各樣的自然影像中檢測曲線是一個有待解決的問題。InceptionV1 似乎學到了一種靈活而通用的解決方案,它使用 5 個卷積層來實現這種方案。
我們認為,之所以會存在「神經元是否檢測到了特定的刺激」這樣的分歧,部分原因是由於正在進行各種各樣的論證。根據實證經驗,我們很容易證明:當曲線探測器被強烈激活時,刺激結果是一條明顯的曲線。不過,其它的一些觀點可能更具爭議:
因果關係:曲線探測器真正探測到的是曲線的特徵,而不是另一種與曲線相關的刺激。我們相信我們的特徵可視化和可視化歸因實驗建立了一種因果關係,因為「逆向運行」網路可以產生一條曲線。
泛化能力:曲線探測器對各種曲線刺激作出響應。它們可以應對很大範圍內的半徑變化,並且對顏色、亮度、紋理等屬性具有很強的不變性。我們相信,我們顯式地測試了對這些合成刺激的不變性,這是最令人信服的證據。
純度:曲線檢測器的意義是單一的,它們沒有有意義的次要功能。導致曲線探測器激活較弱的影像(如邊緣或夾角),是 InceptionV1 用來實現曲線檢測的演算法的自然擴展。我們相信,我們將數據集中的樣本分類為不同的激活值量級並可視化其歸因的實驗表明:我們很少需要曲線檢測器的次要功能。
曲線族:曲線神經元會協同工作,共同涵蓋各個方向的曲線。
二、特徵可視化
特徵可視化技術通過優化找出一個最大化給定目標的神經網路。特徵可視化技術之所以強大,原因之一是它能夠向我們揭示因果關係。由於我們首先接收隨機雜訊作為輸入,然後再優化像素而不是優化生成式的先驗,我們可以確信,結果影像中的任何屬性對目標都有貢獻。
圖 5:通過特徵可視化技術創建的每個神經元的理想曲線,我們使用優化方法來尋找超強的刺激。
在閱讀特徵可視化結果時,最重要的是忽略曲線的形狀。你可能注意到了,在上圖中,曲線的每一側都有明亮的、色調相反的顏色,這反應了曲線探測器的一種偏好:在曲線的邊界處會出現顏色變化。最後,如果你仔細觀察,你會發現一些垂直於曲線邊界的小線條。我們將曲線檢測器對這種小垂直線的弱偏好稱為「梳毛」(Combing)。
特徵可視化可以幫助我們找到最大限度激活神經元的影像,但是這些超強刺激是否能代表神經元的行為呢?
當我們看到一個特徵可視化結果時,我們經常會想像神經元對於與其性質相似的刺激產生強烈的響應,並且隨著表現這些視覺特徵的刺激減弱而逐漸變弱。但我們可以想像在非極端激活的情況下神經元的行為是完全不同的,或者在這種情況下,神經元對雜亂的極端刺激反應微弱,但對次級刺激也反應微弱。
如果我們想了解神經元實際上是如何工作的,我們應該直接觀察他對數據集中影像的實際反映。
三、數據集分析
由於一些實驗需要大量的工作量,當我們研究數據集時,我們將重點關注3b:379的曲線 。不過,本節的核心思想將適用於 3b 層中的所有曲線檢測器。
當我們研究使用 ReLU 的網路時,我們會發現觀察預激活(pre-activation)值的分布是很有幫助的。由於 ReLU 僅僅將原點左側的部分截去,因此很容易推斷出後激活(post-activation)值,但它也向我們展示了在另一種情況下,神經元的輸出與激活結果有多麼接近。我們發現3b層379 號神經元的預激活均值約為 -200。在整個數據集中,由於負值會被 ReLU 激活函數截斷為 0,只有 11% 的情況下會激活。
如果我們觀察一下概率的對數,我們會發現激活機制遵循一個指數分布,這對應於圖中的一條直線。結果,由於概率密度的衰減服從 而不是與高斯函數同階的
,我們預計這裡的概率服從一個長尾分布。
圖 6:通過觀察 3b:379 激活的 pre-ReLU 值,我們發現正值和負值都遵循了一個指數分布。由於所有的負值都會被 ReLU 截斷到 0,3b:379 的激活是稀疏的。在整個數據集中,只有 11% 的刺激會引起激活。
為了定性地理解這種分布的不同部分,我們可以通過激活、隨機取樣使得 3b:379 進行不同程度的影像,來渲染一些影像。這些影像顯示出了一些模式。引起最強激活的影像中有與神經元特徵可視化結果類似的曲線。引起較弱的正激活的影像是不完整的曲線,它們要麼過於平直、要麼方向不對,或者有其它的缺陷。導致 pre-ReLU 激活值在 0 點附近的影像往往是直線或沒有弧度的影像(儘管有些影像的曲線方向大約偏離了 45 度)。最後,引起最強負激活的影像中有與神經元的理想曲線方向偏離角度超過 45 度的曲線。
圖 7:(1)當激活值在(400,800)的區間內時,神經元的輸出為曲線,即具有最強的激活的影像有與神經元的理想曲線相似的朝向和曲率。(2)當激活值在(0,400)的區間內時,神經元的輸出為不完整的曲線,即具有弱激活的影像與神經元的理想曲線相似,但是並不完全相同。(3)當激活值在(-300,0)的區間內時,神經元的輸出為直線或無關的影像,即激活值在 0 附近的影像往往包含紋理或直線。(4)當激活值在(-800,-400)的區間內時,神經元的輸出為反向的曲線,即強烈抑制曲線神經元的影像包含具有朝向相反的曲線。
上圖中的圖片揭示了一系列廣泛的激活模式,但是它們可能會對人產生一些誤導。當我們將影像中與感受野大小相同的圖塊裁剪出來時,神經元對其的激活值僅僅是一個數字,所以我們不能確定影像中的那一部分讓我們得到了這個數字。因此,我們可能會被虛假的相關性所誤導。例如,由於許多引發對 3b:379 最強的激活的影像都是時鐘,我們可能認為神經元檢測到的是時鐘,而不是曲線。
想要了解為什麼一幅影像會激活一個神經元,我們可以使用特徵可視化技術來將進行影像對神經元的歸因分析。
四、可視化歸因分析
我們用於研究神經元的大多數工具(包括特徵可視化),都可以通過歸因分析的方式,在特定影像的上下文中使用。
關於如何在神經網路中做歸因分析,還有大量的工作需要做。這些方法試圖描述哪些像素或之前的神經元造成了當前分析的神經元的激活。通常,對於複雜非線性函數來說,關於哪些歸因方法是有條理的、這些歸因方法是否可靠等問題都存在很大的分歧。但是對於線性函數而言,歸因分析被廣泛認可,而大多數方法都會得到相同的答案。在關於
的線性函數中,成分 x_i 對於輸出的貢獻是
。而描述每個成分的貢獻的歸因向量(或張量)可以寫作
。
由於神經元的預激活函數和偏置值使其前一層中的神經元的線性函數,我們可以使用這種被廣泛認可的歸因方法。具體而言,3b 中曲線檢測器的預激活值是 3a 的線性函數。描述前一層中所有神經元如何影響給定的神經元的歸因張量是激活值與權值的點積。
我們通常使用特徵可視化技術來創建一個激活單個神經元的超強刺激,但是我們也可以使用它來激活神經元的線性組合。通過將特徵可視化應用于歸因張量,我們創建了能夠最大化激活 3a 中的神經元(這些神經元使得 3b:379 被激活)的刺激。此外,我們將使用歸因張量的絕對值,它顯示了使神經元被激活/抑制的特徵。這對於觀察影響曲線神經元的曲線相關視覺特徵是有益的,即使有時這些特徵是起抑制作用。
綜合以上方法,我們得到的可視化歸因方法可以表示為:
,其中 W 是給定神經元的權重,
是之前的隱藏層的激活值。直積上,我們發現使用灰度值和透明度對這些歸因可視化方法進行參數化是十分有用的,這可以使可視化結果更容易被非專業人員理解。
圖 8:可視化歸因分析結果。
儘管上述可視化結果用到的影像來自於 3a,但它已經足以證明歸因分析是一種強大且靈活的工具,我們可以將其用來以各種方式研究神經元迴路。例如,我們可以對影像在各個 InceptionV1 3b 之前的幾層中的神經元族之間流動的方式可視化下來,從前到後可視化每一族曲線神經元的影像的激活向量和歸因向量。每個激活向量都會顯示一族神經元看到了影像中的什麼內容,每個歸因向量都會告訴我們神經元對激活 3b:379 有多大貢獻。
五、與人類分類結果的比較
本文作者之一 Nick Cammarata 手動地將超過 800 張圖片標記為四組:曲線、不完整曲線、無關影像、反向曲線。我們從 3b:379 的激活中,以 100 個為一組,隨機抽取了固定數目的影像組合。在進行標註時,Nick 只能看到影像的像素,而不能看到其它的資訊(例如神經元的激活或歸因可視化結果)。它在標註的時候用到了以下的標籤:
曲線:影像中有一條與神經元的特徵可視化結果方向相似的曲線。這條曲線的寬度在影像中占很大的比例。
不完整曲線:影像中包含與神經元的特徵可視化結果相似的曲線,但是至少有一個重大缺陷(線條太平直、有一個破壞了弧度的折角、方向有所偏離)。
無關影像:影像中並不包含曲線。
反向曲線:影像中有一條與神經元的特徵可視化結果方向偏差大於 45 度的曲線。
手動標記完成後,我們對比了 3b:379 的影像激活和人工標註結果。在下面的堆疊圖中,我們可以看到不同的標籤可以明顯地被劃分到不同的激活模式中。
圖 9:橙色代表反向曲線,淺黃色代表無關影像,淺藍色代表不完整曲線,藍色代表曲線。在我們手工標註的約 850 張影像組成的數據集中,不同的 3b:379 激活值對應的條件概率。
儘管如此,仍然有許多導致神經元被激活的影像沒有被分類為「曲線」或「不完整曲線」。當我們可視化 3b:379 的歸因結果時,我們會發現許多影像包含細微的曲線部分。
圖 10:數據集中激活 了 3b:379 但被人類標記為「無關影像」的數據示例,它們往往都包含細微的曲線,我們通過可視化影像對曲線神經元的歸因向量來揭示這種模式。在這些例子中,似乎 3b:379 是一個超越人類的曲線檢測器。
激活譜上不同的點分別有多重要?
雖然 3b:379 在被強烈激活時似乎對於曲線刺激具有很強的選擇能力,但是它卻很少被激活。在大多數情況下,它並不會被激活,即使被激活往往激活程度也很微弱。
下圖為所有的 ImageNet 示例的激活值的概率密度,不同顏色的曲線對應於我們手工標記數據集中每個激活值(x 軸)代表的類。
圖 11:儘管我們從手動標註數據集中均勻地對激活值進行取樣,但是被分類為曲線的影像也很少。而 3b:379 的激活值服從一個指數分布。
如上圖所示,我們甚至看不到神經元被強烈激活的情況。隨著激活值增加,概率密度呈指數級衰減,所以這種激活是非常罕見的。
現在,我們還不清楚觀察概率密度函數是否是研究神經元的正確方法。絕大多數情況下,神經元並沒有被激活:事實上這很重要嗎?如果一個神經元很少被激活,那麼它對於理解神經元在網路中的作用又有多重要呢?
另一種衡量激活譜不同部分重要性的方法是思考其「期望值貢獻」—— 。這種測量的方法可以被認為是給出了對激活值影響神經元輸出的模式以及擴展網路行為的近似。
圖 12:對不同激活的期望值的貢獻,上圖顯示出了每個激活值對神經元輸出的影響。由於曲線在數據集中很少見,若神經元激活對於期望值的貢獻往往更大。
當我們之前觀察概率密度函數時,有人可能會懷疑 3b:379 是否真的是有意義的曲線探測器(即使當它被強烈激活時,它對曲線刺激是高度選擇性的)。但由於這種強烈激活的情況幾乎在概率密度函數圖中看不見,它怎麼會起很大的作用呢?然而,對期望值的貢獻表明,即使用保守的方法,曲線和不完美曲線的貢獻也占 55% 。
到目前為止,我們的實驗表明,3b: 379 的激活,似乎大致相當於人類判斷影像是否包含曲線。此外,可視化這些影像的歸因矢量的實驗告訴我們,這些影像之所以被激發是因為影像中的曲線,而我們並沒有被欺騙性的相關資訊所愚弄。
但是這些實驗還不足以支撐曲線神經元能夠檢測曲線影像的說法。由於曲線影像在數據集中出現的頻率較低,使得利用曲線影像進行系統的研究變得十分困難。我們接下來的幾個實驗將直接關注這一點,研究曲線神經元對合理曲線影像空間的反應。
六、聯合調諧曲線
我們的前兩個實驗表明,每個曲線檢測區針對不同方向的曲線會做出反應。下一個實驗將幫助我們驗證他們是否真的能夠檢測到相同特徵旋轉之後的不同版本,並且描述每個單元對方向變化的敏感程度。
我們通過創建一個「聯合調諧曲線」(Joint Tuning Curve)來進行實驗,該實驗說明了如果我們將自然數據集中會激活特定曲線檢測器的示例進行旋轉,所有曲線檢測器將如何反應。
每個神經元最主要的方向周圍都會有一個高斯函數一樣的突起,當每個神經元停止激活時,另一個神經元會被激活,它們合在一起就包含了所有的曲線方向。
圖 13:旋轉數據集中的示例後,神經元的反映示意圖。在上圖中,我們收集了最大限度激活神經元你的數據集示例,將它們以一度為一個單位,旋轉 0 到 360 度,記錄其激活值。我們將收集到的激活值進行評議,從而對齊每個神經元的響應點,最後對曲線取平均來創建一個典型的響應曲線。
雖然調諧曲線對於測量自然影像不同擾動狀態下的神經元激活非常有用,但是我們在這些影像上所能做的擾動種類是有限的。
七、人為合成曲線
儘管數據集給我們提供了幾乎所有可以想像到的曲線,但是它們並沒有諸如方向或半徑之類的標註數據,這使得回答那些需要系統地測量視覺屬性響應(曲率、方向、顏色等)的問題變得很困難。本文作者畫出了自己的曲線(並進行標註)從而深入研究這些問題。使用這樣人為合成的刺激是研究視覺神經科學的一種常見方法,我們發現它對人工神經網路的研究也十分有幫助。本節中的實驗在很大程度上受到了類似的研究曲線探測生物神經元的實驗的啟發。
由於數據集表明曲線對於方向和曲率最為敏感,因此我們將使用這兩個屬性作為曲線渲染器的參數。下面的熱力圖有助於我們以清晰的方式了解是什麼導致了神經元的激活。
圖 14:創建如最上方一行人為合成的刺激曲線有助於研究神經元的表現。我們可以觀察哪些刺激激活了 3b:379。
如上圖所示,引起最強激活的曲線影像的激活值高於數據集中的平均激活值 24 個標準差。它們具有與神經元的特徵可視化結果相同的方向與曲率。
圖 15:人為合成影像的激活熱力圖。
為什麼我們會在上圖中看到細長的三角形?
這種三角形的幾何結構表明,曲線探測器在曲率較高的曲線上響應的方向範圍更廣。而這種細長的條束表明,方向或者曲率的微笑變化可以引起激活值的劇烈變化,這說明曲線探測器是脆弱、不魯棒的。不幸的是,在各個神經元族中都普遍存在該問題,我們在第二層 conv2d1 的 Gabor 族中就發現了這個問題。
除了測試方向和曲率,我們還可以測試其它的變數,比如曲線形狀的填充度,或它們是否有顏色。對數據集的分析顯示,曲線探測器對於光照、顏色這種裝飾性的特徵具有不變性,我們可以通過人為合成的刺激驗證這一點。
圖 15:曲線對於填充度和顏色具有不變性。
八、人為合成夾角
我們的合成曲線實驗和數據集分析都表明,雖然曲線對方向很敏感,但是它們對曲線半徑有很大的容忍度。在極端情況下,曲線神經元對很窄的方向區間內的邊緣有部分響應,這些邊緣可以看作是無限半徑的曲線。這可能使我們認為曲線神經元實際上對許多具有正確方向的形狀作出響應,而不是特定的曲線。雖然我們不能系統地繪製所有可能的形狀,但我們認為夾角是研究這一假設的一個很好的測試案例。
圖 16:在上圖中,y 軸代表半徑,x 軸代表方向。
上圖中的激活形成了兩種明顯不同的線段,它們的連接部位激活最強烈。每一條線段都是組成與曲線切線對齊的夾角的兩條線段的其中之一。該夾角和具有與神經元的特徵可視化結果相匹配的方向曲線最相近。右側較弱的激活原因相同,而角度刺激的抑制部分面向外側而不是內側。
圖 17:夾角與曲線切線匹配情況。
在下面的例子中,我們展示了一系列的刺激,它們從夾角過渡到曲線。每一列最強中烈的激活比之前的每列更強,因為更圓的刺激更接近曲線,導致曲線神經元的激活更強烈。此外,當每個刺激變得更加圓時,他們的「激活三角形」填充度越來越高,從原始的夾角刺激過渡到一個平滑的弧線。
圖 18:我們從左到右分別展示了從夾角過渡到曲線的刺激,刺激逐漸變得更加圓潤。我們看到每個神經元的最大激活一步步遞增,隨著由兩條線段組成的夾角逐漸變化為一個圓弧,激活三角形逐漸被填充。
九、輻射狀徑向調諧曲線
圖 19:徑向調諧曲線,給定合成刺激的正激活值,對曲率做平均,得到夾角的激活值。圍繞一個中心園,用與夾角大小對應的激活值對應的半徑圍出一個封閉的曲線空間。我們可以圍繞同一個圓渲染多個神經元的激活曲線空間,從而直觀地理解曲線檢測層如何響應合成刺激。
十、InceptionV1 的曲線族
到目前為止,我們一直在觀察 3b 層中的曲線神經元。但是 InceptionV1 實際上包含四個連續層的曲線神經元,3b 則是其中的第三層。
圖 20:InceptionV1 網路示意圖。
1、conv2d2
「conv2d2」(簡稱「2」)是 InceptionV1 中的第三個卷積層。它包含兩種類型的曲線檢測器:同心曲線和梳毛邊。
同心曲線是一種小型的曲線檢測器,它偏向於檢測出同一方向上的多條半徑越來越大的曲線。我么認為這一特徵對於改進 3a 和 3b 曲線探測器有一定的作用(因為他們能夠容忍較大的半徑變化範圍)。
圖 21:同心曲線刺激示意圖。
梳毛邊可以檢測從一條較大的線上垂直延伸出的幾條線,這些延伸出來的線又可以檢測曲線,從而成為一種曲線檢測器。這些神經元被用來構建較為靠後的層中的曲線檢測器(我們將其稱為梳毛效應)。
通過觀察 conv2d2 中的激活模式,我們發現曲線對一定連續範圍內的刺激作出響應,但是對於另外一邊 180 度內的刺激來說,它們的激活較弱。我們將這個現象稱為「次級回波」(secondaty range echoes)。
圖 22:conv2d2 中的激活模式。
2、3a
由 3a 層形成的非同心曲線檢測器在某些方面與 3b 中的曲線檢測器相類似。一個不同之處是,3a 的曲線存在回波。
圖 23:3a 層中的激活模式。
3、3b
本文重點關注 3b 層的曲線檢測器,它們有乾淨的激活模式,不存在回波。3b 的徑向調諧曲線頂部有兩個較大的「缺口」,底部有一個較小的「缺口」。其中一個原因是,該模型具有「雙曲線檢測器」,它會對兩個不同方向的曲線做出相應,並幫助填補缺口。
圖 24:3b 層中的激活模式。
4、4a
在4a 中,網路構造了許多複雜的形狀,如螺旋線和邊緣檢測器,它也是第一個構造三維幾何的層。它有幾個曲線探測器,但我們更相信它們對應於特定的世界中的物體,而不是抽象的形狀。許多這樣的曲線都可以在4a 的 5×5 分支中找到,這個分支似乎專門檢測三維幾何形狀。
圖 25:4a:406 神經元響應的刺激。
圖 26:4a 層的激活模式。
十一、再利用曲線探測器
我們研究曲線神經元是為了更好地理解神經網路,而不是因為我們對曲線本身感興趣。但是在研究過程中,我們意識到曲線檢測對於航空影像、自動駕駛汽車和醫學研究等領域是非常重要的,並且在每個領域都有大量關於曲線檢測的經典電腦視覺文獻。我們已經建立了一個利用曲線神經元族來完成幾個不同的與曲線相關的電腦視覺任務的技術原型。
其中一個任務是「曲線提取」,這個任務旨在突出影像中屬於曲線的一部分的像素。可視化這些曲線神經元的歸因結果,就可以被看作一種曲線提取的過程。在這裡,我們將其與常常用於檢測 X 光片中的血管的 Canny 邊緣檢測演算法進行對比。
圖 27:「Curve tracing and curve detection in images」中曲線提取的示例。
歸因可視化能夠清晰地區分和顯示直線和曲線,並且顯示較少的視覺偽影。然而,它表現出一種強烈的梳毛效應ーー從被追蹤的邊緣散發出不想要的垂直線。我們不確定這些線在實際應用中的危害程度,但我們認為可以通過編輯曲線神經元的迴路來消除它們。
1、樣條參數化
我們可以通過改變優化的內容來訪問該空間中更多的部分。到目前為止,我們一直在優化像素,但我們也可以創建一個可微的渲染曲線的參數化過程。通過從歸因到輸入,再到其中的樣條節點的反向傳播,我們可以「追蹤曲線」,得到能夠最好地擬合描述影像中的曲線的樣條的函數。
圖 28:樣條參數化過程。
2、樣條閉合性
圖 29:即使曲線有明顯的遮擋,我們的樣條也可以追蹤曲線。此外,我們還可以利用屬性構造複雜的閉合規則。例如,如果樣條線與特定對象或紋理重疊,我們可以對其進行強烈的懲罰,從而抑制樣條線將被這些特徵遮擋的視覺曲線連接起來。
細微的曲線
圖 30:由於曲線神經元對於大量自然視覺特徵是魯棒的,我們的曲線追蹤演算法可以被用於影像中的細微的曲線。
複雜的形狀
圖 31:複雜形狀中的曲線追蹤。
3、演算法整合
影像分割看似與上述演算法毫不相關。我們可以通過一種無監督的方法使用非負矩陣分解(NMF)實現它。我們可以利用樣條參數化機制來追蹤影像中不同物體的曲線,從而可視化這些因素的歸因。
圖 32:從左到右分別為原圖、曲線追蹤結果、追蹤到的非負矩陣分解成分。
我們可以同時分解大量蝴蝶影像來尋找網路中對蝴蝶做出相應的一組神經元,而不是分解單個影像的激活。對激活進行因子分解和普通影像分割的一個很大的區別是我們得到的是一組神經元而不是像素。這些神經元組通常可以用來尋找影像中的蝴蝶。通過使用可微樣條參量化進行組合,我們可以得到一個單一的優化結果,我們可以應用到任何影像上,從而自動地找出蝴蝶,並給出適合它們的樣條公式。
圖 33:我們追蹤了 23 張蝴蝶影像,上面是 15 張我們最喜歡的實驗結果。
十二、梳毛現象
曲線檢測器的一個奇怪之處在於,它們似乎對垂直於曲線的小線條響應很大。
許多模型的曲線檢測器似乎都發生了梳毛效應。實際上,生物神經網路中也存在一些較弱的證據:一個研究小組在獼猴視覺皮層的 V4 區域進行了一個類似於特徵可視化的實驗,他們發現一個帶有向外凸出的線條的圓形是激活程度最高的刺激之一。
圖 34 :廣泛存在的梳毛效應。
一種解釋該現象的假設是:現代世界中許多重要的曲線都有垂直的線條,例如車輪的輻條或中報邊緣的刻度。
圖 35:現代社會中垂直於曲線的線條。
一個相關的假設是,在某些情況下,梳毛效應可能使曲線檢測器能夠被用於毛皮檢測。另一個假設是,在具有向前延伸的垂直線時,曲線具有更高的「對比度」。回想一下,在數據集分析的例子中,最強的 Pre-ReLU 負激活是反向的曲線。如果一個曲線探測器想要看到曲線和它周圍的空間之間方向的強烈變化,它可能會認為垂直線比純色更具對比度。
十三、結語
與神經科學等領域相比,人工神經網路使細緻的研究變得容易。我們可以讀寫神經網路中的每一個權重,使用梯度來優化刺激,並分析數據集中數十億真實的激活模式。通過構建這些工具,我們可以進行大量的實驗,從不同的角度觀察一個神經元。
本文提到的許多研究路線引出了研究神經元新技術,如合成刺激或使用迴路編輯技術來對神經元的行為進行消融實驗。其它的方法只與某些神經元族有關,例如等方差模體或手動訓練的「人工神經網路」,它重新實現了曲線檢測器。
如果我們更廣泛的目標是完全的神經網路逆向工程,那麼僅僅研究一個神經元族似乎就需要付出如此多的努力。然而,根據我們在不同深度上研究神經元族的經驗,我們發現很容易理解神經元族的基礎。例如OpenAI 顯微鏡就可以展示了可視化、數據集示例,並且很快就能在幾秒鐘內顯示出權重。由於特徵可視化顯示了強有力的因果行為證據,而數據集示例顯示了神經元在實踐中的響應,這些都是神經元行為的強有力證據。
儘管我們往往能一眼就了解神經元族的主要功能,但是隨著對神經元族進行更加深入的研究,研究人員會發現其更深層次的美。 雷鋒網雷鋒網雷鋒網
Via //distill.pub/2020/circuits/curve-detectors/