最大池化計算公式

最大池化(Max Pooling)是卷積神經網絡(Convolutional Neural Network, CNN)中的一種池化運算,用來減少輸入的維度。最大池化操作會從輸入的矩陣中選擇最大值,並將這些最大值組合成一個新的矩陣。

最大池化的計算公式非常簡單,對於每個池化區間(pooling window),它會找到該區間內的最大值,並將這個最大值作為輸出。假設輸入的尺寸為$W \times H \times D$,其中$W$是寬度,$H$是高度,$D$是深度(對於彩色圖片來說,$D=3$,因為有三個通道:紅、綠、藍),而池化區間的大小為$p \times p$,步長(stride)為$s$。那麼,輸出的尺寸將是$(W-p)/s+1$行和$(H-p)/s+1$列,深度保持不變。

例如,如果輸入的大小是$8 \times 8 \times 3$,池化區間的大小是$2 \times 2$,步長是$2$,那麼輸出的尺寸將是$4 \times 4 \times 3$。

計算過程如下:

  1. 將輸入的矩陣分成若干個$p \times p$的池化區間。
  2. 對於每個池化區間,找出其中的最大值。
  3. 將這些最大值組合成一個新的矩陣,作為最大池化的輸出。

公式表示為:

$$ \text{Output} = \max(\text{Input}) $$

這裡的Input是池化區間內的值,Output是池化後的值。

需要注意的是,最大池化操作並不改變輸入的深度,所以無論輸入的深度是多少,輸出的深度都保持不變。最大池化可以幫助減少過擬合,並在一定程度上對位置變換(如翻轉、平移)具有不變性。