RBM adalah binatang yang menarik. Untuk menjawab pertanyaan Anda, dan menyiarkan ingatan saya pada mereka, saya akan menurunkan RBM dan berbicara melalui derivasi. Anda menyebutkan bahwa Anda bingung tentang kemungkinannya, jadi derivasi saya akan dari perspektif mencoba memaksimalkan kemungkinan. Jadi mari kita mulai.
RBM mengandung dua set neuron yang berbeda, terlihat dan tersembunyi, saya akan menunjukkan masing-masing dan h . Diberikan konfigurasi spesifik v dan h , kami memetakannya ruang probabilitas.vhvh
p(v,h)=e−E(v,h)Z
Ada beberapa hal yang lebih untuk didefinisikan. Fungsi pengganti yang kita gunakan untuk memetakan dari konfigurasi spesifik ke ruang probabilitas disebut fungsi energi . The Z konstan adalah faktor normalisasi untuk memastikan bahwa kita benar-benar memetakan ke ruang probabilitas. Sekarang mari kita menuju apa yang sebenarnya kita cari; probabilitas satu set neuron yang terlihat, dengan kata lain, probabilitas data kami.
Z = ∑ v ∈ V ∑ h ∈ H e - E ( v , h ) p ( v )E(v,h)Z
Z=∑v∈V∑h∈He−E(v,h)
p(v)=∑h∈Hp(v,h)=∑h∈He−E(v,h)∑v∈V∑h∈He−E(v,h)
Meskipun ada banyak istilah dalam persamaan ini, itu hanya datang untuk menuliskan persamaan probabilitas yang benar. Mudah-mudahan, sejauh ini, ini telah membantu Anda menyadari mengapa kita perlu fungsi energi untuk menghitung probabilitas, atau apa yang dilakukan lebih biasanya unnormalized probabilitas . Probabilitas yang tidak dinormalkan digunakan karena fungsi partisi Z sangat mahal untuk dihitung.p(v)∗ZZ
Sekarang mari kita ke fase pembelajaran RBM yang sebenarnya. Untuk memaksimalkan kemungkinan, untuk setiap titik data, kita harus mengambil langkah gradien untuk membuat . Untuk mendapatkan ekspresi gradien diperlukan beberapa akrobat matematika. Hal pertama yang kita lakukan adalah mengambil log p ( v ) . Kami akan beroperasi di ruang probabilitas log mulai sekarang untuk membuat matematika layak.p(v)=1p(v)
Mari kita mengambil gradien sehubungan dengan parameter di p ( v )
log(p(v))=log[∑h∈He−E(v,h)]−log[∑v∈V∑h∈He−E(v,h)]
p(v)
∂log(p(v))∂θ=−1∑h′∈He−E(v,h′)∑h′∈He−E(v,h′)∂E(v,h′)∂θ+1∑v′∈V∑h′∈He−E(v′,h′)∑v′∈V∑h′∈He−E(v′,h′)∂E(v,h)∂θ
Sekarang saya melakukan ini di atas kertas dan menulis persamaan semifinal agar tidak membuang banyak ruang di situs ini. Saya sarankan Anda menurunkan sendiri persamaan ini. Sekarang saya akan menulis beberapa persamaan yang akan membantu melanjutkan derivasi kami. Perhatikan bahwa: , p ( v ) = Σ h ∈ H p ( v , h ) dan p ( h | v ) =Zp(v,h)=e−E(v,h′)p(v)=∑h∈Hp(v,h)p(h|v)=p(v,h)p(h)
∂log(p(v))∂θ∂log(p(v))∂θ=−1p(v)∑h′∈Hp(v,h′)∂E(v,h′)∂θ+∑v′∈V∑h′∈Hp(v′,h′)∂E(v′,h′)∂θ=−∑h′∈Hp(h′|v)∂E(v,h′)∂θ+∑v′∈V∑h′∈Hp(v′,h′)∂E(v′,h′)∂θ
Dan begitulah, kami memperoleh estimasi kemungkinan maksimum untuk RBM, jika Anda mau, Anda bisa menulis dua istilah terakhir melalui ekspektasi istilah masing-masing (kondisional, dan probabilitas gabungan).
Catatan tentang fungsi energi dan stokastik neuron.
Seperti yang Anda lihat di atas dalam derivasi saya, saya meninggalkan definisi fungsi energi agak kabur. Dan alasan untuk melakukan itu adalah bahwa banyak versi RBM yang berbeda mengimplementasikan berbagai fungsi energi. Salah satu yang dijelaskan Hinton dalam kuliah yang ditautkan di atas, dan ditunjukkan oleh @ Laurens-Meeus adalah:
E(v,h)=−aTv−bTh−vTWh.
Mungkin lebih mudah untuk beralasan tentang istilah gradien di atas melalui formulir harapan.
∂log(p(v))∂θ=−Ep(h′|v)∂E(v,h′)∂θ+Ep(v′,h′)∂E(v′,h′)∂θ
Harapan dari istilah pertama sebenarnya sangat mudah untuk dihitung, dan itu adalah kejeniusan di balik RBM. Dengan membatasi koneksi harapan bersyarat hanya menjadi propagasi ke depan dari RBM dengan unit yang terlihat dijepit. Ini adalah fase bangun dalam mesin Boltzmann. Sekarang menghitung istilah kedua jauh lebih sulit dan biasanya metode Monte Carlo digunakan untuk melakukannya. Menulis gradien melalui rata-rata berjalan Monte Carlo:
∂log(p(v))∂θ≈−⟨∂E(v,h′)∂θ⟩p(h′|v)+⟨∂E(v′,h′)∂θ⟩p(v′,h′)
Menghitung term pertama tidak sulit, seperti yang disebutkan di atas, oleh karena itu Monte-Carlo dilakukan selama term kedua. Metode Monte Carlo menggunakan sampling acak berurutan dari distribusi, untuk menghitung harapan (jumlah atau integral). Sekarang pengambilan sampel acak dalam RBM klasik ini didefinisikan sebagai pengaturan suatu unit menjadi 0 atau 1 berdasarkan probabilitasnya secara stokastik, dengan kata lain, dapatkan angka seragam acak, jika kurang dari probabilitas neuron set ke 1, jika itu lebih besar dari set ke 0.