為什麼使用卷積層替代CNN末尾的全連線層
阿新 • • 發佈:2019-01-05
CNN網路的經典結構是: 輸入層—>(卷積層+—>池化層?)+—>全連線層+
(其中+表示至少匹配1次,?表示匹配0次或1次)
全卷積神經網路Fully Convolutional Network (FCN)
全卷積神經網路即把CNN網路最後的全連線層替換為卷積層。為什麼這麼做?換句話說這樣會帶來什麼好處呢?
首先,說一下卷積層和全連線層的區別:卷積層為區域性連線;而全連線層則使用影象的全域性資訊。可以想象一下,最大的區域性是不是就等於全域性了?這首先說明全連線層使用卷積層來替代的可行性。
然後,究竟使用卷積層代替全連線層會帶來什麼好處呢?答案:可以讓卷積網路在一張更大的輸入圖片上滑動,得到每個區域的輸出(這樣就突破了輸入尺寸的限制)
需要說明的是這一特性不僅可用於語義分割,在物體分類、目標檢測中都可以使用。
參考:
How does the conversion of last layers of CNN from fully connected to fully convolutional allow it to process images of different size?
CS231n課程筆記翻譯:卷積神經網路筆記
論文筆記–Fully Convolutional Networks for Semantic Segmentation