Mengenal Restricted Boltzmann Machine (RBM)

Oleh Abu Ahmad (abuahmad@promotionme.com)

Untuk melatih vektor biner yang akan kita asumsikan sebagai citra biner untuk penjelasan. Himpunan untuk latihan bisa dimodelkan menggunakan jaringan dua lapis yang disebut “Restricted Boltzmann Machine” (RBM) yang pixel biner stokastik yang terhubung ke detektor fitur biner stokastik menggunakan koneksi simetris berbobot. Pixel yang berpasangan dengan unit visible (terlihat) dari RBM karena statusnya bisa diobservasi; detektor fitur yang berpasangan dengan unit hidden (tersembunyi). Sebuah konfigurasi bersama (v,h) yang merupakan unit visible dan hidden mempunyai energi yang ditentukan oleh :

(1)   \begin{equation*}  E(v,h)=-\sum_{i\in visible} a_i v_i -\sum_{j\in hidden} b_j h_j -\sum_{i,j} v_i h_j w_{ij} \end{equation*}

di mana v_i,h_j adalah status biner dari unit visible i dan unit j , a_i, b_j adalah bias dari unit tersebut dan w_ij adalah bobot antara mereka. Jaringan memberikan sebuah probabilitas pada setiap pasang vektor unit visble dan hidden melalui fungsi energi berikut:

(2)   \begin{equation*}  p(v,h)=\frac{1}{Z}e^{-E(v,h)} \end{equation*}

dimana fungsi partisi, Z didapatkan dengan menjumlahkan semua pasangan yang mungkin dari vektor visible dan hidden”

(3)   \begin{equation*}  Z=\sum_{v,h}e^{-E(v,h)} \end{equation*}

Probabilitas dari jaringan memberikan sebuah vektor visible v didapatkan dengan menjumlahkan semua vektor tersembunyi yang mungkin

(4)   \begin{equation*}  p(v)=\frac{1}{Z}\sum_{h}e^{-E(v,h)} \end{equation*}

Probabilitas bahwa jaringan memberikan sebuah citra training bisa ditingkatkan dengan menyesuaikan bobot dan bias ke energi yang lebih rendah dari citra tersebut dan meningkatkan energi dari citra lain, terutama citra yang mempunyai energi rendah dan oleh karena itu akan memberi bobot yang besar pada fungsi partisi.

Turunan dari log probabilitas dari sebuah vektor training terhadap sebuah bobot ternyata sangat sederhana.

(5)   \begin{equation*}  \frac{\partial \log{p(v)}}{\partial w_{ij}}=\langle v_i,h_j\rangle_{data}-\langle v_i,h_j\rangle_{model} \end{equation*}

dimana kurung panah digunakan utnuk menandakan rataan pada distribusi yang ditentukan oleh data atau model. Ini mengarah pada sebuah aturan sederhana untuk melakukan stokastik kenaikan tertinggi pada log probabilitas dari data training:

(6)   \begin{equation*}  {\Delta w_{ij}}=\epsilon(\langle v_i,h_j\rangle_{data}-\langle v_i,h_j\rangle_{model}) \end{equation*}

di mana \epsilon adalah laju pembelajaran.

Karena tidak ada koneksi langsung antara unit tersembunyi dalam sebuah RBM, sangatlah mudah untuk mendapatkan sampel tidak bias dari \langle v_i,h_j\rangle_{data} . Ditentukan sebuah citra training yang dipilih v dan status biner h_j dari tiap unit tersembunyi j bernilai 1 dengan probabilitas

(7)   \begin{equation*}  p(h_j=1|v)=\sigma(b_j+\sum_i v_iw_ij) \end{equation*}

dimana \sigma(x) adalah fungsi sigmoid logistik 1/(1+exp(-x)). v_ih_j kemudian adalah sampel tidak bias.

karena tidak ada koneksi langsung antar unit visible dalam sebuah RBM, akan sengat mudah untuk mendapatkan sebuah sampel tidak bias dari unit visibel, dari vektor hidden yang ditentukan.

(8)   \begin{equation*}  p(v_i=1|h)=\sigma(a_i+\sum_j h_jw_ij) \end{equation*}

namun, untuk mendapatkan sebuah sampel tidak bias \langle v_i,h_j\rangle_{model}, sedikit lebih sulit. Sampel bisa didapatkan dengan memulai dari status acak dari unit visible dan melakukan Sampling Gibbs secara bergantian selama beberapa waktu yang lama. Satu iterasi sampling Gibbs secara bergantian terdiri atas pembaharuan semua unit hidden secara bersamaan menggunakan persamaan 7 diikuti dengan pembaharuan semau unit visible secara bersamaan menggunakan persamaan 8.

Cara yang lebih cepat adalah dengan menyetel status dari unit terlihat ke vektor latihan. kemudian status biner dari unit hidden semuanya dihitung secara paralel menggunakan persamaan 7. Ketika status biner sudah ditentukan untuk unit hidden, sebuah rekonstruksi dihasilkan dengan menyetel setiap v_i ke 1 dengan probabilitas diberikan oleh persamaan 8. Perubahan bobot bisa didapatkan pada persamaan 6.

Sebuah versi yang lebih sederhana dari aturan yang sama yang menggunakan status dari unit individual dari pada produk pasangan yang digunakan untuk bias.

Aturan pembelajaran bahkan bekerja walaupaun hanya secara kasar memperkirakan gradien dari probabilitas dari data training. Aturan pembelajaran secara lebih dekat memperkirakan secara lebih dekat gradien dari fungsi obyektif lain yang disebut Contrastive Divergence (CD) yang mana merupakan selisih dari dua divergen Kullback-Liebler, namun aturan tersebut membiarkan satu bagian yang penting dalam fungsi obyektif ini sehingga bahkan tidak mengikuti gradien tersebut. Memang beberapa literatur telah menunjukkan bahwa teknik tersebut tidak mengikuti gradien fungsi apapun. Namun, teknik tersebut bekerja cukup baik utnuk mendapatkan kesuksesan yang signifikan dalam banyak aplikasi.

RBM pada umumnya mempelajari dengan lebih baik model jika semakin banyak langkah dalam sampling Gibbs bergantian digunakan sebelum statistik untuk bagian kedua dalam aturan pembelajaran, yang mana akan disebut sebagai statistik negatif. CD akan digunakan untuk menandakan pembelajaran menggunakan n langkah penuh dari sampling Gibbs bergantian.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>