AI 101
Apa itu CNN (Convolutional Neural Networks)?

Mungkin Anda pernah bertanya-tanya bagaimana Facebook atau Instagram dapat mengenali wajah secara otomatis dalam sebuah gambar, atau bagaimana Google memungkinkan Anda mencari foto serupa di web hanya dengan mengunggah foto Anda sendiri. Fitur-fitur ini adalah contoh dari penglihatan komputer, dan mereka ditenagai oleh jaringan saraf konvolusi (CNNs). Namun, apa sebenarnya jaringan saraf konvolusi itu? Mari kita menyelami arsitektur dari sebuah CNN dan memahami bagaimana mereka beroperasi.
Apa itu Jaringan Saraf?
Sebelum kita membahas tentang jaringan saraf konvolusi, mari kita definisikan terlebih dahulu jaringan saraf biasa. Ada artikel lain tentang topik jaringan saraf yang tersedia, jadi kita tidak akan membahasnya terlalu dalam di sini. Namun, untuk mendefinisikannya secara singkat, mereka adalah model komputasi yang terinspirasi oleh otak manusia. Jaringan saraf beroperasi dengan mengambil data dan memanipulasi data dengan menyesuaikan “bobot”, yang merupakan asumsi tentang bagaimana fitur input terkait dengan kelas objek. Saat jaringan dilatih, nilai bobot disesuaikan dan mereka akan berkembang menjadi bobot yang akurat menggambarkan hubungan antara fitur.
Ini adalah bagaimana jaringan saraf feed-forward beroperasi, dan CNNs terdiri dari dua bagian: jaringan saraf feed-forward dan sekelompok lapisan konvolusi.
Apa itu Jaringan Saraf Konvolusi (CNNs)?
Apa itu “konvolusi” yang terjadi dalam jaringan saraf konvolusi? Konvolusi adalah operasi matematika yang menciptakan sebuah set bobot, secara efektif menciptakan representasi bagian dari gambar. Set bobot ini disebut sebagai kernel atau filter. Filter yang dibuat lebih kecil dari gambar input keseluruhan, hanya menutupi subsection dari gambar. Nilai dalam filter dikalikan dengan nilai dalam gambar. Filter kemudian dipindahkan untuk membentuk representasi bagian baru dari gambar, dan proses ini diulangi sampai gambar keseluruhan telah tercakup.
Cara lain untuk memikirkannya adalah dengan membayangkan sebuah tembok bata, dengan bata yang mewakili piksel dalam gambar input. Sebuah “jendela” sedang digeser ke belakang dan ke depan sepanjang tembok, yang merupakan filter. Bata yang terlihat melalui jendela adalah piksel yang nilainya dikalikan dengan nilai dalam filter. Karena itu, metode ini dalam menciptakan bobot dengan filter sering disebut sebagai teknik “jendela geser”.
Keluaran dari filter yang digeser sepanjang gambar input keseluruhan adalah sebuah array dua dimensi yang mewakili gambar keseluruhan. Array ini disebut sebagai “peta fitur”.
Mengapa Konvolusi Penting
Apa tujuan dari menciptakan konvolusi? Konvolusi diperlukan karena jaringan saraf harus dapat menafsirkan piksel dalam gambar sebagai nilai numerik. Fungsi dari lapisan konvolusi adalah untuk mengubah gambar menjadi nilai numerik yang dapat diinterpretasikan oleh jaringan saraf dan kemudian mengekstrak pola yang relevan dari gambar. Tugas filter dalam jaringan konvolusi adalah untuk menciptakan array dua dimensi nilai yang dapat dilewatkan ke lapisan berikutnya dari jaringan saraf, yang akan belajar pola dalam gambar.
Filter Dan Saluran

Photo: 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. Banyak filter digunakan, karena array yang berbeda yang dibuat oleh filter yang berbeda menghasilkan representasi gambar input yang lebih kompleks dan kaya. Jumlah filter yang umum 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 objek. Dalam gambar grayscale, CNN hanya melihat perbedaan antara hitam dan putih, dari terang ke gelap. Ketika gambar adalah gambar warna, CNN tidak hanya mempertimbangkan gelap dan terang, tetapi juga harus mempertimbangkan tiga saluran warna yang berbeda – merah, hijau, dan biru. Dalam hal ini, filter memiliki 3 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 Jaringan Saraf Konvolusi (CNN)
Mari kita lihat arsitektur lengkap dari jaringan saraf konvolusi. Lapisan konvolusi ditemukan di awal setiap jaringan konvolusi, karena ini 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 banyak lapisan konvolusi berarti bahwa keluaran dari satu lapisan dapat menjalani konvolusi lebih lanjut dan dikelompokkan menjadi pola yang relevan. Secara praktis, ini berarti bahwa saat data gambar melewati lapisan konvolusi, jaringan mulai “mengenali” fitur gambar yang lebih kompleks.
Lapisan awal dari ConvNet bertanggung jawab untuk mengekstrak fitur tingkat rendah, seperti piksel yang membentuk garis sederhana. Lapisan kemudian dari ConvNet akan menggabungkan garis-garis ini menjadi bentuk. Proses ini dari analisis permukaan ke analisis dalam berlanjut sampai ConvNet mengenali bentuk kompleks seperti hewan, wajah manusia, dan mobil.
Setelah data melewati semua lapisan konvolusi, data kemudian masuk ke bagian yang terhubung rapat dari CNN. Lapisan yang terhubung rapat adalah apa yang terlihat seperti jaringan saraf feed-forward tradisional, sebuah seri node yang disusun dalam lapisan yang terhubung satu sama lain. Data melewati lapisan yang terhubung rapat ini, yang belajar pola yang diekstrak oleh lapisan konvolusi, dan dengan demikian jaringan menjadi mampu mengenali objek.












