Apa itu jaringan neural konvolusional?

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.

Bagaimana cara kerja jaringan neural konvolusional?

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.

Lapisan CNN

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.

CNN versus jaringan neural tradisional

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 dan computer vision

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

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

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

Penerapan CNN tidak hanya terbatas pada tugas terkait gambar. Kemampuanya dalam mempelajari hierarki spasial fitur membuatnya berharga di berbagai bidang, termasuk:

  • Natural language processing: CNN dapat menganalisis teks dengan memperlakukan kalimat sebagai "gambar" satu dimensi yang setiap kata atau karakternya adalah sebuah fitur. Hal ini memungkinkan CNN mengidentifikasi pola dan hubungan dalam data teks, sehingga berguna untuk tugas seperti analisis sentimen (mengklasifikasikan teks sebagai positif, negatif, atau netral) dan penerjemahan bahasa (memetakan kalimat dari satu bahasa ke bahasa lain).
  • Analisis gambar medis: Dalam layanan kesehatan, CNN dapat dilatih dengan set data besar gambar medis (sinar-X, MRI, CT scan) untuk mendeteksi pola dan anomali halus yang mengindikasikan penyakit. CNN dapat membantu radiolog dalam tugas seperti mendeteksi tumor dalam mamogram, mengidentifikasi fraktur dalam sinar-X, atau mensegmentasi organ dalam pemindaian CT, sehingga meningkatkan akurasi dan efisiensi diagnosis, serta membantu perencanaan perawatan yang dipersonalisasi.
  • Penemuan obat: CNN berpotensi mempercepat penemuan obat dengan menganalisis struktur molekuler. Dengan mempelajari hubungan antara struktur molekul dan propertinya, CNN dapat memprediksi efikasi, toksisitas, dan karakteristik lain dari kandidat obat potensial. Penyaringan "in silico" dari koleksi kimia yang luas ini dapat mengurangi waktu dan biaya yang terkait dengan metode penemuan obat tradisional.
  • Pemodelan keuangan: Dengan kemampuannya menganalisis data berurutan, CNN juga cocok untuk penggunaan di bidang keuangan. Dengan memperlakukan data keuangan deret waktu (harga saham, nilai tukar mata uang, indikator ekonomi) sebagai "gambar" satu dimensi, CNN dapat mengidentifikasi tren, pola, dan anomali yang mungkin terlewatkan oleh metode statistik tradisional. Hal ini dapat membantu lembaga keuangan membuat keputusan investasi yang lebih tepat, memprediksi volatilitas pasar, dan mengelola risiko dengan lebih efektif.

Menggunakan CNN dengan Google Cloud

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.

Langkah selanjutnya

Mulailah membangun solusi di Google Cloud dengan kredit gratis senilai $300 dan lebih dari 20 produk yang selalu gratis.