Panduan Pemula untuk Convolutional Neural Networks (CNN): Penjelasan Langkah demi Langkah

Diterbitkan: 2022-06-06

Deep Learning telah memfasilitasi berbagai pendekatan untuk visi komputer, komputasi kognitif, dan pemrosesan data visual yang disempurnakan. Salah satu contohnya adalah penggunaan CNN atau Convolutional Neural Networks untuk klasifikasi objek atau gambar. Algoritma CNN memberikan keuntungan besar dalam klasifikasi berbasis visual dengan memungkinkan mesin untuk melihat dunia di sekitar mereka (dalam bentuk piksel) seperti yang dilakukan manusia.

CNN pada dasarnya adalah algoritma pengenalan yang memungkinkan mesin menjadi cukup terlatih untuk memproses, mengklasifikasikan, atau mengidentifikasi banyak parameter dari data visual melalui lapisan. Ini mempromosikan identifikasi objek dan klasifikasi gambar tingkat lanjut dengan memungkinkan mesin atau perangkat lunak untuk secara akurat mengidentifikasi objek yang diperlukan dari data input.

Sistem berbasis CNN belajar dari data pelatihan berbasis gambar dan dapat mengklasifikasikan gambar input atau data visual masa depan berdasarkan model pelatihannya. Selama dataset yang digunakan untuk pelatihan berisi berbagai isyarat visual yang berguna (data spasial), pengklasifikasi gambar atau objek akan sangat akurat.

CNN adalah salah satu pendekatan pembelajaran mendalam paling populer yang digunakan saat ini dalam implementasi populer seperti sistem klasifikasi gambar Google Lens atau dalam kendaraan otonom seperti Teslas. Ini terutama karena pengenalan pola yang andal yang dimungkinkan dengan bantuan CNN, selain deteksi objek.

Pelajari Pembelajaran Mesin online dari Universitas top dunia – Magister, Program Pascasarjana Eksekutif, dan Program Sertifikat Tingkat Lanjut di ML & AI untuk mempercepat karier Anda.

Daftar isi

Aplikasi CNN

Penggunaan sistem berbasis CNN dapat dilihat pada sistem keamanan, sistem pertahanan, diagnostik medis, analisis citra, klasifikasi media dan perangkat lunak pengenalan lainnya. Misalnya, CNN dapat digunakan dengan RNN (Recurrent Neural Network) untuk membangun perangkat lunak pengenalan video atau pengenal tindakan.

Ini adalah aplikasi klasifikasi video yang lebih canggih yang memungkinkan sistem mengidentifikasi objek secara real-time dari video dengan menganalisis informasi spasial yang tersedia dalam bingkai yang secara berurutan membentuk video.

Urutan frame ini juga berisi informasi temporal yang membantu memodelkan data melalui pemrosesan spasial dan temporal, memungkinkan penggunaan arsitektur hibrid yang terdiri dari konvolusi dan lapisan berulang. Mobil Tesla dan kendaraan Waymo menggunakan CNN untuk mengenali dan mengklasifikasikan berbagai aspek jalan dan objek atau kendaraan yang masuk dengan bantuan data yang ditangkap oleh kamera secara real-time.

Jelajahi kursus kami tentang Pembelajaran Mesin & Kecerdasan Buatan

Sertifikasi Lanjutan dalam Pembelajaran Mesin dan Cloud dari IITM Master of Science dalam Pembelajaran Mesin & AI dari LJMU Program Pascasarjana Eksekutif dalam Pembelajaran Mesin & AI dari IITB
Program Sertifikat Tingkat Lanjut dalam Pembelajaran Mesin & NLP dari IIITB Program Sertifikat Tingkat Lanjut dalam Pembelajaran Mesin & Pembelajaran Mendalam dari IIITB Program Sertifikat Tingkat Lanjut dalam AI untuk Manajer dari IITR

Jaringan saraf memberdayakan sistem kendaraan dengan deteksi garis, segmentasi lingkungan, navigasi, dan mengemudi otomatis. Kemampuan ini memungkinkan mobil otonom untuk membuat keputusan kompleks berdasarkan pola klasifikasi seperti menghindari objek, mengubah jalur, mempercepat, memperlambat atau benar-benar berhenti dengan mengerem jika diperlukan.

Namun, ini adalah implementasi CNN yang lebih canggih yang memerlukan perangkat keras dan sensor seperti GPS, RADAR, LiDAR serta sejumlah besar data pelatihan dan lingkungan pemrosesan berkinerja tinggi. Ini membantu model pembelajaran mendalam menjadi sistem pengambilan keputusan yang memproses data yang masuk dari sensor secara real-time dan mengambil tindakan yang relevan.

Menggunakan data dari sensor, penglihatan kamera juga menghasilkan persepsi 3D lingkungan (rekonstruksi visual, analisis kedalaman, dll.) dan dapat menganalisis jarak secara akurat (melalui laser). Dengan demikian, model dapat memprediksi posisi kendaraan atau objek di masa depan, akhirnya memutuskan tindakan terbaik.

Model CNN mengandalkan klasifikasi, segmentasi, lokalisasi dan kemudian membangun prediksi. Hal ini memungkinkan mobil-mobil ini untuk hampir bereaksi seperti otak manusia dalam situasi tertentu atau kadang-kadang bahkan lebih efektif daripada pengemudi manusia.

CNN benar-benar menjembatani kesenjangan antara mesin dan manusia, terutama dalam hal visi komputer dan deteksi target. Namun, untuk memahami CNN, pertama-tama kita harus belajar tentang jaringan saraf dan mulai menggunakan algoritma CNN untuk data visual dua dimensi.

Apa itu Jaringan Saraf dalam Pembelajaran Mendalam?

Deep Learning adalah salah satu cabang terpenting dari Machine Learning dan menggunakan JST atau Jaringan Syaraf Tiruan (JST) untuk diimplementasikan sebagai metodologi Machine Learning yang diawasi, tidak diawasi, atau semi-diawasi. Jenis model Pembelajaran Mesin ini mengandalkan beberapa lapisan pemrosesan untuk bekerja pada fitur tingkat yang lebih tinggi dalam data.

Layer pada dasarnya adalah beberapa node atau blok yang ditumpuk bersama sebagai unit komputasi. Lapisan ini secara efektif meniru neuron manusia dan berfungsi dengan cara yang sama seperti otak manusia. Dengan membangun lapisan secara progresif, sebuah model dapat menjadi jauh lebih maju daripada lapisan input awal yang hanya berisi data yang telah diproses sebelumnya.

Algoritme jaringan saraf mengekstrak output yang dapat memberi makan perhitungan ke lapisan masa depan sampai lapisan output akhir tercapai. Ini membentuk jaringan di mana semua node dari setiap lapisan berikutnya terhubung ke satu node dari lapisan sebelumnya. Setiap kali model menggunakan lebih dari dua lapisan, itu diklasifikasikan sebagai Deep Neural Networks (DNNs). Jaringan ini tidak membentuk siklus dan memungkinkan beberapa lapisan persepsi, sehingga memperkenalkan berbagai dimensi pada prediksi dan pemrosesan data juga.

Baca Artikel populer kami terkait Pembelajaran Mesin dan Kecerdasan Buatan

IoT: Sejarah, Sekarang & Masa Depan Tutorial Pembelajaran Mesin: Belajar ML Apa itu Algoritma? Sederhana & Mudah
Gaji Insinyur Robotika di India : Semua Peran Sehari dalam Kehidupan Seorang Insinyur Pembelajaran Mesin: Apa yang mereka lakukan? Apa itu IoT (Internet of Things)
Permutasi vs Kombinasi: Perbedaan antara Permutasi dan Kombinasi 7 Tren Teratas dalam Kecerdasan Buatan & Pembelajaran Mesin Pembelajaran Mesin dengan R: Semua yang Perlu Anda Ketahui

Berikut adalah beberapa kerangka kerja umum yang digunakan untuk Deep Learning:

  • TensorFlow
  • Keras
  • Apache MXNet

Apa itu Jaringan Saraf Konvolusi?

Convolutional Neural Networks adalah jenis JST yang digunakan terutama untuk bekerja pada data piksel untuk memproses gambar atau untuk pengenalan gambar. CNN digunakan dalam Pembelajaran Mendalam untuk tugas-tugas generatif dan deskriptif yang menggunakan visi mesin dan sistem berbasis rekomendasi.

CNN adalah JST yang lebih efisien mirip dengan DNN tetapi masih mengurangi kompleksitas Jaringan Neural Feedforward. Hal ini karena CNN umumnya mengandalkan dua lapisan, lapisan peta fitur dan lapisan ekstraksi fitur. Masukan dari setiap node mengekstrak fitur lokal dari bidang reseptif lokal lapisan sebelumnya.

Hubungan posisi antara fitur lokal dan fitur lainnya diplot atau dipetakan setelah ekstraksi selesai. Untuk membuat resolusi akhir lebih akurat, lapisan konvolusi diikuti oleh lapisan komputasi yang menghitung rata-rata lokal dan ekstraksi fitur sekunder. Meskipun CNN sebagian besar bekerja dengan dua lapisan, prediksinya sangat akurat karena penggabungan ekstraksi multi-fitur dan distorsi invarian.

Node dalam bidang peta fitur yang sama dapat belajar secara bersamaan karena memiliki bobot yang sama. Ini mengurangi kompleksitas dalam jaringan dan memungkinkan masuknya gambar input multi-dimensi. Tidak seperti jaringan saraf lainnya, CNN tidak memerlukan gambar untuk diubah menjadi gambar beresolusi lebih rendah karena persyaratan pemrosesannya rendah.

Model ini mirip dengan persepsi multilayer, kecuali CNN tidak rentan terhadap overfitting data, sehingga membuatnya kurang kompleks. Hal ini dilakukan melalui pengaturan pendekatan multilayer perceptron melalui parameter penalti atau pemangkasan koneksi yang dilewati.

CNN menggunakan pola hierarkis dalam data untuk menyusun pola berdasarkan tingkat kerumitannya. Convolutional Neural Network hampir tidak memerlukan pra-pemrosesan dibandingkan dengan algoritma klasifikasi lainnya, terutama untuk gambar dan video. Menggunakan NLP, seseorang bahkan dapat menggunakan CNN untuk aplikasi yang lebih canggih dalam robotika, diagnostik medis, dan otomatisasi. CNN bekerja sangat baik dengan sebagian besar teknik pembelajaran mesin tanpa pengawasan dan secara mandiri terus mengoptimalkan filter model melalui metodologi pembelajaran otomatis.

Berikut adalah beberapa arsitektur CNN yang tersedia

  • GoogLeNet
  • AlexNet
  • LeNet
  • ZFNet
  • ResNet
  • VGGNet

Berikut adalah contoh implementasi CNN

Mari kita asumsikan bahwa kita harus mengklasifikasikan burung, kucing, anjing, mobil, dan manusia dari serangkaian gambar acak. Untuk memulai, pertama-tama kita harus menemukan kumpulan data pelatihan yang dapat digunakan sebagai tolok ukur untuk komputasi di masa mendatang. Contoh kumpulan data pelatihan yang baik adalah kumpulan data 50.000 64x64 piksel gambar burung, kucing, anjing, mobil, dan manusia.

Masing-masing target ini akan menjadi label kelas dengan nilai integer terkait. Label kelas akan menjadi 'burung', 'kucing', 'anjing', 'mobil' dan 'manusia', memiliki nilai 0, 1, 2, 3 dan 4. Setelah model CNN dilatih menggunakan dataset ini dan tolok ukur , itu akan dapat mengidentifikasi isyarat visual dari data input acak dan kemudian mengklasifikasikannya sesuai dengan labelnya. Model terakhir dapat secara akurat mengidentifikasi lima jenis objek (label) yang berbeda dari serangkaian gambar acak yang menampilkan objek-objek ini.

Berikut adalah langkah-langkah yang diperlukan untuk membangun model CNN

  • Memuat kumpulan data.
  • Menyiapkan data piksel.
  • Mendefinisikan model.
  • Mengevaluasi model.
  • Mempresentasikan hasil.
  • Pengambilan Sampel Lengkap.
  • Mengembangkan model dasar.
  • Menerapkan teknik regularisasi untuk memperbaiki model.
  • Menambah data.
  • Finalisasi model dan evaluasi lebih lanjut.

CNN Deep Learning adalah bidang yang menjanjikan dengan prospek karir yang sangat baik. Jika Anda berencana untuk membangun karir di CNN, Anda dapat melihat Program Sertifikat Tingkat Lanjut di program Pembelajaran Mesin & Pembelajaran Dalam .

Apa perbedaan antara Neural Networks klasik (JST Lainnya) dan CNN?

Perbedaan utama antara Neural Network klasik seperti Artificial Neural Network (ANN) dan CNN terletak pada kenyataan bahwa hanya lapisan terakhir CNN yang terhubung sepenuhnya dan di ANN, setiap neuron terhubung ke setiap neuron lainnya.

Apa itu Jaringan Syaraf Dalam?

Pembelajaran mendalam berasal dari keluarga konsep yang lebih luas terkait dengan pembelajaran mesin yang selanjutnya didasarkan pada jaringan saraf tiruan dengan pembelajaran representasi.

Bisakah NLP digunakan dengan CNN?

Mirip dengan klasifikasi kalimat, CNN dapat digunakan untuk beberapa tugas NLP seperti Klasifikasi Sentimen, terjemahan mesin, Peringkasan Tekstual, Pemilihan Jawaban dan sejenisnya.