爲什麼使用卷積層替代CNN末尾的全連接層

CNN網絡的經典結構是: 輸入層—>(卷積層+—>池化層?)+—>全連接層+
(其中+表示至少匹配1次,?表示匹配0次或1次)

全卷積神經網絡Fully Convolutional Network (FCN)

全卷積神經網絡即把CNN網絡最後的全連接層替換爲卷積層。爲什麼這麼做?換句話說這樣會帶來什麼好處呢?

  1. 首先,說一下卷積層和全連接層的區別:卷積層爲局部連接;而全連接層則使用圖像的全局信息。可以想象一下,最大的局部是不是就等於全局了?這首先說明全連接層使用卷積層來替代的可行性。

  2. 然後,究竟使用卷積層代替全連接層會帶來什麼好處呢?答案:可以讓卷積網絡在一張更大的輸入圖片上滑動,得到每個區域的輸出(這樣就突破了輸入尺寸的限制)。論文裏Fully Convolutional Networks for Semantic Segmentation介紹的很清楚,解讀如下:
    這裏寫圖片描述
    需要說明的是這一特性不僅可用於語義分割,在物體分類、目標檢測中都可以使用。

參考:
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

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