Inferenza variabile rispetto a MCMC: quando scegliere l'una rispetto all'altra?


37

Penso di avere l'idea generale di VI e MCMC, compresi i vari gusti di MCMC come il campionamento di Gibbs, Metropolis Hastings ecc. Questo documento fornisce una meravigliosa esposizione di entrambi i metodi.

Ho le seguenti domande:

  • Se desidero fare l'inferenza bayesiana, perché dovrei scegliere un metodo rispetto all'altro?
  • Quali sono i pro e i contro di ciascuno dei metodi?

Capisco che questa è una domanda piuttosto ampia, ma qualsiasi intuizione sarebbe molto apprezzata.

Risposte:


35

Per una risposta lunga, vedi Blei, Kucukelbir e McAuliffe qui . Questa breve risposta ne deriva fortemente.

  • MCMC è asintoticamente esatto; VI non lo è . Nel limite, MCMC approssimerà esattamente la distribuzione target. VI viene fornito senza garanzia.
  • MCMC è costoso dal punto di vista computazionale . In generale, VI è più veloce.

Ciò significa che quando abbiamo il tempo di calcolo per uccidere e valutare la precisione delle nostre stime, MCMC vince. Se possiamo tollerare di sacrificarlo per convenienza - o stiamo lavorando con dati così grandi che dobbiamo fare il compromesso - VI è una scelta naturale.

Oppure, come più eloquentemente e accuratamente descritto dagli autori sopra menzionati:

Pertanto, l'inferenza variazionale è adatta a grandi serie di dati e scenari in cui vogliamo esplorare rapidamente molti modelli; MCMC è adatto a set di dati e scenari più piccoli in cui paghiamo felicemente un costo computazionale più pesante per campioni più precisi. Ad esempio, potremmo utilizzare MCMC in un ambiente in cui abbiamo trascorso 20 anni a raccogliere un set di dati piccolo ma costoso, in cui siamo certi che il nostro modello sia appropriato e in cui richiediamo inferenze precise. Potremmo usare l'inferenza variazionale quando si adatta un modello probabilistico di testo a un miliardo di documenti di testo e dove verranno usate le inferenze per fornire risultati di ricerca a una vasta popolazione di utenti. In questo scenario, possiamo utilizzare il calcolo distribuito e l'ottimizzazione stocastica per ridimensionare e accelerare l'inferenza e possiamo facilmente esplorare molti diversi modelli di dati.


Penso che Stan sia il software più veloce per eseguire MCMC (NUTS). Qual è l'inferenza variazionale più veloce (o più potente)?
skan

3
@skan Meravigliosa domanda! Il più vicino che ho visto a un software VI per uso generale è edward , anche se non l'ho usato da solo. (Molte applicazioni di VI sono personalizzate, in quanto derivano un algoritmo per adattarsi al modello specifico di interesse.)
Sean Easter

2
Stan supporta anche VI. L'unica limitazione di stan è che non può campionare variabili discrete.
RJTK

Inoltre, non credo che Stan esegua ADVI su GPU ... eppure comunque. Il software più veloce per l'inferenza variazionale è probabilmente TensorFlow Probability (TFP) o Pyro, entrambi basati su framework di deep learning altamente ottimizzati (ovvero CUDA). La TFP è nata dai primi lavori su Edward di Dustin Tran, che ora guida la TFP in Google, credo.
Adam Erickson,

@AdamErickson FYI: Stan inizia gradualmente a usare le GPU arxiv.org/abs/1907.01063
Tim
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.