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.

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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.