1. 程式人生 > 其它 >卷積與Max Pooling(池化)

卷積與Max Pooling(池化)

1、什麼是卷積

從數學上講,卷積就是一種運算。

有這麼一副影象,可以看到,影象上有很多噪點:

高頻訊號,就好像平地聳立的山峰:

看起來很顯眼。平滑後得到:
平滑這座山峰的辦法之一就是,把山峰刨掉一些土,填到山峰周圍去。用數學的話來說,就是把山峰周圍的高度平均一下。

卷積可以幫助實現這個平滑演算法。

有噪點的原圖,可以把它轉為一個矩陣:

然後用下面這個平均矩陣(說明下,原圖的處理實際上用的是正態分佈矩陣,這裡為了簡單,就用了算術平均矩陣)來平滑影象:

2、什麼是Max Pooling(池化)

在卷積後還會有一個 pooling 的操作。

max pooling 的操作如下圖所示:整個圖片被不重疊的分割成若干個同樣大小的小塊(pooling size)。每個小塊內只取最大的數字,再捨棄其他節點後,保持原有的平面結構得出 output。
注意區分max pooling(最大值池化)和卷積核的操作區別:池化作用於影象中不重合的區域

(這與卷積操作不同)

這個圖中,原來是4*4的圖片。由於不會重合,所以filter的大小和步長stride是相等的,為2.
粉色區域最大值為6,得到的該區域結果是6,綠色是8,黃色是3,紫色是4.

3、Max Pooling的作用

作用1:invariance(不變性)

invariance(不變性),這種不變性包括translation(平移)不變性,rotation(旋轉)不變性,scale(尺度)不變性。

作用2:增大感受野

可能跟作用1的結論有些因果關係。

首先它第一個作用是降低feature map的尺寸減少需要訓練的引數;其次,因為有縮小的作用,所以之前的4個畫素點,現在壓縮成1個。那麼,相當於我透過這1個點,就可以看到前面的4個點,這不就是把當前map的感受野一下子放大了嘛