Inferência variacional versus MCMC: quando escolher uma sobre a outra?

36

Eu acho que entendi a ideia geral do VI e do MCMC, incluindo os vários sabores do MCMC, como amostras de Gibbs, Metropolis Hastings etc. Este artigo fornece uma maravilhosa exposição de ambos os métodos.

Tenho as seguintes perguntas:

  • Se eu gostaria de fazer inferência bayesiana, por que escolheria um método em detrimento do outro?
  • Quais são os prós e os contras de cada um dos métodos?

Entendo que essa é uma pergunta bastante ampla, mas qualquer insight seria muito apreciado.

kedarps
fonte

Respostas:

34

Para uma resposta longa, consulte Blei, Kucukelbir e McAuliffe aqui . Esta resposta curta é fortemente derivada disso.

  • MCMC é assintoticamente exato; VI não é . No limite, o MCMC aproximará exatamente a distribuição de destino. VI vem sem garantia.
  • O MCMC é computacionalmente caro . Em geral, o VI é mais rápido.

Ou seja, quando temos tempo computacional para eliminar e valorizar a precisão de nossas estimativas, o MCMC vence. Se podemos tolerar sacrificar isso por conveniência - ou estamos trabalhando com dados tão grandes que precisamos fazer a troca - VI é uma escolha natural.

Ou, como descrito de forma mais eloquente e completa pelos autores mencionados acima:

Assim, a inferência variacional é adequada para grandes conjuntos de dados e cenários em que queremos explorar rapidamente muitos modelos; O MCMC é adequado para conjuntos de dados e cenários menores, onde pagamos com satisfação um custo computacional mais alto para amostras mais precisas. Por exemplo, podemos usar o MCMC em um cenário em que passamos 20 anos coletando um conjunto de dados pequeno, porém caro, em que confiamos que nosso modelo é apropriado e em que exigimos inferências precisas. Podemos usar inferência variacional ao ajustar um modelo probabilístico de texto a um bilhão de documentos de texto e onde as inferências serão usadas para servir os resultados da pesquisa a uma grande população de usuários. Nesse cenário, podemos usar computação distribuída e otimização estocástica para dimensionar e acelerar a inferência, e podemos explorar facilmente muitos modelos diferentes de dados.

Sean Easter
fonte
Eu acho que Stan é o software mais rápido para fazer o MCMC (NUTS). Qual é a mais rápida (ou mais poderosa) a fazer inferência variacional?
Skan #
3
@skan Pergunta maravilhosa! O mais próximo que eu vi de um software VI de uso geral é o Edward , embora eu não o tenha usado. (Muitas aplicações de VI são personalizado, em que eles derivam de um algoritmo para ajustar o modelo específico de interesse.)
Sean Páscoa
2
Stan também suporta VI. A única limitação do stan é que ele não pode amostrar variáveis ​​discretas.
RJTK 28/02
Além disso, não acredito que Stan execute o ADVI na GPU ... de qualquer maneira. O software mais rápido para inferência variacional é provavelmente o TensorFlow Probability (TFP) ou Pyro, ambos criados em estruturas de aprendizado profundo altamente otimizadas (ou seja, CUDA). A TFP surgiu do trabalho inicial de Edward, de Dustin Tran, que agora lidera a TFP no Google, acredito.
Adam Erickson
@AdamErickson FYI: Stan começa gradualmente a usar as GPUs arxiv.org/abs/1907.01063
Tim