在卷積神經網路中,卷積層通過將卷積核(kernel)應用於輸入數據,提取局部特徵。這個操作的數學形式類似於信號處理中的卷積積分,但在 CNN 中,我們通常使用離散的卷積和(convolution sum)

假設輸入數據為 $X$,卷積核為$W$,卷積操作:

$$ Y[i, j] = \sum_{m} \sum_{n} X[i + m, j + n] \cdot W[m, n] $$

這個公式代表在輸入數據 $X$ 上進行滑動窗口操作,通過卷積核 $W$ 提取局部區域的特徵,並將結果輸出到 Y 中。

這個操作通過重複應用卷積核,遍歷整個輸入數據來生成特徵映射(feature map)。


卷積操作中的數值運算

1. 卷積層

卷積層是 CNN 的核心,它將輸入數據 $X$ 通過卷積核 $W$ 進行卷積操作,生成特徵圖 $Y$。卷積層的數值運算特點在於:

假設輸入數據 X 是大小為 $5 \times 5$ 的矩陣,卷積核 $W$ 是 $3 \times 3$ 的矩陣,卷積操作的具體計算步驟:

$$ Y[1,1] = X[1,1] \cdot W[1,1] + X[1,2] \cdot W[1,2] + ... + X[3,3] \cdot W[3,3] $$

這種局部計算隨著卷積核的滑動在整個輸入上進行,最終生成一個新的特徵圖。

2. 激活函數

卷積層的輸出通常會經過非線性激活函數,例如ReLU(Rectified Linear Unit)。

$$ f(x) = \max(0, x) $$