Варіаційний висновок проти MCMC: коли вибрати один над іншим?


36

Я думаю, що я знаю загальне уявлення про VI та MCMC, включаючи різні аромати MCMC, такі як відбір проб Гіббса, Metropolis Hastings тощо. Цей документ пропонує чудову експозицію обох методів.

У мене є такі питання:

  • Якщо я хочу зробити байєсівський висновок, чому я б обрав один метод над іншим?
  • Які плюси і мінуси кожного з методів?

Я розумію, що це досить широке питання, але будь-яку думку було б дуже вдячно.

Відповіді:


34

В протягом тривалого відповіді см Blei, Kucukelbir і Маколифф тут . Ця коротка відповідь сильно випливає звідси.

  • MCMC асимптотично точний; VI - ні . У межах ліміту MCMC точно наблизить цільовий розподіл. VI поставляється без гарантії.
  • MCMC обчислювально дорого . Загалом, VI швидше.

Це означає, що коли ми маємо обчислювальний час для вбивства та оцінюємо точність наших оцінок, MCMC виграє. Якщо ми можемо потерпіти жертви для доцільності - або ми працюємо з даними настільки великими, що нам доведеться зробити компроміс - VI - це природний вибір.

Або, як красномовніше і ретельніше описано вищезазначеними авторами:

Таким чином, варіативні умовиводи підходять для великих наборів даних та сценаріїв, де ми хочемо швидко вивчити багато моделей; MCMC підходить для менших наборів даних та сценаріїв, де ми щасливо сплачуємо більш високі обчислювальні витрати за більш точні вибірки. Наприклад, ми можемо використовувати MCMC в умовах, де ми витратили 20 років на збір невеликого, але дорогого набору даних, де ми впевнені, що наша модель підходить, і де нам потрібні точні умовиводи. Ми можемо використовувати варіативні умовиводи для підгонки ймовірнісної моделі тексту до одного мільярда текстових документів, і де умовиводи будуть використані для подання результатів пошуку великій кількості користувачів. У цьому випадку ми можемо використовувати розподілені обчислення та стохастичну оптимізацію для масштабування та прискорення висновку, і ми можемо легко досліджувати багато різних моделей даних.


Я думаю, що Стен - це найшвидше програмне забезпечення для MCMC (NUTS). Що найшвидше (або найпотужніше) зробити варіаційним висновком?
скан

3
@skan Чудове запитання! Найближче, що я бачив до програмного забезпечення VI загального призначення, - це Едвард , хоча я сам його не використовував. (Багато додатків VI є звичайними, оскільки вони виводять алгоритм, що відповідає конкретній моделі, що цікавить.)
Шон Пасха,

2
Стен також підтримує VI. Єдиним обмеженням Stan є те, що він не може дискретизувати дискретні змінні.
RJTK

Крім того, я не вірю, що Стен управляє ADVI на GPU ... все одно. Найшвидше програмне забезпечення для варіаційного висновку, ймовірно, TensorFlow Probability (TFP) або Pyro, обидва побудовані на високооптимізованих глибоких рамках навчання (тобто CUDA). TFP виріс на ранній роботі над Едуардом Дастіном Тран, який зараз очолює TFP в Google I believe.
Адам Еріксон

@AdamErickson FYI: Стен поступово починає використовувати GPU arxiv.org/abs/1907.01063
Тім
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.