KONSEP CNN
CNN setiap neuron dipresentasikan dalam bentuk dua dimensi, pada CNN, data yang dipropagasikan pada jaringan adalah data dua dimensi, sehingga operasi linear dan parameter bobot pada CNN berbeda.
Pada CNN operasi linear menggunakan operasi konvolusi, bobot berbentuk empat dimensi yang merupakan kumpulan kernel konvolusi dengan rumus :
neuroninput∗neuron output∗tinggi∗lebar
Karena sifat konvolution ini maka cnn cukup baik dalam menghandle citra dan audio berikut adalah strukturnya:
Arsiterktur Jaringan CNN
Sebuah CNN terdiri dari beberapa layer. Berdasarkan aristektur LeNet5 [1], terdapat empat macam layer utama pada sebuah CNN namun yang diterapkan pada TA ini hanya tiga macam lapisan lantara lain:
1. Convolution Layer
Convolution Layer melakukan operasi konvolusi pada output dari layer sebelumnya. Layer tersebut adalah proses utama yang mendasari sebuah CNN. Konvolusi adalah suatu istilah matematis yang berati mengaplikasikan sebuah fungsi pada output fungsi lain secara berulang.Dengan kata lain sebuah filter dari pixel digunakan untuk mengkalikan dengan pixel gambar dan pixel dekatnya sehingga menghasilkan nilai baru untuk pixel tersebut [2]. berikut contoh:
Berikut ini adalah element yang digunakan untuk dikalikan dikarenakan kita menggunakan filter 3 x 3 maka akan menghasilkan citra baru dengan 4 * 4 dkarenakn filter mengakalikan dengan 0 maka nilai di se keliling akan hilang . 3*1 + 0 + 1*-1 + 1*1 + 5*0 + 8*-1 + 2*1 + 7*0 + 2*-1 = -5
Berikut Langkah selanjutnya dihitung dengan nilai selanjutnya bersamaan dengan tentangganya
Jika sudah menyelesaikannya akan menghasilakn matrix citra dengan dimensi 4x4
Tujuan dilakukannya konvolusi pada data citra adalah untuk mengekstraksi fitur dari citra input.
Konvolusi akan menghasilkan transformasi linear dari data input sesuai informasi spasial pada data. Bobot pada layer tersebut menspesifikasikan kernel konvolusi yang digunakan, sehingga kernel konvolusi dapat dilatih berdasarkan input pada CNN.Untuk gambar pada RGB akan membuat gambar menjadi A∗B∗3 , 3 layer disini termasuk nilai matrix dari gambar (R,G,B) maka filter akan dibuat menjad A∗B∗3 sesuai dengan citra .
2. Subsampling Layer
Subsampling Layer (Pooling) adalah proses menghilangkan piksel dalam matrix yang ada pada citra serta mempertahankan semantik konten pada citra . Pada tahap sering kali menggunakan max pooling. Max pooling membagi output dari convolution layer menjadi beberapa grid kecil
lalu mengambil nilai maksimal dari setiap grid untuk menyusun matriks citra yang telah direduksi [3]. Berikut contoh penggunaan pada matrix 4x4 dengan pooling 2x2:
Maka akan menjadi seperti ini
Untuk setiap blok 2 X 2 yang berurutan, mengambil angka maksimal.Pada tahap ini menerapkan filter dengan ukuran 2 dan 2 langkah. 2 x 2 merupakan hyperparameter untuk layer pooling.Tidak hanya max pooling pada step ini bisa juga di ganti dengan mean pooling.
3. Fully Connected Layer
Layer tersebut adalah layer yang biasanya digunakan dalam penerapan MLP dan bertujuan untuk melakukan transformasi pada dimensi data agar data dapat diklasifikasikan secara linear. Setiap neuron pada convolution layer perlu ditransformasi menjadi data satu dimensi terlebih dahulu sebelum dapat dimasukkan ke dalam sebuah fully connected layer. Karena hal tersebut menyebabkan data kehilangan informasi spasialnya dan tidak reversibel, fully connected layer hanya dapat diimplementasikan di akhir jaringan.Bisanya FC berada diakhir dari beberapa output, alasan mengapa dua lapisan terhubung adalah karena dua lapisan yang terhubung sepenuhnya akan bekerja lebih baik daripada satu lapisan yang terhubung. Lapisan-lapisan dalam CNN ini mengurangi pengawasan manusia [4].
Daftar Pustaka
[1] Vistalab.stanford.edu, “An Introduction to Convolutional Neural Networks,”
vistalab.stanford.edu, 2013.
http://scarlet.stanford.edu/teach/index.php/An_Introduction_to_Convolutional_Neural_Networks (accessed Sep. 12, 2023).
[2] P. Sharma, “A Comprehensive Tutorial to learn Convolutional Neural Networks from Scratch (deeplearning.ai Course #4),” Analytics Vidhya, 2023.
https://www.analyticsvidhya.com/blog/2018/12/guide-convolutional-neural-network-cnn/#h- pooling-layers (accessed Sep. 12, 2023).
[3] L. Moroney, “AI and Machine Learning For Coders,” in AI and Machine Learning For Coders, R.
Novack, A. Rufino, K. Tozer, and R. Head, Eds., 1st ed.United Of America, 2021, p. 34.
[4] MK Gurucharan, “Basic CNN Architecture: Explaining 5 Layers of Convolutional Neural Network,” upGruad Education, 2022. https://www.upgrad.com/blog/basic-cnn-architecture/
(accessed Sep. 12, 2023).