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