Conv-Neural-Network
對池化層感到困惑,它是否可訓練?
我在很多地方讀過,比如斯坦福大學在CS231n上的捲積神經網絡課程筆記(以及這裡、這里和這裡),池化層沒有任何可訓練的參數!
然而今天有人告訴我,在一些論文中(這裡是)他們說,我引用:
S1 層用於子採樣,包含六個特徵圖,每個特徵圖包含 14 x 14 = 196 個神經元。子採樣窗口為 2 x 2 矩陣,子採樣步長為 1,因此 S1 層包含 6 x 196 x (2 x 2 + 1) = 5880 個連接。S1 層中的每個特徵圖都包含一個權重和偏差,因此在 S1 層中總共可以訓練 12 個參數。
這是什麼 ?
有人可以請教我嗎?
在你閱讀的論文中
S1層一共可以訓練12個參數
表示池化層中輸出平面的數量,而不是權重矩陣中的參數數量。通常,我們在神經網絡模型中訓練的是權重矩陣中的參數。我們不在輸入平面或輸出平面訓練參數。所以寫論文的同學沒有表達清楚,這讓你對池化層到底是什麼感到困惑。
最大池化層中沒有可訓練的參數。在前向傳遞中,它將每個矩形內的最大值傳遞到下一層。在後向傳遞中,它將下一層中的錯誤傳播到取最大值的地方,因為那是錯誤的來源。
例如,在forward pass中,您有一個圖像矩形:
1 2 3 4
你會得到:
4
在下一層。
在向後傳遞中,您有錯誤:
-0.1
然後你將錯誤傳播回你得到它的地方:
0 0 0 -0.1
因為從前傳中的那個位置取數字 4。