Dasar-dasar AI
Apa itu CNN (Convolutional Neural Networks)?
Mungkin Anda pernah bertanya-tanya bagaimana Facebook (META ) atau Instagram dapat mengenali wajah secara otomatis dalam sebuah gambar, atau bagaimana Google (GOOGL ) memungkinkan Anda mencari foto serupa di web hanya dengan mengunggah foto Anda sendiri. Fitur-fitur ini adalah contoh dari computer vision, dan mereka ditenagai oleh convolutional neural networks (CNNs). Namun, apa sebenarnya convolutional neural networks? Mari kita jelajahi arsitektur CNN dan memahami bagaimana mereka bekerja.
Apa itu Neural Networks?
Sebelum kita membahas tentang convolutional neural networks, mari kita definisikan terlebih dahulu apa itu neural network. Ada artikel lain tentang topik neural networks yang tersedia, jadi kita tidak akan membahasnya secara mendalam di sini. Namun, untuk memahami secara singkat, mereka adalah model komputasi yang terinspirasi oleh otak manusia. Neural network bekerja dengan mengambil data dan memanipulasi data dengan menyesuaikan “weights”, yang merupakan asumsi tentang bagaimana fitur input terkait dengan kelas objek. Saat jaringan dilatih, nilai-nilai weights disesuaikan dan mereka akan berkembang menjadi weights yang akurat yang menangkap hubungan antara fitur.
Ini adalah bagaimana feed-forward neural network bekerja, dan CNNs terdiri dari dua bagian: feed-forward neural network dan sekelompok lapisan konvolusi.
Apa itu Convolution Neural Networks (CNNs)?
Apa itu “konvolusi” yang terjadi dalam convolutional neural network? Konvolusi adalah operasi matematika yang menciptakan sebuah set weights, yang pada dasarnya menciptakan representasi dari bagian-bagian gambar. Set weights ini disebut sebagai kernel atau filter. Filter yang dibuat lebih kecil dari gambar input keseluruhan, meliputi hanya subsection dari gambar. Nilai-nilai dalam filter dikalikan dengan nilai-nilai dalam gambar. Filter kemudian dipindahkan untuk membentuk representasi dari bagian baru gambar, dan proses ini diulangi sampai gambar keseluruhan telah diliput.
Cara lain untuk memahami ini adalah dengan membayangkan sebuah tembok bata, dengan bata-bata yang mewakili piksel dalam gambar input. Sebuah “jendela” sedang digeser ke belakang dan ke depan sepanjang tembok, yang merupakan filter. Bata-bata yang terlihat melalui jendela adalah piksel yang nilainya dikalikan dengan nilai-nilai dalam filter. Oleh karena itu, metode ini sering disebut sebagai “sliding windows” technique.
Hasil dari filter yang digeser sepanjang gambar input keseluruhan adalah sebuah array dua dimensi yang mewakili gambar keseluruhan. Array ini disebut sebagai “feature map”.
Mengapa Konvolusi Penting
Apa tujuan dari menciptakan konvolusi? Konvolusi diperlukan karena neural network harus dapat menafsirkan piksel dalam gambar sebagai nilai numerik. Fungsi dari lapisan konvolusi adalah untuk mengubah gambar menjadi nilai numerik yang dapat ditafsirkan oleh neural network dan kemudian mengekstrak pola yang relevan. Tugas dari filter dalam jaringan konvolusi adalah untuk menciptakan array dua dimensi nilai yang dapat dilewatkan ke lapisan-lapisan berikutnya dari neural network, yang akan belajar pola dalam gambar.
Filter dan Channel

Foto: cecebur via Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Convolutional_Neural_Network_NeuralNetworkFeatureLayers.gif)
CNNs tidak menggunakan hanya satu filter untuk belajar pola dari gambar input. Beberapa filter digunakan, karena array yang dihasilkan oleh filter yang berbeda menghasilkan representasi yang lebih kompleks dan kaya dari gambar input. Jumlah filter yang umum digunakan untuk CNNs adalah 32, 64, 128, dan 512. Semakin banyak filter, semakin banyak kesempatan CNN untuk memeriksa data input dan belajar dari itu.
CNN menganalisis perbedaan nilai piksel untuk menentukan batas-batas objek. Dalam gambar grayscale, CNN hanya mempertimbangkan perbedaan antara hitam dan putih, terang dan gelap. Ketika gambar adalah gambar warna, CNN tidak hanya mempertimbangkan gelap dan terang, tetapi juga harus mempertimbangkan tiga saluran warna – merah, hijau, dan biru. Dalam hal ini, filter memiliki tiga saluran, sama seperti gambar itu sendiri. Jumlah saluran yang dimiliki filter disebut sebagai kedalaman, dan jumlah saluran dalam filter harus sesuai dengan jumlah saluran dalam gambar.
Arsitektur Convolutional Neural Network (CNN)
Mari kita lihat arsitektur lengkap dari convolutional neural network. Lapisan konvolusi ditemukan di awal setiap jaringan konvolusi, karena diperlukan untuk mengubah data gambar menjadi array numerik. Namun, lapisan konvolusi juga dapat datang setelah lapisan konvolusi lain, yang berarti bahwa lapisan-lapisan ini dapat ditumpuk di atas satu sama lain. Memiliki beberapa lapisan konvolusi berarti bahwa output dari satu lapisan dapat menjalani konvolusi lebih lanjut dan dikelompokkan dalam pola yang relevan. Secara praktis, ini berarti bahwa saat data gambar melewati lapisan konvolusi, jaringan mulai “mengenali” fitur yang lebih kompleks dari gambar.
Lapisan awal dari ConvNet bertanggung jawab untuk mengekstrak fitur tingkat rendah, seperti piksel yang membentuk garis sederhana. Lapisan-lapisan berikutnya dari ConvNet akan menggabungkan garis-garis ini menjadi bentuk. Proses ini berlanjut sampai ConvNet mengenali bentuk yang kompleks seperti hewan, wajah manusia, dan mobil.
Setelah data melewati semua lapisan konvolusi, maka masuk ke bagian yang terhubung secara padat dari CNN. Lapisan-lapisan yang terhubung secara padat adalah apa yang terlihat seperti jaringan neural feed-forward tradisional, sebuah seri node yang disusun dalam lapisan yang terhubung satu sama lain. Data melewati lapisan-lapisan yang terhubung secara padat ini, yang belajar pola yang diekstrak oleh lapisan konvolusi, dan dengan demikian jaringan menjadi mampu mengenali objek.












