변이 추론 대 MCMC : 언제 다른 것을 선택할 것인가?


36

나는 Gibbs 샘플링, Metropolis Hastings 등과 같은 다양한 MCMC의 풍미를 포함하여 VI와 MCMC에 대한 일반적인 아이디어를 얻는다고 생각 합니다 . 논문은 두 가지 방법에 대한 훌륭한 설명을 제공합니다.

다음과 같은 질문이 있습니다.

  • 베이지안 추론을하려면 왜 다른 방법을 선택해야합니까?
  • 각 방법의 장단점은 무엇입니까?

나는 이것이 매우 광범위한 질문이라는 것을 이해하지만 모든 통찰력은 높이 평가 될 것입니다.

답변:


34

긴 답변을 보려면 Blei, Kucukelbir 및 McAuliffe를 참조하십시오 . 이 짧은 대답은 그로부터 크게 이끌어냅니다.

  • MCMC는 점진적으로 정확합니다. VI는 아닙니다 . 한계에서 MCMC는 목표 분포와 정확히 일치합니다. VI는 보증없이 제공됩니다.
  • MCMC는 계산 비용이 많이 듭니다 . 일반적으로 VI가 더 빠릅니다.

즉, 계산 시간을 계산하고 추정값의 정밀도를 계산하면 MCMC가 승리합니다. 편의를 위해 희생을 감당할 수 있거나 데이터를 너무 많이 사용하여 거래 해야 한다면 VI는 자연스러운 선택입니다.

또는 위에서 언급 한 저자들이 더 설득력 있고 철저하게 설명한 것처럼 :

따라서 변형 추론은 많은 모델을 빠르게 탐색하려는 대규모 데이터 세트 및 시나리오에 적합합니다. MCMC는보다 정확한 샘플을 위해 더 많은 계산 비용을 행복하게 지불하는 소규모 데이터 세트 및 시나리오에 적합합니다. 예를 들어 작지만 값 비싼 데이터 세트를 수집하는 20 년 동안, 모델이 적절하고 정확한 추론이 필요한 환경에서 MCMC를 사용할 수 있습니다. 우리는 확률 론적 텍스트 모델을 10 억 개의 텍스트 문서에 맞추고 많은 사용자 집단에게 검색 결과를 제공하기 위해 추론이 사용될 위치에서 변형 추론을 사용할 수 있습니다. 이 시나리오에서는 분산 계산 및 확률 적 최적화를 사용하여 추론을 확장 및 가속화하고 다양한 데이터 모델을 쉽게 탐색 할 수 있습니다.


Stan은 MCMC (NUTS)를 수행하는 가장 빠른 소프트웨어라고 생각합니다. 변형 추론을 수행하는 가장 빠르거나 강력한 것은 무엇입니까?
스칸

3
@skan 멋진 질문입니다! 범용 VI 소프트웨어에서 가장 가까운 것은 edward 이지만 직접 사용하지는 않았습니다. (VI는 특정 관심 모델에 맞는 알고리즘을 도출한다는 점에서 맞춤형입니다.)
Sean Easter

2
Stan도 VI를 지원합니다. 스탠의 유일한 한계는 개별 변수를 샘플링 할 수 없다는 것입니다.
RJTK

또한 Stan이 GPU에서 ADVI를 실행한다고는 생각하지 않습니다. 변형 추론을위한 가장 빠른 소프트웨어는 고도로 최적화 된 딥 러닝 프레임 워크 (예 : CUDA)를 기반으로하는 TFP (TensorFlow Probability) 또는 Pyro 일 가능성이 높습니다. TFP는 더스틴 트랜 (Dustin Tran)의 Edward에 대한 초기 작업에서 자랐으며 현재 Google에서 TFP를 이끌고 있습니다.
Adam Erickson

@AdamErickson는 참고 : 스탠 점차적으로 사용하기 시작 GPU는 arxiv.org/abs/1907.01063
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.