CNN 究竟「看」到了什麼?曲線檢測器是否為可解釋性帶來了出路?

ai科技評論 發佈 2020-07-19T06:39:21+00:00

本文是一篇來自 OpenAI 研究團隊的實驗性論文,從數據、可視化、歸因分析等方面全面分析了 CNN 神經元中的曲線檢測機制,是一篇利用神經科學原理研究深度學習技術的精彩範例。

編譯 | Mr Bear

編輯 | 叢 末

隨著深度學習研究步入深水區,人們逐漸從簡單地應用 CNN 轉向對其內在視覺機理與可解釋性的探究。本文是一篇來自 OpenAI 研究團隊的實驗性論文,從數據、可視化、歸因分析等方面全面分析了 CNN 神經元中的曲線檢測機制,是一篇利用神經科學原理研究深度學習技術的精彩範例。

圖 1:上圖中徑向輻射的調諧曲線可視化了 InceptionV1 的四類曲線中的曲線神經元如何激活不同方向上的人工合成渲染的曲線。

早在 2013 年,Zeiler 和 Fergus 的論文「Visualizing and understanding convolutional networks」就已經提出了視覺模型中的曲線檢測器。在神經科學領域中,研究人員也對相似的神經元進行了深入的研究。

本文作者認為,解釋性機器學習研究社區存在疑慮的問題包括:神經網絡表征是否由有意義的特徵組成,即是否可以追蹤到可以清晰地表征的圖像特徵?一方面,許多論文展示了一些看似有意義的特徵,如眼睛探測器、頭部探測器、汽車單側器等等。然而也有許多人懷疑這些成果只在文獻中才部分成立。與此同時,也有人擔心看似十分有意義的特徵實際上可能並不是它們在論文中表現出來的那樣。

一些論文指出,神經網絡的強大之處主要是檢測紋理或不易察覺的模式,而不是前面所描述的那些「有意義」的特徵。並且,即使存在一些有意義的特徵,它們也有可能在網絡中並沒有扮演特別重要的角色。比如說一個人觀察到一個看起來像狗頭探測器的東西,那麼它實際上可能只是一個探測與狗頭相關的特殊紋理的探測器。

這種分歧真的很重要。如果每個神經元都是有意義的,並且它們的連接形成了有意義的迴路,我們相信這將開闢一條通往完全的逆向工程和可解釋性神經網絡的道路。當然,大家都知道並不是所有的神經元都是有意義的,但是我們已經看到了走通這條道路的曙光。

作者認為,可以藉助曲線檢測器在這一問題上取得很好的進展。曲線檢測器似乎是從邊緣檢測 Gabor 濾波器(研究社區普遍認為它形成了第一個卷積層的結果)又適當地前進了一步。此外,我們可以用它很容易地生成人為合成的曲線,這為嚴謹的研究提供了許多可能性。

該模型實現的曲線檢測底層算法相當複雜。如果本文能夠說服懷疑論者至少相信曲線檢測器存在的合理性,那麼這似乎是向前邁進了一大步。同樣地,如果本文能呈現一個更精確的分歧點,也可以促進社區之間的對話。

1

曲線神經元簡介

在介紹詳細的實驗之前,我們先從宏觀上來看看3b 層中的 10 個神經元是如何工作的(註:3b 為神經層的編號,下文中的3a、4a 都為神經層的編號):

圖 2:通過特徵可視化技術創建的每個神經元的理想曲線,我們使用優化方法來尋找超強的刺激。

每個曲線檢測器都實現了相同算法的一個變體:它響應各種各樣的曲線,優先響應方向特定的曲線,並隨著方向的變化逐漸降低激活程度。曲線神經元對亮度、紋理、和顏色等表面特性具有不變性。

圖 3:神經元的最大激活歸一化結果。

曲線探測器的激活是很稀疏的,它們只對 ImageNet 上 10% 的空間位置有反應。當它們的激活值很大時,它們響應的是具有相似方向和曲率的曲線,進而可視化它們的特徵。

圖 4:數據集中激活3b層中 379 號神經元(以下統用 3b:379指代)的圖像都包含與理想曲線相似的曲線。

曲線探測器這種看似有意義的特徵是存在的,這十分值得我們回顧和反思。神經網絡並沒有使用顯式的刺激來形成有意義的神經元。也就是說,我們並沒有將這些神經元優化成曲線探測器!相反,我們訓練 InceptionV1 將圖像分類。在這個過程中,許多有關曲線的抽象的層被移除掉了,曲線探測器在梯度下降過程中被破壞。

此外,在經典的計算機視覺領域中,在各種各樣的自然圖像中檢測曲線是一個有待解決的問題。InceptionV1 似乎學到了一種靈活而通用的解決方案,它使用 5 個卷積層來實現這種方案。

我們認為,之所以會存在「神經元是否檢測到了特定的刺激」這樣的分歧,部分原因是由於正在進行各種各樣的論證。根據實證經驗,我們很容易證明:當曲線探測器被強烈激活時,刺激結果是一條明顯的曲線。不過,其它的一些觀點可能更具爭議:

  • 因果關係:曲線探測器真正探測到的是曲線的特徵,而不是另一種與曲線相關的刺激。我們相信我們的特徵可視化和可視化歸因實驗建立了一種因果關係,因為「逆向運行」網絡可以產生一條曲線。

  • 泛化能力:曲線探測器對各種曲線刺激作出響應。它們可以應對很大範圍內的半徑變化,並且對顏色、亮度、紋理等屬性具有很強的不變性。我們相信,我們顯式地測試了對這些合成刺激的不變性,這是最令人信服的證據。

  • 純度:曲線檢測器的意義是單一的,它們沒有有意義的次要功能。導致曲線探測器激活較弱的圖像(如邊緣或夾角),是 InceptionV1 用來實現曲線檢測的算法的自然擴展。我們相信,我們將數據集中的樣本分類為不同的激活值量級並可視化其歸因的實驗表明:我們很少需要曲線檢測器的次要功能。

  • 曲線族:曲線神經元會協同工作,共同涵蓋各個方向的曲線。

2

特徵可視化

特徵可視化技術通過優化找出一個最大化給定目標的神經網絡。特徵可視化技術之所以強大,原因之一是它能夠向我們揭示因果關係。由於我們首先接收隨機噪聲作為輸入,然後再優化像素而不是優化生成式的先驗,我們可以確信,結果圖像中的任何屬性對目標都有貢獻。

圖 5:通過特徵可視化技術創建的每個神經元的理想曲線,我們使用優化方法來尋找超強的刺激。

在觀察特徵可視化結果時,最重要的是忽略曲線的形狀。你可能注意到了,在上圖中,曲線的每一側都有明亮的、色調相反的顏色,這反應了曲線探測器的一種偏好:在曲線的邊界處會出現顏色變化。最後,如果你仔細觀察,你會發現一些垂直於曲線邊界的小線條。我們將曲線檢測器對這種小垂直線的弱偏好稱為「梳毛」(Combing)。

特徵可視化可以幫助我們找到最大限度激活神經元的圖像,但是這些超強刺激是否能代表神經元的行為呢?

當我們看到一個特徵可視化結果時,我們經常會想像神經元對於與其性質相似的刺激產生強烈的響應,並且隨著表現這些視覺特徵的刺激減弱而逐漸變弱。但我們可以想像在非極端激活的情況下神經元的行為是完全不同的,或者在這種情況下,神經元對雜亂的極端刺激反應微弱,但對次級刺激也反應微弱。

如果我們想了解神經元實際上是如何工作的,我們應該直接觀察他對數據集中圖像的實際反映。

3

數據集分析

由於一些實驗需要大量的工作量,當我們研究數據集時,我們將重點關注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 最強的激活的圖像都是時鐘,我們可能認為神經元檢測到的是時鐘,而不是曲線。

想要了解為什麼一幅圖像會激活一個神經元,我們可以使用特徵可視化技術來將進行圖像對神經元的歸因分析。

4

可視化歸因分析

我們用於研究神經元的大多數工具(包括特徵可視化),都可以通過歸因分析的方式,在特定圖像的上下文中使用。

關於如何在神經網路中做歸因分析,還有大量的工作需要做。這些方法試圖描述哪些像素或之前的神經元造成了當前分析的神經元的激活。通常,對於複雜非線性函數來說,關於哪些歸因方法是有條理的、這些歸因方法是否可靠等問題都存在很大的分歧。但是對於線性函數而言,歸因分析被廣泛認可,而大多數方法都會得到相同的答案。在關於

的線性函數中,成分 x_i 對於輸出的貢獻是

。而描述每個成分的貢獻的歸因向量(或張量)可以寫作

由於神經元的預激活函數和偏置值使其前一層中的神經元的線性函數,我們可以使用這種被廣泛認可的歸因方法。具體而言,3b 中曲線檢測器的預激活值是 3a 的線性函數。描述前一層中所有神經元如何影響給定的神經元的歸因張量是激活值與權值的點積。

我們通常使用特徵可視化技術來創建一個激活單個神經元的超強刺激,但是我們也可以使用它來激活神經元的線性組合。通過將特徵可視化應用於歸因張量,我們創建了能夠最大化激活 3a 中的神經元(這些神經元使得 3b:379 被激活)的刺激。此外,我們將使用歸因張量的絕對值,它顯示了使神經元被激活/抑制的特徵。這對於觀察影響曲線神經元的曲線相關視覺特徵是有益的,即使有時這些特徵是起抑制作用。

綜合以上方法,我們得到的可視化歸因方法可以表示為:

,其中 W 是給定神經元的權重,

是之前的隱藏層的激活值。直積上,我們發現使用灰度值和透明度對這些歸因可視化方法進行參數化是十分有用的,這可以使可視化結果更容易被非專業人員理解。

圖 8:可視化歸因分析結果。

儘管上述可視化結果用到的圖像來自於 3a,但它已經足以證明歸因分析是一種強大且靈活的工具,我們可以將其用來以各種方式研究神經元迴路。例如,我們可以對圖像在各個 InceptionV1 3b 之前的幾層中的神經元族之間流動的方式可視化下來,從前到後可視化每一族曲線神經元的圖像的激活向量和歸因向量。每個激活向量都會顯示一族神經元看到了圖像中的什麼內容,每個歸因向量都會告訴我們神經元對激活 3b:379 有多大貢獻。

5

與人類分類結果的比較

本文作者之一 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 的激活,似乎大致相當於人類判斷圖像是否包含曲線。此外,可視化這些圖像的歸因矢量的實驗告訴我們,這些圖像之所以被激發是因為圖像中的曲線,而我們並沒有被欺騙性的相關信息所愚弄。

但是這些實驗還不足以支撐曲線神經元能夠檢測曲線圖像的說法。由於曲線圖像在數據集中出現的頻率較低,使得利用曲線圖像進行系統的研究變得十分困難。我們接下來的幾個實驗將直接關注這一點,研究曲線神經元對合理曲線圖像空間的反應。

6

聯合調諧曲線

我們的前兩個實驗表明,每個曲線檢測區針對不同方向的曲線會做出反應。下一個實驗將幫助我們驗證他們是否真的能夠檢測到相同特徵旋轉之後的不同版本,並且描述每個單元對方向變化的敏感程度。

我們通過創建一個「聯合調諧曲線」(Joint Tuning Curve)來進行實驗,該實驗說明了如果我們將自然數據集中會激活特定曲線檢測器的示例進行旋轉,所有曲線檢測器將如何反應。

每個神經元最主要的方向周圍都會有一個高斯函數一樣的突起,當每個神經元停止激活時,另一個神經元會被激活,它們合在一起就包含了所有的曲線方向。

圖 13:旋轉數據集中的示例後,神經元的反映示意圖。在上圖中,我們收集了最大限度激活神經元你的數據集示例,將它們以一度為一個單位,旋轉 0 到 360 度,記錄其激活值。我們將收集到的激活值進行評議,從而對齊每個神經元的響應點,最後對曲線取平均來創建一個典型的響應曲線。

雖然調諧曲線對於測量自然圖像不同擾動狀態下的神經元激活非常有用,但是我們在這些圖像上所能做的擾動種類是有限的。

7

人為合成曲線

儘管數據集給我們提供了幾乎所有可以想像到的曲線,但是它們並沒有諸如方向或半徑之類的標註數據,這使得回答那些需要系統地測量視覺屬性響應(曲率、方向、顏色等)的問題變得很困難。我們手動畫了一條曲線(並進行標註)從而深入研究這些問題。使用這樣人為合成的刺激是研究視覺神經科學的一種常見方法,我們發現它對人工神經網絡的研究也十分有幫助。本節中的實驗在很大程度上受到了類似的研究曲線探測生物神經元的實驗的啟發。

由於數據集表明曲線對於方向和曲率最為敏感,因此我們將使用這兩個屬性作為曲線渲染器的參數。下面的熱力圖有助於我們以清晰的方式了解是什麼導致了神經元的激活。

圖 14:創建如最上方一行人為合成的刺激曲線有助於研究神經元的表現。我們可以觀察哪些刺激激活了 3b:379。

如上圖所示,引起最強激活的曲線圖像的激活值高於數據集中的平均激活值 24 個標準差。它們具有與神經元的特徵可視化結果相同的方向與曲率。

圖 15:人為合成圖像的激活熱力圖。

為什麼我們會在上圖中看到細長的三角形?

這種三角形的幾何結構表明,曲線探測器在曲率較高的曲線上響應的方向範圍更廣。而這種細長的條束表明,方向或者曲率的微笑變化可以引起激活值的劇烈變化,這說明曲線探測器是脆弱、不魯棒的。不幸的是,在各個神經元族中都普遍存在該問題,我們在第二層 conv2d1 的 Gabor 族中就發現了這個問題。

除了測試方向和曲率,我們還可以測試其它的變量,比如曲線形狀的填充度,或它們是否有顏色。對數據集的分析顯示,曲線探測器對於光照、顏色這種裝飾性的特徵具有不變性,我們可以通過人為合成的刺激驗證這一點。

圖 15:曲線對於填充度和顏色具有不變性。

8

人為合成夾角

我們的合成曲線實驗和數據集分析都表明,雖然曲線對方向很敏感,但是它們對曲線半徑有很大的容忍度。在極端情況下,曲線神經元對很窄的方向區間內的邊緣有部分響應,這些邊緣可以看作是無限半徑的曲線。這可能使我們認為曲線神經元實際上對許多具有正確方向的形狀作出響應,而不是特定的曲線。雖然我們不能系統地繪製所有可能的形狀,但我們認為夾角是研究這一假設的一個很好的測試案例。

圖 16:在上圖中,y 軸代表半徑,x 軸代表方向。

上圖中的激活形成了兩種明顯不同的線段,它們的連接部位激活最強烈。每一條線段都是組成與曲線切線對齊的夾角的兩條線段的其中之一。該夾角和具有與神經元的特徵可視化結果相匹配的方向曲線最相近。右側較弱的激活原因相同,而角度刺激的抑制部分面向外側而不是內側。

圖 17:夾角與曲線切線匹配情況。

在下面的例子中,我們展示了一系列的刺激,它們從夾角過渡到曲線。每一列最強中烈的激活比之前的每列更強,因為更圓的刺激更接近曲線,導致曲線神經元的激活更強烈。此外,當每個刺激變得更加圓時,他們的「激活三角形」填充度越來越高,從原始的夾角刺激過渡到一個平滑的弧線。

圖 18:我們從左到右分別展示了從夾角過渡到曲線的刺激,刺激逐漸變得更加圓潤。我們看到每個神經元的最大激活一步步遞增,隨著由兩條線段組成的夾角逐漸變化為一個圓弧,激活三角形逐漸被填充。

9

輻射狀徑向調諧曲線

圖 19:徑向調諧曲線,給定合成刺激的正激活值,對曲率做平均,得到夾角的激活值。圍繞一個中心園,用與夾角大小對應的激活值對應的半徑圍出一個封閉的曲線空間。我們可以圍繞同一個圓渲染多個神經元的激活曲線空間,從而直觀地理解曲線檢測層如何響應合成刺激。

10

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 的 5x5 分支中找到,這個分支似乎專門檢測三維幾何形狀。

圖 25:4a:406 神經元響應的刺激。

圖 26:4a 層的激活模式。

10

再利用曲線探測器

我們研究曲線神經元是為了更好地理解神經網絡,而不是因為我們對曲線本身感興趣。但是在研究過程中,我們意識到曲線檢測對於航空影像、自動駕駛汽車和醫學研究等領域是非常重要的,並且在每個領域都有大量關於曲線檢測的經典計算機視覺文獻。我們已經建立了一個利用曲線神經元族來完成幾個不同的與曲線相關的計算機視覺任務的技術原型。

其中一個任務是「曲線提取」,這個任務旨在突出圖像中屬於曲線的一部分的像素。可視化這些曲線神經元的歸因結果,就可以被看作一種曲線提取的過程。在這裡,我們將其與常常用於檢測 X 光片中的血管的 Canny 邊緣檢測算法進行對比。

圖 27:「Curve tracing and curve detection in images」中曲線提取的示例。

歸因可視化能夠清晰地區分和顯示直線和曲線,並且顯示較少的視覺偽影。然而,它表現出一種強烈的梳毛效應ーー從被追蹤的邊緣散發出不想要的垂直線。我們不確定這些線在實際應用中的危害程度,但我們認為可以通過編輯曲線神經元的迴路來消除它們。

1、樣條參數化

我們可以通過改變優化的內容來訪問該空間中更多的部分。到目前為止,我們一直在優化像素,但我們也可以創建一個可微的渲染曲線的參數化過程。通過從歸因到輸入,再到其中的樣條節點的反向傳播,我們可以「追蹤曲線」,得到能夠最好地擬合描述圖像中的曲線的樣條的函數。

圖 28:樣條參數化過程。

2、樣條閉合性

圖 29:即使曲線有明顯的遮擋,我們的樣條也可以追蹤曲線。此外,我們還可以利用屬性構造複雜的閉合規則。例如,如果樣條線與特定對象或紋理重疊,我們可以對其進行強烈的懲罰,從而抑制樣條線將被這些特徵遮擋的視覺曲線連接起來。

細微的曲線:

圖 30:由於曲線神經元對於大量自然視覺特徵是魯棒的,我們的曲線追蹤算法可以被用於圖像中的細微的曲線。

複雜的形狀:

圖 31:複雜形狀中的曲線追蹤。

3、算法整合

圖像分割看似與上述算法毫不相關。我們可以通過一種無監督的方法使用非負矩陣分解(NMF)實現它。我們可以利用樣條參數化機制來追蹤圖像中不同物體的曲線,從而可視化這些因素的歸因。

圖 32:從左到右分別為原圖、曲線追蹤結果、追蹤到的非負矩陣分解成分。

我們可以同時分解大量蝴蝶圖像來尋找網絡中對蝴蝶做出相應的一組神經元,而不是分解單個圖像的激活。對激活進行因子分解和普通圖像分割的一個很大的區別是我們得到的是一組神經元而不是像素。這些神經元組通常可以用來尋找圖像中的蝴蝶。通過使用可微樣條參量化進行組合,我們可以得到一個單一的優化結果,我們可以應用到任何圖像上,從而自動地找出蝴蝶,並給出適合它們的樣條公式。

圖 33:我們追蹤了 23 張蝴蝶圖像,上面是 15 張我們最喜歡的實驗結果。

11

梳毛現象

曲線檢測器的一個奇怪之處在於,它們似乎對垂直於曲線的小線條響應很大。

許多模型的曲線檢測器似乎都發生了梳毛效應。實際上,生物神經網絡中也存在一些較弱的證據:一個研究小組在獼猴視覺皮層的 V4 區域進行了一個類似於特徵可視化的實驗,他們發現一個帶有向外凸出的線條的圓形是激活程度最高的刺激之一。

圖 34 :普遍存在的梳毛現象。

一種解釋該現象的假設是:現代世界中許多重要的曲線都有垂直的線條,例如車輪的輻條或中報邊緣的刻度。

圖 35:現代社會中垂直於曲線的線條。

一個相關的假設是,在某些情況下,梳毛效應可能使曲線檢測器能夠被用於毛皮檢測。另一個假設是,在具有向前延伸的垂直線時,曲線具有更高的「對比度」。回想一下,在數據集分析的例子中,最強的 Pre-ReLU 負激活是反向的曲線。如果一個曲線探測器想要看到曲線和它周圍的空間之間方向的強烈變化,它可能會認為垂直線比純色更具對比度。

12

結語

與神經科學等領域相比,人工神經網絡使細緻的研究變得容易。我們可以讀寫神經網絡中的每一個權重,使用梯度來優化刺激,並分析數據集中數十億真實的激活模式。通過構建這些工具,我們可以進行大量的實驗,從不同的角度觀察一個神經元。

本文提到的許多研究路線引出了研究神經元新技術,如合成刺激或使用迴路編輯技術來對神經元的行為進行消融實驗。其它的方法只與某些神經元族有關,例如等方差模體或手動訓練的「人工神經網絡」,它重新實現了曲線檢測器。

如果我們更廣泛的目標是完全的神經網絡逆向工程,那麼僅僅研究一個神經元族似乎就需要付出如此多的努力。然而,根據我們在不同深度上研究神經元族的經驗,我們發現很容易理解神經元族的基礎。例如OpenAI 顯微鏡就可以展示了可視化、數據集示例,並且很快就能在幾秒鐘內顯示出權重。由於特徵可視化顯示了強有力的因果行為證據,而數據集示例顯示了神經元在實踐中的響應,這些都是神經元行為的強有力證據。

儘管我們往往能一眼就了解神經元族的主要功能,但是隨著對神經元族進行更加深入的研究,研究人員會發現其更深層次的美。

via https://distill.pub/2020/circuits/curve-detectors/

招 聘

AI 科技評論希望能夠招聘 科技編輯/記者

辦公地點:北京/深圳

職務:以跟蹤學術熱點、人物專訪為主

工作內容:

1、關注學術領域熱點事件,並及時跟蹤報導;

2、採訪人工智慧領域學者或研發人員;

3、參加各種人工智慧學術會議,並做會議內容報導。

要求:

1、熱愛人工智慧學術研究內容,擅長與學者或企業工程人員打交道;

2、有一定的理工科背景,對人工智慧技術有所了解者更佳;

3、英語能力強(工作內容涉及大量英文資料);

4、學習能力強,對人工智慧前沿技術有一定的了解,並能夠逐漸形成自己的觀點。

感興趣者,可將簡歷發送到郵箱:jiangbaoshang@yanxishe.com

關鍵字: