Deep Learning: Boltzmann Machines

Deep Learning: Boltzmann Machines

Bagaimana Boltzmann Machines Bekerja?

Mengapa nama teknik ini disebut dengan istilah Boltzmann Machine? Alasannya adalah teknik ini dilandaskan pada distribusi Boltzmann atau juga dikenal dengan istilah Gibbs distribution. Konsep distribusi ini berasal dari dunia Fisika, di mana distribusi ini berbicara banyak tentang kondisi energi yang ada. Tentunya kita tidak akan membahas lebih dalam tentang distribusi ini, kita hanya mengambil yang terkait saja dengan deep learning.

Untuk memahami lebih dalam bagaimana distribusi bekerja, mari kita lihat formula matematis yang diadaptasi dari energy-based model berikut ini:

Formula energy-based model
Formula energy-based model

Formula di atas menjelaskan bahwa probabilitas distribusi Boltzmann sebuah state i ditentukan oleh proporsi antara nilai energi state tersebut (state i) dengan jumlah energi yang ada di sekitarnya (sebanyak M states). Koefisien k adalah konstanta Boltzmann, dan koefisien T menyatakan besarnya temperatur yang ada di sistem.

Mari kita lihat formula matematis yang ada di bagian pembilang (di atas garis bagi). Kita melihat bahwa nilainya ditentukan oleh pangkat dari sebuah koefisien eksponen (e), dan pangkatnya bernilai minus. Artinya semakin besar energi yang dimiliki oleh state tersebut (state i) maka semakin kecil probabilitasnya. Dengan demikian bisa dikatakan bahwa energi dan probabilitasnya di dalam sebuah sistem bersifat inversed (berkebalikan).

Contoh nyata dari aplikasi formula di atas adalah gas di dalam sebuah ruangan. Ilustrasinya bisa dilihat pada gambar berikut:

oksigen boltzmann
Ilustrasi aplikasi distribusi Boltzmann

Anggap kita memiliki 2 skenario (A dan B). Skenario A adalah kondisi yang wajar terjadi di mana semua partikel oksigen tersebar ke seluruh ruangan bahkan walau di celah yang sempit sekalipun. Untuk membuktikannya, maka kita bisa menyalakan korek api misalnya di sudut ruangan. Jika api menyala maka bisa dipastikan ada oksigen di sana, karena salah satu komponen yang diperlukan untuk pembakaran adalah oksigen.

Sementara skenario B, menggambarkan bahwa semua partikel oksigen di ruangan tersebut terpusat di ujung kiri ruangan. Hal ini dimungkinkan jika kita menggunakan alat vakum atau penyedot udara misalnya. Walau demikian, secara wajar skenario B ini jarang terjadi. Tentu saja bisa terjadi namun tidak dalam kondisi normal.

Perbedaan probabilitas kedua kondisi di atas, di mana probabilitas kejadian A lebih besar daripada probabilitas kejadian B, sesuai dengan formula distribusi Boltzmann di atas. Skenario B memiliki probabilitas yang sangat kecil, karena untuk mewujudkan kondisi ini, maka diperlukan energi yang sangat besar untuk bisa menyedot semua partikel gas yang ada di ruangan. Hal ini sangat sejalan di mana nilai probabilitas sebuah state berbanding terbalik dengan besarnya energi di state tersebut. Semakin besar energi untuk mewujudkan state tersebut, maka semakin kecil probabilitasnya. Dengan demikian bisa juga dikatakan bahwa probabilitas terbesar adalah untuk state dengan energi yang paling kecil.

Ilustrasi lain juga bisa diaplikasikan jika kita menuangkan tinta di air. Jika hal ini dilakukan, maka dengan cepat tinta akan menyebar ke segala arah. Hal ini sangat wajar (normal) terjadi karena tidak diperlukan energi besar bagi tinta untuk menyebar secara acak. Namun jika kita mengharapkan tintanya langsung berbentuk bintang, bulan sabit dan bentuk unik lainnya tentu probabilitasnya sangat kecil.

Dalam konsep Boltzmann, sistem akan mencari state dengan energi yang paling minimim.

Sampai di sini saya harap pembaca bisa paham konsep dan aplikasi distribusi Boltzmann. Lalu apa hubungannya dengan arsitektur Boltzmann Machines?

Mari kita lihat lagi arsitektur Boltzmann Machines:

ilusrtasi rancangan Boltzmann
Ilustrasi arsitektur Boltzmann Machines

Sama halnya dengan contoh partikel gas, maupun tinta yang dicelupkan di air, maka dalam arsitektur Boltzmann ia akan mencari state dengan energi yang paling kecil.

Besarnya energi di arsitektur ini ditentukan melalui bobot hubungan antara node satu dengan yang lainnya. Ketika arsitektur ini mulai di-training maka bobot ini akan mulai disesuaikan dengan sendirinya untuk mencari kondisi dengan energi terkecil.

Sebenarnya sampai di sini mirip dengan ANN bukan? Di mana konsep di ANN adalah meminimasi cost function, tapi di Boltzmann adalah meminimasi energi,


Meminimasi Energi di Boltzmann Machines

Sudah kit bahas sebelumnya bahwa di arsitektur Boltzmann Machines, sistem akan mencari kondisi (state) di mana besarnya energi adalah minimum. Formula matematisnya bisa dilihat sebagai berikut:

formula energi botlzmann
Formula energi Boltzmann

Formula di atas menunjukkan bahwa nilai energi dari sebuah sistem Boltzmann ditentukan oleh penjumlahan 3 kali. Simbol v merepresentasikan visible nodes, yaitu nodes yang bisa kita tentukan nilainya. Sementara simbol h adalah hidden nodes.

Pada formula penjumlahan pertama adalah penjumlahan untuk perkalian setiap visible nodes dengan koefisien a yang merupakan konstanta, Banyaknya jumlah visible nodes diwakili oleh simbol i.

Pada formula penjumlahan kedua sangat mirip dengan penjumlahan pertama, namun kali ini berlaku untuk hidden nodes dengan simbol b sebagai konstantanya. Jumlah banyaknya hidden nodes yang ada diwakili oleh simbol j.

Penjumlahan ketiga adalah penjumlahan dari perkalian untuk semua nodes baik itu visible maupun hidden. Simbol w merepresentasikan bobot antara visible node ke i dengan hidden node ke j.

Perlu diperhaitkan bahwa untuk ketiga penjumlahan ini nilai konstanta a, b, dan bobot w bernilai tetap (tidak berubah). Dengan demikian untuk sebuah state tertentu kita bisa menghitung nilai energinya.

Langkah selanjutnya jika kita sudah bisa menentukan besarnya energi sebuah state tertentu adalah menghitung probabilitasnya. Formulanya bisa dilihat sebagai berikut:

probabilitas dari sistem boltzmann
Probabilitas sebuah state berdasarkan nilai energinya

Formula ini pada dasarnya sama dengan formula probabilitas sebelumnya. Nilai energi yang sebelumnya sudah didapat dimasukkan sebagai koefisien minus dari konstanta eksponen. Hasilnya kemudian dibagi terhadap nilai Z, di mana Z adalah jumlah energi semua states yang mungkin ada di sistem tersebut.

Dengan demikian, nilai P akan sangat besar untuk state dengan energi yang sangat kecil, namun akan bernilai sangat kecil untuk state dengan energi yang sangat besar.

Untuk melanjutkan membaca silakan klik tombol ke halaman selanjutnya di bawah ini.

Bagikan artikel ini:

Pages: 1 2 3

Leave a Reply

avatar
  Subscribe  
Notify of