計算機視覺面試考點(10)池化

計算機視覺工程師在面試過程中主要考察三個內容:圖像處理、機器學習、深度學習。然而,各類資料紛繁複雜,或是簡單的知識點羅列,或是有着詳細數學推導令人望而生畏的大部頭。爲了督促自己學習,也爲了方便後人,決心將常考必會的知識點以通俗易懂的方式設立專欄進行講解,努力做到長期更新。此專欄不求甚解,只追求應付一般面試。希望該專欄羽翼漸豐之日,可以爲大家免去尋找資料的勞累。每篇介紹一個知識點,沒有先後順序。想了解什麼知識點可以私信或者評論,如果重要而且恰巧我也能學會,會盡快更新。最後,每一個知識點我會參考很多資料。考慮到簡潔性,就不引用了。如有冒犯之處,聯繫我進行刪除或者補加引用。在此先提前致歉了!

池化 pooling
卷積神經網絡中的一層,池化層
最直觀的作用是降低feature map的維度

兩種常用池化

最大池化 max pooling
在這裏插入圖片描述
平均池化 mean pooling
在這裏插入圖片描述

最大池化選取最突出的特徵,對於紋理信息敏感
平均池化關注數據整體,對背景信息敏感
最大池化用的多,兩者也可以交替使用

池化的作用

  • 降低feature map維度,降低參數量和計算量
  • 減少了參數量通常緩解了過擬合
  • 在一定程度上增強了對目標空間位置變化的魯棒性(平移不變性)
  • 增加了每個像素的感受野,比如經過上面的2*2的池化,每一個像素對應了上一層的4個像素
  • 池化也是網絡非線性的體現

池化的反向傳播
max pooling
在這裏插入圖片描述
mean pooling
在這裏插入圖片描述
注意:
(對應上圖分析)
mean pooling並不是直接複製4個1到左上角的4個點
因爲反向傳播後,由4個梯度變成了16個梯度
如果不除以4,梯度擴大4倍
如果每層都這樣,會梯度爆炸

其它池化

重疊池化
每個池化的部分有重疊
緩解了上述池化將每部分獨立的問題
增加了參數量,提升不大

隨機池化
比如:
4 2
1 3
那麼池化後,40%是4, 20%是2 ,10%是1 ,30%是3
最大和平均太絕對
隨機池化可能會讓結果變好一些
當然也可能變差
但是由於隨機性
至少讓可能性增多了一些

全局池化
比如256*256的一張feature map直接池化爲1個值
分爲
全局最大池化 global max pooling GMP
全局平均池化 global average pooling GAP
在這裏插入圖片描述
可以取代全連接層,這大幅降低了參數,緩解過擬合
每一個feature map對應輸出的一個值,也就在一定程度上賦予了每個feature map特別的意義,緩解了神經網絡的黑箱子屬性

但是
上節說到,全連接層實現特徵的組合
也就是說,全連接層的輸入可以是相對低級的特徵
通過全連接層的組合使特徵變高級
如果使用全局池化
就少了特徵組合的環節
每一個維度的輸出對應一個feature map,也就是獨立的
那麼feature map的特徵就必須是相對高級的特徵了
幾乎所有的學習壓力都給了卷積層
擬合速度相對變慢

空間金字塔池化
輸入圖像可以是任意尺寸
可以獲得多尺度特徵
在這裏插入圖片描述
如上圖,空間金字塔池化的一個例子
輸入圖像大小任意,所以輸入的feature map大小任意
但是我們將其池化爲固定的4*4 2*2 1*1
所以池化模板的大小是需要根據輸入調整的

最後,再來談一下max pooling 和 mean pooling的理解
舉個例子吧
如果想要識別圖像中一個比較小的物體
可能在feature map中有少數幾個比較大的數
如果平均池化,這幾個大數可能就被平均沒了。。。
所以這個時候用max pooling就比較好一些

如果想要判斷圖像的類別
那麼可能所有的信息都會參與
這個時候適合用mean pooling

當然,不是絕對的


歡迎討論 歡迎吐槽

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