caffe學習筆記31-理解全連線層
阿新 • • 發佈:2018-12-30
理解全連線層:
連線層實際就是卷積核大小為上層特徵大小的卷積運算,卷積後的結果為一個節點,就對應全連線層的一個點。(理解)假設最後一個卷積層的輸出為7×7×512,連線此卷積層的全連線層為1×1×4096。
如果將這個全連線層轉化為卷積層:
1.共有4096組濾波器
2.每組濾波器含有512個卷積核
3.每個卷積核的大小為7×7
4.則輸出為1×1×4096
由於每個濾波核的大小和上一層的feature map大小一樣,保證了轉換後的卷積層的運算結果和全連線層是一樣的
若後面再連線一個1×1×4096全連線層。則其對應的轉換後的卷積層的引數為:1.共有4096組濾波器
2.每組濾波器含有4096個卷積核
3.每個卷積核的大小為1×1
4.則輸出為1×1×4096
-----------------------------------------------------------------------------------------------------------------------
而全連線層的壞處就在於其會破壞影象的空間結構,因此人們便開始用卷積層來“代替”全連線層,通常採用1×1的卷積核,這種不包含全連線的CNN成為全卷積神經網路(FCN),FCN最初是用於影象分割任務,之後開始在計算機視覺領域的各種問題上得到應用,事實上,Faster R-CNN中用來生成候選視窗的CNN就是一個FCN。FCN的特點就在於輸入和輸出都是二維的影象,並且輸入和輸出具有相對應的空間結構,在這種情況下,我們可以將FCN的輸出看作是一張熱度圖,用熱度來指示待檢測的目標的位置和覆蓋的區域。在目標所處的區域內顯示較高的熱度,而在背景區域顯示較低的熱度,這也可以看成是對影象上的每一個畫素點都進行了分類,這個點是否位於待檢測的目標上。