Mengenal Algoritma Convolutional Neural Network (CNN) Pada Klasifikasi Citra
Daftar Isi
Perlu diketahui kembali, prinsip dasar machine learning adalah menggunakan data untuk membuat model statistik dan membuat prediksi masa depan berdasarkan data input masa lalu atau mempelajari pola yang terdapat di dalam data. Kemampuan modifikasi serta adaptasi dalam merespon perubahan data merupakan keunggulan dari machine learning.
Convolutional Neural Network (CNN) merupakan salah satu penerapan Deep Learning. Dilihat dari arsitekturnya, CNN termasuk ke dalam kelas deep feedforward Artificial Intelligence. Convolutional Neural Network adalah neural network yang didesain untuk mengolah data dua dimensi. Metode CNN terdiri dari dua metode yaitu klasifikasi yang menggunakan feedforward dan tahap pembelajarannya menggunakan backpropagation. Prinsip kerja dari metode ini mempunyai kesamaan pada metode MLP, tetapi di dalam metode CNN setiap neuronnya disajikan dalam bentuk dua dimensi yang mana tidak sama seperti pada metode MLP yang setiap neuron hanya memiliki ukuran satu dimensi.
Algoritma Convolutional Neural Network (CNN) Pada Klasifikasi Citra
Baca juga : Klasifikasi Citra Menggunakan Transfer Learning dan CNN
CNN mempunyai beberapa layer yang digunakan untuk melakukan filter pada setiap prosesnya. Arsitektur CNN terdiri dari, satu lapis input layer, satu lapis output layer, dan beberapa hidden layers. Lapis tersembunyi pada umumnya berisi convolutional layers, pooling layers, ReLU layer, normalization layers, fully connected layers, dan loss layer. Semua lapisan tersebut disusun secara bertumpuk, seperti sandwich.
Berikut layer pada algoritma CNN:
Convolutional Layer
Convolutional Layer merupakan lapisan pertama yang menerima input pada arsitektur. Lapisan ini merupakan bagian yang menggabungkan filter linier dan area lokal untuk melakukan operasi konvolusi. Bentuk dari lapisan ini adalah sebuah filter dengan panjang (pixel), lebar (pixel) dan tebal tergantung pada channel image data yang diinputkan. Ketiga filter ini akan bergeser ke seluruh bagian gambar. Pergeseran tersebut akan melakukan operasi “dot” antara input dan nilai filter, yang menghasilkan output yang disebut activation map (feature map).
Pooling Layer
Pooling layer merupakan tahapan setelah Convolutional Layer. Pooling Layer terdiri dari filter dengan ukuran dan stride tertentu. Pada setiap pergeseran yang dilakukan tergantung pada jumlah stride yang akan digeser pada seluruh area activation map. Pooling layer yang paling umum digunakan adalah max pooling dan average pooling. Apabila menggunakan Max Pooling 2×2 dengan Stride 2, maka pada setiap pergeseran filter, nilai yang diambil adalah nilai yang terbesar. Sedangkan Average Pooling akan mengambil nilai rata-rata.
Baca juga : Klasifikasi Motif Batik dengan Menggunakan Algoritma Deep Learning
Aktivasi RelU
Rectified Linear Unit (ReLU) adalah fungsi aktivasi untuk memberikan kemampuan network agar dapat melakukan tugas-tugas non-linear. Pada layer ini tidak akan mempengaruhi bidang reseptif convolutional layer.
Aktifasi Softmax
Aktivasi Softmax adalah bentuk lain dari algoritma Logistic Regression yang dapat digunakan untuk mengklasifikasi tiga kelas atau lebih. Standar klasifikasi yang umum yang digunakan adalah klasifikasi kelas biner.
Baca juga : Klasifikasi Citra BioMedical dengan Machine Learning
Fully Connected Layer
Fully Connected Layer untuk mentransformasikan dimensi data sehingga dapat diklasifikasikan secara linier. Fully connected layer menerima input dari hasil output pooling layer dalam bentuk feature map. Karena feature map masih dalam bentuk array multidimensional maka akan dilakukan reshape feature map dan menghasilkan vektor sebanyak n-dimensi, dimana n adalah jumlah kelas output yang harus dipilih program.
Salah satu model CNN yang sering digunakan adalah MobileNetV2. Arsitektur MobileNet adalah jaringan saraf convolutional ringan yang diusulkan oleh tim Google pada tahun 2017, dengan fokus pada perangkat seluler atau tertanam. MobileNetV2 merupakan pengembangan dari MobileNetV1, menggunakan teknik konvolusi kedalaman terpisah atau depthwise separable convolution (DSP) dengan memperkenalkan inverted residuals dan linear bottlenecks. Pada bagian input dan output antara model dalam komponen bottleneck berfungsi merubah konsep dari rendah menjadi tinggi. Secara bersamaan, lapisan dalam merangkum fungsi model untuk mengubah input dari konsep tingkat yang lebih rendah (piksel) ke deskriptor tingkat yang lebih tinggi (klasifikasi gambar). Jadi, seperti koneksi residual dalam arsitektur CNN tradisional, diantara bottleneck akan membuat proses pelatihan lebih cepat dan dengan akurasi yang lebih baik.
Semoga bermanfaat!!