Panduan AutoML Vision untuk Pemula

Pengantar

Bayangkan Anda bekerja dengan dewan pelestarian arsitektur yang mencoba mengidentifikasi kawasan yang memiliki gaya arsitektur yang konsisten di kota Anda. Anda memiliki ratusan ribu snapshot rumah untuk disaring, tetapi akan merepotkan dan rentan kesalahan jika mencoba mengategorikan semua gambar ini secara manual. Seorang pekerja magang telah memberi label beberapa ratus gambar beberapa bulan yang lalu, tetapi sejak itu tidak ada lagi yang melanjutkan prosesnya. Bayangkan betapa praktisnya apabila Anda bisa mengajari komputer Anda untuk melakukan hal ini!

Contoh gambar 4 jenis gaya arsitektur

Mengapa Machine Learning (ML) merupakan solusi yang tepat untuk masalah ini?

gambar representasi pemrograman Pemrograman klasik mengharuskan programmer memberikan petunjuk langkah demi langkah untuk diikuti oleh komputer. Meskipun pendekatan ini cocok untuk memecahkan berbagai macam masalah, tetapi kurang tepat untuk mengategorikan rumah dengan cara yang Anda inginkan. Ada begitu banyak variasi komposisi, warna, sudut, dan detail gaya; tidak mungkin membuat serangkaian aturan langkah demi langkah yang dapat memberi tahu mesin cara memutuskan apakah foto rumah satu keluarga ini termasuk Craftsman atau Modern. Anda pasti juga akan kebingungan untuk memulai. Untungnya, sistem machine learning sangat tepat untuk menyelesaikan masalah ini.

Apakah Vision API atau AutoML adalah alat yang tepat untuk saya?

Vision API mengklasifikasikan gambar ke dalam ribuan kategori yang telah ditentukan, mendeteksi setiap objek dan wajah dalam gambar, serta menemukan dan membaca kata-kata cetak yang terdapat dalam gambar. Jika Anda ingin mendeteksi masing-masing objek, wajah, dan teks dalam set data, atau melakukan klasifikasi gambar secara umum, mungkin Vision API cocok untuk Anda. Namun, jika kasus penggunaan Anda mengharuskan penggunaan label sendiri untuk mengklasifikasikan gambar, sebaiknya lakukan eksperimen dengan pengklasifikasi kustom untuk melihat apakah pengklasifikasi tersebut sesuai dengan kebutuhan Anda.

gambar label Cloud Vision API generik versus label kustom AutoML

Coba Vision API Mulai menggunakan AutoML

Apa saja yang tercakup dalam machine learning di AutoML?

gambar representasi dari jaringan neural sederhana Machine learning melibatkan penggunaan data untuk melatih algoritma guna mencapai hasil yang diinginkan. Spesifikasi algoritma dan metode pelatihan berubah berdasarkan kasus penggunaan. Ada banyak subkategori machine learning, yang semuanya dapat memecahkan berbagai masalah dan bekerja dalam batasan yang berbeda. AutoML Vision memungkinkan Anda menjalankan supervised learning, yang meliputi pelatihan komputer untuk mengenali pola dari data berlabel. Dengan supervised learning, kita dapat melatih model untuk mengenali pola dan konten yang penting bagi kita dalam gambar.

Persiapan Data

Untuk melatih model kustom dengan AutoML Vision, Anda harus menyediakan contoh berlabel dari jenis gambar (input) yang ingin diklasifikasikan, dan kategori atau label (jawaban) yang Anda inginkan sistem ML untuk diprediksi.

Menilai kasus penggunaan Anda

gambar titik awal dan akhir

Saat menyusun set data, selalu mulailah dengan kasus penggunaan. Anda bisa mulai dengan pertanyaan-pertanyaan berikut:

  • Apa hasil yang ingin Anda capai?
  • Jenis kategori apa yang perlu Anda kenali untuk mencapai hasil ini?
  • Mungkinkah manusia mengenali kategori-kategori tersebut? Meskipun AutoML Vision dapat menangani kategori yang lebih besar daripada yang dapat diingat dan ditetapkan manusia pada waktu tertentu, jika manusia tidak dapat mengenali kategori tertentu, maka AutoML Vision juga akan mengalami kesulitan.
  • Jenis contoh apa yang paling mencerminkan jenis dan rentang data yang akan diklasifikasikan sistem Anda?

Prinsip utama yang mendasari produk ML Google adalah machine learning yang berpusat pada manusia, yaitu pendekatan yang mengedepankan praktik AI yang bertanggung jawab, termasuk keadilan. Tujuan keadilan dalam ML adalah untuk memahami dan mencegah perlakuan yang tidak adil atau merugikan terkait ras, pendapatan, orientasi seksual, agama, gender, dan karakteristik lain yang secara historis terkait dengan diskriminasi dan marginalisasi, ketika dan muncul dalam sistem algoritma atau pengambilan keputusan dengan bantuan algoritma. Anda dapat membaca lebih lanjut dalam panduan kami dan baca catatan “peka” pada pedoman di bawah ini. Saat Anda mempelajari panduan penyusunan set data, sebaiknya pertimbangkan keadilan dalam machine learning jika relevan dengan kasus penggunaan Anda.

Sumber data Anda

gambar titik data Setelah menentukan data yang akan diperlukan, Anda harus menemukan cara untuk mendapatkannya. Anda dapat memulai dengan memperhitungkan semua data yang dikumpulkan organisasi. Anda mungkin sudah mengumpulkan data yang diperlukan untuk melatih model. Jika tidak memiliki data yang diperlukan, Anda dapat memperolehnya secara manual atau meng-outsourcenya kepada penyedia pihak ketiga.

Sertakan contoh berlabel secukupnya untuk setiap kategori

gambar pelatihan model Jumlah minimum yang diperlukan oleh pelatihan AutoML Vision adalah 100 contoh gambar per kategori/label. Kemungkinan keberhasilan pengenalan label akan meningkat dengan jumlah contoh berkualitas tinggi untuk setiap label; umumnya, semakin banyak data berlabel yang dapat dibawa ke proses pelatihan, semakin baik model Anda. Targetkan minimal 1.000 contoh per label.

Distribusikan contoh secara merata di seluruh kategori

Penting untuk menangkap jumlah contoh pelatihan yang kurang lebih sama untuk setiap kategori. Meskipun Anda memiliki banyak data untuk satu label, sebaiknya lakukan distribusi yang setara untuk setiap label. Untuk mengetahui alasannya, bayangkan 80% gambar yang Anda gunakan untuk membuat model adalah gambar rumah satu keluarga dengan gaya modern. Dengan distribusi label yang tidak seimbang, model Anda sangat mungkin untuk mengetahui bahwa aman untuk selalu memberi tahu Anda bahwa foto adalah rumah modern satu keluarga, daripada mencoba memprediksi label yang jauh lebih jarang digunakan. Ini seperti menulis ujian pilihan ganda yang hampir semua jawaban yang benar adalah "C". Peserta ujian yang cerdas akan mengetahui bahwa jawabannya selalu "C" tanpa harus melihat pertanyaannya.

gambar latihan untuk 4 jenis arsitektur

Kami memahami bahwa mungkin tidak selalu dapat menemukan jumlah contoh yang kurang lebih sama untuk setiap label. Contoh berkualitas tinggi dan bebas bias untuk beberapa kategori mungkin lebih sulit diperoleh. Dalam situasi tersebut, ikuti aturan praktis ini: Label dengan jumlah contoh terendah harus memiliki setidaknya 10% contoh dibandingkan label dengan jumlah contoh tertinggi. Jadi, jika label terbanyak memiliki 10.000 contoh, label terkecil harus memiliki minimal 1.000 contoh.

Tangkap variasi di ruang masalah Anda

Untuk alasan yang sama, cobalah untuk memastikan bahwa data Anda menangkap variasi dan keberagaman di ruang masalah Anda. Semakin luas pilihan yang dilihat oleh proses pelatihan model, semakin mudah hasil tersebut akan digeneralisasi ke contoh yang baru. Misalnya, jika Anda mencoba mengklasifikasikan foto barang elektronik konsumen ke dalam beberapa kategori, semakin luas variasi barang elektronik konsumen yang diekspos oleh model dalam pelatihan, semakin besar kemungkinannya untuk dapat membedakannya antara model baru tablet, ponsel, atau laptop, meskipun belum pernah melihat model spesifik tersebut sebelumnya.

gambar berbagai jenis barang elektronik konsumen

Mencocokkan data dengan output yang diinginkan untuk model Anda

gambar pelatihan cocok dengan gambar output yang diharapkan

Temukan gambar yang secara visual mirip dengan gambar yang Anda rencanakan untuk membuat prediksi. Jika Anda mencoba mengklasifikasikan gambar rumah yang semuanya diambil pada cuaca musim dingin yang bersalju, Anda mungkin tidak akan mendapatkan performa yang bagus dari model yang dilatih hanya pada gambar rumah yang diambil pada cuaca cerah walaupun Anda telah menandainya dengan kelas yang Anda minati, karena perbedaan pencahayaan dan pemandangan dapat memengaruhi performa. Idealnya, contoh pelatihan Anda adalah data dunia nyata yang diambil dari set data yang sama dengan model yang Anda rencanakan untuk digunakan dalam klasifikasi.

Pertimbangkan cara AutoML Vision menggunakan set data Anda dalam membuat model kustom

Set data Anda berisi set pelatihan, validasi, dan pengujian. Jika Anda tidak menentukan pemisahan (lihat Mempersiapkan data Anda), AutoML Vision akan otomatis menggunakan 80% gambar Anda untuk pelatihan, 10% untuk validasi, dan 10% % untuk pengujian.

gambar representasi dari pemisahan pelatihan, pengujian, dan validasi

Set Pelatihan

grafik teropong Sebagian besar data Anda harus berada dalam set pelatihan. Data ini adalah data yang "dilihat" oleh model Anda selama pelatihan: data yang digunakan untuk mempelajari parameter model, yaitu bobot koneksi antara node jaringan neural.

Set Validasi

gambar blueprint Set validasi, terkadang disebut juga kumpulan "dev", juga digunakan selama proses pelatihan. Setelah framework pembelajaran model menggabungkan data pelatihan selama setiap iterasi proses pelatihan, framework tersebut akan menggunakan performa model pada validasi yang ditetapkan untuk menyesuaikan hyperparameter model, yang merupakan variabel yang menentukan struktur model. Jika Anda mencoba menggunakan set pelatihan untuk menyesuaikan hyperparameter, kemungkinan besar model akan terlalu fokus pada data pelatihan Anda, dan mengalami kesulitan untuk menggeneralisasi contoh yang tidak mencocokkannya. Menggunakan set data yang agak baru untuk menyesuaikan struktur model berarti model Anda akan digeneralisasi dengan lebih baik.

Set Pengujian

gambar gelas kimia Set pengujian tidak terlibat dalam proses pelatihan sama sekali. Setelah model menyelesaikan pelatihan sepenuhnya, kami menggunakan set pengujian sebagai tantangan yang benar-benar baru untuk model Anda. Performa model Anda di set pengujian dimaksudkan untuk memberi Anda gambaran yang cukup tentang performa model Anda pada data dunia nyata.

Pemisahan Manual

gambar tabung reaksi Anda juga dapat membagi set data sendiri. Membagi data secara manual merupakan pilihan tepat jika Anda ingin menerapkan kontrol yang lebih besar atas prosesnya atau jika ada contoh tertentu yang Anda yakin ingin disertakan pada bagian tertentu dari siklus proses pelatihan model Anda singkat ini.

 

Siapkan data Anda untuk diimpor

Setelah Anda memutuskan pemisahan data manual atau otomatis yang tepat untuk Anda, ada tiga cara untuk menambahkan data di AutoML Vision:

  • Anda dapat mengimpor data dengan gambar yang diurutkan dan disimpan dalam folder yang sesuai dengan label Anda.
  • Anda dapat mengimpor data dari Google Cloud Storage dalam format CSV dengan label inline. Untuk mempelajari lebih lanjut, baca dokumentasi kami.
  • Jika data Anda belum diberi label, Anda juga dapat mengupload contoh gambar tidak berlabel dan menggunakan UI AutoML Vision untuk menerapkan label ke setiap contoh tersebut.

Evaluasi

Setelah model dilatih, Anda akan menerima ringkasan performa model. Klik “evaluasi” atau “lihat evaluasi lengkap” untuk melihat analisis yang mendetail.

Apa yang harus saya perhatikan sebelum mengevaluasi model saya?

gambar kaca pembesar Proses debug model lebih berfokus pada proses debug data daripada model itu sendiri. Jika pada suatu saat model Anda mulai bertindak secara tidak terduga saat Anda mengevaluasi performanya sebelum dan sesudah dikirim ke produksi, Anda harus kembali dan memeriksa data untuk mengevaluasi area yang dapat ditingkatkan.

Jenis analisis apa yang dapat saya lakukan di AutoML Vision?

Di bagian evaluasi AutoML Vision, Anda dapat menilai performa model kustom menggunakan output model pada contoh pengujian, dan metrik machine learning yang umum. Di bagian ini, kita akan membahas masing-masing konsep.

  1. Output model
  2. Nilai minimum skor
  3. Positif benar, negatif benar, positif palsu, dan negatif palsu
  4. Presisi dan perolehan
  5. Kurva presisi/perolehan.
  6. Presisi rata-rata

Bagaimana cara menafsirkan output model?

AutoML Vision mengambil contoh dari data pengujian Anda untuk menyajikan tantangan yang benar-benar baru untuk model Anda. Untuk setiap contoh, model menghasilkan serangkaian angka yang menyatakan seberapa kuat pengaitan setiap label dengan contoh tersebut. Jika angkanya tinggi, model memiliki keyakinan tinggi bahwa label harus diterapkan ke dokumen tersebut.

gambar dengan contoh nilai prediksi

Berapa Nilai Minimum Skor?

Kita dapat mengonversi probabilitas ini menjadi nilai 'aktif'/'nonaktif' biner dengan menetapkan nilai minimum skor. Nilai minimum skor mengacu pada tingkat keyakinan yang harus dimiliki model untuk menetapkan kategori pada item pengujian. Penggeser nilai minimum skor di UI adalah alat visual untuk menguji dampak dari berbagai nilai minimum untuk semua kategori dan kategori individual dalam set data Anda. Jika nilai minimum skor Anda rendah, model akan mengklasifikasi lebih banyak gambar, tetapi berisiko salah mengklasifikasikan beberapa gambar dalam prosesnya. Jika nilai minimum skor tinggi, model Anda akan mengklasifikasikan lebih sedikit gambar, tetapi risiko kesalahan klasifikasi gambar akan lebih rendah. Anda dapat mengubah nilai minimum per kategori di UI untuk bereksperimen. Namun, saat menggunakan model Anda dalam produksi, Anda harus menerapkan nilai minimum yang menurut Anda optimal.

gambar nilai minimum tinggi dengan klasifikasi gambar yang sedikit dan nilai minimum rendah dengan klasifikasi gambar yang banyak.

Apa itu Positif Benar, Negatif Benar, Positif Palsu, Negatif Palsu?

Setelah menerapkan nilai minimum skor, prediksi yang dibuat oleh model Anda akan termasuk dalam salah satu dari empat kategori berikut.

gambar dengan 4 deskripsi kategori keyakinan

Kita dapat menggunakan kategori ini untuk menghitung presisi dan perolehan — metrik yang membantu mengukur efektivitas model.

Apa yang dimaksud dengan presisi dan perolehan?

Presisi dan perolehan membantu memahami seberapa baik model menangkap informasi, dan seberapa banyak yang tidak tercakup. Presisi memberi tahu kita, dari semua contoh pengujian yang diberi label, berapa banyak yang sebenarnya seharusnya dikategorikan dengan label tersebut. Perolehan memberi tahu kita, dari semua contoh pengujian yang seharusnya memiliki label ditetapkan, berapa banyak yang benar-benar diberi label.

presisi tinggi, gambar recall rendah

perolehan tinggi, gambar presisi rendah

Apakah saya harus mengoptimalkan presisi atau perolehan?

Bergantung pada kasus penggunaan, sebaiknya optimalkan presisi atau perolehan. Mari kita pelajari cara mendekati keputusan ini dengan dua kasus penggunaan berikut.

Kasus Penggunaan: Privasi dalam gambar

Misalkan Anda ingin membuat sistem yang secara otomatis mendeteksi informasi sensitif dan memburamkannya.

gambar tanggal yang diburamkan

Positif palsu dalam kasus ini adalah hal-hal yang tidak perlu diburamkan yang kemudian diburamkan, yang bisa menjengkelkan tetapi tidak merugikan.

gambar nomor kartu kredit

Negatif palsu dalam kasus ini adalah hal-hal yang perlu diburamkan dan gagal diburamkan, seperti kartu kredit, yang dapat menyebabkan pencurian identitas.

Dalam hal ini, sebaiknya optimalkan perolehan. Metrik ini mengukur berapa banyak yang diabaikan untuk semua prediksi yang dibuat. Model perolehan tinggi cenderung memberi label pada contoh yang sedikit relevan, ini berguna untuk kasus saat kategori Anda memiliki data pelatihan yang sedikit.

Misalnya Anda ingin membuat sistem yang menemukan foto stok terbaik untuk kata kunci tertentu.

gambar gitar yang cocok dengan pencarian gitar

Positif palsu dalam kasus ini adalah menampilkan gambar yang tidak relevan. Karena produk Anda dikenal hanya menampilkan gambar yang paling cocok, hal ini akan menjadi kegagalan besar.

gambar tidak relevan yang cocok dengan penelusuran gitar

Negatif palsu dalam kasus ini adalah kegagalan menampilkan gambar yang relevan untuk penelusuran kata kunci. Karena banyak istilah penelusuran memiliki ribuan foto dengan potensial kecocokan, hal ini tidak masalah.

Dalam hal ini, sebaiknya Anda mengoptimalkan presisi. Metrik ini mengukur seberapa benar prediksi yang dibuat untuk semua prediksi tersebut. Model presisi tinggi cenderung hanya memberi label pada contoh yang paling relevan, yang berguna ketika class Anda sudah umum dalam data pelatihan.

Bagaimana cara menggunakan Matriks Konfusi?

Kita dapat membandingkan performa model di setiap label menggunakan matriks konfusi. Dalam model yang ideal, semua nilai pada diagonal akan tinggi, dan semua nilai lainnya akan rendah. Ini menunjukkan bahwa kategori yang diinginkan diidentifikasi dengan benar. Jika ada nilai lain yang tinggi, hal ini akan memberi kita petunjuk tentang bagaimana model salah mengklasifikasikan gambar uji.

gambar yang menjelaskan matriks konfusi

Bagaimana cara menafsirkan kurva presisi-perolehan?

gambar beberapa kurva presisi-periolehan

Alat nilai minimum skor memungkinkan Anda mempelajari bagaimana nilai minimum skor yang dipilih memengaruhi presisi dan perolehan. Saat menarik penggeser pada batang nilai minimum skor, Anda dapat melihat posisi nilai minimum tersebut pada kurva keseimbangan presisi-perolehan, serta pengaruhnya terhadap presisi dan perolehan secara terpisah (untuk model multiclass, pada grafik ini, presisi dan perolehan berarti satu-satunya label yang digunakan untuk menghitung metrik presisi dan perolehan adalah label dengan skor teratas dalam kumpulan label yang ditampilkan). Hal ini dapat membantu Anda menemukan keseimbangan yang baik antara positif palsu dan negatif palsu.

Setelah memilih nilai minimum yang tampaknya dapat diterima untuk model secara keseluruhan, Anda dapat mengeklik label individual dan melihat letak nilai minimum tersebut pada kurva presisi-perolehan per label. Dalam beberapa kasus, ini mungkin berarti Anda mendapatkan banyak prediksi yang salah untuk beberapa label, yang dapat membantu Anda memutuskan untuk memilih nilai minimum per kelas yang disesuaikan untuk label tersebut. Misalnya, Anda melihat set data rumah dan memperhatikan bahwa nilai minimum 0,5 memiliki presisi dan perolehan yang wajar untuk setiap jenis gambar kecuali "Tudor", mungkin karena itu adalah kategori yang sangat umum. Untuk kategori ini, Anda melihat banyak sekali positif palsu. Dalam hal ini, Anda mungkin memutuskan untuk menggunakan nilai minimum 0,8 hanya untuk "Tudor" saat memanggil pengklasifikasi untuk prediksi.

Apa yang dimaksud dengan presisi rata-rata?

Metrik yang berguna untuk akurasi model adalah area di bawah kurva presisi-perolehan. Kurva ini mengukur seberapa baik performa model Anda di semua nilai minimum skor. Di AutoML Vision, metrik ini disebut Presisi Rata-Rata. Semakin skor ini mendekati 1,0, maka semakin baik performa model Anda pada set pengujian; model yang menebak setiap label akan mendapatkan presisi rata-rata sekitar 0,5.

Menguji model Anda

gambar bohlamAutoML Vision menggunakan 10% data Anda secara otomatis (atau, berapa pun persentase yang Anda pilih untuk digunakan membagi data sendiri) untuk menguji model, dan opsi "Evaluate" memberi tahu Anda bagaimana perilaku model pada data uji tersebut. Namun, jika Anda ingin memeriksa keyakinan model, ada beberapa cara untuk melakukannya. Cara termudah adalah mengupload beberapa gambar di halaman "Predict", dan melihat label yang dipilih model untuk contoh Anda. Semoga label sesuai dengan harapan Anda. Coba beberapa contoh dari setiap jenis gambar yang ingin Anda terima.

Jika Anda ingin menggunakan model dalam pengujian otomatis Anda sendiri, halaman "Predict" juga memberi tahu Anda cara melakukan panggilan ke model secara terprogram.