Pooling layer berfungsi untuk mengurangi spatial size dari feature map (convolved feature), dimana akan berefek dalam mengurangi beban proses komputasi.
Gambar-1: Proses Pooling
Pooling layers sangat bermanfaat dalam mengekstrak dominant features, tanpa tergantung dengan posisi feature pada image.
Contoh sederhananya, model tetap akan mengenali bahwa sebuah gambar adalah gambar wajah, baik dilihat dari depan, samping, atau terbalik, atau miring. Demikikan juga dengan posisi, model tetap mampu memdeteksi jika posisi wajah ada ditengah, dikiri, kanan atau pojok image.
Dengan Pooling kita dapat mengetahui posisi sebuah objects pada image. Pooling layer juga memberikan fleksibilitas pada convolutional neural network untuk mencegah overfitting.
Ada dua macam pooling, Max dan Average Pooling. (lihat gambar-2 untuk lebih jelas).
- Max Pooling mengembalikan nilai maximum dari area yang ter-cover oleh Kernel. Selain melakukan dimensional reduction, Max pooling juga melakukan de-noising.
- Average Pooling mengembalikan nilai average (rata-rata), dimana hanya melakukan dimensional reduction sebagai mekanisme noise reduction.
Jadi dapat dikatakan performa Max Pooling lebih baik dibanding Average Pooling.
Gambar-2: Max dan Avarage Pooling
Untuk informasi lebih mendalam mengenai pooling, silakan lihat paper di http://ais.uni-bonn.de/papers/icann2010_maxpool.pdf
Source: https://skillplus.web.id/pengenalan-convolutional-neural-network-cnn/
Image is courtesy of https://towardsdatascience.com/