2 poin oleh GN⁺ 2025-05-17 | 1 komentar | Bagikan ke WhatsApp
  • Pengantar singkat tentang struktur dan tujuan Mesin Boltzmann
  • Fungsi energi dan distribusi probabilitas didefinisikan dengan rumus
  • Aturan pembaruan bobot dan bias diturunkan melalui diferensiasi
  • Penjelasan metode pendekatan ekspektasi model melalui fase positif·negatif dan Gibbs sampling
  • Pada akhirnya, algoritma Contrastive Divergence dirangkum secara keseluruhan

Konsep Mesin Boltzmann dan Contrastive Divergence

  • Dalam Mesin Boltzmann, terdapat lapisan masukan (visible layer) dan lapisan tersembunyi (hidden layer), serta matriks bobot yang menghubungkan keduanya dan vektor bias untuk masing-masing lapisan

Fungsi energi dan distribusi probabilitas

  • Fungsi energi didefinisikan dalam bentuk matriks sebagai berikut

    E(v, h) = -ΣiΣj wij vi hj - Σi bi vi - Σj cj hj
    • v: vektor lapisan terlihat, h: vektor lapisan tersembunyi, w: bobot, b/c: bias masing-masing lapisan
  • Distribusi gabungan Mesin Boltzmann adalah

    P(v, h) = (1/Z) * exp(-E(v, h))
    • Z (fungsi partisi) berperan untuk menormalkan distribusi probabilitas

Log-likelihood dan diferensiasi

  • Pelatihan dilakukan dengan memaksimalkan likelihood data pelatihan

    log(P(v)) = log(Σh exp(-E(v, h))) - log(Z)
  • Turunan parsial log-likelihood terhadap bobot wij adalah

    ∂(log P(v))/∂wij = <vi hj>data - <vi hj>model
    • < · >data: ekspektasi terhadap data nyata
    • < · >model: ekspektasi terhadap data yang dihasilkan model

Aturan pembelajaran bobot dan bias

  • Bobot dan bias diperbarui sebagai berikut
    • Δwij = η(<vi hj>data - <vi hj>model)
    • Δbi = η(<vi>data - <vi>model)
    • Δcj = η(<hj>data - <hj>model)
    • η adalah learning rate

Algoritma Contrastive Divergence

  • Karena ekspektasi model < · >model sulit dihitung secara langsung, digunakan Gibbs sampling
  • Contrastive Divergence melakukan pendekatan dengan prosedur berikut
    1. Fase positif: sampling lapisan tersembunyi h(0) dari P(h | v(0)=data)
    2. Fase negatif: mengulangi Gibbs sampling sebanyak k kali
    • Secara bergantian melakukan sampling v(t+1) ~ P(v | h(t)), h(t+1) ~ P(h | v(t))
  • Pada saat pembaruan, digunakan selisih antara ekspektasi data dan ekspektasi model
    • Δwij = η(<vi hj>data - <vi hj>model)
    • Δbi = η(<vi>data - <vi>model)
    • Δcj = η(<hj>data - <hj>model)

Ringkasan

  • Inti pembelajaran Mesin Boltzmann sebagai model berbasis energi adalah mengurangi selisih ekspektasi antara data nyata dan distribusi yang dihasilkan model
  • Contrastive Divergence adalah metode pelatihan inti yang memungkinkan pendekatan selisih ini dilakukan dengan cepat dan efisien
  • Melalui Gibbs sampling, metode ini berperan menghubungkan distribusi model dengan data nyata, dan dengan mengulangi proses ini bobot serta bias diperbarui agar Mesin Boltzmann dapat merepresentasikan data dengan baik

1 komentar

 
GN⁺ 2025-05-17
Komentar Hacker News
  • Teringat masa pada 1990 ketika membuat “neuron” dengan array pointer void di C murni untuk membangun mesin Boltzmann dan perceptron
    Saat itu, hal-hal yang dilakukan sebagai “AI” hanya sebatas menebak nada berikutnya dari melodi MIDI, atau mengenali bentuk not penuh, not setengah, not seperempat, dan not seperdelapan pada kisi titik 5×9; akurasi 85% sudah dianggap “cukup bagus”

    • Membaca not dari partitur bergaris terdengar seperti proyek yang menarik. Apalagi kalau dibuat sendiri dari awal seperti contoh jaringan saraf angka dari 3Blue1Brown[1]
      Jika dipadukan dengan sesuatu seperti Chuck[2], dengan teknologi sekarang kita bahkan bisa membuat aplikasi yang sepenuhnya berjalan di sisi klien saja

      [1] - https://www.3blue1brown.com/lessons/neural-networks

      [2] - https://chuck.stanford.edu/

    • Penasaran apakah keluarannya terdengar seperti musik

  • Sejauh yang saya pahami, Harmonium (Smolensky) adalah restricted Boltzmann machine pertama, tetapi alih-alih meminimalkan “energi”, ia memaksimalkan “harmoni”
    Ketika Smolensky, Hinton, dan Rummelhart berkolaborasi, sepertinya mereka menyebutnya “goodness of fit”. Makalah Harmonium[1] sangat enak dibaca, Hinton tentu saja menjadi superstar, dan Smolensky menulis buku-buku panjang tentang linguistik. Saya penasaran apakah ada yang tahu lebih banyak tentang sejarah ini

    [1] https://stanford.edu/~jlmcc/papers/PDP/Volume%201/Chap6_PDP8...

  • Tulisan menarik tentang David Ackley: https://news.unm.edu/news/24-nobel-prize-in-physics-cited-gr...
    T2 Tile Project juga wajib dilihat

    • Intinya, banyak orang terlibat dalam menciptakan terobosan seperti ini
      Nilai mahasiswa pascasarjana sering diremehkan, padahal sebenarnya kontribusinya sangat besar dan kemudian mereka mengembangkan riset itu lebih jauh. Riset telah mendorong begitu banyak hal ke depan; saya tidak mengerti mengapa AS memandang riset seolah-olah pemborosan
  • Saya salah membaca judulnya sebagai “A Tiny Boltzmann Brain”[0]
    Pikiran alami saya langsung memecahkan teka-tekinya. Saya mengira ini kasus ketika bobot yang dibuat secara acak dimasukkan ke model yang sangat kecil, lalu diuji apakah benar-benar melakukan sesuatu yang berguna. Lagi pula, makin kecil modelnya, makin besar peluang generasi acak murni menghasilkan sesuatu yang menarik relatif terhadap ukurannya
    Saya menerima koreksinya, tapi tidak patah semangat. Saya mengusulkan kelas model baru bernama “Unbiased-Architecture Instant Boltzmann Model” (UA-IBM). Suatu hari, jika ada komputer kuantum yang cukup besar, kita bisa menetapkan seluruh dataset sebagai batasan klasik bagi model yang didefinisikan oleh N nilai terserialisasi yang merepresentasikan semua parameter dan pengaturan struktur. Lalu sistem kuantum dengan N qubit menempatkan semua kemungkinan parameter dan struktur dalam keadaan superposisi kuantum, menjalankan satu langkah inferensi atas seluruh sampel klasik, kemudian meruntuhkan hasilnya untuk mengembalikan parameter dan struktur model terbaik atau hampir terbaik dalam bentuk klasik
    Saya penasaran apakah ada yang punya beberapa qubit cadangan untuk mencoba ini. Ironis juga: semuanya kuantum, tetapi terlalu licin sehingga sejauh ini hampir belum bisa kita manfaatkan
    Sebagai latar fiksi ilmiah, bisa dibayangkan spesies alien yang berevolusi memiliki sensor kuantum sekali pakai, yang kemudian berkembang menjadi seluruh sistem indra dan saraf kuantum, lalu sejak awal berevolusi menjadi kecerdasan kuantum sepenuhnya. Seperti apa masyarakat dan lintasan teknologinya? Semoga mereka berada di orbit dekat lubang hitam, supaya kemajuan eksplosifnya belum mengancam kita. Lalu suatu hari mereka lolos dari sumur gravitasi…

    [0] https://en.wikipedia.org/wiki/Boltzmann_brain

    • Komputer kuantum tidak bekerja seperti itu
    • Kasihan makhluk-makhluk kuantum itu. Karena tidak bisa mengakses model komputasi yang lebih cepat daripada pikiran mereka sendiri, mereka ditakdirkan menunggu sangat lama sampai komputasinya selesai
  • Penjelasannya bagus. Sebagai catatan, entah kenapa scroll mouse terlalu sensitif
    Saya menduga swipe di mobile baik-baik saja, tapi belum saya cek. Setiap kali mencoba menggulir, tampilannya melompat dari “halaman” pertama ke “halaman” terakhir, lalu kembali lagi. Untungnya input keyboard berfungsi, jadi saya bisa membaca seluruh tulisan

  • Kalau saya memahaminya dengan benar, alih-alih memakai forward propagation dan backpropagation berbasis gradien seperti jaringan saraf yang akrab sekarang, tampaknya perhitungan pembaruan bobot membutuhkan Gibbs sampling
    Saya penasaran apakah ada yang mengerti alasannya

    • Gibbs sampling tampaknya dipakai sebagai cara untuk mengaproksimasi nilai ekspektasi atas distribusi model
      Nilai ini diperlukan untuk menghitung gradien log-likelihood, tetapi mengintegralkan distribusinya sulit ditangani. Mirip seperti penggunaan MCMC untuk mengambil sampel representatif di VAE. Pada jaringan saraf ala deep learning, kita mengestimasi gradien atas batch dataset, bukan atas distribusi probabilitas yang dimodelkan secara eksplisit
    • Saya bukan ahli, tetapi pernah mendapat sedikit pendidikan formal di bidang Bayesian yang menangani masalah serupa
      Biasanya Gibbs dipakai ketika gradien langsung tidak sederhana, atau ketika kita ingin mereproduksi distribusinya sendiri, bukan sekadar estimasi titik. Sebaliknya, ia berguna ketika ada likelihood marginal/kondisional yang mudah disampling. Karena setiap node tampak bergantung pada setiap node tersembunyi dan setiap node tersembunyi memengaruhi semua node tampak, gradiennya menjadi sangat berantakan; karena itu Gibbs sampling yang menyesuaikan berdasarkan likelihood marginal menjadi jauh lebih sederhana
    • Mungkin saya salah, tetapi menurut saya ini sebagian karena struktur RBM yang tak berarah
      Jadi kita tidak bisa membangun graf komputasi dengan cara yang sama seperti jaringan saraf feed-forward
  • Penjelasan yang rapi dan bagus. Banyak kenangan lama muncul kembali
    Promosi yang agak memalukan, tapi beberapa tahun lalu saya pernah membuat visualisasi pelatihan RBM: https://www.youtube.com/watch?v=lKAy_NONg3g

  • Demonya keren. Lima belas tahun lalu di universitas saya mengikuti kuliah jaringan saraf Geoff Hinton, dan ia menjelaskan mesin Boltzmann selama beberapa kuliah
    Kalimat “restricted Boltzmann machine adalah kasus khusus ketika neuron tampak dan neuron tersembunyi tidak saling terhubung” itu salah. Ungkapan ini terdengar seolah neuron tampak tidak terhubung dengan neuron tersembunyi
    Formulasi yang benar adalah “neuron tampak tidak saling terhubung satu sama lain, dan neuron tersembunyi juga tidak saling terhubung satu sama lain”. Atau bisa juga, “neuron tampak dan neuron tersembunyi masing-masing tidak memiliki koneksi di dalam tipe mereka sendiri”

    • Kalau begitu, saya tidak terlalu paham bedanya dengan multilayer perceptron biasa. Apa bedanya mesin Boltzmann?
      Sunting: sudahlah. Saya tidak sadar harus menggulir ke atas untuk melihat ringkasan pengantar
      Seperti komentar 0xTJ yang [flagged][dead], memang tepat bahwa upaya membajak atau menciptakan ulang scrolling bukanlah hal yang baik