Inferensiasional versus MCMC: kapan harus memilih yang satu dari yang lain?

36

Saya pikir saya mendapatkan ide umum baik VI dan MCMC termasuk berbagai rasa MCMC seperti sampling Gibbs, Metropolis Hastings dll. Makalah ini memberikan paparan yang luar biasa dari kedua metode.

Saya punya pertanyaan berikut:

  • Jika saya ingin melakukan inferensi Bayesian, mengapa saya memilih satu metode daripada yang lain?
  • Apa pro dan kontra dari masing-masing metode?

Saya mengerti bahwa ini adalah pertanyaan yang cukup luas, tetapi wawasan apa pun akan sangat dihargai.

kedarps
sumber

Jawaban:

34

Untuk jawaban yang panjang, lihat Blei, Kucukelbir, dan McAuliffe di sini . Jawaban singkat ini sangat menarik darinya.

  • MCMC tepat asimtotik; VI tidak . Dalam batasnya, MCMC akan memperkirakan perkiraan target distribusi. VI datang tanpa jaminan.
  • MCMC mahal secara komputasi . Secara umum, VI lebih cepat.

Artinya, ketika kita memiliki waktu komputasi untuk membunuh dan menilai ketepatan estimasi kita, MCMC menang. Jika kita bisa mentolerir pengorbanan itu demi kemanfaatan — atau kita bekerja dengan data yang begitu besar kita harus melakukan pertukaran — VI adalah pilihan alami.

Atau, seperti yang lebih fasih dan tuntas dijelaskan oleh penulis yang disebutkan di atas:

Dengan demikian, inferensi variasional cocok untuk set data besar dan skenario di mana kami ingin cepat mengeksplorasi banyak model; MCMC cocok untuk set data yang lebih kecil dan skenario di mana kami dengan senang hati membayar biaya komputasi yang lebih berat untuk sampel yang lebih tepat. Sebagai contoh, kita dapat menggunakan MCMC dalam pengaturan di mana kita menghabiskan 20 tahun mengumpulkan kumpulan data yang kecil tapi mahal, di mana kita yakin bahwa model kita sesuai, dan di mana kita memerlukan kesimpulan yang tepat. Kami mungkin menggunakan inferensi variasional ketika menyesuaikan model teks probabilistik dengan satu miliar dokumen teks dan di mana inferensi akan digunakan untuk menyajikan hasil pencarian kepada populasi pengguna yang besar. Dalam skenario ini, kita dapat menggunakan perhitungan terdistribusi dan optimisasi stokastik untuk meningkatkan dan mempercepat inferensi, dan kita dapat dengan mudah mengeksplorasi banyak model data yang berbeda.

Sean Easter
sumber
Saya pikir Stan adalah perangkat lunak tercepat untuk melakukan MCMC (NUTS). Apa yang tercepat (atau lebih kuat) untuk dilakukan Variational Inference?
skan
3
@skan Pertanyaan yang bagus! Yang paling dekat yang saya lihat dengan perangkat lunak VI untuk keperluan umum adalah edward , meskipun saya belum menggunakannya sendiri. (Banyak aplikasi VI bersifat khusus, karena mereka mendapatkan algoritme yang sesuai dengan model minat tertentu.)
Sean Easter
2
Stan juga mendukung VI. Satu-satunya batasan stan adalah bahwa ia tidak dapat sampel variabel diskrit.
RJTK
Juga, saya tidak percaya Stan menjalankan ADVI pada GPU ... belum. Perangkat lunak tercepat untuk inferensi variasional kemungkinan adalah TensorFlow Probability (TFP) atau Pyro, keduanya dibangun di atas kerangka kerja pembelajaran dalam yang sangat dioptimalkan (yaitu, CUDA). TFP tumbuh dari pekerjaan awal pada Edward oleh Dustin Tran, yang sekarang memimpin TFP di Google saya percaya.
Adam Erickson
@AdamErickson FYI: Stan secara bertahap mulai menggunakan GPU arxiv.org/abs/1907.01063
Tim