Lompat ke konten Lompat ke sidebar Lompat ke footer

Jenis-jenis Operasi Pooling pada Algoritma CNN

Lapisan khusus yang digunakan oleh algoritma CNN untuk mengenali sebuah citra adalah convolutional layer dan pooling layer.

Convolutional layer pada CNN melakukan proses konvolusi, yaitu proses menggeser filter di atas gambar untuk mengekstrak fitur yang ada. Fitur-fitur yang berhasil diekstrak kemudian disimpan pada peta fitur. Peta fitur tersebut diteruskan ke convolutional layer berikutnya untuk mengekstrak fitur yang lebih tinggi.

Namun, terdapat masalah yang timbul dari proses konvolusi pada convolutional layer, yaitu output dari peta fitur yang dihasilkan sangat sensitif terhadap lokasi keberadaan fitur pada gambar input.

Salah satu pendekatan untuk mengatasi sensitivitas ini adalah dengan melakukan down sampling. Proses ini dapat membuat peta fitur yang dihasilkan lebih kuat terhadap perubahan posisi fitur dalam gambar, yang dalam istilah teknis disebut dengan "local translation invariance".

Untuk mengatasi masalah tersebut, CNN menggunakan lapisan lain yang disebut dengan pooling layer.

Apa itu pooling layer? Bagaimana cara kerjanya?

Di artikel ini kita akan membahas secara detail mengenai apa itu pooling layer, jenis-jenisnya dan kegunaanya pada algoritma CNN. Simak, ya!

Daftar Isi

Pengertian Operasi Pooling

Pooling adalah teknik untuk menggeneralisasi fitur yang diekstraksi oleh filter convolutional dan membantu jaringan mengenali fitur tanpa memperhatikan lokasinya dalam gambar.

Pooling layer adalah lapisan tambahan pada algoritma CNN yang menyediakan metode untuk melakukan down sampling peta fitur dengan cara mereduksi input secara spasial (mengurangi jumlah parameter) pada gambar. Tujuannya untuk meringkas dan merangkum keberadaan fitur.

Cara kerja dasar dari pooling sangat mirip dengan operasi konvolusi yang ada pada convolutional layer. Kita memilih sebuah filter dan menggesernya di atas peta fitur yang telah dihasilkan oleh convolutional layer. 

Ukuran filter yang paling umum digunakan adalah 2×2 dan digeser di atas input sebanyak 2 langkah. Berdasarkan jenis operasi pooling yang kita pilih, filter pooling menghitung output pada bidang reseptif (bagian dari peta fitur yang masuk dalam filter).

Jenis-jenis Operasi Pooling pada Convolutional Neural Network (CNN)

Ada beberapa pendekatan operasi pooling. Pendekatan yang paling umum digunakan adalah max-pooling dan average pooling.

1. Max Pooling

Dalam max pooling, filter hanya memilih nilai piksel maksimum di bidang reseptif. Misalnya, jika kita  memiliki 4 piksel pada bidang reseptif dengan nilai 3, 9, 0, dan 6, kita memilih nilai 9.

Contoh Operasi Max Pooling pada CNN
Sumber: programmathically.com

2. Average Pooling

Average pooling bekerja dengan menghitung nilai rata-rata nilai piksel di bidang reseptif. Misalnya diberikan 4 piksel dengan nilai 3,9,0, dan 6, rata-rata pooling layer akan menghasilkan output 4,5. Kemudian nilai tersebut kita lakukan pembulatan menjadi nilai 5.

Contoh Operasi Average Pooling pada CNN
Sumber: programmathically.com

Berikut adalah contoh hasil operasi masing-masing pooling yang diterapkan pada sebuah gambar:

Contoh hasil masing-masing operasi pooling
Sumber: medium.com

Fungsi dan Kegunaan Operasi Pooling pada CNN

Operasi pooling sangat berguna untuk tugas klasifikasi citra di mana kita hanya perlu mendeteksi keberadaan objek tertentu dalam sebuah gambar, tetapi kita tidak peduli di mana lokasi tepatnya berada.

Kita dapat menganggap angka yang dihitung dan dipertahankan oleh pooling layer sebagai indikasi keberadaan fitur tertentu. Jika hanya mengandalkan peta fitur asli dari convolutional layer, kemampuan jaringan saraf CNN untuk mendeteksi fitur akan tergantung pada lokasi di peta fitur.

Misalnya, jika angka 9 hanya ditemukan di kuadran kiri atas, jaringan akan belajar mengasosiasikan fitur yang terhubung ke angka 9 dengan kuadran kiri atas.

Dengan menerapkan pooling, kita menarik fitur ini ke dalam peta yang lebih kecil dan lebih umum yang hanya menunjukkan apakah fitur ada di kuadran tertentu atau tidak.

Setiap iterasi pada proses pooling, peta fitur akan menyusut dan hanya menyimpan informasi penting mengenai keberadaan fitur yang menonjol.

Dengan ukuran peta fitur yang semakin kecil itu artinya peta fitur akan menjadi semakin independen terhadap lokasi fitur.

Pada umumnya, operasi max pooling lebih sering diterapkan pada pooling layer CNN karena cenderung lebih baik dalam mengidentifikasi fitur yang menonjol. Sedangkan, average pooling hanya digunakan untuk menciutkan peta fitur ke ukuran tertentu.

Karena kemampuannya untuk menciutkan peta fitur, pooling juga dapat membantu mengklasifikasikan gambar dalam berbagai ukuran.

Sebenarnya lapisan klasifikasi pada algoritma CNN hanya menerima input dalam ukuran format gambar yang sama. Namun, dengan memvariasikan offset selama operasi pooling, kita dapat menggunakan gambar dengan ukuran berbeda dan masih menghasilkan peta fitur berukuran sama.

Fungsi lain dari pooling adalah efisiensi jaringan yang membuat proses training menjadi lebih cepat. Filter pada pooling menggunakan ukuran langkah (stride) yang lebih besar daripada filter konvolusi dan menghasilkan keluaran yang lebih kecil. Hal ini cukup membantu untuk mendukung upaya efisiensi tersebut.

Penutup

Demikianlah penjelasan mengenai macam-macam operasi pooling layer dan kegunaannya pada algoritma Convolutional Neural Network. Semoga bermanfaat.

Apabila Anda suka dengan artikel seperti ini, Anda bisa mengunjungi rubrik Deep Learning atau membaca artikel lainnya mengenai 'Pengertian Algoritma Genetika'.

Salam!

Referensi:

Trivusi
Trivusi Ikatlah ilmu dengan menulis. Menebar manfaat dengan berbagi :)

Posting Komentar untuk "Jenis-jenis Operasi Pooling pada Algoritma CNN"