講完了Convolution Layer,今天來介紹Pooling Layer(池化層),池化的計算過程非常簡單,但卻非常強大。
池化可以在壓縮圖片大小的同時,保留重要的特徵,運作原理也很簡單,我們先看圖片。
池化和前面的卷積有一點點像,可以選擇池化的大小,通常為2x2或者是3x3,例如圖中的就是一個2x2,步長為2的池化層,並且選擇了Max Pooling。
這邊就要介紹一下兩種常見的Pooling:
以下再來介紹除了壓縮圖片大小(降維)和保留特徵外Pooling的特性:
Invariance (不變性)
Invariance又包括了三種:
translation(平移)
可以看到,圖中都有一個數字1,圖片大小為16x16,不同的地方在於上圖的 1偏左,下圖的1偏右,但在經過池化後,1的位置卻是一樣的,成為了一個 相同的矩陣,也就是平移不變。
rotation(旋轉)
由下圖也可以看到,一張斜線和一張水平線的圖片,在經過Pooling後也成
為了相同的矩陣,也就是旋轉不變。
scale(尺度)
以下兩張圖片也很相似,不同的地方在於大小,上圖較大,下圖較小,儘管如
在經過多次Pooling之後,又成為了相同的矩陣,也就是尺度不變。
Pooling Layer就先暫時講到這邊,計算過程比較簡單,也比較好理解,之後有特殊的地方會在進行補充。
資料來源:
https://vinodsblog.com/2018/10/15/everything-you-need-to-know-about-convolutional-neural-networks/
https://brohrer.mcknote.com/zh-Hant/how_machine_learning_works/how_convolutional_neural_networks_work.html
https://www.zhihu.com/question/36686900