Kira-kira belasan tahun yang lalu saya mencoba menggunakan neural network untuk mengenali sebuah pola, misalnya tanda tangan. Beberapa referensi yang saya rujuk menggunakan metode menurunkan resoluse agar bisa diolah di komputer. Hal ini dilakukan karena sebuah objek citra harus dikonversi menjadi vektor yang tadinya matriks 2D. Tentu saja mengurangi resolusi mengakibatkan akurasi yang turun drastis. Namun beberapa tahun kemudian, deep learning diperkenalkan untuk mengatasi hal ini, salah satu tekniknya adalah Convolutional Neural Network (CNN).
Banyak sumber-sumber belajar deep learning di internet. Untuk pemula ada baiknya mencari sumber yang ringan dulu, biasanya disertai dengan simulasi dan durasinya yang kurang dari 10 menit agar tidak lelah, contohnya link youtube ini (https://www.youtube.com/watch?v=oI2rvjbzVmI).
Convolutional
Inti dari CNN selain dari neural network adalah prinsip convolutional, prinsip statistik yang dimanfaatkan untuk preprocessing di layer-layer awal CNN. Jika dulu saya gagal mereduksi neural network karena langsung mereduksi, pada CNN dengan layer convolutional di awal, fitur dapat diekstraksi ciri-nya lewat mekanisme filter. Filter yang digunakan pun lebih dari satu untuk menghasilkan ekstrasi ciri yang baik. Tentu saja ada istilah-istilah khusus pada tahap ini, baik dari cara memproses maupun sekedar istilah-istilahnya.
Pooling
Pooling di sini bermaksud mereduksi ukuran citra hasil convolution agar proses lebih cepat. Bayangkan satu citra berukuran 100×100 piksel maka jika akan diolah oleh neural network akan dikonversi menjadi array berukuran 10000 yang jika diolah dengan komputer langsung hang. Untuk mereduksi, Pooling bekerja dengan mekanisme baik mengambil nilai tertinggi dalam satu matriks ukuran tertentu (max pooling), misalnya 3×3, atau dengan mencari rerata dari matriks itu.
Fully Connected
Ini merupakan metode yang dipakai dalam neural network. Bedanya di sini karena mekanisme convolutional ada beberapa citra hasil filtrasi (jika lebih dari satu filter). Satu hal yang unik dari CNN adalah penggunakan fungsi softmax di akhir proses yang berisi angka-angka probabilitas. Nilai tertinggi merepresentasikan kelas terpilih hasil klasifikasi. Salah satu manfaat dari banyaknya sumber belajar di internet adalah kita bisa memilih mana satu sumber yang cocok dengan style kita. Jika di satu ebook/video/blog kurang dimengerti, segera cari sumber lain. Sekian, selamat belajar deep learning.