Klasifikasi Gambar Semi-diawasi Dengan Data Tidak Berlabel

Diterbitkan: 2022-03-11

Pembelajaran yang diawasi telah berada di garis depan penelitian dalam visi komputer dan pembelajaran mendalam selama dekade terakhir.

Dalam pengaturan pembelajaran yang diawasi, manusia diharuskan untuk membuat anotasi sejumlah besar dataset secara manual. Kemudian, model menggunakan data ini untuk mempelajari hubungan mendasar yang kompleks antara data dan label dan mengembangkan kemampuan untuk memprediksi label, berdasarkan data. Model pembelajaran mendalam umumnya haus data dan membutuhkan kumpulan data dalam jumlah besar untuk mencapai kinerja yang baik. Perangkat keras yang terus meningkat dan ketersediaan kumpulan data besar berlabel manusia telah menjadi alasan keberhasilan pembelajaran mendalam baru-baru ini.

Salah satu kelemahan utama dari pembelajaran mendalam yang diawasi adalah bahwa hal itu bergantung pada keberadaan sejumlah besar kumpulan data berlabel manusia untuk pelatihan. Kemewahan ini tidak tersedia di semua domain karena mungkin sulit secara logistik dan sangat mahal untuk mendapatkan kumpulan data besar yang dijelaskan oleh para profesional. Sementara akuisisi data berlabel dapat menjadi usaha yang menantang dan mahal, kami biasanya memiliki akses ke sejumlah besar kumpulan data yang tidak berlabel, terutama data gambar dan teks. Oleh karena itu, kita perlu menemukan cara untuk memanfaatkan kumpulan data yang kurang dimanfaatkan ini dan menggunakannya untuk pembelajaran.

Gambar berlabel dan tidak berlabel

Transfer Pembelajaran dari Model Terlatih

Dengan tidak adanya sejumlah besar data berlabel, kami biasanya menggunakan transfer learning . Jadi apa itu transfer learning?

Transfer belajar berarti menggunakan pengetahuan dari tugas serupa untuk memecahkan masalah yang dihadapi. Dalam praktiknya, ini biasanya berarti menggunakan sebagai inisialisasi bobot jaringan saraf dalam yang dipelajari dari tugas serupa, daripada memulai dari inisialisasi bobot secara acak, dan kemudian melatih model lebih lanjut pada data berlabel yang tersedia untuk menyelesaikan tugas yang ada.

Pembelajaran transfer memungkinkan kita untuk melatih model pada kumpulan data sekecil beberapa ribu contoh, dan dapat memberikan kinerja yang sangat baik. Transfer pembelajaran dari model yang telah dilatih sebelumnya dapat dilakukan dengan tiga cara:

1. Ekstraksi Fitur

Biasanya, lapisan terakhir dari jaringan saraf melakukan perhitungan yang paling abstrak dan spesifik tugas, yang umumnya tidak mudah dialihkan ke tugas lain. Sebaliknya, lapisan awal jaringan mempelajari beberapa fitur dasar seperti tepi dan bentuk umum, yang dapat dengan mudah dipindahkan ke seluruh tugas.

Kumpulan gambar di bawah ini menggambarkan apa yang dipelajari oleh kernel konvolusi pada tingkat yang berbeda dalam jaringan saraf konvolusi (CNN). Kami melihat representasi hierarkis, dengan lapisan awal mempelajari bentuk dasar, dan secara bertahap, lapisan yang lebih tinggi mempelajari konsep semantik yang lebih kompleks.

Representasi hierarkis: lapisan awal dan lapisan yang lebih tinggi

Praktik umum adalah mengambil model yang telah dilatih sebelumnya pada kumpulan data gambar berlabel besar (seperti ImageNet) dan memotong lapisan yang terhubung sepenuhnya di bagian akhir. Lapisan baru yang sepenuhnya terhubung kemudian dilampirkan dan dikonfigurasikan sesuai dengan jumlah kelas yang diperlukan. Lapisan yang ditransfer dibekukan, dan lapisan baru dilatih pada data berlabel yang tersedia untuk tugas Anda.

Dalam pengaturan ini, model pra-pelatihan digunakan sebagai ekstraktor fitur, dan lapisan yang terhubung penuh di bagian atas dapat dianggap sebagai pengklasifikasi dangkal. Pengaturan ini lebih kuat daripada overfitting karena jumlah parameter yang dapat dilatih relatif kecil, sehingga konfigurasi ini bekerja dengan baik ketika data berlabel yang tersedia sangat langka. Ukuran kumpulan data yang memenuhi syarat sebagai kumpulan data yang sangat kecil biasanya merupakan masalah rumit dengan banyak aspek pertimbangan, termasuk masalah yang dihadapi dan ukuran tulang punggung model. Secara kasar, saya akan menggunakan strategi ini untuk kumpulan data yang terdiri dari beberapa ribu gambar.

2. Penyetelan halus

Atau, kita dapat mentransfer lapisan dari jaringan yang telah dilatih sebelumnya dan melatih seluruh jaringan pada data berlabel yang tersedia. Penyiapan ini membutuhkan lebih banyak data berlabel karena Anda melatih seluruh jaringan dan karenanya sejumlah besar parameter. Pengaturan ini lebih rentan terhadap overfitting ketika ada kelangkaan data.

3. Pembelajaran Transfer Dua Tahap

Pendekatan ini adalah favorit pribadi saya dan biasanya memberikan hasil terbaik, setidaknya menurut pengalaman saya. Di sini, kami melatih lapisan yang baru dilampirkan sambil membekukan lapisan yang ditransfer selama beberapa waktu sebelum menyempurnakan seluruh jaringan.

Menyesuaikan seluruh jaringan tanpa memberikan beberapa epoch ke lapisan akhir dapat menghasilkan penyebaran gradien berbahaya dari lapisan yang diinisialisasi secara acak ke jaringan dasar. Selanjutnya, fine-tuning membutuhkan tingkat pembelajaran yang relatif lebih kecil, dan pendekatan dua tahap adalah solusi yang mudah untuk itu.

Perlunya Metode Semi-supervised dan Unsupervised

Ini biasanya bekerja sangat baik untuk sebagian besar tugas klasifikasi gambar karena kami memiliki kumpulan data gambar besar seperti ImageNet yang mencakup sebagian besar kemungkinan ruang gambar—dan biasanya, bobot yang dipelajari darinya dapat ditransfer ke tugas klasifikasi gambar khusus. Selain itu, jaringan pra-pelatihan sudah tersedia dari rak, sehingga memudahkan proses.

Namun, pendekatan ini tidak akan bekerja dengan baik jika distribusi gambar dalam tugas Anda secara drastis berbeda dari gambar yang jaringan dasar dilatih. Misalnya, jika Anda berurusan dengan gambar skala abu-abu yang dihasilkan oleh perangkat pencitraan medis, pembelajaran transfer dari bobot ImageNet tidak akan seefektif itu dan Anda akan memerlukan lebih dari beberapa ribu gambar berlabel untuk melatih jaringan Anda agar mencapai kinerja yang memuaskan.

Sebaliknya, Anda mungkin memiliki akses ke sejumlah besar kumpulan data tidak berlabel untuk masalah Anda. Itulah mengapa kemampuan untuk belajar dari kumpulan data yang tidak berlabel sangat penting. Selain itu, kumpulan data yang tidak berlabel biasanya jauh lebih besar variasi dan volumenya daripada kumpulan data berlabel terbesar sekalipun.

Pendekatan semi-diawasi telah terbukti menghasilkan kinerja yang unggul untuk pendekatan yang diawasi pada tolok ukur besar seperti ImageNet. Analogi kue Yann LeCun yang terkenal menekankan pentingnya pembelajaran tanpa pengawasan:

Analogi kue Yann LeCun

Pembelajaran semi-diawasi

Pendekatan ini memanfaatkan data berlabel dan tidak berlabel untuk pembelajaran, oleh karena itu disebut pembelajaran semi-diawasi. Ini biasanya merupakan pendekatan yang lebih disukai ketika Anda memiliki sejumlah kecil data berlabel dan sejumlah besar data tidak berlabel. Ada teknik di mana Anda belajar dari data berlabel dan tidak berlabel secara bersamaan, tetapi kami akan membahas masalah dalam konteks pendekatan dua tahap: pembelajaran tanpa pengawasan pada data tidak berlabel, dan transfer pembelajaran menggunakan salah satu strategi yang dijelaskan di atas untuk menyelesaikan tugas klasifikasi Anda .

Dalam kasus ini, pembelajaran tanpa pengawasan adalah istilah yang agak membingungkan. Pendekatan ini tidak benar-benar tanpa pengawasan dalam arti bahwa ada sinyal pengawasan yang memandu pembelajaran bobot, tetapi dengan demikian sinyal pengawasan berasal dari data itu sendiri. Oleh karena itu, kadang-kadang disebut sebagai pembelajaran yang diawasi sendiri tetapi istilah-istilah ini telah digunakan secara bergantian dalam literatur untuk merujuk pada pendekatan yang sama.

Teknik utama dalam pembelajaran yang diawasi sendiri dapat dibagi dengan bagaimana mereka menghasilkan sinyal pengawasan ini dari data, seperti yang dibahas di bawah ini.

Metode Generatif

Metode Generatif - Autoencoder: jaringan encoder dan decoder

Metode generatif bertujuan untuk rekonstruksi data yang akurat setelah melewati hambatan. Salah satu contoh jaringan tersebut adalah autoencoder. Mereka mengurangi input menjadi ruang representasi dimensi rendah menggunakan jaringan encoder dan merekonstruksi gambar menggunakan jaringan decoder.

Dalam pengaturan ini, input itu sendiri menjadi sinyal pengawasan (label) untuk melatih jaringan. Jaringan encoder kemudian dapat diekstraksi dan digunakan sebagai titik awal untuk membangun pengklasifikasi Anda, menggunakan salah satu teknik pembelajaran transfer yang dibahas di bagian di atas.

Demikian pula, bentuk lain dari jaringan generatif - Generative Adversarial Networks (GANs) - dapat digunakan untuk prapelatihan pada data yang tidak berlabel. Kemudian, diskriminator dapat diadopsi dan disesuaikan lebih lanjut untuk tugas klasifikasi.

Metode Diskriminatif

Pendekatan diskriminatif melatih jaringan saraf untuk mempelajari tugas klasifikasi tambahan. Tugas tambahan dipilih sedemikian rupa sehingga sinyal pengawasan dapat diturunkan dari data itu sendiri, tanpa anotasi manusia.

Contoh jenis tugas ini adalah mempelajari posisi relatif tambalan gambar, mewarnai gambar skala abu-abu, atau mempelajari transformasi geometris yang diterapkan pada gambar. Kami akan membahas dua di antaranya secara lebih rinci.

Mempelajari Posisi Relatif dari Tambalan Gambar

Mempelajari Posisi Relatif dari Tambalan Gambar

Dalam teknik ini, tambalan gambar diekstraksi dari gambar sumber untuk membentuk kisi-kisi seperti teka-teki gambar. Posisi jalur diacak, dan masukan yang diacak dimasukkan ke dalam jaringan, yang dilatih untuk memprediksi lokasi setiap patch di grid dengan benar. Dengan demikian, sinyal pengawasan adalah posisi sebenarnya dari setiap jalur dalam grid.

Dalam belajar melakukan itu, jaringan mempelajari struktur relatif dan orientasi objek serta kontinuitas fitur visual tingkat rendah seperti warna. Hasilnya menunjukkan bahwa fitur yang dipelajari dengan memecahkan teka-teki jigsaw ini sangat dapat ditransfer ke tugas-tugas seperti klasifikasi gambar dan deteksi objek.

Mempelajari Transformasi Geometris yang Diterapkan pada Gambar

Mempelajari Transformasi Geometris yang Diterapkan pada Gambar

Pendekatan ini menerapkan satu set kecil transformasi geometrik ke gambar input dan melatih pengklasifikasi untuk memprediksi transformasi yang diterapkan dengan melihat gambar yang ditransformasi saja. Salah satu contoh dari pendekatan ini adalah dengan menerapkan rotasi 2D ke gambar yang tidak berlabel untuk mendapatkan satu set gambar yang diputar dan kemudian melatih jaringan untuk memprediksi rotasi setiap gambar.

Sinyal pengawasan sederhana ini memaksa jaringan untuk belajar melokalisasi objek dalam gambar dan memahami orientasinya. Fitur yang dipelajari dengan pendekatan ini telah terbukti sangat dapat ditransfer dan menghasilkan kinerja seni untuk tugas klasifikasi dalam pengaturan semi-diawasi.

Pendekatan berbasis kesamaan

Pendekatan-pendekatan ini memproyeksikan gambar-gambar ke dalam ruang representasi berukuran tetap di mana gambar-gambar yang serupa lebih dekat satu sama lain dan gambar-gambar yang berbeda lebih jauh terpisah. Salah satu cara untuk mencapai ini adalah dengan menggunakan jaringan siam berdasarkan kehilangan triplet, yang meminimalkan jarak antara gambar yang serupa secara semantik. Triplet loss membutuhkan jangkar, contoh positif, dan contoh negatif dan mencoba untuk membawa positif lebih dekat ke jangkar daripada negatif dalam hal jarak Euclidean di ruang laten. Jangkar dan positif berasal dari kelas yang sama, dan contoh negatif dipilih secara acak dari kelas yang tersisa.

Dalam data yang tidak berlabel, kita perlu menemukan strategi untuk menghasilkan triplet jangkar contoh positif dan negatif ini tanpa mengetahui kelas gambar. Salah satu cara untuk melakukannya adalah dengan menggunakan transformasi affine acak dari gambar jangkar sebagai contoh positif dan secara acak memilih gambar lain sebagai contoh negatif.

Kehilangan rangkap tiga

Percobaan

Di bagian ini, saya akan menghubungkan eksperimen yang secara empiris menetapkan potensi pra-pelatihan tanpa pengawasan untuk klasifikasi gambar. Ini adalah proyek semester saya untuk kelas Deep Learning yang saya ikuti bersama Yann LeCun di NYU musim semi lalu.

  • Kumpulan data . Ini terdiri dari 128K contoh berlabel, setengahnya untuk pelatihan dan setengahnya lagi untuk validasi. Selanjutnya, kami diberikan 512K gambar tanpa label. Data berisi 1.000 kelas secara total.
  • Pra-pelatihan tanpa pengawasan . AlexNet dilatih untuk klasifikasi rotasi menggunakan augmentasi data ekstensif selama 63 zaman. Kami menggunakan hyperparameter yang didokumentasikan oleh Rotnet dalam makalah mereka.
  • Pelatihan klasifikasi . Fitur diekstraksi dari lapisan konvolusi keempat, dan tiga lapisan yang terhubung penuh ditambahkan ke dalamnya. Lapisan-lapisan ini diinisialisasi secara acak dan dilatih dengan kecepatan belajar menurun yang dijadwalkan, dan penghentian awal diterapkan untuk menghentikan pelatihan.
  • Penyetelan seluruh jaringan . Akhirnya, kami menyempurnakan jaringan yang dilatih pada seluruh data berlabel. Baik ekstraktor fitur dan pengklasifikasi, yang sebelumnya dilatih secara terpisah, disetel dengan baik bersama-sama dengan tingkat pembelajaran yang kecil selama 15 zaman.

Kami melatih tujuh model, masing-masing menggunakan jumlah contoh pelatihan berlabel yang berbeda per kelas. Ini dilakukan untuk memahami bagaimana ukuran data pelatihan memengaruhi kinerja penyiapan semi-diawasi kami.

Percobaan

Kami bisa mendapatkan tingkat akurasi 82% untuk pra-pelatihan pada klasifikasi rotasi. Untuk pelatihan classifier, akurasi 5% teratas jenuh di sekitar nilai 46,24%, dan fine-tuning seluruh jaringan menghasilkan angka akhir 50,17%. Dengan memanfaatkan pra-pelatihan, kami mendapatkan kinerja yang lebih baik daripada pelatihan yang diawasi, yang memberikan akurasi 40% teratas 5.

Seperti yang diharapkan, akurasi validasi menurun dengan penurunan data pelatihan berlabel. Namun, penurunan kinerja tidak sepenting yang diharapkan dalam pengaturan yang diawasi. Penurunan 50% dalam data pelatihan dari 64 contoh per kelas menjadi 32 contoh per kelas hanya menghasilkan penurunan akurasi validasi sebesar 15%.

Percobaan

Dengan hanya menggunakan 32 contoh per kelas, model semi-terawat kami mencapai kinerja yang unggul dibandingkan model terawasi yang dilatih menggunakan 64 contoh per kelas. Ini memberikan bukti empiris tentang potensi pendekatan semi-diawasi untuk klasifikasi gambar pada kumpulan data berlabel sumber daya rendah.

Membungkus

Kita dapat menyimpulkan bahwa pembelajaran tanpa pengawasan adalah paradigma kuat yang memiliki kemampuan untuk meningkatkan kinerja untuk kumpulan data sumber daya rendah. Pembelajaran tanpa pengawasan saat ini masih dalam tahap awal, tetapi secara bertahap akan memperluas pangsanya di ruang visi komputer dengan memungkinkan pembelajaran dari data tak berlabel yang murah dan mudah diakses.


Bacaan Lebih Lanjut di Blog Teknik Toptal:

  • Ilmu Data Grafik Dengan Python/NetworkX