Saya mengerti bahwa pelatihan awal digunakan untuk menghindari beberapa masalah dengan pelatihan konvensional. Jika saya menggunakan backpropagation dengan, katakanlah autoencoder, saya tahu saya akan mengalami masalah waktu karena backpropagation lambat, dan saya juga bisa terjebak dalam optima lokal dan tidak mempelajari fitur-fitur tertentu.
Apa yang saya tidak mengerti adalah bagaimana kita melakukan pra-jaringan dan apa yang khusus kita lakukan untuk melakukan pra-latihan. Sebagai contoh, jika kita diberi setumpuk Mesin Boltzmann yang dibatasi, bagaimana kita melakukan prapembaruan jaringan ini?
machine-learning
neural-networks
backpropagation
rbm
pre-training
Michael Yousef
sumber
sumber
Jawaban:
Anda mulai dengan melatih masing-masing RBM di tumpukan secara terpisah dan kemudian bergabung menjadi model baru yang dapat disetel lebih lanjut.
Misalkan Anda memiliki 3 RBM, Anda melatih RBM1 dengan data Anda (misalnya banyak gambar). RBM2 dilatih dengan output RBM1. RBM3 dilatih dengan output RBM2. Idenya adalah bahwa setiap model RBM menampilkan fitur gambar dan bobot yang mereka pelajari dalam melakukan hal itu berguna dalam tugas-tugas diskriminatif lainnya seperti klasifikasi.
sumber
Pra-pelatihan RBM bertumpuk adalah dengan rakus meminimalkan lapisan energi yang ditentukan, yaitu memaksimalkan kemungkinan. G. Hinton mengusulkan algoritma CD-k, yang dapat dilihat sebagai iterasi tunggal sampling Gibbs.
sumber