Anda benar tentang data yang tidak berlabel. RBM adalah model generatif dan paling umum digunakan sebagai pembelajar yang tidak diawasi.
Ketika digunakan untuk membangun Deep Belief Network, prosedur yang paling umum adalah dengan hanya melatih setiap RBM baru satu per satu saat mereka ditumpuk satu sama lain. Jadi perbedaan kontras tidak naik dan turun dalam arti yang saya pikir Anda maksudkan. Ini hanya bekerja dengan satu RBM pada satu waktu, menggunakan lapisan tersembunyi dari RBM paling atas sebelumnya sebagai input untuk RBM paling atas baru. Setelah semua ini, Anda dapat memperlakukan tumpukan bobot RBM sebagai bobot awal untuk jaringan saraf maju umpan standar dan berlatih menggunakan data berlabel dan backpropagation atau melakukan sesuatu yang lebih eksotis seperti menggunakan algoritma wake-sleep. Perhatikan bahwa kami belum menggunakan data berlabel apa pun hingga langkah terakhir ini, itulah salah satu manfaat dari model-model ini.
Di sisi lain, ada beberapa cara Anda bisa menggunakan RBM untuk klasifikasi.
- Latih RBM atau tumpukan beberapa RBM. Gunakan lapisan tersembunyi paling atas sebagai input ke beberapa pelajar yang dilindungi lainnya.
- Latih RBM untuk setiap kelas dan gunakan energi yang tidak dinormalisasi sebagai input ke pengklasifikasi diskriminatif.
- Latih RBM untuk menjadi model densitas gabungan P (X, Y). Kemudian diberi beberapa input x, pilih saja kelas y yang meminimalkan fungsi energi (normalisasi bukan masalah di sini seperti di atas karena konstanta Z adalah sama untuk semua kelas).
- Melatih RBM yang diskriminatif
Saya sangat menyarankan Anda membaca laporan teknis Panduan Praktis untuk Pelatihan Mesin Boltzmann Terbatas oleh Geoff Hinton. Ini membahas beberapa masalah ini secara lebih rinci, memberikan tips yang sangat berharga, mengutip banyak makalah yang relevan, dan dapat membantu menjernihkan kebingungan lain yang mungkin Anda miliki.