深度學(xué)習(xí)一直被看做是一個(gè)難以解釋的“黑匣子”。一方面在于其缺乏數(shù)學(xué)上的優(yōu)雅,缺乏基礎(chǔ)理論的支撐,另一方面在工程上缺乏解釋性,其潛在的安全隱患一直為人們所詬病。因此,如何更好地對(duì) CNN 進(jìn)行可視化理解一直是學(xué)術(shù)界和工業(yè)界關(guān)注的重點(diǎn)。本文為 CNN 可視化理解的最新綜述,將重點(diǎn)內(nèi)容摘選如下。
目前,學(xué)術(shù)界已經(jīng)提出了很多和 CNN 可視化相關(guān)的工作,在早期的研究階段,可視化主要集中在低層特征。 隨著 CNN 的快速發(fā)展和實(shí)施,可視化已經(jīng)擴(kuò)展到解釋 CNN 的整體工作機(jī)制。這些工作主要是從網(wǎng)絡(luò)結(jié)構(gòu),算法實(shí)施和語(yǔ)義概念的角度來(lái)對(duì)其進(jìn)行解釋。這其中幾種代表性的方法有:
1、Erhan 等人提出 Activation Maximization 來(lái)對(duì)傳統(tǒng)的淺層網(wǎng)絡(luò)進(jìn)行解釋。后來(lái),Simonyan 等人通過(guò)將單個(gè) CNN 神經(jīng)元的最大激活可視化合成一個(gè)輸入圖像模式( input image pattern ),進(jìn)一步改進(jìn)了這種方法。后續(xù)出現(xiàn)了很多工作都是基于這種方法,再利用不同的正則項(xiàng)進(jìn)行擴(kuò)展,以提高合成圖像模式的可解釋性。
2、Mahendran 等人提出了 Network Inversion 重建基于多個(gè)神經(jīng)元激活的輸入圖像,以此說(shuō)明每個(gè) CNN 層學(xué)習(xí)到的綜合特征圖,揭示了 CNN 網(wǎng)絡(luò)在網(wǎng)絡(luò)層層面的內(nèi)部特征。Network Inversion 根據(jù)特定層的特征圖中的原始圖像重建輸入圖像,這可以揭示該圖層所保存的圖像信息。
3、沒(méi)有選擇對(duì)輸入圖像進(jìn)行重建以實(shí)現(xiàn)特征可視化,Zeiler 等人提出了基于反卷積神經(jīng)網(wǎng)絡(luò)的可視化方法(Deconvolutional Neural Network based Visualization,DeconvNet),該方法利用 DeconvNet 框架將特征圖直接映射到圖像維度,利用反卷積 CNN 結(jié)構(gòu)(由反卷積層和反卷積層組成)在特定神經(jīng)元激活的原始輸入圖像中查找圖像模式。通過(guò)直接映射, DeconvNet 可以突出顯示輸入圖像中的哪些模式激活特定神經(jīng)元,從而直接鏈接神經(jīng)元和輸入數(shù)據(jù)的含義。
4、周博磊等人提出了 Network Dissection based Visualization,它從語(yǔ)義層面對(duì) CNN 進(jìn)行了解釋。通過(guò)引用異構(gòu)圖像數(shù)據(jù)集——Borden,Network Dissection 可以有效地將輸入圖像分割為多個(gè)具有各種語(yǔ)義定義的部分,可以匹配六種語(yǔ)義概念(例如場(chǎng)景,目標(biāo),部件,材質(zhì),紋理和顏色)。由于語(yǔ)義直接代表了特征的含義,神經(jīng)元的可解釋性可以顯著提高。
下面,我們將詳細(xì)對(duì)這四種代表性的方法進(jìn)行介紹。
▌通過(guò) Activation Maximization 進(jìn)行可視化
Activation Maximization(AM)的提出是為了可視化每層神經(jīng)網(wǎng)絡(luò)中的神經(jīng)元的首選輸入。首選輸入可以指示神經(jīng)元已經(jīng)學(xué)習(xí)到的特征。這些學(xué)到的特征將由一個(gè)可以引起神經(jīng)元激活最大化的綜合輸入模式表示。為了合成這樣的輸入模式,CNN 輸入的每個(gè)像素都將被迭代地改變以最大化神經(jīng)元的激活。
AM 背后的想法很直觀,其基本的算法也早在 2009 年就已經(jīng)被 Erhan 等人提了出來(lái)。他們將 Deep Belief Net 中隱藏神經(jīng)元的首選輸入模式和 MNIST 數(shù)字?jǐn)?shù)據(jù)集中學(xué)習(xí)到的 Stacked Denoising Auto-Encoder 進(jìn)行了可視化。
后來(lái),Simonyan 等人利用這種方法最大化了輸出層 CNN 神經(jīng)元的激活。Google也為他們的 Inception Network 合成了類似的可視化模式。 Yosinksi 等人進(jìn)一步將 AM 用于大規(guī)模應(yīng)用,可以將 CNN 各層的任意神經(jīng)元可視化。 最近,很多優(yōu)化工作都在這個(gè)想法的基礎(chǔ)上開展,以提高可視化模式的可解釋性和多樣性。 通過(guò)所有這些工作,AM 已經(jīng)顯示出很好的解釋神經(jīng)元首選性的能力,并確定了 CNN 學(xué)到的層次特征。
輸入層網(wǎng)絡(luò)可視化
通過(guò) AM 對(duì) CaffeNet 的輸入層網(wǎng)絡(luò)進(jìn)行可視化
(a)圖顯示了四個(gè)不同神經(jīng)元合成的不同模式的可視化結(jié)果;
(b)圖顯示了通過(guò) AM 和直接映射方法合成的可視化模式。正如我們所看到的,大多數(shù)由 AM 合成的可視化模式與相應(yīng)的直接映射模式幾乎相同。
可視化的模式可以分為兩組:
1)彩色模式代表對(duì)應(yīng)的神經(jīng)元對(duì)待測(cè)圖像中的顏色分量非常敏感;
2)黑白模式指代表該部分神經(jīng)元對(duì)形狀信息非常敏感。
另外,通過(guò)與直接映射方法的比較,AM 可以準(zhǔn)確地揭示每個(gè)神經(jīng)元的首選輸入。
這一有趣的發(fā)現(xiàn)揭示了 CNN 試圖模仿人類視覺皮層系統(tǒng)的機(jī)制,即底層視覺區(qū)域中的神經(jīng)元對(duì)基本模式(如顏色,邊緣和線條)更敏感。
隱藏層網(wǎng)絡(luò)可視化
通過(guò) AM 對(duì) CaffeNet 的隱藏層網(wǎng)絡(luò)進(jìn)行可視化
從圖中我們可以看到,每行中從第二卷積層(CL 2)到第二全連接層(FL 2)的 6 個(gè)隱藏層的可視化。我們隨機(jī)選取了每層中的幾個(gè)神經(jīng)元作為我們的 AM 測(cè)試目標(biāo)??梢杂^察到:
1)一些重要的模式是可見的,例如邊緣(CL2-4),臉部(CL4-1),輪子(CL4-2),瓶子(CL5-1),眼睛(CL5 -2)等,它們展示了神經(jīng)元學(xué)習(xí)到的豐富特征。
2)同時(shí),即使應(yīng)用了多種正則化方法,也并非所有的可視化模式都是可解釋的。
3)可視化模式的復(fù)雜性和變化從低層到高層逐漸增加,這表明神經(jīng)元學(xué)習(xí)到了越來(lái)越多的不變特征。
4)從 CL 5 到 FL,我們可以發(fā)現(xiàn)有一個(gè)較大的模式變化增量,這可能表明 FL 層對(duì)特征有更全面的評(píng)估能力。
輸出層網(wǎng)絡(luò)可視化
通過(guò) AM 對(duì) CaffeNet 的輸出層網(wǎng)絡(luò)進(jìn)行可視化
上圖展示了 AM 和 DGNAM 對(duì)五種物品在 FL3 中合成的可視化模式。對(duì)第一行 AM 的效果,盡管我們可以猜出可視化模式代表的是哪一類,但在每個(gè)可視化圖案中都有多個(gè)重復(fù)和模糊的物體,例如第三列(AM-3)中的三個(gè)口紅,并且圖像遠(yuǎn)沒(méi)有照片逼真。
對(duì)于第二行所示的 DGN-AM,通過(guò)利用生成器網(wǎng)絡(luò),DGN-AM 從顏色和紋理方面大大提高了圖像質(zhì)量。這是因?yàn)槿B接層包含了來(lái)自圖像所有區(qū)域的信息,并且生成器網(wǎng)絡(luò)對(duì)實(shí)際可視化提供了一個(gè)強(qiáng)偏置。
通過(guò)輸出層可視化,我們可以清楚地看到哪些目標(biāo)組合可能會(huì)影響 CNN 分類的決策。例如,如果 CNN 將人手中持有的手機(jī)圖像分類為手機(jī),我們其實(shí)不清楚這個(gè)分類決策是不是受到了人手的影響。通過(guò)可視化,我們可以看到手機(jī)這一類別中有手機(jī)和人手。 可視化表明 CNN 已經(jīng)學(xué)會(huì)了在一幅圖像中檢測(cè)到兩個(gè)目標(biāo)信息。
小結(jié)
作為最直觀的可視化方法,AM 方法顯示出 CNN 可以學(xué)習(xí)在無(wú)需手工指定的情況下檢測(cè)出重要的特征,例如臉部,輪子和瓶子。與此同時(shí),CNN 試圖模仿視覺皮層的層級(jí)組織,并進(jìn)而成功地構(gòu)建了層級(jí)特征提取機(jī)制。此外,這種可視化方法表明,單個(gè)神經(jīng)元會(huì)以更局部的方式提取特征而不是分布式,并且每個(gè)神經(jīng)元都對(duì)應(yīng)于特定的模式。
▌通過(guò)反卷積網(wǎng)絡(luò)(Deconvolutional Network)進(jìn)行可視化
從給定的輸入圖像中找出激活卷積圖層中特定神經(jīng)元的選擇性模式。
Activation Maximization 從神經(jīng)元的角度解釋了 CNN,而基于 CNN 的 Deconvolutional Network(DeconvNet)則是從輸入圖像的角度解釋了 CNN。它從輸入圖像中找出激活卷積層中特定神經(jīng)元的選擇性模式。通過(guò)將低維神經(jīng)元的特征圖到圖像維度來(lái)重構(gòu)圖案。
該映射過(guò)程由 DeconvNet 結(jié)構(gòu)實(shí)現(xiàn),DeconvNet 結(jié)構(gòu)通過(guò)反卷積層和反池化層,執(zhí)行卷積層和池化層的反向計(jì)算。 基于 DeconvNet 的可視化并不是純粹分析神經(jīng)元首選特征,而是在圖像層次上進(jìn)行一個(gè)更為直接的特征分析。
DeconvNet 結(jié)構(gòu)的研究主要由 Zeiler 等人主導(dǎo)。他們首先提出了 DeconvNet 結(jié)構(gòu),旨在通過(guò)將高度多樣化的低維特征圖映射到高維來(lái)捕獲重建自然圖像的某些一般特征。后來(lái)他們利用 DeconvNet 結(jié)構(gòu)分層次分解圖像,從而可捕捉到從低級(jí)邊緣到高級(jí)目標(biāo)部分所有尺度的圖像信息。
最終,他們通過(guò)解釋 CNN 隱藏特征應(yīng)用 DeconvNet 結(jié)構(gòu)進(jìn)行 CNN 可視化,這使它成為了一種可視化 CNN 的有效方法。
Deconvolutional Network 的網(wǎng)絡(luò)結(jié)構(gòu)
基于這些層形成的反向結(jié)構(gòu),DeconvNet 可以很好地對(duì) CNN 進(jìn)行可視化。 可視化過(guò)程可以描述如下:
(1)當(dāng)通過(guò) CNN 處理特定輸入圖像時(shí),該網(wǎng)絡(luò)可以捕獲所有神經(jīng)元的特征圖。
(2)網(wǎng)絡(luò)將選擇出用于可視化的目標(biāo)神經(jīng)元的特征圖,同時(shí)將其他所有神經(jīng)元的特征圖設(shè)置為零。
(3)為了獲得可視化模式,DeconvNet 會(huì)將目標(biāo)神經(jīng)元的特征圖映射回圖像維度。
(4)為了將所有神經(jīng)元可視化,該過(guò)程會(huì)被重復(fù)應(yīng)用于所有神經(jīng)元并獲得一組用于CNN 可視化的相應(yīng)模式圖像。
這些可視化模式可以表明輸入圖像中的哪些像素或特征有助于神經(jīng)元的激活,并且還可以用于檢查 CNN 設(shè)計(jì)缺陷。
通過(guò) DeconvNet 對(duì) CaffeNet 進(jìn)行可視化
上圖是一個(gè)基于 DeconvNet 的可視化示例,包含了 CaffeNet 從 CL1 到 CL5 的 5 個(gè)卷積層。在每一層中,我們隨機(jī)選擇兩個(gè)神經(jīng)元的可視化模式與原始圖像中相應(yīng)的局部區(qū)域進(jìn)行比較。從這些例子中,我們可以看出:每個(gè)單獨(dú)的神經(jīng)元都以更局部的方式提取特征,其每一層中的不同神經(jīng)元負(fù)責(zé)不同的模式,例如嘴,眼睛和耳朵。 低層(CL1,CL2)捕捉小邊緣,角落和部件。 CL3 具有更復(fù)雜的不變性,可捕捉紋理等類似的網(wǎng)格模式。較高層(CL4,CL5)更具有類別性,可以顯示出幾乎整個(gè)目標(biāo)。
與 Activation Maximization 相比,基于 DeconvNet 的可視化可以提供更加明確和直接的模式。
用于網(wǎng)絡(luò)分析和優(yōu)化的 DeconvNet 網(wǎng)絡(luò)可視化
AlexNet和ZFNet網(wǎng)絡(luò)第一層(輸入層)和第二層可視化
除了用于解釋分析的卷積層可視化之外,DeconvNet 還可用于檢查 CNN 設(shè)計(jì)以進(jìn)一步優(yōu)化。上圖(a)和(c)顯示了 AlexNet 的第一層和第二層的可視化。 我們可以發(fā)現(xiàn):
1)在第一層有一些沒(méi)有任何特定模式的“死亡”神經(jīng)元(用純灰色表示),這意味著它們對(duì)于輸入沒(méi)有激活,這可能是高學(xué)習(xí)率的表現(xiàn)或者是權(quán)值初始化不是很好。
2)第二層可視化顯示了混疊的假象,用紅色矩形突出顯示,這可能是由于第一層卷積中使用的步長(zhǎng)較大引起的。
這些來(lái)自可視化的結(jié)果可以很好地應(yīng)用于 CNN 優(yōu)化。 因此,Zeiler 等人 提出了 ZFNet,它減少了第一層濾波器的尺寸,縮小了 AlexNet 的卷積步長(zhǎng),從而在前兩個(gè)卷積層中保留了更多特征。
圖(b)和(d)展示了 ZFNet 引入的改進(jìn),它顯示了 ZFNet 的第一層和第二層的可視化。我們可以看到第一層中的圖案變得更加獨(dú)特,而第二層中的圖案沒(méi)有混疊假象。 因此,可視化可以有效應(yīng)用于 CNN 分析和進(jìn)一步優(yōu)化。
訓(xùn)練 ZFNet 期間的特征演變
除了 CNN 網(wǎng)絡(luò)優(yōu)化之外,可解釋性分析還可以幫助監(jiān)視 CNN 訓(xùn)練過(guò)程以獲得更好的訓(xùn)練效率。
上圖顯示了在 ZFNet 訓(xùn)練期間的可視化模式。每一行分別代表卷積層中的不同神經(jīng)元。每一列則是在不同訓(xùn)練時(shí)期隨機(jī)選擇的可視化模式子集。我們可以發(fā)現(xiàn):
1)在每一行中,顏色對(duì)比度會(huì)隨著訓(xùn)練過(guò)程被人為地增強(qiáng)。
2)較低層(CL1,CL2)會(huì)很快收斂,因?yàn)樵趲讉€(gè)時(shí)期出現(xiàn)了不同的模式。
3)然而,在高層(CL4,CL5)中這些顯著的模式需要經(jīng)過(guò)相當(dāng)長(zhǎng)的一段的時(shí)期才會(huì)出現(xiàn),這意味著這些層需要一直訓(xùn)練到完全收斂。
另外,如果在訓(xùn)練過(guò)程中觀察到噪音模式,則可能表明網(wǎng)絡(luò)訓(xùn)練時(shí)間不夠長(zhǎng),或者正則化強(qiáng)度低,從而導(dǎo)致訓(xùn)練結(jié)果過(guò)擬合。通過(guò)在訓(xùn)練期間的幾個(gè)時(shí)間點(diǎn)可視化特征,我們可以發(fā)現(xiàn)設(shè)計(jì)缺陷并及時(shí)調(diào)整網(wǎng)絡(luò)參數(shù)。一般來(lái)說(shuō),訓(xùn)練過(guò)程的可視化是監(jiān)控和評(píng)估訓(xùn)練狀態(tài)的有效方法。
小結(jié)
DeconvNet 強(qiáng)調(diào)了輸入圖像中哪些選定的模式可以以更具可解釋性的方式對(duì)神經(jīng)元的激活作出貢獻(xiàn)。另外,這種方法可以用來(lái)檢查 CNN 的優(yōu)化問(wèn)題。 訓(xùn)練監(jiān)測(cè)可以在調(diào)整訓(xùn)練參數(shù)和停止訓(xùn)練時(shí)為 CNN 研究提供更好的參照。然而,AM 和 DeconvNet 的這兩種方法都只將神經(jīng)元層面的 CNN 進(jìn)行了可視化,缺乏從更高層次結(jié)構(gòu)(如網(wǎng)絡(luò)層和整個(gè)網(wǎng)絡(luò))的綜合視角。在下面的部分,我們將進(jìn)一步討論高層次的 CNN 可視化方法,這種方法可以解釋每個(gè)單獨(dú)的網(wǎng)絡(luò)層,并將整個(gè)網(wǎng)絡(luò)層中的一組神經(jīng)元捕獲的信息可視化。
▌通過(guò) Network Inversion 進(jìn)行可視化
在任意圖層中重建所有神經(jīng)元特征圖的圖像,以突出顯示給定輸入圖像的綜合 CNN 圖層級(jí)特征。
不同于來(lái)自單個(gè)網(wǎng)絡(luò)神經(jīng)元的激活,層級(jí)激活可以揭示由層內(nèi)的所有神經(jīng)元激活模式組成的更全面的特征表示。因此,和之前對(duì)來(lái)自單個(gè)神經(jīng)元激活的 CNN 進(jìn)行可視化不同,基于 Network Inversion 的可視化可用于從層級(jí)角度分析激活信息。
在將 Network Inversion 被用于 CNNs 可視化之前,傳統(tǒng)的計(jì)算機(jī)視覺表示研究就已經(jīng)提出了 Network Inversion 的基本思想,如方向梯度直方圖(HOG),尺度不變特征變換 (SIFT),局部二元描述符(LBD)和視覺詞袋描述模型。后來(lái),研究人員針對(duì) CNN 可視化提出了兩種 Network Inversion 方案:
1)基于正則化的 Network Inversion:由 Mahendran 等人提出,它利用梯度下降法和正則化項(xiàng)重建每一層的圖像。
2)基于 UpconvNet的Network Inversion:它由 Dosovitskiy 等人提出。通過(guò)訓(xùn)練專用的上卷積神經(jīng)網(wǎng)絡(luò)(UpconvNet)重構(gòu)圖像。
總的來(lái)說(shuō),這兩種算法的主要目標(biāo)都是從一個(gè)完整網(wǎng)絡(luò)層的特征圖的特定激活中重建原始輸入圖像。基于正則化的 Network Inversion 更容易實(shí)施,因?yàn)樗恍枰?xùn)練額外的專用網(wǎng)絡(luò)。而基于 UpconvNet 的 Network Inversion 雖然需要額外的專用網(wǎng)絡(luò)和更高的計(jì)算成本,但卻可以可視化更多更高層的信息。
兩種 Network Inversion 算法的數(shù)據(jù)流
上圖顯示了兩種基于 Network Inversion 的可視化方法網(wǎng)絡(luò)實(shí)現(xiàn)與原始 CNN 的比較:基于正則化的 Network Inversion 在上面用綠色表示,基于 UpconvNet 的 Network Inversion 顯示在下面用橙色表示,而原始的 CNN 在中間用藍(lán)色表示。
基于正則項(xiàng)的 Network Inversion 在可視化目標(biāo)層之前具有與原始 CNN 相同的架構(gòu)和參數(shù)。在這種情況下,算法會(huì)調(diào)整待重構(gòu)圖像 x0 的每個(gè)像素以最小化 x0 的目標(biāo)特征圖 A(x0)和原始輸入圖像x的特征圖 A(x)之間的目標(biāo)損失函數(shù)誤差。
基于 UpconvNet 的 Network Inversion 會(huì)為特征映射返回圖像維度提供反向路徑。算法會(huì)調(diào)整 UpconvNet 的參數(shù)以最小化重建圖像 x0 和原始輸入圖像 x 之間的目標(biāo)損失函數(shù)誤差。
網(wǎng)絡(luò)層級(jí)可視化分析
網(wǎng)絡(luò)層的可視化可以揭示每個(gè)層保留的特征。下圖顯示了 Regularizer 和 UpconvNet 方法在 AlexNet 各層的可視化。
通過(guò)基于正則項(xiàng)和 UpconvNet 的 Network Inversion 對(duì) AlexNet 進(jìn)行重構(gòu)
從上圖我們可以發(fā)現(xiàn):
1)盡管來(lái)自 CL 的可視化比較模糊,但看起來(lái)依然與原始圖像很相似。 這表明較低層特征可以保留更多詳細(xì)信息,例如目標(biāo)的顏色和位置。
2)可視化質(zhì)量從 CL 到 FL 發(fā)生了顯著下降。然而,高級(jí) CL 甚至 FL 的可視化可以保存顏色(UpconvNet)和大致的目標(biāo)位置信息。
3)基于 UpconvNet 的可視化質(zhì)量?jī)?yōu)于基于 Regularizer 的可視化,尤其是 FL。
4)無(wú)關(guān)信息逐漸從低層向高層過(guò)渡。
網(wǎng)絡(luò)層級(jí)特征圖分析
基于網(wǎng)絡(luò)層級(jí)分析,我們可以進(jìn)一步利用基于 Network Inversion 的可視化分析特征圖特征。 Dosovitskiy 等人對(duì)一層中的一部分特征進(jìn)行了攝動(dòng),并從這些攝動(dòng)特征映射中重建圖像。攝動(dòng)以兩種方式進(jìn)行:
1)二值化(Binarization):保留所有特征圖的值的符號(hào),并將它們的絕對(duì)值設(shè)置為固定數(shù)值。這些值的歐幾里德范數(shù)保持不變。
2)Dropout:50% 的特征圖的值被設(shè)置為零,然后歸一化以保持其歐幾里得范數(shù)不變。
通過(guò)擾動(dòng)特征圖的 ALexNet 重構(gòu)
上圖顯示了兩個(gè)攝動(dòng)方法在不同層下的重建圖像。從圖中我們可以看出:
1)在 FL1 中,二值化幾乎不改變重建質(zhì)量,這意味著幾乎所有關(guān)于輸入圖像的信息都包含在非零特征圖的模式中。
2)Dropout 改變重建的圖像幅度很大。但是,Dosovitskiy 等人還通過(guò)實(shí)驗(yàn)表明,通過(guò)丟棄 50% 最不重要的特征圖可以顯著減少重建誤差,這比大多數(shù)不應(yīng)用任何 Dropout 的層更好。這些觀察可以證明很多 CNN 壓縮技術(shù)都可以實(shí)現(xiàn)最佳性能,例如量化(quantization)和濾波修剪(Filter pruning),這是由于每層中都存在大量冗余信息。因此,基于 Network Inversion 的可視化可用于評(píng)估特征映射的重要性,并剪去最不重要的特征映射以進(jìn)行網(wǎng)絡(luò)壓縮。
小結(jié)
基于 Network Inversion 的可視化將特定圖層的特征圖投影到圖像維度,從而可以對(duì)特定圖層所保留的特征進(jìn)行深入了解。另外,通過(guò)對(duì)一些可視化的特征映射進(jìn)行攝動(dòng),我們可以驗(yàn)證 CNN 在每一層中保存了大量冗余信息,因此進(jìn)一步優(yōu)化了 CNN 設(shè)計(jì)。
▌通過(guò) Network Dissection 進(jìn)行可視化
用特定的語(yǔ)義概念評(píng)估每個(gè)卷積神經(jīng)元或多個(gè)神經(jīng)元之間的相關(guān)性。
在之前部分我們介紹的多個(gè)可視化方法揭示了單個(gè)神經(jīng)元或可捕捉層的視覺可感知模式。然而,視覺可感知模式和清晰的可解釋語(yǔ)義概念之間仍然存在缺失。
因此,Bau 等人提出了 Network Dissection.,它將每個(gè)卷積神經(jīng)元與特定的語(yǔ)義概念直接相關(guān)聯(lián),如顏色,紋理,材質(zhì),部件,物體和場(chǎng)景。神經(jīng)元和語(yǔ)義概念之間的相關(guān)性可以通過(guò)具體語(yǔ)義概念尋找對(duì)特定圖像內(nèi)容響應(yīng)強(qiáng)烈的神經(jīng)元來(lái)測(cè)量。異構(gòu)圖像數(shù)據(jù)集—— Borden 為圖像提供了與本地內(nèi)容相對(duì)應(yīng)的特定語(yǔ)義概念。
下圖中給出了一組 Broden 示例,其中語(yǔ)義概念被劃分為用紅框突出顯示的六個(gè)類別。每個(gè)語(yǔ)義類別可以涵蓋各種類別,例如植物,火車等。在下圖每個(gè)示例的右下角,還有識(shí)別到的語(yǔ)義對(duì)應(yīng)神經(jīng)元。我們還可以看到,黑色蒙版覆蓋了與指定語(yǔ)義無(wú)關(guān)的圖像內(nèi)容。Network Dissection 建議生成這些黑色蒙版。
AlexNet 中激活的某些神經(jīng)元的 BroNet 圖像
Network Dissection 的發(fā)展逐漸將語(yǔ)義概念連接到了 CNN 中的不同組件級(jí)別。 Network Dissection 的基本算法說(shuō)明了一個(gè)語(yǔ)義概念和一個(gè)單獨(dú)神經(jīng)元之間的相關(guān)性。這種相關(guān)性是基于每個(gè)語(yǔ)義概念都可以分配給單個(gè)神經(jīng)元的假設(shè)。
后來(lái),進(jìn)一步的 Network Dissection 工作表明,特征可以分布表示,這表明一個(gè)語(yǔ)義概念可以由多個(gè)神經(jīng)元的組合表示。因此,F(xiàn)ong 等人提出了另一種 Network Dissection 方法,即 Net2Vec,它將基于神經(jīng)元組合的語(yǔ)義概念可視化。
這兩種方法都可以提供解釋 CNN 隱藏神經(jīng)元的全面可視化結(jié)果。
用于測(cè)量給定 CNN 中神經(jīng)元的語(yǔ)義校準(zhǔn)的 Network Dissection 圖示
單個(gè)神經(jīng)元的 Network Dissection
通過(guò) Network Dissection 進(jìn)行 AlexNet 可視化
單個(gè)神經(jīng)元的可視化結(jié)果下圖所示。在每列中,每個(gè) CL 中顯示了四個(gè)單獨(dú)的神經(jīng)元以及兩個(gè) Broden 圖像。對(duì)于每個(gè)神經(jīng)元,左上角是預(yù)測(cè)的語(yǔ)義概念,右上角代表神經(jīng)元數(shù)量。
從圖中,我們可以發(fā)現(xiàn):
1)每幅圖像都突出顯示了真實(shí)圖像中引起高度神經(jīng)激活的區(qū)域。
2)預(yù)測(cè)標(biāo)簽非常匹配突出顯示的區(qū)域。
3)從檢測(cè)器總結(jié)的數(shù)字中我們可以發(fā)現(xiàn),顏色概念在較低層( CL1 和 CL 2)占主導(dǎo)地位,而 CL5 中則出現(xiàn)更多的目標(biāo)和紋理檢測(cè)器。
與以前的可視化方法相比,我們可以發(fā)現(xiàn):CNN 的所有層神經(jīng)元都可以檢測(cè)到信息,而不僅僅是底層神經(jīng)元,顏色和紋理這樣的信息即使在更高層中也可以保存,因?yàn)樵谶@些層中也可以找到許多顏色檢測(cè)器。
在不同的訓(xùn)練條件下的可解釋性
訓(xùn)練條件(如訓(xùn)練迭代次數(shù))也可能影響 CNN 的表示學(xué)習(xí)。Bau 等人通過(guò)使用不同的訓(xùn)練條件,如 Dropout,批量歸一化和隨機(jī)初始化評(píng)估了各種 CNNs 模型可解釋性的影響。在下圖的右側(cè)部分,NoDropout 表示 baseline 模型——AlexNet 的 FC 層中的 Dropout 被移除了。BN 表示批量歸一化應(yīng)用于每個(gè) CL。 而 repeat1,repeat2 和 repeat3 表示隨著訓(xùn)練迭代次數(shù)隨機(jī)初始化權(quán)重。
我們可以觀察到:
1)網(wǎng)絡(luò)在不同的初始化配置下顯示出類似的可解釋性。
2)對(duì)于沒(méi)有應(yīng)用 Dropout 的網(wǎng)絡(luò),會(huì)出現(xiàn)更多的紋理檢測(cè)器,但會(huì)有更少的目標(biāo)檢測(cè)器。
3)批量歸一化似乎顯著降低了可解釋性。
總體而言,Dropout 和批量歸一化可以提高分類準(zhǔn)確度。從可視化的角度來(lái)看,在沒(méi)有 Dropout 時(shí),網(wǎng)絡(luò)傾向于捕獲基本信息。而且批量歸一化可能會(huì)降低特征多樣性。
通過(guò)這樣的評(píng)估,我們可以發(fā)現(xiàn)基于 Network Dissection 的可視化可以有效地應(yīng)用于從網(wǎng)絡(luò)可解釋性的角度對(duì)不同 CNN 優(yōu)化方法的評(píng)估。
每個(gè)層次和不同的訓(xùn)練條件下的語(yǔ)義概念
神經(jīng)元組合的 Network Dissection
單個(gè)神經(jīng)元和神經(jīng)元組合的 Network Dissection
通過(guò)使用組合神經(jīng)元的可視化結(jié)果如上圖所示。第一行和第三行是單個(gè)神經(jīng)元的分割結(jié)果,而第二行和第四行由神經(jīng)元組合分割的結(jié)果。正如我們所看到的,對(duì)于使用加權(quán)組合方法的“狗”和“飛機(jī)”的語(yǔ)義可視化,預(yù)測(cè)掩碼對(duì)于大多數(shù)示例來(lái)說(shuō)都是顯著的。這表明,盡管我們可以找到對(duì)應(yīng)于某個(gè)概念的神經(jīng)元,但這些神經(jīng)元并未最佳地表現(xiàn)或完全涵蓋這個(gè)概念。
小結(jié)
Network Dissection 是一種用于解釋 CNN 的獨(dú)特可視化方法,可以自動(dòng)將語(yǔ)義概念分配給內(nèi)部神經(jīng)元。通過(guò)測(cè)量未采樣的神經(jīng)元激活和具有語(yǔ)義標(biāo)簽的真實(shí)圖像之間的校準(zhǔn),Network Dissection 可以可視化由每個(gè)卷積神經(jīng)元表示的語(yǔ)義概念的類型。Net2Vec 證實(shí) CNN 的特征表示是分布式的。此外,Network Dissection 可用于評(píng)估各種訓(xùn)練條件,這表明訓(xùn)練條件可以對(duì)隱藏神經(jīng)元學(xué)習(xí)表示的可解釋性產(chǎn)生重大影響。這種方法可以看做 CNN 可視化和 CNN 優(yōu)化的另一個(gè)代表性例子。
▌總結(jié)
在本文中,我們回顧了 CNN 可視化方法的最新發(fā)展。并從結(jié)構(gòu),算法,操作和實(shí)驗(yàn)方面多個(gè)角度呈現(xiàn)了四種具有代表性的可視化方法,以涵蓋 CNN 可解釋性研究的最新成果。
通過(guò)對(duì)代表性可視化方法的研究,我們可以發(fā)現(xiàn):CNN 確實(shí)具有模仿人類視覺皮層層級(jí)組織的層級(jí)特征表示機(jī)制。另外,為了揭示 CNN 內(nèi)部的解釋機(jī)制,可視化工作需要針對(duì)不同的 CNN 組件采取不同的分析角度。此外,CNN 通過(guò)可視化獲得的更好的可解釋性實(shí)際上有助于 CNN 優(yōu)化。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4810瀏覽量
102959 -
可視化
+關(guān)注
關(guān)注
1文章
1250瀏覽量
21676 -
cnn
+關(guān)注
關(guān)注
3文章
354瀏覽量
22659
原文標(biāo)題:CNN可視化最新研究方法進(jìn)展(附結(jié)構(gòu)、算法)
文章出處:【微信號(hào):rgznai100,微信公眾號(hào):rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
可視化MES系統(tǒng)軟件
利用Keras實(shí)現(xiàn)四種卷積神經(jīng)網(wǎng)絡(luò)(CNN)可視化
三維可視化的應(yīng)用和優(yōu)勢(shì)
常見的幾種可視化介紹
Keras可視化神經(jīng)網(wǎng)絡(luò)架構(gòu)的4種方法
文本可視化綜述
樹比較可視化方法綜述
數(shù)據(jù)可視化的常用技術(shù)和并行與原位可視化方法分析
CNN的三種可視化方法介紹
3種CNN的可視化方法
數(shù)據(jù)的可視化原則

評(píng)論