【深度學(xué)習(xí)】神經(jīng)網(wǎng)絡(luò)的可視化解釋!
來自聯(lián)盟學(xué)習(xí)筆記
AI博士筆記系列推薦第一個卷積神經(jīng)網(wǎng)絡(luò)是Alexander Waibel在1987年提出的時延神經(jīng)網(wǎng)絡(luò)(TDNN)[5]。TDNN是應(yīng)用于語音識別問題的卷積神經(jīng)網(wǎng)絡(luò)。它使用FFT預(yù)處理語音信號作為輸入。它的隱藏層由兩個一維卷積核組成,以提取頻域中的平移不變特征[6]。在TDNN出現(xiàn)之前,人工智能領(lǐng)域在反向傳播(BP)研究中取得了突破性進(jìn)展[7],因此TDNN能夠使用BP框架進(jìn)行學(xué)習(xí)。在原作者的對比實驗中,在相同條件下,TDNN的性能要優(yōu)于隱馬爾可夫模型(HMM),后者是1980年代語音識別的主流算法[6]。
1988年,張偉提出了第一個二維卷積神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換不變?nèi)斯ど窠?jīng)網(wǎng)絡(luò)(SIANN),并將其應(yīng)用于醫(yī)學(xué)圖像的檢測[1]。Yann LeCun還在1989年,為計算機視覺問題構(gòu)建了卷積神經(jīng)網(wǎng)絡(luò)[2],即LeNet的原始版本中。LeNet包含兩個卷積層,兩個完全連接層,總共60,000個學(xué)習(xí)參數(shù),其規(guī)模遠(yuǎn)遠(yuǎn)超過TDNN和SIANN,其結(jié)構(gòu)非常接近現(xiàn)代卷積神經(jīng)網(wǎng)絡(luò)[4]。LeCun(1989)采用[2]隨機梯度下降(SGD)進(jìn)行隨機初始化后的權(quán)值學(xué)習(xí)。后來的深度學(xué)習(xí)學(xué)院保留了這一策略。此外,LeCun(1989)在討論其網(wǎng)絡(luò)結(jié)構(gòu)[2]時首次使用了卷積一詞,并以此命名卷積神經(jīng)網(wǎng)絡(luò)。
對于深度卷積神經(jīng)網(wǎng)絡(luò),經(jīng)過多次卷積和合并后,其最后的卷積層包含最豐富的空間和語義信息。卷積神經(jīng)網(wǎng)絡(luò)中的每個卷積單元實際上都扮演著對象檢測器的角色,它本身具有定位對象的能力但是其中包含的信息對于人類來說是難以理解的,并且難以以視覺方式顯示。
在本文中,我們將回顧類激活映射(CAM),CAM借鑒了著名的論文《網(wǎng)絡(luò)中的網(wǎng)絡(luò)》(Network In Network)中的思想,用全局平均池(GAP)代替了全連接層。
所提出的CNN網(wǎng)絡(luò)具有強大的圖像處理和分類功能,同時還可以定位圖片的關(guān)鍵部分。
卷積層(Convolution Layers)卷積神經(jīng)網(wǎng)絡(luò)(CNN)?,主要是通過單個過濾器連續(xù)提取特征,從局部特征到總體特征,以便進(jìn)行圖像識別等功能。
假設(shè)我們需要處理尺寸為6x6像素的單通道灰度圖像,將其轉(zhuǎn)換為二維矩陣,如下所示:

資料來源:https?:?//mc.ai/my-machine-learning-diary-day-68/
圖片中的數(shù)字表示該位置的像素值,像素值越大,顏色越亮。圖片中間的兩種顏色之間的分界線是我們要檢測的邊界。
我們可以設(shè)計一個過濾器(也稱為kernel)來檢測該邊界。然后,將該過濾器與輸入圖片進(jìn)行曲面組合以提取邊緣信息,可以將圖片上的卷積操作簡化為以下動畫:

資料來源:https?:?//mc.ai/my-machine-learning-diary-day-68/
我們使用此過濾器覆蓋圖片,覆蓋與過濾器一樣大的區(qū)域,將相應(yīng)的元素相乘,然后求和。計算一個區(qū)域后,移至其他區(qū)域,然后計算直到覆蓋原始圖片的所有區(qū)域。
輸出矩陣稱為特征圖(Feature Map),它的中間顏色較淺,兩側(cè)顏色較深,反映了原始圖像中間的邊界。

來源:https?:?//mc.ai/learning-to-perform-linear-filtering-using-natural-image-data/
卷積層主要包含兩個部分,一個過濾器和一個特征圖,這是數(shù)據(jù)流經(jīng)CNN網(wǎng)絡(luò)的第一個神經(jīng)層,通過學(xué)習(xí)使用的過濾器越多,將自動調(diào)整CNN的過濾器矩陣,將得到更多的特征。
要設(shè)置的常規(guī)超參數(shù)包括過濾器的數(shù)量,大小和步長。
池化層(Pooling)池化也稱為空間池化或子采樣。其主要功能是提取特定區(qū)域的主要特征并減少參數(shù)數(shù)量,以防止模型過度擬合。
這里沒有我們需要學(xué)習(xí)的參數(shù)。需要指定的超參數(shù)包括池化類型,常用的方法包括Maxpooling或Averagepooling,窗口大小和步長。通常,我們更多地使用Maxpooling,并且通常采用大小為(2,2),步長為2的過濾器,因此在合并之后,輸入長度和寬度將減少2倍,并且通道不會更改,如下圖所示:

最大值在合并窗口內(nèi)獲取,并在特征圖矩陣上順序合并后生成新矩陣。同樣,我們也可以使用求平均或求和的方法,但是在通常情況下,使用最大值方法獲得的效果相對更好。
經(jīng)過幾次卷積和合并后,我們最終將多維數(shù)據(jù)展平為一維數(shù)組,然后將它們連接到完全連接層。

來源:https?:?//gfycat.com/fr/smoggylittleflickertailsquirrel-machine-learning-neural-networks-mnist
它的主要功能是基于通過卷積層和池化層提取的特征集對處理后的圖片進(jìn)行分類。
諸如GoogleNet [10]之類的全卷積神經(jīng)網(wǎng)絡(luò)避免使用全連接層,而使用全局平均池(GAP)。這樣,不僅可以減少參數(shù)以避免過度擬合,而且可以創(chuàng)建到類別關(guān)聯(lián)的特征圖。
全局平均池化層(Global Average Pooling)長期以來,完全連接的網(wǎng)絡(luò)一直是CNN分類網(wǎng)絡(luò)的標(biāo)準(zhǔn)結(jié)構(gòu)。通常,完全連接后將具有用于分類的激活功能。但是完全連接的層具有大量參數(shù),這會降低訓(xùn)練速度,并且容易過擬合。
在網(wǎng)絡(luò)中的網(wǎng)絡(luò) [9]中,提出了全局平均池的概念來代替完全連接的層。

資料來源:http?:?//www.programmersought.com/article/1768159517/
全局平均池和局部平均池之間的區(qū)別是池窗口。局部平均池化包括對特征圖中的子區(qū)域取平均值,而在全局平均池中,我們對整個特征圖取平均。

來源:https?:?//www.machinecurve.com/index.php/2020/01/30/what-are-max-pooling-average-pooling-global-max-pooling-and-global-average-pooling/
使用全局平均池而不是完全連接的層會大大減少參數(shù)的數(shù)量。
類激活圖(Class Activation Map)當(dāng)使用全局平均池化時,最后的卷積層被迫生成與我們所針對的類別數(shù)量相同數(shù)量的特征圖,這將為每個特征圖賦予非常清晰的含義,即類別可信度圖 [11]。

來源:https?:?//medium.com/@ahmdtaha/learning-deep-features-for-discriminative-localization-aa73e32e39b2
從圖中可以看出,在GAP之后,我們獲得了最后一個卷積層的每個特征圖的平均值,并通過加權(quán)和獲得了輸出。對于每個類別C,每個特征圖k的平均值具有相應(yīng)的權(quán)重w。
訓(xùn)練CNN模型后,我們可以獲得一個熱圖來解釋分類結(jié)果。例如,如果我們要解釋C類的分類結(jié)果。我們?nèi)〕雠c類C對應(yīng)的所有權(quán)重,并找到它們對應(yīng)的特征圖的加權(quán)和。由于此結(jié)果的大小與特征圖一致,因此我們需要對其進(jìn)行過采樣并將其覆蓋在原始圖像上,如下所示:

來源:https?:?//medium.com/@ahmdtaha/learning-deep-features-for-discriminative-localization-aa73e32e39b2
通過這種方式,CAM以熱圖的形式告訴我們,模型集中在用于確定圖片的c類中的像素上。

來源:MultiCAM:用于遙感圖像中飛機識別的多類激活映射
結(jié)論CAM的解釋效果一直很好,但是有一個缺點,那就是它需要修改原始模型的結(jié)構(gòu),從而導(dǎo)致需要重新訓(xùn)練模型,這極大地限制了它的使用場景。如果模型已經(jīng)在線,或者培訓(xùn)成本很高,那么我們幾乎不可能對其進(jìn)行再培訓(xùn)。
ReferencesZhang, W., 1988. Shift-invariant pattern recognition neural network and its optical architecture. In Proceedings of annual conference of the Japan Society of Applied Physics.
. LeCun, Y. and Bengio, Y., 1995. Convolutional networks for images, speech, and time series. The handbook of brain theory and neural networks, 3361(10), 1995.
LeCun, Y., Boser, B., Denker, J.S., Henderson, D., Howard, R.E., Hubbard, W. and Jackel, L.D., 1989. Backpropagation applied to handwritten zip code recognition. Neural computation, 1(4), pp.541–551.
LeCun, Y., Kavukcuoglu, K. and Farabet, C., 2010. Convolutional networks and applications in vision. In ISCAS(Vol. 2010, pp. 253–256).
Waibel, A., 1987. Phoneme recognition using time-delay neural networks. Meeting of the Institute of Electrical, Information and Communication Engineers (IEICE). Tokyo, Japan.
Waibel, A., Hanazawa, T., Hinton, G., Shikano, K. and Lang, K., 1989. Phoneme recognition using time-delay neural networks, IEEE Transactions on Acoustics, Speech, and Signal Processing, 37(3), pp. 328–339.
Rumelhart, D.E., Hinton, G.E. and Williams, R.J., 1986. Learning representations by back-propagating errors. nature, 323(6088), p.533.
LeCun, Y., Bottou, L., Bengio, Y. and Haffner, P., 1998. Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11), pp.2278–2324.
Min Lin, Qiang Chen, Shuicheng Yan : Network In Network.
Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott E. Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, Andrew Rabinovich: Going Deeper with Convolutions.
Bolei Zhou andAditya Khosla and Agata Lapedriza andAude Oliva andAntonio Torralba :Learning Deep Features for Discriminative Localization
end
往期精彩回顧
獲取一折本站知識星球優(yōu)惠券,復(fù)制鏈接直接打開:
https://t.zsxq.com/yFQV7am
本站qq群1003271085。
加入微信群請掃碼進(jìn)群:
