Tag Archives: Deep Learning

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. Continue reading

Contrastive Divergence untuk Deep Learning

oleh Abu Ahmad (abuahmad@promtionme,com)

Restricted Boltzmann machines (RBM) merupakan kunci dalam deep learning. Permasalahan dalam deep learning adalah sering kali jaringan syaraf tiruan yang menggunakan banyak layer (lapisan) akan tersendat di tengah jalan yaitu ketika saat training. Karena jumlah Weight (bobot) yang digunakan dalam deep learning sangat banyak.sehingga bisa jadi jaringan syaraf tiruan akan tersendat atau terperangkap pada minimum lokal.

Lukisan yang dibuat oleh jaringan syaraf manusia

Lukisan yang dibuat oleh jaringan syaraf manusia

Lalu kenapa beralih ke deep learning yang mempunyai banyak lapis yang sulit untuk dilatih? pada Multi Layer Perceptron (MLP) yang terdiri atas beberapa layer jaringan yang terdiri atas satu atau dua layer tersembunyi, akurasi dari jaringan syaraf tiruan akan sangat rendah, Karena itu dibutuhkan lebih banyak lapisan untuk meningkatkan memampuan jaringan syaraf tiruan. Semakin banyak lapisan, maka akan semakin tinggi kemampuan jaringan syaraf tiruan. Namun, semakin banyak lapisan yang digunakan, waktu atau iterasi yang dibutuhkan juga semakin banyak. hal ini dikarenakan, karena metode Back propagation yang digunakan untuk memperbaharui (update) bobot jaringan akan mengecil seiring makin banyaknya jaringan atau lapisan. Permasalahan ini disebut vanishing gradient problem (permasalahan gradien yang menghilang).

Continue reading