一文了解CNN可視化技術(shù)總結(jié)之特征圖可視化
導(dǎo)言:
在CV很多方向所謂改進(jìn)模型,改進(jìn)網(wǎng)絡(luò),都是在按照人的主觀思想在改進(jìn),常常在說(shuō)CNN的本質(zhì)是提取特征,但并不知道它提取了什么特征,哪些區(qū)域?qū)τ谧R(shí)別真正起作用,也不知道網(wǎng)絡(luò)是根據(jù)什么得出了分類結(jié)果。
如在上次解讀的一篇論文《Feature Pyramid Transformer》(簡(jiǎn)稱FPT)中,作者提出背景信息對(duì)于識(shí)別目標(biāo)有重要作用,因?yàn)殡娔X肯定是在桌上,而不是水里,大街上,背景中的鍵盤(pán)鼠標(biāo)的存在也能輔助區(qū)分電腦與電視機(jī),因此作者提出要使用特征金字塔融合背景信息。從人的主觀判斷來(lái)看,這點(diǎn)非常合理。但對(duì)于神經(jīng)網(wǎng)絡(luò)來(lái)說(shuō),FPT真的有融合背景信息,而普通CNN網(wǎng)絡(luò)沒(méi)有融合背景信息?又或者說(shuō),一般而言,除了提出的新模型,還會(huì)加上主觀設(shè)計(jì)的各種tricks,確定最后是因?yàn)槿诤狭吮尘靶畔⒍忍岣吡?還是說(shuō)背景確實(shí)融合了,但實(shí)際上對(duì)精度沒(méi)有影響,而是各種tricks起了作用?這一切并不確定,因?yàn)椴⒉淮_定CNN到底學(xué)到了什么。
解決這個(gè)問(wèn)題的辦法有很多,一個(gè)是想辦法看看CNN內(nèi)部學(xué)到了什么,一個(gè)是控制變量法。提到這個(gè)控制變量法,在某一篇論文中(我對(duì)不起我的讀者,論文累積量太大,忘記是哪一篇,只記得該論文的一些新穎之處),在設(shè)計(jì)了一個(gè)新的模型后,通過(guò)改變卷積層的某些通道,來(lái)看最后模型的精度的變化,從而確定哪些通道對(duì)這個(gè)模型是真正起作用的,而哪些是冗余的。按照這個(gè)思路,我們或許可以在數(shù)據(jù)預(yù)處理時(shí),故意裁剪掉人主觀認(rèn)為有用的背景信息,例如裁剪輔助識(shí)別電腦的桌子,鍵盤(pán)鼠標(biāo),重新訓(xùn)練FPT,從而看最終精度有沒(méi)有影響。很明顯,這種方法理論上是可行的,但實(shí)際上工作量巨大,不現(xiàn)實(shí)。而CNN可視化是值得考慮的方法。
除了上面提到的一點(diǎn),CNN可視化的作用還有哪些?
在少數(shù)提出新模型或新methods的論文中,往往會(huì)給出這個(gè)模型的一些可視化圖來(lái)證明這個(gè)模型或這個(gè)新methods對(duì)于任務(wù)的作用,這一點(diǎn)不僅能增加新模型或新methods可信度,也能起到增加工作量,增加論文字?jǐn)?shù)的作用,如研究者想到一個(gè)method,一兩頁(yè)就介紹加推理加證明完了,效果明顯,但作為一篇論文卻字?jǐn)?shù)太少,工作量不夠多,就可以考慮可視化使用了這個(gè)methods的網(wǎng)絡(luò)與沒(méi)有使用這個(gè)methods的網(wǎng)絡(luò),進(jìn)行對(duì)比,分析分析,就可以變成一篇完整的論文了。此外,CNN可視化還有一個(gè)作用,根據(jù)可視化某個(gè)網(wǎng)絡(luò)的結(jié)果分析其不足之處,從而提出新的改進(jìn)方法。例如:ZFNet正是對(duì)AlexNet進(jìn)行可視化后改進(jìn)而來(lái),獲得了ILSVRC2014的冠軍。
歡迎關(guān)注公眾號(hào) CV技術(shù)指南 ,專注于計(jì)算機(jī)視覺(jué)的技術(shù)總結(jié)、最新技術(shù)跟蹤、經(jīng)典論文解讀。
CNN可視化方法
一、特征圖可視化。特征圖可視化有兩類方法,一類是直接將某一層的feature map映射到0-255的范圍,變成圖像 。另一類是使用一個(gè)反卷積網(wǎng)絡(luò)(反卷積、反池化)將feature map變成圖像,從而達(dá)到可視化feature map的目的。
二、卷積核可視化。
三、類激活可視化。這個(gè)主要用于確定圖像哪些區(qū)域?qū)ψR(shí)別某個(gè)類起主要作用。如常見(jiàn)的熱力圖(Heat Map),在識(shí)別貓時(shí),熱力圖可直觀看出圖像中每個(gè)區(qū)域?qū)ψR(shí)別貓的作用大小。這個(gè)目前主要用的方法有CAM系列(CAM、Grad-CAM、Grad-CAM++)。
四、一些技術(shù)工具。通過(guò)一些研究人員開(kāi)源出來(lái)的工具可視化CNN模型某一層。
CNN技術(shù)總結(jié)將按照這四個(gè)方法,分成四個(gè)部分總結(jié)CNN可視化技術(shù)。對(duì)于以后出現(xiàn)新的技術(shù),或者補(bǔ)充,將更新在公眾號(hào)CV技術(shù)指南的技術(shù)總結(jié)部分。在本文,主要介紹第一類方法,特征圖可視化。
直接可視化
單通道特征圖可視化,由于feature map并不是在0-255范圍,因此需要將其進(jìn)行歸一化。以pytorch為例,使用torchvision.utils.make_grid()函數(shù)實(shí)現(xiàn)歸一化
def make_grid(tensor, nrow=8, padding=2, normalize=True, range=None, scale_each=False,pad_value=0):
多通道特征圖的顯示,即對(duì)某一層所有通道上的特征圖融合顯示,在使用make_grid函數(shù)后,pytorch環(huán)境下可使用tensorboardX下的SummerWriterh中的add_image函數(shù)。
本部分內(nèi)容參考鏈接:
反卷積網(wǎng)絡(luò)deconvnet
feature map可視化的另一種方式是通過(guò)反卷積網(wǎng)絡(luò)從feature map變成圖像。反卷積網(wǎng)絡(luò)在論文《Visualizing and Understanding Convolutional Networks》中提出,論文中提出圖像像素經(jīng)過(guò)神經(jīng)網(wǎng)絡(luò)映射到特征空間,而反卷積網(wǎng)絡(luò)可以將feature map映射回像素空間。
如下圖所示,反卷積網(wǎng)絡(luò)的用途是對(duì)一個(gè)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)中任意一層feature map經(jīng)過(guò)反卷積網(wǎng)絡(luò)后重構(gòu)出像素空間,主要操作是反池化unpooling、修正rectify、濾波filter,換句話說(shuō)就是反池化,反激活,反卷積。
由于不可能獲取標(biāo)簽數(shù)據(jù),因此反卷積網(wǎng)絡(luò)是一個(gè)無(wú)監(jiān)督的,不具備學(xué)習(xí)能力的,就像一個(gè)訓(xùn)練好的網(wǎng)絡(luò)的檢測(cè)器,或者說(shuō)是一個(gè)復(fù)雜的映射函數(shù)。
反池化Unpooling
在上一篇文章《池化技術(shù)總結(jié)》中提到最大池化會(huì)記錄最大值的坐標(biāo),在上圖中就是switches,而反池化就只需要將最大值放到原位置,而其他位置的值并不知道,直接置零。如下圖所示。
修正Rectification
CNN使用ReLU確保feature map上的值都是正的,因此在反卷積中也使用ReLU。這里所謂Rectification其實(shí)就是讓unpooling后的值都是正的,換句話說(shuō)就是使用ReLU。
Filtering
Filtering指的是反卷積,具體操作就是使用原網(wǎng)絡(luò)的卷積核的轉(zhuǎn)置作為卷積核,對(duì)Rectification后的輸出進(jìn)行卷積。
注:在以上重構(gòu)過(guò)程中沒(méi)有使用對(duì)比歸一化操作。
反卷積網(wǎng)絡(luò)特征可視化結(jié)果
導(dǎo)向反向傳播
在論文《Striving for Simplicity:The All Convolutional Net》中提出使用導(dǎo)向反向傳播(Guided- backpropagation),導(dǎo)向反向傳播與反卷積網(wǎng)絡(luò)的區(qū)別在于對(duì)ReLU的處理方式。在反卷積網(wǎng)絡(luò)中使用ReLU處理梯度,只回傳梯度大于0的位置,而在普通反向傳播中只回傳feature map中大于0的位置,在導(dǎo)向反向傳播中結(jié)合這兩者,只回傳輸入和梯度都大于0的位置,這相當(dāng)于在普通反向傳播的基礎(chǔ)上增加了來(lái)自更高層的額外的指導(dǎo)信號(hào),這阻止了負(fù)梯度的反傳流動(dòng),梯度小于0的神經(jīng)元降低了正對(duì)應(yīng)更高層單元中我們想要可視化的區(qū)域的激活值。
使用導(dǎo)向反向傳播與反卷積網(wǎng)絡(luò)的效果對(duì)比
明顯使用導(dǎo)向反向傳播比反卷積網(wǎng)絡(luò)效果更好。
總結(jié):分析反卷積網(wǎng)絡(luò)的對(duì)各層feature map可視化的結(jié)果可知,CNN中會(huì)學(xué)到圖像中的一些主要特征,如狗頭,鼻子眼睛,紋理,輪廓等內(nèi)容。但對(duì)特征圖可視化有個(gè)明顯的不足,即無(wú)法可視化圖像中哪些區(qū)域?qū)ψR(shí)別具體某個(gè)類別的作用,這個(gè)主要是使用CAM系列的方法,會(huì)在第三篇文章中介紹。下一篇將介紹可視化卷積核的方法。
參考論文:
《Visualizing and Understanding Convolutional Networks》
《Striving for Simplicity:The All Convolutional Net》
本文來(lái)源于公眾號(hào)CV技術(shù)指南的技術(shù)總結(jié)系列
歡迎關(guān)注公眾號(hào) CV技術(shù)指南 ,專注于計(jì)算機(jī)視覺(jué)的技術(shù)總結(jié)、最新技術(shù)跟蹤、經(jīng)典論文解讀。

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
圖片新聞
-
機(jī)器人奧運(yùn)會(huì)戰(zhàn)報(bào):宇樹(shù)機(jī)器人摘下首金,天工Ultra搶走首位“百米飛人”
-
存儲(chǔ)圈掐架!江波龍起訴佰維,索賠121萬(wàn)
-
長(zhǎng)安汽車(chē)母公司突然更名:從“中國(guó)長(zhǎng)安”到“辰致科技”
-
豆包前負(fù)責(zé)人喬木出軌BP后續(xù):均被辭退
-
字節(jié)AI Lab負(fù)責(zé)人李航卸任后返聘,Seed進(jìn)入調(diào)整期
-
員工持股爆雷?廣汽埃安緊急回應(yīng)
-
中國(guó)“智造”背后的「關(guān)鍵力量」
-
小米汽車(chē)研發(fā)中心重磅落地,寶馬家門(mén)口“搶人”
最新活動(dòng)更多
-
即日-9.16點(diǎn)擊進(jìn)入 >> 【限時(shí)福利】TE 2025國(guó)際物聯(lián)網(wǎng)展·深圳站
-
10月23日立即報(bào)名>> Works With 開(kāi)發(fā)者大會(huì)深圳站
-
10月24日立即參評(píng)>> 【評(píng)選】維科杯·OFweek 2025(第十屆)物聯(lián)網(wǎng)行業(yè)年度評(píng)選
-
11月27日立即報(bào)名>> 【工程師系列】汽車(chē)電子技術(shù)在線大會(huì)
-
12月18日立即報(bào)名>> 【線下會(huì)議】OFweek 2025(第十屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會(huì)
-
精彩回顧立即查看>> 【限時(shí)下載】ADI中國(guó)三十周年感恩回饋助力企業(yè)升級(jí)!
推薦專題
- 1 阿里首位程序員,“掃地僧”多隆已離職
- 2 先進(jìn)算力新選擇 | 2025華為算力場(chǎng)景發(fā)布會(huì)暨北京xPN伙伴大會(huì)成功舉辦
- 3 宇樹(shù)機(jī)器人撞人事件的深度剖析:六維力傳感器如何成為人機(jī)安全的關(guān)鍵屏障
- 4 清華跑出具身智能獨(dú)角獸:給機(jī)器人安上眼睛和大腦,融資近20億
- 5 踢館大廠和微軟,剖析WPS靈犀的AI實(shí)用主義
- 6 特朗普要求英特爾首位華人 CEO 辭職
- 7 AI版“四萬(wàn)億刺激”計(jì)劃來(lái)了
- 8 騰訊 Q2 財(cái)報(bào)亮眼:AI 已成第二增長(zhǎng)曲線
- 9 谷歌吹響AI沖鋒號(hào),AI還有哪些機(jī)會(huì)
- 10 騰訊米哈游押寶的中國(guó)AI應(yīng)用,正在海外悶聲發(fā)財(cái)