平均池化(avgpooling)可以保留背景信息。在feature map上以窗口的形式進行滑動(類似卷積的窗口滑動),操作為取窗口內的平均值作為結果,經過操作后,
feature map降采樣,減少了過擬合現象。前向傳播就是把一個patch中的值求取平均來做pooling,那么反向傳播的過程也就是把某個元素的梯度等分為n份分配給前一層,
這樣就保證池化前后的梯度(殘差)之和保持不變。
最大池化(maxpooling)可以提取特征紋理。減少無用信息的影響。maxpooling也要滿足梯度之和不變的原則,max pooling的前向傳播是把patch中最大的值傳遞給后一層,
而其他像素的值直接被舍棄掉。那么反向傳播也就是把梯度直接傳給前一層某一個像素,而其他像素不接受梯度,也就是為0。所以max pooling操作和mean pooling操作不同點在於需要記錄下池化操作時到底哪個像素的值是最大,
也就是max id,這個變量就是記錄最大值所在位置的,因為在反向傳播中要用到。
全局池化(global pooling)來獲取全局上下文關系。不以窗口的形式取均值,而是以feature map為單位進行均值化。即一個feature map輸出一個值。