potongan Apa itu CNN (Jaringan Syaraf Konvolusional)? - Bersatu.AI
Terhubung dengan kami

AI 101

Apa itu CNN (Jaringan Syaraf Konvolusional)?

mm
Updated on

Mungkin Anda bertanya-tanya bagaimana Facebook atau Instagram dapat secara otomatis mengenali wajah dalam sebuah gambar, atau bagaimana Google memungkinkan Anda mencari foto serupa di web hanya dengan mengunggah foto Anda sendiri. Fitur-fitur ini adalah contoh visi komputer, dan didukung oleh jaringan saraf konvolusional (CNN). Namun apa sebenarnya jaringan saraf konvolusional itu? Mari selami lebih dalam arsitektur CNN dan pahami cara kerjanya.

Apa itu Neural Network?

Sebelum kita mulai berbicara tentang jaringan saraf convolutional, mari luangkan waktu sejenak untuk mendefinisikan jaringan saraf biasa. Ada artikel lain pada topik jaringan saraf yang tersedia, jadi kami 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 satu sama lain dan kelas objek. Saat jaringan dilatih, nilai bobot disesuaikan dan diharapkan akan menyatu pada bobot yang secara akurat menangkap hubungan antar fitur.

Beginilah cara kerja jaringan saraf umpan-maju, dan CNN terdiri dari dua bagian: jaringan saraf umpan-maju dan sekelompok lapisan konvolusional.

Apa itu Convolution Neural Networks (CNNs)?

Apa saja “konvolusi” yang terjadi dalam jaringan saraf konvolusional? Konvolusi adalah operasi matematika yang menciptakan sekumpulan bobot, yang pada dasarnya menciptakan representasi bagian-bagian gambar. Kumpulan beban ini disebut sebagai kernel atau filter. Filter yang dibuat lebih kecil dari keseluruhan gambar masukan, hanya mencakup subbagian dari gambar. Nilai dalam filter dikalikan dengan nilai dalam gambar. Filter kemudian dipindahkan untuk membentuk representasi bagian baru dari gambar, dan proses ini diulang sampai seluruh gambar tertutup.

Cara lain untuk memikirkan hal ini adalah dengan membayangkan dinding bata, dengan bata yang mewakili piksel pada gambar masukan. Sebuah "jendela" sedang digeser bolak-balik di sepanjang dinding, yang merupakan filter. Batu bata yang dapat dilihat melalui jendela adalah piksel yang nilainya dikalikan dengan nilai di dalam filter. Untuk alasan ini, metode pembuatan bobot dengan filter ini sering disebut sebagai teknik "jendela geser".

Keluaran dari filter yang dipindahkan ke seluruh gambar masukan adalah larik dua dimensi yang mewakili keseluruhan gambar. Susunan ini disebut a “peta fitur”.

Mengapa Konvolusi Penting

Apa tujuan menciptakan konvolusi? Konvolusi diperlukan karena jaringan saraf harus mampu menginterpretasikan piksel dalam gambar sebagai nilai numerik. Fungsi lapisan konvolusional adalah untuk mengubah gambar menjadi nilai numerik yang dapat diinterpretasikan oleh jaringan saraf dan kemudian mengekstraksi pola yang relevan. Tugas filter dalam jaringan konvolusional adalah membuat susunan nilai dua dimensi yang dapat diteruskan ke lapisan selanjutnya dari jaringan saraf, yang akan mempelajari pola pada gambar.

Filter dan Saluran

Foto: cecebur via Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Convolutional_Neural_Network_NeuralNetworkFeatureLayers.gif)

CNN tidak hanya menggunakan satu filter untuk mempelajari pola dari gambar masukan. Beberapa filter digunakan, karena array berbeda yang dibuat oleh filter berbeda mengarah ke representasi gambar input yang lebih kompleks dan kaya. Jumlah umum filter untuk CNN adalah 32, 64, 128, dan 512. Semakin banyak filter, semakin banyak peluang CNN untuk memeriksa data input dan mempelajarinya.

CNN menganalisis perbedaan nilai piksel untuk menentukan batas objek. Dalam gambar skala abu-abu, CNN hanya akan melihat perbedaan dalam istilah hitam putih, terang ke gelap. Ketika gambar adalah gambar berwarna, CNN tidak hanya memperhitungkan gelap dan terang, tetapi juga harus memperhitungkan tiga saluran warna yang berbeda - merah, hijau, dan biru. Dalam hal ini, filter memiliki 3 saluran, seperti halnya gambar itu sendiri. Jumlah saluran yang dimiliki filter disebut sebagai kedalamannya, dan jumlah saluran dalam filter harus sesuai dengan jumlah saluran dalam gambar.

Jaringan Neural Konvolusional (CNN) Arsitektur

Mari kita lihat arsitektur lengkapnya jaringan saraf konvolusional. Lapisan convolutional ditemukan di awal setiap jaringan convolutional, karena diperlukan untuk mengubah data gambar menjadi array numerik. Namun, lapisan konvolusional juga dapat muncul setelah lapisan konvolusional lainnya, artinya lapisan ini dapat ditumpuk satu sama lain. Memiliki banyak lapisan konvolusional berarti keluaran dari satu lapisan dapat mengalami konvolusi lebih lanjut dan dikelompokkan bersama dalam pola yang relevan. Secara praktis, ini berarti bahwa saat data gambar diproses melalui lapisan konvolusional, jaringan mulai "mengenali" fitur gambar yang lebih kompleks.

Lapisan awal ConvNet bertanggung jawab untuk mengekstraksi fitur tingkat rendah, seperti piksel yang membentuk garis sederhana. Lapisan ConvNet selanjutnya akan menggabungkan garis-garis ini menjadi bentuk. Proses perpindahan dari analisis tingkat permukaan ke analisis tingkat dalam berlanjut hingga ConvNet mengenali bentuk kompleks seperti hewan, wajah manusia, dan mobil.

Setelah data melewati semua lapisan konvolusional, data diteruskan ke bagian CNN yang terhubung dengan rapat. Lapisan yang terhubung secara padat adalah seperti apa jaringan saraf feed-forward tradisional, serangkaian node yang disusun menjadi lapisan yang terhubung satu sama lain. Data diproses melalui lapisan yang terhubung secara padat ini, yang mempelajari pola yang diekstraksi oleh lapisan konvolusional, dan dengan demikian jaringan menjadi mampu mengenali objek.