Jaringan syaraf konvolusional

Selesai

Nota

Lihat tab Teks dan gambar untuk detail selengkapnya!

Kemampuan untuk menggunakan filter untuk menerapkan efek pada gambar berguna dalam tugas pemrosesan gambar, seperti yang mungkin Anda lakukan dengan perangkat lunak pengeditan gambar. Namun, tujuan visi komputer sering kali untuk mengekstrak makna, atau setidaknya wawasan yang dapat ditindaklaksan, dari gambar; yang memerlukan pembuatan model pembelajaran mesin yang dilatih untuk mengenali fitur berdasarkan volume besar gambar yang ada.

Petunjuk / Saran

Unit ini mengasumsikan Anda terbiasa dengan prinsip-prinsip dasar pembelajaran mesin, dan bahwa Anda memiliki pengetahuan konseptual tentang pembelajaran mendalam dengan jaringan saraf. Jika Anda baru menggunakan pembelajaran mesin, pertimbangkan untuk menyelesaikan modul Pengenalan konsep pembelajaran mesin di Microsoft Learn.

Salah satu arsitektur model pembelajaran mesin yang paling umum untuk visi komputer adalah jaringan neural konvolusional (CNN), jenis arsitektur pembelajaran mendalam. CNN menggunakan filter untuk mengekstrak peta fitur numerik dari gambar dan kemudian memberi umpan nilai fitur ke dalam model pembelajaran mendalam untuk menghasilkan prediksi label. Misalnya, dalam skenario klasifikasi gambar , label mewakili subjek utama gambar (dengan kata lain, ini gambar tentang apa?). Anda mungkin melatih model CNN dengan gambar berbagai jenis buah (seperti apel, pisang, dan jeruk) sehingga label yang diprediksi adalah jenis buah dalam gambar tertentu.

Selama proses pelatihan untuk CNN, kernel filter awalnya didefinisikan menggunakan nilai berat yang dihasilkan secara acak. Kemudian, saat proses pelatihan berlangsung, prediksi model dievaluasi terhadap nilai label yang diketahui, dan bobot filter disesuaikan untuk meningkatkan akurasi. Akhirnya, model klasifikasi gambar buah terlatih menggunakan bobot filter yang mengekstrak fitur terbaik yang membantu mengidentifikasi berbagai jenis buah.

Diagram berikut mengilustrasikan cara kerja CNN untuk model klasifikasi gambar:

Diagram jaringan neural konvolusional.

  1. Gambar dengan label yang diketahui (misalnya, 0: apel, 1: pisang, atau 2: oranye) disalurkan ke dalam jaringan untuk melatih model.
  2. Satu atau beberapa lapisan filter digunakan untuk mengekstrak fitur dari setiap gambar karena disalurkan melalui jaringan. Kernel filter dimulai dengan bobot yang ditetapkan secara acak dan menghasilkan array nilai numerik yang disebut peta fitur . Lapisan tambahan dapat "mengumpulkan" atau "menurunkan ukuran" peta fitur untuk membuat array yang lebih kecil yang menekankan fitur visual utama yang diekstrak oleh filter.
  3. Peta fitur diubah menjadi array satu dimensi dari nilai fitur.
  4. Nilai fitur disalurkan ke dalam jaringan neural yang terhubung sepenuhnya.
  5. Lapisan output jaringan neural menggunakan softmax atau fungsi serupa untuk menghasilkan hasil yang berisi nilai probabilitas untuk setiap kelas yang mungkin, misalnya [0,2, 0,5, 0,3].

Selama pelatihan probabilitas output dibandingkan dengan label kelas aktual - misalnya, gambar pisang (kelas 1) harus memiliki nilai [0,0, 1,0, 0,0]. Perbedaan antara skor kelas yang diprediksi dan aktual digunakan untuk menghitung kerugian dalam model, dan bobot dalam jaringan neural yang sepenuhnya terhubung dan kernel filter dalam lapisan ekstraksi fitur dimodifikasi untuk mengurangi kerugian.

Proses pelatihan berulang selama beberapa epoch sampai serangkaian bobot optimal telah dipelajari. Kemudian, bobot disimpan dan model dapat digunakan untuk memprediksi label untuk gambar baru yang labelnya tidak diketahui.

Nota

Arsitektur CNN biasanya mencakup beberapa lapisan filter konvolusional dan lapisan tambahan untuk mengurangi ukuran peta fitur, membatasi nilai yang diekstraksi, dan memanipulasi nilai fitur. Lapisan ini telah dihilangkan dalam contoh yang disederhanakan ini untuk berfokus pada konsep kunci, yaitu bahwa filter digunakan untuk mengekstrak fitur numerik dari gambar, yang kemudian digunakan dalam jaringan neural untuk memprediksi label gambar.