Jaringan neural konvolusional (CNN) adalah jenis jaringan neural buatan yang dirancang khusus untuk menganalisis data visual. Terinspirasi oleh sistem visual kita sendiri, CNN belajar 'melihat' dunia dengan mengidentifikasi pola dalam data visual. Namun, keunggulan utamanya bukan hanya melihat gambar, melainkan mengenali pola dalam data apa pun dengan struktur seperti grid, mulai dari spektrogram audio hingga pemindaian medis 3D.
CNN memproses gambar input dengan meneruskannya melalui beberapa lapisan. Lapisan awal mengidentifikasi fitur sederhana seperti garis dan tepi, sedangkan lapisan yang lebih dalam mengenali pola, bentuk, dan akhirnya, seluruh objek yang lebih kompleks. Metode ekstraksi fitur secara hierarkis inilah yang membuat CNN sangat efektif untuk pengenalan citra dan tugas computer vision lainnya.
Anggap CNN sebagai tim spesialis yang menganalisis foto untuk mengidentifikasi suatu objek. Setiap lapisan memiliki tugas tertentu dalam lini perakitan pengenalan.
1. Lapisan konvolusional: pemindai fitur
Ini adalah kelompok spesialis pertama. Setiap gambar diberi satu fitur sederhana untuk dicari, seperti garis lurus, kurva, atau warna tertentu. Kelompok tersebut menggeser kaca pembesar kecil (disebut "filter") di atas seluruh gambar dan membuat catatan setiap kali menemukan fitur yang ditetapkan. Hal ini akan membuat serangkaian "peta fitur", yang pada dasarnya adalah peta lokasi fitur dasar.
2. Lapisan aktivasi (ReLU): filter signifikansi
Setelah pemindaian awal, administrator (fungsi ReLU) meninjau peta fitur. Tugasnya sederhana: mempertahankan sinyal yang kuat dan membuang sinyal yang lemah. Fungsi ini memperkenalkan non-linearitas, sehingga hanya fitur yang paling penting dan teridentifikasi jelas yang diteruskan untuk analisis lebih lanjut. Hal ini mencegah derau yang menghambat proses.
3. Lapisan penggabungan: perangkum
Lapisan penggabungan bertindak seperti pengelola regional. Alih-alih melihat setiap detail, lapisan penggabungan meringkas temuan dari bagian kecil peta fitur. Misalnya, lapisan "max pooling" akan melihat area 2x2 dari peta fitur dan hanya melaporkan sinyal terkuat. Hal ini mengurangi ukuran data secara keseluruhan, sehingga membuat jaringan lebih efisien dan membantu mengenali objek di mana pun objek tersebut muncul dalam frame (konsep yang disebut "invariansi translasi").
4. Lapisan terhubung sepenuhnya: detektif utama
Setelah beberapa kali pemindaian dan ringkasan, laporan fitur akhir diteruskan ke detektif kepala. Lapisan ini melihat kombinasi fitur tingkat tinggi ("memiliki kumis", "memiliki telinga runcing", "memiliki tekstur bulu") dan membuat keputusan akhir. Lapisan ini menghubungkan semua temuan yang diringkas untuk menarik kesimpulan, seperti, "Berdasarkan semua bukti, objek dalam gambar ini adalah kucing." Hasilnya kemudian diteruskan ke lapisan output akhir (seperti softmax) yang memberikan probabilitas untuk setiap kemungkinan klasifikasi.
Meskipun jaringan neural konvolusional dan tradisional dirancang untuk memproses data dan membuat prediksi, keduanya memiliki perbedaan signifikan dalam arsitektur, aplikasi, dan fitur utama lainnya.
Fitur | Jaringan neural konvolusional (CNN) | Jaringan neural tradisional |
Arsitektur inti | Terdiri dari lapisan konvolusional, lapisan aktivasi, lapisan penggabungan, dan lapisan terhubung sepenuhnya. | Sebagian besar terdiri dari lapisan terhubung sepenuhnya (padat). |
Jenis data input | Paling cocok untuk data terstruktur seperti grid (misalnya, gambar, video, urutan 1D seperti teks). | Fleksibel untuk berbagai jenis data, biasanya data tabulasi atau vektor yang diratakan. |
Ekstraksi fitur | Secara otomatis mempelajari fitur hierarkis (tepi, tekstur, bentuk) melalui filter. | Mempelajari fitur melalui koneksi langsung, sering kali kurang efektif dalam feature learning spasial. |
Hubungan spasial | Secara eksplisit mempertahankan dan memanfaatkan hubungan spasial (misalnya, kedekatan piksel dalam gambar). | Memperlakukan setiap fitur input secara independen; hubungan spasial hilang jika input diratakan. |
Berbagi parameter | Ya, bobot (filter/kernel) digunakan bersama di berbagai lokasi dalam input. | Tidak, setiap koneksi memiliki bobot uniknya sendiri. |
Jumlah parameter | Umumnya parameter lebih sedikit karena pembagian bobot dan penggabungan, terutama untuk input berdimensi tinggi seperti gambar. | Dapat memiliki jumlah parameter yang sangat besar, terutama untuk input berdimensi tinggi. |
Invariansi translasi | Secara inheren bagus dalam mengenali fitur terlepas dari posisi pastinya dalam input. | Lebih sensitif terhadap perubahan fitur input kecuali jika dilatih secara eksplisit pada data yang diperkaya. |
Efisiensi komputasional | Lebih efisien untuk data gambar/spasial karena parameter yang lebih sedikit dan operasi khusus. | Dapat menjadi mahal secara komputasi untuk input berdimensi tinggi karena koneksi yang padat. |
Aplikasi utama | Klasifikasi gambar, deteksi objek, segmentasi gambar, analisis video, pencitraan medis, beberapa tugas NLP. | Klasifikasi/regresi data tabulasi, pengenalan pola sederhana, aproksimasi fungsi, beberapa NLP. |
Keunggulan utama | Sangat baik untuk data visual, mempelajari fitur hierarkis, invariansi translasi, parameter yang dikurangi, lebih kecil kemungkinannya untuk overfitting pada data gambar. | Fleksibel untuk berbagai jenis data, bagus untuk data tabulasi non-spasial, lebih mudah dipahami secara konseptual untuk tugas dasar. |
Keterbatasan kunci | Desainnya bisa rumit, biasanya memerlukan set data besar untuk pelatihan, kurang efektif untuk data tabulasi non-spasial. | Tidak ideal untuk data spasial berdimensi tinggi, mengabaikan hubungan spasial, rentan terhadap overfitting dengan banyak parameter pada input yang kompleks. |
Fitur
Jaringan neural konvolusional (CNN)
Jaringan neural tradisional
Arsitektur inti
Terdiri dari lapisan konvolusional, lapisan aktivasi, lapisan penggabungan, dan lapisan terhubung sepenuhnya.
Sebagian besar terdiri dari lapisan terhubung sepenuhnya (padat).
Jenis data input
Paling cocok untuk data terstruktur seperti grid (misalnya, gambar, video, urutan 1D seperti teks).
Fleksibel untuk berbagai jenis data, biasanya data tabulasi atau vektor yang diratakan.
Ekstraksi fitur
Secara otomatis mempelajari fitur hierarkis (tepi, tekstur, bentuk) melalui filter.
Mempelajari fitur melalui koneksi langsung, sering kali kurang efektif dalam feature learning spasial.
Hubungan spasial
Secara eksplisit mempertahankan dan memanfaatkan hubungan spasial (misalnya, kedekatan piksel dalam gambar).
Memperlakukan setiap fitur input secara independen; hubungan spasial hilang jika input diratakan.
Berbagi parameter
Ya, bobot (filter/kernel) digunakan bersama di berbagai lokasi dalam input.
Tidak, setiap koneksi memiliki bobot uniknya sendiri.
Jumlah parameter
Umumnya parameter lebih sedikit karena pembagian bobot dan penggabungan, terutama untuk input berdimensi tinggi seperti gambar.
Dapat memiliki jumlah parameter yang sangat besar, terutama untuk input berdimensi tinggi.
Invariansi translasi
Secara inheren bagus dalam mengenali fitur terlepas dari posisi pastinya dalam input.
Lebih sensitif terhadap perubahan fitur input kecuali jika dilatih secara eksplisit pada data yang diperkaya.
Efisiensi komputasional
Lebih efisien untuk data gambar/spasial karena parameter yang lebih sedikit dan operasi khusus.
Dapat menjadi mahal secara komputasi untuk input berdimensi tinggi karena koneksi yang padat.
Aplikasi utama
Klasifikasi gambar, deteksi objek, segmentasi gambar, analisis video, pencitraan medis, beberapa tugas NLP.
Klasifikasi/regresi data tabulasi, pengenalan pola sederhana, aproksimasi fungsi, beberapa NLP.
Keunggulan utama
Sangat baik untuk data visual, mempelajari fitur hierarkis, invariansi translasi, parameter yang dikurangi, lebih kecil kemungkinannya untuk overfitting pada data gambar.
Fleksibel untuk berbagai jenis data, bagus untuk data tabulasi non-spasial, lebih mudah dipahami secara konseptual untuk tugas dasar.
Keterbatasan kunci
Desainnya bisa rumit, biasanya memerlukan set data besar untuk pelatihan, kurang efektif untuk data tabulasi non-spasial.
Tidak ideal untuk data spasial berdimensi tinggi, mengabaikan hubungan spasial, rentan terhadap overfitting dengan banyak parameter pada input yang kompleks.
CNN telah mentransformasi computer vision, sehingga mesin dapat "melihat" dan memahami gambar secara akurat. Kemampuannya untuk mempelajari representasi data visual hierarkis telah menghasilkan kemajuan besar dalam berbagai tugas computer vision, termasuk:
Klasifikasi gambar, tugas inti computer vision, melibatkan pelabelan seluruh gambar berdasarkan kontennya. CNN unggul dalam hal ini, dan mencapai hasil terbaik pada set data seperti ImageNet. Kemampuan mereka untuk mempelajari fitur kompleks dari data piksel mentah membuat mereka sangat efektif dalam mengenali objek, adegan, dan bahkan emosi dalam gambar.
Deteksi objek melampaui klasifikasi dengan mengidentifikasi objek dalam gambar dan menentukan lokasinya. CNN sangat penting dalam algoritma deteksi objek, yang memungkinkan aplikasi seperti mobil self-driving untuk memahami lingkungannya, robot untuk menavigasi lingkungan yang kompleks, dan sistem keamanan untuk mendeteksi ancaman.
Penerapan CNN tidak hanya terbatas pada tugas terkait gambar. Kemampuanya dalam mempelajari hierarki spasial fitur membuatnya berharga di berbagai bidang, termasuk:
Google Cloud menyediakan ekosistem lengkap untuk menerapkan CNN, baik Anda memerlukan solusi siap pakai maupun platform canggih untuk membangun solusi Anda sendiri.
Untuk kemampuan visi terlatih: Jika Anda perlu menambahkan fitur visi yang canggih ke aplikasi tanpa membangun model dari awal, layanan seperti Vision AI menyediakan akses ke model berbasis CNN melalui API sederhana untuk tugas seperti deteksi objek dan pengenalan teks. Demikian pula, Document AI menggunakan CNN untuk memahami dan mengekstrak data dari dokumen yang kompleks.
Untuk membangun, melatih, dan men-deploy model kustom: Jika Anda perlu melatih CNN pada data Anda sendiri, Vertex AI menyediakan platform terpadu. Vertex AI mengelola seluruh siklus proses ML, mulai dari persiapan dan pelatihan data hingga deployment dan pemantauan model CNN kustom Anda dalam skala besar.
Untuk mempercepat pelatihan berperforma tinggi: Pelatihan CNN besar dan canggih memerlukan komputasi intensif. Cloud TPU adalah akselerator hardware yang dirancang khusus oleh Google untuk mempercepat pelatihan model deep learning, sehingga Anda dapat berinovasi lebih cepat.
Mulailah membangun solusi di Google Cloud dengan kredit gratis senilai $300 dan lebih dari 20 produk yang selalu gratis.