Divergensi Kontrasif Persisten untuk RBM

9

Saat menggunakan algoritme pembelajaran CD persisten untuk Mesin Bolzmann Terbatas, kami memulai rantai pengambilan sampel Gibbs kami pada iterasi pertama pada titik data, tetapi bertentangan dengan CD normal, dalam mengikuti iterasi kami tidak memulai rantai kami. Alih-alih, kita mulai dari mana rantai sampel Gibbs dalam iterasi sebelumnya berakhir.

Dalam algoritma CD normal, setiap iterasi mengevaluasi sejumlah kecil titik data dan menghitung rantai pengambilan sampel Gibbs mulai dari titik data itu sendiri.

Dalam CD persisten, haruskah kita menyimpan rantai pengambilan sampel Gibbs untuk setiap titik data? Atau haruskah kita menyimpan juga batch mini rantai pengambilan sampel Gibbs, yang dimulai pada titik data yang saat ini tidak dievaluasi dalam iterasi saat ini?

Tampaknya bagi saya bahwa menjaga rantai pengambilan sampel Gibbs untuk setiap titik data akan terlalu rumit, tetapi di sisi lain tampaknya tidak memadai untuk membandingkan sinyal sampel saat ini dengan sinyal setelah rantai Gibbs panjang yang tidak dimulai pada saat ini sampel .

Angelorf
sumber
@ Subha Tampaknya kontra-intuitif, tetapi sebenarnya cukup jelas itu harus rantai tunggal yang digunakan untuk input data yang berbeda. Lihat juga deeplearning.net/tutorial/rbm.html . Di sana dinyatakan bahwa apa yang dilakukan adalah "tidak memulai ulang rantai untuk setiap contoh yang diamati". deeplearning.net memiliki banyak contoh bagus dan penjelasan sederhana.
Angelorf
@Angelorf dapatkah Anda meninjau instruksi ini? saya menggunakan versi batch. jadi untuk batch 1 saya menemukan v0-h0-v1-h1.sekarang kita menemukan + ve dan -ve sampel dan memperbarui gradien. Kemudian untuk batch berikutnya, rantai gibbs dimulai pada h1 dari batch pertama menggantikan h0 dari batch kedua. Apakah saya benar?
subha
@subha Saya pikir itu benar, tapi itulah yang saya tanyakan di posting asli.
Angelorf
Ketika saya melakukan itu, bagaimana cara merekonstruksi data input dengan benar? Saya sudah mencoba, itu bukan merekonstruksi data yang tepat.
subha

Jawaban:

1

Makalah asli yang menjelaskan hal ini dapat ditemukan di sini

Di bagian 4.4, mereka membahas cara-cara algoritma dapat diimplementasikan. Implementasi terbaik yang mereka temukan pada awalnya adalah tidak mereset Markov Chains, untuk melakukan satu pembaruan Gibbs penuh pada setiap Markov Chain untuk setiap estimasi gradien, dan menggunakan sejumlah Markov Chains yang sama dengan jumlah poin data pelatihan dalam mini- batch

Bagian 3 mungkin memberi Anda beberapa intuisi tentang ide kunci di balik PCD.

chairbender
sumber
0

Sebagaimana dinyatakan oleh chairbender, mereka tidak mengatur ulang rantai untuk bagian dari gradien negatif.

Apa intuisi di balik ini? Seperti yang dinyatakan dalam makalah asli , untuk RBM, Anda tidak perlu mengatur ulang rantai karena hanya ada satu distribusi yang perlu Anda sampel, sebagai lawan dari distribusi per titik (yang mungkin Anda perlukan untuk jaringan kepercayaan). Anda benar bahwa untuk beberapa model Anda mungkin perlu mengingat rantai per poin.

Untuk Metode Kontrasif: Istilah negatif dalam pembaruan melebihi ekspektasi atau sampel menurut beberapa distribusi, tetapi RBM hanya memiliki satu distribusi (pasca-bakar masuk).

beelze-b
sumber