वैरिएशनल ऑटोएनकोडर

यंत्र अधिगम में, एक वेरिएबल ऑटोएनकोडर (वीएई) एक आर्टिफीसियल न्यूरल नेटवर्क आर्किटेक्चरहै जिसे डिडेरिक पी. किंग्मा और मैक्स वेलिंग द्वारा पेश किया गया है। यह चित्रमय मॉडल  और वैरिएबल बायेसियन तरीकों के परिवारों का हिस्सा है।

वैरिएशनल ऑटोएनकोडर प्रायः इसकी वास्तुशिल्प समानता के कारण ऑटोएनकोडर मॉडल से जुड़े होते हैं, लेकिन लक्ष्य और गणितीय सूत्रीकरण में महत्वपूर्ण अंतर होते हैं। वैरिएशनल ऑटोएन्कोडर संभाव्य जनरेटिव मॉडल हैं जिन्हें न्यूरल नेटवर्क की आवश्यकता उनकी समग्र संरचना के एक भाग के रूप में होती है। न्यूरल नेटवर्क घटकों को सामान्यतः क्रमशः पहले और दूसरे घटक के लिए एनकोडर और डिकोडर के रूप में जाना जाता है। पहला न्यूरल नेटवर्क इनपुट वैरिएबल को एक अव्यक्त स्थान पर मैप करता है जो एक परिवर्तनीय वितरण के मापदंडों से मेल खाता है। इस तरह, एनकोडर कई अलग-अलग नमूने तैयार कर सकता है जो सभी एक ही वितरण से आते हैं। डिकोडर का विपरीत कार्य होता है, जो डेटा बिंदुओं को उत्पन्न करने या उत्पन्न करने के लिए अव्यक्त स्थान से इनपुट स्थान तक मैप करना है। दोनों नेटवर्कों को सामान्यतः पुनर्मूल्यांकन चाल के उपयोग के साथ एक साथ प्रशिक्षित किया जाता है, हालांकि रव मॉडल के विचरण को अलग से सीखा जा सकता है।

हालाँकि इस प्रकार का मॉडल प्रारंभ में बिना पर्यवेक्षित शिक्षण के लिए डिज़ाइन किया गया था, अर्ध-पर्यवेक्षित शिक्षण के लिए इसकी प्रभावशीलता सिद्ध हो चुकी है  और सीखने का पर्यवेक्षण किया।

आर्किटेक्चरऔर संचालन का अवलोकन
एक वैरिएबल ऑटोएनकोडर क्रमशः पूर्व और शोर वितरण के साथ एक जेनरेटिव मॉडल है। सामान्यतः ऐसे मॉडलों को एक्सपेक्टेशन-मैक्सिमाइजेशन एल्गोरिदम | एक्सपेक्टेशन-मैक्सिमाइजेशन मेटा-एल्गोरिदम (जैसे संभाव्य पीसीए, (स्पाइक और स्लैब) विरल कोडिंग) का उपयोग करके प्रशिक्षित किया जाता है। ऐसी योजना डेटा संभावना की निचली सीमा को अनुकूलित करती है, जो सामान्यतः कठिन होती है, और ऐसा करने के लिए क्यू-वितरण, या वैरिएबल पोस्टीरियर की खोज की आवश्यकता होती है। ये क्यू-वितरण सामान्यतः एक अलग अनुकूलन प्रक्रिया में प्रत्येक व्यक्तिगत डेटा बिंदु के लिए मानकीकृत होते हैं। हालाँकि, वैरिएबल ऑटोएनकोडर सभी डेटा बिंदुओं को संयुक्त रूप से अनुकूलित करने के लिए एक परिशोधित दृष्टिकोण के रूप में एक न्यूरल नेटवर्क का उपयोग करते हैं। यह न्यूरल नेटवर्क स्वयं डेटा बिंदुओं को इनपुट के रूप में लेता है, और परिवर्तनशील वितरण के लिए पैरामीटर आउटपुट करता है। चूँकि यह ज्ञात इनपुट स्थान से निम्न-आयामी अव्यक्त स्थान तक मैप करता है, इसे एनकोडर कहा जाता है।

डिकोडर इस मॉडल का दूसरा न्यूरल नेटवर्क है। यह एक फ़ंक्शन है जो अव्यक्त स्थान से इनपुट स्थान तक मैप करता है, उदाहरण के लिए शोर वितरण के साधन के रूप में। किसी अन्य न्यूरल नेटवर्क का उपयोग करना संभव है जो भिन्नता को मैप करता है, हालांकि इसे सरलता के लिए छोड़ा जा सकता है। ऐसे मामले में, विचरण को ग्रेडिएंट डिसेंट के साथ अनुकूलित किया जा सकता है।

इस मॉडल को अनुकूलित करने के लिए, किसी को दो शब्दों को जानना होगा: पुनर्निर्माण त्रुटि, और कुल्बैक-लीब्लर विचलन। दोनों शब्द संभाव्य मॉडल की मुक्त ऊर्जा अभिव्यक्ति से प्राप्त हुए हैं, और इसलिए शोर वितरण और डेटा से पहले अनुमानित के आधार पर भिन्न होते हैं। उदाहरण के लिए, IMAGENET जैसे मानक VAE कार्य को सामान्यतः गाऊसी वितरित शोर माना जाता है, हालांकि बाइनराइज्ड MNIST जैसे कार्यों के लिए बर्नौली शोर की आवश्यकता होती है। मुक्त ऊर्जा अभिव्यक्ति से केएल-डी क्यू-वितरण की संभाव्यता द्रव्यमान को अधिकतम करता है जो पी-वितरण के साथ ओवरलैप होता है, जिसके परिणामस्वरूप दुर्भाग्य से मोड-चाहने वाला व्यवहार हो सकता है। पुनर्निर्माण शब्द मुक्त ऊर्जा अभिव्यक्ति का शेष भाग है, और इसके अपेक्षित मूल्य की गणना करने के लिए एक नमूना सन्निकटन की आवश्यकता होती है।

सूत्रीकरण
संभाव्य मॉडलिंग के दृष्टिकोण से, कोई डेटा की संभावना को अधिकतम करना चाहता है $$x$$ उनके चुने हुए पैरामीटरयुक्त संभाव्यता वितरण द्वारा $$p_{\theta}(x) = p(x|\theta)$$. यह वितरण सामान्यतः गाऊसी के रूप में चुना जाता है $$N(x|\mu,\sigma)$$ जिसे पैरामीटरयुक्त किया गया है $$\mu$$ और $$\sigma$$ क्रमशः, और घातीय परिवार के सदस्य के रूप में शोर वितरण के साथ काम करना आसान है। सरल वितरण को अधिकतम करना काफी आसान है, हालांकि ऐसे वितरण जहां अव्यक्त पर पूर्व को मान लिया जाता है $$z$$ परिणाम अघुलनशील अभिन्न अंग में होता है। आइए खोजें $$p_\theta(x)$$ सीमांत वितरण के माध्यम से $$z$$.
 * $$p_\theta(x) = \int_{z}p_\theta({x,z}) \, dz, $$

कहाँ $$p_\theta({x,z})$$ के अंतर्गत संयुक्त वितरण का प्रतिनिधित्व करता है $$p_\theta$$ अवलोकनीय डेटा का $$ x $$ और इसका अव्यक्त प्रतिनिधित्व या एन्कोडिंग $$ z $$. श्रृंखला नियम (संभावना) के अनुसार, समीकरण को फिर से लिखा जा सकता है


 * $$p_\theta(x) = \int_{z}p_\theta({x| z})p_\theta(z) \, dz$$

वेनिला वैरिएबल ऑटोएनकोडर में, $$z$$ सामान्यतः इसे वास्तविक संख्याओं का एक परिमित-आयामी वेक्टर माना जाता है, और $$p_\theta({x|z})$$ गाऊसी वितरण होना। तब $$p_\theta(x)$$ गाऊसी वितरण का मिश्रण है।

अब इनपुट डेटा और उसके अव्यक्त प्रतिनिधित्व के बीच संबंधों के सेट को परिभाषित करना संभव है दुर्भाग्य से, की गणना $$p_\theta(x)$$ महंगा है और ज्यादातर मामलों में दुरूह है। इसे संभव बनाने के लिए कैलकुलस को गति देने के लिए, पश्च वितरण का अनुमान लगाने के लिए एक और फ़ंक्शन पेश करना आवश्यक है
 * पूर्व $$p_\theta(z)$$
 * संभावना $$p_\theta(x|z)$$
 * पश्च $$p_\theta(z|x)$$


 * $$q_\phi({z| x}) \approx p_\theta({z| x})$$

साथ $$\phi$$ वास्तविक मूल्यों के सेट के रूप में परिभाषित किया गया है जो पैरामीटराइज़ करता है $$q$$. इसे कभी-कभी परिशोधित अनुमान कहा जाता है, क्योंकि किसी वस्तु की खोज में निवेश करना $$q_\phi$$, कोई बाद में अनुमान लगा सकता है $$z$$ से $$x$$ बिना कोई अभिन्न कार्य किए शीघ्रता से।

इस तरह, समस्या एक अच्छा संभाव्य ऑटोएनकोडर खोजने की है, जिसमें सशर्त संभावना वितरण होता है $$p_\theta(x|z)$$ संभाव्य डिकोडर और अनुमानित पश्च वितरण द्वारा गणना की जाती है $$q_\phi(z|x)$$ संभाव्य एनकोडर द्वारा गणना की जाती है।

एनकोडर को इस प्रकार पैरामीट्रिज करें $$E_\phi$$, और डिकोडर के रूप में $$D_\theta$$.

साक्ष्य निचली सीमा (ईएलबीओ)
जैसा कि हर गहन शिक्षण समस्या में होता है, पश्चप्रचार के माध्यम से नेटवर्क वेट को अपडेट करने के लिए एक अलग-अलग हानि फ़ंक्शन को परिभाषित करना आवश्यक है।

वैरिएबल ऑटोएन्कोडर्स के लिए, विचार संयुक्त रूप से जेनरेटिव मॉडल मापदंडों को अनुकूलित करना है $$\theta$$ इनपुट और आउटपुट के बीच पुनर्निर्माण त्रुटि को कम करने के लिए, और $$\phi$$ बनाने के लिए $$q_\phi({z| x})$$ जितना संभव हो उतना करीब $$p_\theta(z|x)$$. पुनर्निर्माण हानि के रूप में, माध्य वर्ग त्रुटि और क्रॉस एन्ट्रापी का प्रायः उपयोग किया जाता है।

दो वितरणों के बीच दूरी में कमी के रूप में कुल्बैक-लीब्लर विचलन $$D_{KL}(q_\phi({z| x})\parallel p_\theta({z| x}))$$ निचोड़ने के लिए एक अच्छा विकल्प है $$q_\phi({z| x})$$ अंतर्गत $$p_\theta(z|x)$$. अभी परिभाषित दूरी हानि को इस प्रकार विस्तारित किया गया है


 * $$\begin{align}

D_{KL}(q_\phi({z| x})\parallel p_\theta({z| x})) &= \mathbb E_{z \sim q_\phi(\cdot | x)} \left[\ln \frac{q_\phi(z|x)}{p_\theta(z|x)}\right]\\ &= \mathbb E_{z \sim q_\phi(\cdot | x)} \left[\ln \frac{q_\phi({z| x})p_\theta(x)}{p_\theta(x, z)}\right]\\ &=\ln p_\theta(x) + \mathbb E_{z \sim q_\phi(\cdot | x)} \left[\ln \frac{q_\phi({z| x})}{p_\theta(x, z)}\right] \end{align}$$ अब साक्ष्य की निचली सीमा (ईएलबीओ) को परिभाषित करें:$$L_{\theta,\phi}(x) := \mathbb E_{z \sim q_\phi(\cdot | x)} \left[\ln \frac{p_\theta(x, z)}{q_\phi({z| x})}\right] = \ln p_\theta(x) - D_{KL}(q_\phi({\cdot| x})\parallel p_\theta({\cdot | x})) $$एल्बो को अधिकतम करना$$\theta^*,\phi^* = \underset{\theta,\phi}\operatorname{arg max} \, L_{\theta,\phi}(x) $$एक साथ अधिकतमीकरण के बराबर है $$\ln p_\theta(x) $$ और न्यूनतम करना $$ D_{KL}(q_\phi({z| x})\parallel p_\theta({z| x})) $$. अर्थात्, देखे गए डेटा की लॉग-संभावना को अधिकतम करना, और अनुमानित पश्च भाग के विचलन को कम करना $$q_\phi(\cdot | x) $$ बिल्कुल पीछे से $$p_\theta(\cdot | x) $$.

दिया गया फॉर्म अधिकतमीकरण के लिए बहुत सुविधाजनक नहीं है, लेकिन निम्नलिखित, समकक्ष फॉर्म है:$$L_{\theta,\phi}(x) = \mathbb E_{z \sim q_\phi(\cdot | x)} \left[\ln p_\theta(x|z)\right] - D_{KL}(q_\phi({\cdot| x})\parallel p_\theta(\cdot)) $$जहाँ $$\ln p_\theta(x|z)$$ के रूप में क्रियान्वित किया जाता है $$-\frac{1}{2}\| x - D_\theta(z)\|^2_2$$, चूंकि वह एक योगात्मक स्थिरांक तक है, क्या $$x \sim \mathcal N(D_\theta(z), I)$$ पैदावार. अर्थात्, हम वितरण का मॉडल बनाते हैं $$x$$ सशर्त $$z$$ गाऊसी वितरण पर केन्द्रित होना $$D_\theta(z)$$. का वितरण $$q_\phi(z |x)$$ और $$p_\theta(z)$$ इन्हें प्रायः गॉसियन के रूप में भी चुना जाता है $$z|x \sim \mathcal N(E_\phi(x), \sigma_\phi(x)^2I)$$ और $$z \sim \mathcal N(0, I)$$, जिसके साथ हम कुल्बैक-लीबलर विचलन#बहुभिन्नरूपी सामान्य वितरण के सूत्र द्वारा प्राप्त करते हैं:$$L_{\theta,\phi}(x) = -\frac 12\mathbb E_{z \sim q_\phi(\cdot | x)} \left[ \|x - D_\theta(z)\|_2^2\right] - \frac 12 \left( N\sigma_\phi(x)^2 + \|E_\phi(x)\|_2^2 - 2N\ln\sigma_\phi(x) \right) + Const $$यहाँ $$ N $$ का आयाम है $$ z $$. ईएलबीओ की अधिक विस्तृत व्युत्पत्ति और अधिक व्याख्याओं और इसके अधिकतमकरण के लिए, साक्ष्य निचली सीमा देखें।

पुनर्मूल्यांकन
कुशलतापूर्वक खोजने के लिए $$\theta^*,\phi^* = \underset{\theta,\phi}\operatorname{arg max} \, L_{\theta,\phi}(x) $$विशिष्ट विधि ढतला हुआ वंश  है।

इसे ढूंढना आसान है$$\nabla_\theta \mathbb E_{z \sim q_\phi(\cdot | x)} \left[\ln \frac{p_\theta(x, z)}{q_\phi({z| x})}\right] = \mathbb E_{z \sim q_\phi(\cdot | x)} \left[ \nabla_\theta \ln \frac{p_\theta(x, z)}{q_\phi({z| x})}\right]  $$तथापि, $$\nabla_\phi \mathbb E_{z \sim q_\phi(\cdot | x)} \left[\ln \frac{p_\theta(x, z)}{q_\phi({z| x})}\right]  $$डालने की इजाजत नहीं देता $$\nabla_\phi $$ अपेक्षा के अंदर, चूँकि $$\phi $$ संभाव्यता वितरण में ही प्रकट होता है। पुनर्मूल्यांकन चाल (जिसे स्टोकेस्टिक बैकप्रॉपैगेशन के रूप में भी जाना जाता है ) इस कठिनाई को दरकिनार कर देता है। सबसे महत्वपूर्ण उदाहरण है कब $$z \sim q_\phi(\cdot | x) $$ सामान्य रूप से वितरित किया जाता है, जैसे $$\mathcal N(\mu_\phi(x), \Sigma_\phi(x))  $$.


 * Reparameterized Variational Autoencoder.pngइसे अनुमति देकर पुन: परिमाणित किया जा सकता है $$\boldsymbol{\varepsilon} \sim \mathcal{N}(0, \boldsymbol{I})$$ एक मानक यादृच्छिक संख्या पीढ़ी बनें, और निर्माण करें $$z  $$ जैसा $$z = \mu_\phi(x)  + L_\phi(x)\epsilon  $$. यहाँ, $$L_\phi(x)  $$ चोल्स्की अपघटन द्वारा प्राप्त किया जाता है:$$\Sigma_\phi(x) = L_\phi(x)L_\phi(x)^T  $$तो हमारे पास हैं$$\nabla_\phi \mathbb E_{z \sim q_\phi(\cdot | x)} \left[\ln \frac{p_\theta(x, z)}{q_\phi({z| x})}\right]

= \mathbb {E}_{\epsilon}\left[ \nabla_\phi \ln {\frac {p_{\theta }(x, \mu_\phi(x) + L_\phi(x)\epsilon)}{q_{\phi }(\mu_\phi(x)  + L_\phi(x)\epsilon | x)}}\right]  $$और इसलिए हमने ग्रेडिएंट का एक निष्पक्ष अनुमानक प्राप्त किया, जिससे स्टोकेस्टिक ग्रेडिएंट डिसेंट की अनुमति मिली।

चूँकि हमने पुनर्परिमाणीकरण किया है $$z$$, हमें खोजने की जरूरत है $$q_\phi(z|x)$$. होने देना $$q_0$$ के लिए संभाव्यता घनत्व फ़ंक्शन द्वारा $$\epsilon$$, तब$$\ln q_\phi(z | x) = \ln q_0 (\epsilon) - \ln|\det(\partial_\epsilon z)|$$जहाँ $$\partial_\epsilon z$$ का जैकोबियन मैट्रिक्स है $$\epsilon$$ इसके संबंध में $$z$$. तब से $$z = \mu_\phi(x) + L_\phi(x)\epsilon  $$, यह है $$\ln q_\phi(z | x) = -\frac 12 \|\epsilon\|^2 - \ln|\det L_\phi(x)| - \frac n2 \ln(2\pi)$$

विविधताएं
आर्किटेक्चर को अन्य डोमेन में अनुकूलित करने और इसके प्रदर्शन को बेहतर बनाने के लिए कई वैरिएबल ऑटोएनकोडर एप्लिकेशन और एक्सटेंशन का उपयोग किया गया है।

$$\beta$$-वीएई स्वचालित रूप से गुणनखंडित अव्यक्त अभ्यावेदन की खोज और व्याख्या करने के लिए भारित कुल्बैक-लीब्लर विचलन शब्द के साथ एक कार्यान्वयन है। इस कार्यान्वयन के साथ, कई गुना विघटन को मजबूर करना संभव है $$\beta$$ मान एक से अधिक. यह आर्किटेक्चरपर्यवेक्षण के बिना उलझे हुए अव्यक्त कारकों की खोज कर सकती है। सशर्त वीएई (सीवीएई), सीखे गए डेटा के नियतात्मक विवश प्रतिनिधित्व को मजबूर करने के लिए अव्यक्त स्थान में लेबल जानकारी सम्मिलित करता है। कुछ संरचनाएँ सीधे तौर पर उत्पन्न नमूनों की गुणवत्ता से संबंधित होती हैं या प्रतिनिधित्व सीखने को और बेहतर बनाने के लिए एक से अधिक अव्यक्त स्थान लागू करें।

कुछ आर्किटेक्चर हाइब्रिड मॉडल प्राप्त करने के लिए VAE और जनरेटिव प्रतिकूल नेटवर्क को मिलाते हैं।

यह भी देखें

 * ऑटोएन्कोडर
 * कृत्रिम तंत्रिका नेटवर्क
 * ध्यान लगा के पढ़ना या सीखना
 * जनरेटिव प्रतिकूल नेटवर्क
 * प्रतिनिधित्व सीखना
 * विरल शब्दकोश सीखना
 * डेटा संवर्द्धन
 * बैकप्रोपेगेशन