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

評論