वैरिएशन का निष्कर्ष बनाम MCMC: जब एक दूसरे को चुनने के लिए?


36

मुझे लगता है कि मुझे VIMC और MCMC दोनों के सामान्य विचार मिलते हैं, जिसमें MCMC के विभिन्न फ्लेवर जैसे गिब्स सैंपलिंग, मेट्रोपोलिस हेस्टिंग्स आदि शामिल हैं। यह पेपर दोनों विधियों का एक अद्भुत प्रदर्शन प्रदान करता है।

मेरे पास निम्नलिखित प्रश्न हैं:

  • अगर मैं बायेसियन इंट्रेंस करना चाहता हूं, तो मैं दूसरे पर एक तरीका क्यों चुनूंगा?
  • प्रत्येक विधि के पेशेवरों और विपक्ष क्या हैं?

मैं समझता हूं कि यह एक बहुत व्यापक प्रश्न है, लेकिन किसी भी अंतर्दृष्टि की बहुत सराहना की जाएगी।

जवाबों:


34

एक लंबे उत्तर के लिए, यहाँ ब्ली, कुकुकेलबीर और मैकऑलिफ देखें । यह संक्षिप्त उत्तर बहुत भारी है।

  • MCMC asymptotically सटीक है; VI नहीं है । सीमा में, MCMC लक्ष्य वितरण को लगभग अनुमानित करेगा। VI वारंटी के बिना आता है।
  • MCMC कम्प्यूटेशनल रूप से महंगा है । सामान्य तौर पर, VI तेज है।

मतलब, जब हमारे अनुमानों की सटीकता और मूल्य को मारने के लिए हमारे पास कम्प्यूटेशनल समय होता है, तो एमसीएमसी जीत जाता है। यदि हम उस बलिदान को सहन कर सकते हैं जो कि शीघ्रता के लिए है - या हम डेटा के साथ काम कर रहे हैं तो हमें बड़े पैमाने पर व्यापार करना होगा - VI एक प्राकृतिक विकल्प है।

या, जैसा कि ऊपर उल्लिखित लेखकों द्वारा अधिक स्पष्ट और अच्छी तरह से वर्णित है:

इस प्रकार, परिवर्तनशील निष्कर्ष बड़े डेटा सेट और परिदृश्यों के अनुकूल है जहां हम कई मॉडलों को जल्दी से देखना चाहते हैं; एमसीएमसी छोटे डेटा सेट और परिदृश्यों के अनुकूल है जहां हम खुशी से अधिक सटीक नमूनों के लिए भारी कम्प्यूटेशनल लागत का भुगतान करते हैं। उदाहरण के लिए, हम एक सेटिंग में MCMC का उपयोग कर सकते हैं जहां हमने 20 साल बिताए एक छोटे लेकिन महंगे डेटा सेट को इकट्ठा करते हुए, जहां हमें विश्वास है कि हमारा मॉडल उपयुक्त है, और जहां हमें सटीक निष्कर्षों की आवश्यकता है। जब हम एक अरब पाठ दस्तावेज़ों के लिए पाठ के एक संभाव्य मॉडल को फिट करते हैं और जहां उपयोगकर्ताओं की एक बड़ी आबादी के लिए खोज परिणामों की सेवा करने के लिए इन-इंफ़ेक्शन का उपयोग किया जाएगा, तो हम संस्करण संबंधी अनुमान का उपयोग कर सकते हैं। इस परिदृश्य में, हम वितरित संगणना और स्टोकेस्टिक अनुकूलन का उपयोग पैमाने और गति को बढ़ाने के लिए कर सकते हैं, और हम आसानी से डेटा के कई अलग-अलग मॉडल का पता लगा सकते हैं।


मुझे लगता है कि स्टेन MCMC (NUTS) करने के लिए सबसे तेज सॉफ्टवेयर है। वैरिएशन इनविज़न करने के लिए सबसे तेज़ (या अधिक शक्तिशाली) क्या है?
स्केन

3
@skan अद्भुत सवाल! मैंने एक सामान्य-उद्देश्य VI सॉफ़्टवेयर के सबसे नज़दीकी दृश्य को एडवर्ड किया है , हालाँकि मैंने स्वयं इसका उपयोग नहीं किया है। (VI के कई अनुप्रयोग कस्टम हैं, जिसमें वे एक एल्गोरिथ्म को ब्याज के विशिष्ट मॉडल को फिट करने के लिए प्राप्त करते हैं।)
शॉन ईस्टर

2
स्टेन भी VI का समर्थन करते हैं। स्टेन की एकमात्र सीमा यह है कि यह असतत चर का नमूना नहीं ले सकता है।
RJTK

इसके अलावा, मुझे विश्वास नहीं है कि स्टेन GPU पर ADVI चलाता है ... फिर भी वैसे भी। वैरिएबल इनवेंशन के लिए सबसे तेज सॉफ्टवेयर संभावना है कि टेनसॉरफ्लो प्रायिकता (टीएफपी) या पायरो, दोनों को अत्यधिक अनुकूलित डीप लर्निंग फ्रेमवर्क (यानी, सीयूडीए) पर बनाया गया है। टीएफपी डस्टिन ट्रान द्वारा एडवर्ड पर शुरुआती काम से बाहर हो गया, जो अब Google को मेरा मानना ​​है कि टीएफपी का नेतृत्व करता है।
एडम एरिकसन

@AdamErickson FYI करें: स्टेन धीरे-धीरे का उपयोग कर GPUs शुरू होता है arxiv.org/abs/1907.01063
टिम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.