淺析CNN卷積神經網絡feature map

 

個人學習CNN的一些筆記,比較基礎,整合了其他博客的內容

 

feature map的理解
在cnn的每個卷積層,數據都是以三維形式存在的。你可以把它看成許多個二維圖片疊在一起(像豆腐皮豎直的貼成豆腐塊一樣),其中每一個稱爲一個feature map。

feature map 是怎麼生成的?
輸入層:在輸入層,如果是灰度圖片,那就只有一個feature map;如果是彩色圖片(RGB),一般就是3個feature map(紅綠藍)

[ 下圖中三大部分依次是輸入RGB圖片,卷積核(也稱過濾器),卷積結果(輸出),* 代表卷積操作,最左部分三片代表3個feature map; 

如果是灰色圖片(二維),則最左只有一片代表一個feature map,對應的卷積核(過濾器也是二維)]


其它層:層與層之間會有若干個卷積核(kernel)(也稱爲過濾器),上一層每個feature map跟每個卷積核做卷積,都會產生下一層的一個feature map,有N個卷積核,下層就會產生N個feather map。

多個feather map的作用是什麼?

在卷積神經網絡中,我們希望用一個網絡模擬視覺通路的特性,分層的概念是自底向上構造簡單到複雜的神經元。樓主關心的是同一層,那就說說同一層。
我們希望構造一組基,這組基能夠形成對於一個事物完備的描述,例如描述一個人時我們通過描述身高/體重/相貌等,在卷積網中也是如此。在同一層,我們希望得到對於一張圖片多種角度的描述,具體來講就是用多種不同的卷積覈對圖像進行卷,得到不同核(這裏的核可以理解爲描述)上的響應,作爲圖像的特徵。他們的聯繫在於形成圖像在同一層次不同基上的描述。

下層的核主要是一些簡單的邊緣檢測器(也可以理解爲生理學上的simple cell)。

上層的核主要是一些簡單核的疊加(或者用其他詞更貼切),可以理解爲complex cell。

 

多少個Feature Map?真的不好說,簡單問題少,複雜問題多,但是自底向上一般是核的數量在逐漸變多(當然也有例外,如Alexnet),主要靠經驗。

 

卷積核的理解

不懂的可以參考下面的博客

https://blog.csdn.net/cheneykl/article/details/79740810

卷積核(過濾器)個數的理解

我的前一篇博客中有寫相關內容https://www.cnblogs.com/yh-blog/p/10052543.html

第L-1層:輸入圖形通道數=輸入圖像的層數=過濾器層數(三維座標空間上是y方向)
L層:輸出圖像通道數=過濾器個數=第L+1層輸入圖像層數...(不管輸入和過濾層多少層,圖像輸入與每個過濾器卷積過後都是一層矩陣,影響輸出層數的只有過濾器的個數)

如下圖紅線所示:該層卷積核的個數,有多少個卷積核,經過卷積就會產生多少個feature map,也就是下圖中 `豆腐皮兒`的層數、同時也是下圖`豆腐塊`的深度(寬度)!!

這個寬度可以手動指定,一般網絡越深的地方這個值越大,因爲隨着網絡的加深,feature map的長寬尺寸縮小,本卷積層的每個map提取的特徵越具有代表性(精華部分),所以後一層卷積層需要增加feature map的數量,才能更充分的提取出前一層的特徵,一般是成倍增加(不過具體論文會根據實驗情況具體設置)!

 

 

參考博文:https://blog.csdn.net/csw19970124/article/details/83376842

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章