1. 程式人生 > >深度學習基礎--池化&pooling

深度學習基礎--池化&pooling

池化&pooling

  這也就意味著在一個影象區域有用的特徵極有可能在另一個區域同樣適用。因此,為了描述大的影象,一個很自然的想法就是對不同位置的特徵進行聚合統計,例如,人們可以計算影象一個區域上的某個特定特徵的平均值 (或最大值)。
  這些概要統計特徵不僅具有低得多的維度 (相比使用所有提取得到的特徵),同時還會改善結果(不容易過擬合)。這種聚合的操作就叫做池化。

  一般地,每個卷積層l都會接一個下采樣層l+1。而下采樣層=pooling(池化),下采樣中的一種方法就是池化(mean-pooling和max-pooling為例)。另外,上取樣是擴大。
  pooling的結果是使得特徵減少,引數減少,但pooling的目的並不僅在於此。pooling目的是為了保持某種不變性(旋轉、平移、伸縮等),常用的有mean-pooling,max-pooling和Stochastic-pooling三種。

常見的pooling型別

在這裡插入圖片描述

Stochastic pooling(隨機池化)

計算過程

  1)先將方格中的元素同時除以它們的和sum,得到概率矩陣;
  2)按照概率隨機選中方格;
  3)pooling得到的值就是方格位置的值。
  使用stochastic pooling時(即test過程),其推理過程也很簡單,對矩陣區域求加權平均即可。
  在反向傳播求導時,只需保留前向傳播已經記錄被選中節點的位置的值,其它值都為0,這和max-pooling的反向傳播非常類似。

求值過程的例子

  00+1.10.11+2.50.25+0.90.09+2.00.2+1.00.1+00+1.50.15+1.0*0.1=1.625
  說明此時對小矩形pooling後的結果為1.625。