Wnioskowanie wariacyjne a MCMC: kiedy wybrać jedną z drugiej?

36

Wydaje mi się, że mam ogólne pojęcie zarówno o VI, jak i MCMC, w tym o różnych smakach MCMC, takich jak próbkowanie Gibbs, Metropolis Hastings itp. Ten artykuł stanowi wspaniałą prezentację obu metod.

Mam następujące pytania:

  • Jeśli chcę robić wnioskowanie bayesowskie, dlaczego miałbym wybierać jedną metodę zamiast drugiej?
  • Jakie są zalety i wady każdej z metod?

Rozumiem, że jest to dość szerokie pytanie, ale wszelkie spostrzeżenia byłyby bardzo mile widziane.

kedarps
źródło

Odpowiedzi:

34

Aby uzyskać długą odpowiedź, zobacz Blei, Kucukelbir i McAuliffe tutaj . Ta krótka odpowiedź bardzo się z tego wywodzi.

  • MCMC jest asymptotycznie dokładne; VI nie jest . W ramach limitu MCMC dokładnie przybliży rozkład docelowy. VI jest dostarczany bez gwarancji.
  • MCMC jest drogie obliczeniowo . Ogólnie VI jest szybszy.

Oznacza to, że kiedy mamy czas obliczeniowy na zabicie i docenienie precyzji naszych szacunków, MCMC wygrywa. Jeśli możemy tolerować poświęcanie tego ze względów praktycznych - lub pracujemy z danymi tak dużymi, że musimy dokonać kompromisu - VI jest naturalnym wyborem.

Lub, jak to wymownie i dokładniej opisali wyżej wspomniani autorzy:

Zatem wnioskowanie wariacyjne jest odpowiednie dla dużych zbiorów danych i scenariuszy, w których chcemy szybko zbadać wiele modeli; MCMC nadaje się do mniejszych zestawów danych i scenariuszy, w których z przyjemnością ponosimy wyższe koszty obliczeniowe za bardziej precyzyjne próbki. Na przykład, możemy użyć MCMC w otoczeniu, w którym spędziliśmy 20 lat, zbierając mały, ale drogi zestaw danych, w którym jesteśmy pewni, że nasz model jest odpowiedni i gdzie potrzebujemy precyzyjnych wniosków. Możemy zastosować wnioskowanie wariacyjne, dopasowując probabilistyczny model tekstu do miliarda dokumentów tekstowych i gdy wnioski będą wykorzystywane do dostarczania wyników wyszukiwania dużej populacji użytkowników. W tym scenariuszu możemy zastosować obliczenia rozproszone i optymalizację stochastyczną do skalowania i przyspieszenia wnioskowania, a także możemy łatwo badać wiele różnych modeli danych.

Sean Easter
źródło
Myślę, że Stan to najszybsze oprogramowanie do wykonania MCMC (NUTS). Co jest najszybsze (lub bardziej wydajne) do wnioskowania wariacyjnego?
skan
3
@skan Cudowne pytanie! Oprogramowanie VI, które widziałem najbliżej, jest najbliższe programowi edward , chociaż sam go nie używałem. (Wiele aplikacji VI jest niestandardowych, ponieważ opracowują algorytm pasujący do konkretnego modelu zainteresowania.)
Sean Easter
2
Stan wspiera także VI. Jedynym ograniczeniem stanu jest to, że nie może próbkować zmiennych dyskretnych.
RJTK
Poza tym nie wierzę, że Stan uruchamia ADVI na GPU ... w każdym razie. Najszybszym oprogramowaniem do wnioskowania wariacyjnego jest prawdopodobnie TensorFlow Prawdopodobieństwo (TFP) lub Pyro, oba zbudowane na wysoce zoptymalizowanych ramach uczenia głębokiego (tj. CUDA). TFP wyrósł z wczesnej pracy nad Edwardem autorstwa Dustina Trana, który teraz wierzy, że teraz prowadzi TFP w Google.
Adam Erickson
@AdamErickson FYI: Stan stopniowo zaczyna używać procesorów graficznych arxiv.org/abs/1907.01063
Tim