Algoritma PageRank
CNN atau Convolutional Neural Network merupakan jenis jaringan saraf tiruan khusus yang digunakan untuk memproses data yang dikenal memiliki grid-like topologi. Salah satu contoh penggunaannya yaitu data time series dan data gambar. Dimana data yang terdapat pada time series dapat dianggap sebagai grid Dimensi-1 (mengambil sampel pada interval waktu regular). Kemudian pada data gambar dapat dianggap sebagai grid Dimensi-2 (berbentuk piksel). CNN digunakan dalam jaringan convolutional yang merupakan jaringan saraf sederhana yang menggunakan operasi convolution sebagai pengganti perkalian matriks umum dalam kurang lebihnya dalam satu layernya. Convolution merupakan operasi linier khusus matematika. Jaringan saraf convolutional pada CNN merupakan kelas yang paling umum diterapkan untuk menganalisa citra visual, dan digunakan untuk melakukan pengenalan gambar, pengenalan wajah, deteksi objek, dan klasifikasi gambar.
Convolutional Neural Network (CNN) berisi neuron yang dapat dipelajari. Tiap neuronnya mampu menerima beberapa input yaitu dengan menghasilkan titik sebagai produk dan secara opsional mengikutinya dengan non-linearitas. Seluruh jaringan masih mengekspresikan fungsi skor tunggal yang dapat dibedakan dari gambar piksel mentah di satu titik ke skor kelas di ujung lainnya. Menurut algoritmanya Convolutional Neural Network (CNN) dapat dikatakan juga deep learning, dimana CNN ini dapat mengambil gambar sebagai input yang bisa menetapkan nilai bobot dan bias yang kemudian bisa dipelajari dari berbagai aspek dalam gambar dan juga bisa membedakan satu dari yang lainnya. Dibandingkan dengan klasifikasi algoritma lainnya, pra proses yang diperlukan dalam CNN jauh lebih ekonomis. CNN dengan beberapa pelatihan sebenarnya mampu untuk mempelajari filter atau karakteristik dari sebuah objek, berbeda dengan metode yang terdahulu filter atau karakteristik direkayasa hanya dengan manual saja. CNN dapat menarik secara universal karena CNN sendiri dapat berjalan pada perangkat apa pun termasuk dalam perangkat mobile sekalipun. Hal ini dibuktikan dalam keunggulannya yaitu CNN berefisiensi secara komputasi karena didalamnya menggunakan operasi convolution, penyatuan secara khusus dan penggunaan parameter sharing.
Kemudian CNN sendiri memliki arsitektur overview dimana asitektur ini dapat sama artikan pada pola konektivitas neuron yang ada dalam otak manusia dengan cara kerja dari
Visual Cortex. Setiap neuronnya dapat merespon rangsangan pada batas bidang visual yang dikenali. Sebenarnya semua model dalam CNN pada dasarnya mengikuti bentuk arsitektur yang sama. Hal ini dapat diilustrasikan dengan gambar sebagai input yang setelahnya dilakukan operasi jaringan convolutional, operasi pooling, dan diikuti dengan beberapa layer yang sudah terhubung sepenuhnya (fully connected) yaitu seperti pada gambar dibawah ini.
Gambar.1 Arsitektur Convolutional Network
Untuk menerapkannya, CNN dapat membatasi arsitektur yang ada secara lebih sederhana yaitu dengan memanfaatkan gambar berwarna sebagai inputnya. Layer-layer dalam CNN secara khusus memiliki neuron yang tersusun dalam 3 dimensi, yaitu Lebar (W), Tinggi (H), Kedalaman (D). Maksud dari kedalaman (D) tersebut yaitu bukan pada kedalaman dari jaringan neural penuh yang nantinya dapat merujuk dari jumlah total layer yang ada di dalam jaringan tetapi kedalaman tersebut lebih merujuk kepada 3 dimensi volume pada aktivasi. Tiap-tiap layer yang ada didalam CNN dapat mengubah isi dari input 3D yaitu menjadi isi output 3D dari aktivasi neuron. Contohnya yaitu seperti layer input gambar dekat atau close up pada wajah manusia, lebar, dan juga tingginya akan menjadi dimensi gambar. Kemudian kedalamannya ada 3 warna sebagai channel warna gambar yaitu merah, hijau dan biru. Arsitekstur dalam CNN ini menyerupai urutan-urutan yang terdiri dalam beberapa layer yang dimana disetiap layernya dapat mengubah sebuah isi dengan cara mengaktivasi sebuah fungsi yang dapat mengubah suatu bentuk menjadi bentuk yang lainnya sehingga bentuk tersebut dapat dibedakan. Layer-layer tersebut akan bertumpuk kemudian secara lengkap dapat membentuk arsitektur CNN.
Klasifikasi convolutional network yang paling sederhana memiliki arsitektur yang berurutan. Urutan tersebut berupa:
- INPUT
Misalnya untuk menampung nilai piksel gambar mentah, dengan input yang digunakan [32x32x3] berarti dapat diartikan gambar yang memiliki lebar 32, tinggi 32, dan dengan kedalaman 3 saluran warna yaitu merah, hijau, dan biru.
- CONV Layer
Bagian ini akan menghitung output dalam neuron yang terhubung pada wilayah lokal yang ada dalam input. Kemudian untuk menghasilkan isi seperti [32x32x12] yaitu dengan menggunakan 12 filter, masing-masing layer menghitung produk titik antara bobotnya dan wilayah kecil yang sudah terhubung dalam volume input.
- RELU Layer
Pada bagian ini akan menerapkan fungsi aktivasi yaitu element-wise, seperti pada ambang maksimum (0, x) = maks (0, x) nol. Tetapi fungsi ini tidak merubah ukuran dari isi (tetap [32x32x12]).
- POOL Layer
Bagian ini sepanjang dimensi spasial (lebar dan tinggi) akan melakukan operasi downsampling dengan menghasilkan isi [16x16x12].
- FC Layer
Sama dengan Neural Networks biasa, tiap neuron pada layer ini akan terhubung pada semua angka yang ada di dalam nilai isi sebelumnya. Bagian ini akan menghitung skor kelas yaitu dapat menghasilkan isi Degnan ukuran [1x1x10], di mana setiap 10 angka sesuai dengan skor kelas, seperti diantara 10 kategori.
Disadur dari :
I Dewa Bagus Gde Khrisna Jayanta Nugraha, Abba Suganda Girsang, Klasifikasi Usia Pada Penonton Bioskop Berdasarkan Wajah Dengan Deep Learning. Tesis, Universitas Bina Nusantara, Jakarta. 2021