Bagaimana cara mengumpulkan statistik pada Contrastive Divergence(CD)?

Oleh: Abu Ahmad (abuahmad@promotionme.com)

Sebagai awalan, kita asumsikan bahwa semua unit visible dan hidden adalah unit biner. Jenis unit lain akan kita bahas kemudian hari. Kita juga akan asumsikan bahwa tujuan dari pembelajaran adalah untuk menghasilkan sebuah model generatif yang bagus untuk sekumpulan vektor training. Ketika menggunakan Restricted Boltzmann Machine (RBM) untuk pembelajaran Deep Belief Nets (DBN) yang selanjutnya akan diperbaiki menggunakan propagasi balik, model generatif bukanlah tujuan akhir dan mungkin untuk dibiarkan dalam kondisi di bawah sesuai (underfitting) untuk menghemat waktu, namun hal tersebut akan kita abaikan di sini.

Syaraf Manusia Mengindra Gambar dan Rangsangan dari Luar

Syaraf Manusia Mengindra Gambar dan Rangsangan dari Luar

Pembaharuan status hidden

Asumsikan bahwa unit hidden adalah unit biner dan kita sedang menggunakan CD_1, unit hidden seharusnya mempunyai status biner stokastik ketika dihasilkan oleh sebuah vektor data. Probabilitas mengaktifkan sebuah unit hidden j, dihitung dengan menerapkan fungsi logistik \sigma(x)=1/(1+exp(-x)) pada total masukannya.

(1)   \begin{equation*}  p(h_j=1)=\sigma(b_j + \sum_iv_iw_{ij}) \end{equation*}

dan unit hidden menjadi aktif jika probabilitas ini lebih besar daripada angka acak yang dibangkitkan secara merata antar 0 dan 1.

Adalah sangat penting utnuk membuat status hidden ini biner, dari pada menggunakan probabilitas itu sendiri. jika probabilitas ini digunakan, tiap unit hidden bisa berkomunikasi melalui sebuah nilai riil ke unit visible selama rekonstruksi. Hal ini secara serius melanggar hambatan informasi yang dihasilkan bahwa sebuah unit hidden bisa membawa informasi paling banyak 1 bit (secara rata-rata). Hambatan informasi ini berlaku sebagai sebuah pengatur yang kuat.

Untuk pembaharuan terakhir dari unit hidden, adalah sangat konyol untuk menggunakan status biner stokastik karena tidak ada yang tergantung pada status mana yang dipilih. Sehingga penggunaan probabilitas itu sendiri untuk menghindari derau sampling yang tidak diperlukan. Ketika menggunakan CD_n hanya pembaharuan terakhir dari unit tersembunyi yang seharusnya menggunakan probabilitas.

 Pembaharuan status visible

Dengan asumsi bahwa unit adalah biner, cara yang tepat untuk memperbaharui status visible ketika membangkitkan rekonstruksi adalah secara statistik memilih antara 1 dan 0 dengan sebuah probabilitas yang ditentukan oleh masukan atas-bawah total.

(2)   \begin{equation*}  p_i=p(v_i=1)=\sigma(a_i + \sum_jh_iw_{ij}) \end{equation*}

namun, bisasanya digunakan probabilitas p_i daripada sampling sebuah nilai biner. Hal ini bukanlah masalah karena pengunaan probabilitas untuk status data hiden dan hal ini mengurangi derau samping sehingga mempercepat pembelajaran. terdapat beberapa bukti bahwa cara ini mengarah pada model kepadatan yang sedikit lebih buruk. Hal ini mungkin bukan masalah ketika penggunaan RBM untuk pra-pelatihan sebuah lapisan dari fitur hidden untuk penggunaan dalam sebuah deep belief net.

Pengumpulan statistik yang dibutuhkan untuk pembelajaran

Dengan asumsi bahwa unit visible menggunakan probabilitas bernilai riil dari pada nilai dari stokastik biner, terdapat dua cara yang masuk akal untuk mengumpulkan statistik positif untuk koneksi antara unit visible i dan unit hidden j:

(3)   \begin{equation*}  \langle p_ih_j\rangle_{data} \ atau\  \langle p_ih_j\rangle_{data} \end{equation*}

di mana p_j adalah probabilitas dan h_j dalah status biner yang akan bernilai 1 dengan probabilitas p_j. Penggunaan h_j  lebih dekat dengan model matematis dari sebuah RBM, namun penggunaan p_j biasanya mempunyai lebih sedikit derau sampling yang mana memungkinkan pembelajaran yang sedikit lebih cepat.

Langka untuk mendapatkan sinyal pembelajaran untuk CD_1

ketika unit hidden dihasilkan oleh data, selalu menggunakan status biner stokastik. Ketika didorong oleh rekonstruksi, selalu gunakan probabilitas tanpa sampling.

Dengan asumsi unit visible menggunakan fungsi logistik, gunakan probabilitas dengan nilai riil untuk data dan rekonstruksi.

Ketika mengumpulkan statistik pasangan untuk bobot pembelajaran untuk statistik individu untuk bias pembelajaran, gunakan probabilitas buka dari status biner, dan pastikan bobot telah mempunyai nilai awal yang acak untuk memecah simetri.

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>