Connect with us

जेनरेटिव एडवर्सेरियल नेटवर्क (GAN) क्या है?

AI 101

जेनरेटिव एडवर्सेरियल नेटवर्क (GAN) क्या है?

mm

जेनरेटिव एडवर्सेरियल नेटवर्क (GANs) तंत्रिका नेटवर्क आर्किटेक्चर के प्रकार हैं जो सीखे हुए पैटर्न के अनुरूप नए डेटा का उत्पादन करने में सक्षम हैं। GANs का उपयोग मानव चेहरों या अन्य वस्तुओं की छवियों को उत्पन्न करने, पाठ से छवि अनुवाद करने, एक प्रकार की छवि को दूसरे प्रकार में परिवर्तित करने और छवियों के संकल्प को बढ़ाने (सुपर रिज़ॉल्यूशन) जैसे अन्य अनुप्रयोगों के लिए किया जा सकता है। क्योंकि GANs पूरी तरह से नए डेटा का उत्पादन कर सकते हैं, वे कई उन्नत AI प्रणालियों, अनुप्रयोगों और अनुसंधान के सिर पर हैं। लेकिन GANs वास्तव में कैसे काम करते हैं? आइए देखें कि GANs कैसे काम करते हैं और उनके कुछ प्राथमिक उपयोगों पर एक नज़र डालें।

जेनरेटिव मॉडल और GANs की परिभाषा

एक GAN एक जेनरेटिव मॉडल का उदाहरण है। अधिकांश AI मॉडल दो श्रेणियों में से एक में विभाजित किए जा सकते हैं: पर्यवेक्षित और अप्रवेक्षित मॉडल। पर्यवेक्षित शिक्षण मॉडल आमतौर पर विभिन्न श्रेणियों के इनपुट के बीच भेद करने के लिए उपयोग किए जाते हैं, वर्गीकृत करने के लिए। इसके विपरीत, अप्रवेक्षित मॉडल आमतौर पर डेटा के वितरण को सारांशित करने के लिए उपयोग किए जाते हैं, अक्सर एक गाउसियन वितरण को सीखते हुए। क्योंकि वे डेटा सेट के वितरण को सीखते हैं, वे इस सीखे हुए वितरण से नमूने निकाल सकते हैं और नए डेटा का उत्पादन कर सकते हैं।

विभिन्न जेनरेटिव मॉडल डेटा का उत्पादन करने और संभाव्यता वितरण की गणना करने के लिए विभिन्न तरीकों का उपयोग करते हैं। उदाहरण के लिए, नेव बेस मॉडल इनपुट विशेषताओं और जेनरेटिव वर्ग के लिए एक संभाव्यता वितरण की गणना करके काम करता है। जब नेव बेस मॉडल एक भविष्यवाणी करता है, तो यह सबसे अधिक संभावित वर्ग की गणना करता है जिसमें विभिन्न चरों की संभावना को एक साथ जोड़कर। अन्य गैर-गहरे शिक्षण जेनरेटिव मॉडल में गाउसियन मिश्रण मॉडल और लेटेंट डिरिचलेट अलोकेशन (LDA) शामिल हैं। गहरे शिक्षण-आधारित जेनरेटिव मॉडल में प्रतिबंधित बोल्ट्जमैन मशीन (RBMs), वेरिएशनल ऑटोएनकोडर (VAEs), और ज़ाहिर है, GANs शामिल हैं।

जेनरेटिव एडवर्सेरियल नेटवर्क पहली बार 2014 में इयान गुडफेलो द्वारा प्रस्तावित किए गए थे, और 2015 में एलेक रेडफोर्ड और अन्य शोधकर्ताओं द्वारा उन्हें बेहतर बनाया गया, जिससे GANs के लिए एक मानक वास्तुकला बन गई। GANs वास्तव में दो अलग-अलग नेटवर्क हैं जो एक साथ जुड़े हुए हैं। GANs दो हिस्सों से बने होते हैं: एक जनरेशन मॉडल और एक डिस्क्रिमिनेशन मॉडल, जिसे जेनरेटर और डिस्क्रिमिनेटर के रूप में भी जाना जाता है।

GAN आर्किटेक्चर

जेनरेटिव एडवर्सेरियल नेटवर्क एक जेनरेटर मॉडल और डिस्क्रिमिनेटर मॉडल से बने होते हैं। जेनरेटर मॉडल का काम नए डेटा के उदाहरण बनाना है, जो मॉडल द्वारा प्रशिक्षण डेटा से सीखे गए पैटर्न पर आधारित होते हैं। डिस्क्रिमिनेटर मॉडल का काम छवियों (यह मानते हुए कि यह छवियों पर प्रशिक्षित है) का विश्लेषण करना और यह निर्धारित करना है कि छवियां उत्पन्न/नकली हैं या वास्तविक हैं।

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

एक बार जब प्रशिक्षण के दौरान डेटा का एक गाउसियन वितरण बन जाता है, तो जेनरेटर मॉडल का उपयोग किया जा सकता है। जेनरेटर मॉडल को शुरू में एक यादृच्छिक वेक्टर दिया जाता है, जिसे यह गाउसियन वितरण के आधार पर परिवर्तित करता है। दूसरे शब्दों में, वेक्टर उत्पादन को बीज देता है। जब मॉडल प्रशिक्षित होता है, तो वेक्टर स्पेस डेटा के गाउसियन वितरण का एक संकुचित संस्करण, या प्रतिनिधित्व होगा। डेटा वितरण का संकुचित संस्करण लेटेंट स्पेस, या लेटेंट वेरिएबल के रूप में जाना जाता है। बाद में, GAN मॉडल लेटेंट स्पेस प्रतिनिधित्व ले सकता है और इस से बिंदु आकर्षित कर सकता है, जो जेनरेटर मॉडल को दिया जा सकता है और प्रशिक्षण डेटा के समान नए डेटा का उत्पादन करने के लिए उपयोग किया जा सकता है।

डिस्क्रिमिनेटर मॉडल को पूरे प्रशिक्षण डोमेन के उदाहरण दिए जाते हैं, जो वास्तविक और उत्पन्न डेटा दोनों उदाहरणों से बना होता है। वास्तविक उदाहरण प्रशिक्षण डेटासेट में शामिल होते हैं, जबकि नकली डेटा जेनरेटर मॉडल द्वारा उत्पन्न किया जाता है। डिस्क्रिमिनेटर मॉडल को प्रशिक्षित करने की प्रक्रिया मूल रूप से बाइनरी वर्गीकरण मॉडल प्रशिक्षण के समान होती है।

GAN प्रशिक्षण प्रक्रिया

आइए एक कल्पनात्मक छवि उत्पादन कार्य के लिए प्रशिक्षण प्रक्रिया पर एक नज़र डालें।

शुरू करने के लिए, GAN को वास्तविक, वास्तविक छवियों का उपयोग करके प्रशिक्षित किया जाता है जो प्रशिक्षण डेटासेट का हिस्सा हैं। यह डिस्क्रिमिनेटर मॉडल को उत्पन्न छवियों और वास्तविक छवियों के बीच अंतर करने के लिए सेट करता है। यह जेनरेटर को नए डेटा का उत्पादन करने के लिए उपयोग किए जाने वाले डेटा वितरण को भी उत्पन्न करता है।

जेनरेटर एक यादृच्छिक संख्यात्मक डेटा वेक्टर लेता है और इसे गाउसियन वितरण के आधार पर परिवर्तित करता है, जिससे एक छवि वापस मिलती है। यह उत्पन्न छवि, साथ ही कुछ वास्तविक छवियां प्रशिक्षण डेटासेट से, डिस्क्रिमिनेटर मॉडल में डाली जाती है। डिस्क्रिमिनेटर एक संभाव्यता भविष्यवाणी करता है कि छवियों की प्रकृति के बारे में, 0 और 1 के बीच एक मान का उत्पादन करता है, जहां 1 आमतौर पर वास्तविक छवियों को दर्शाता है और 0 एक नकली छवि को दर्शाता है।

एक दोहरी प्रतिक्रिया लूप काम कर रहा है, क्योंकि डिस्क्रिमिनेटर को छवियों की जमीनी सच्चाई दी जाती है, जबकि जेनरेटर को इसके प्रदर्शन पर डिस्क्रिमिनेटर से प्रतिक्रिया मिलती है।

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

आदर्श रूप से, जेनरेटर अपने प्रदर्शन में सुधार करने में सक्षम होता है जहां डिस्क्रिमिनेटर वास्तविक और नकली छवियों के बीच अंतर नहीं कर पाता है। इसका मतलब है कि डिस्क्रिमिनेटर हमेशा वास्तविक और नकली छवियों के लिए 50% की संभावना दर्ज करेगा, जिसका अर्थ है कि उत्पन्न छवियां वास्तविक छवियों से लगभग अस्पष्ट होनी चाहिए। व्यवहार में, GANs आमतौर पर इस बिंदु तक नहीं पहुंचते हैं। हालांकि, जेनरेटर को बिल्कुल समान छवियां उत्पन्न करने की आवश्यकता नहीं है फिर भी GANs के लिए कई कार्यों के लिए उपयोगी हो सकता है।

GAN अनुप्रयोग

GANs के कई अलग-अलग अनुप्रयोग हैं, जिनमें से अधिकांश छवियों और छवियों के घटकों के उत्पादन के आसपास घूमते हैं। GANs आमतौर पर उन कार्यों में उपयोग किए जाते हैं जहां आवश्यक छवि डेटा कुछ तरह से कमी या अनुपस्थित है, डेटा का उत्पादन करने के तरीके के रूप में। आइए GANs के कुछ सामान्य उपयोग मामलों पर एक नज़र डालें।

डेटासेट के लिए नए उदाहरणों का उत्पादन

GANs का उपयोग सरल छवि डेटासेट के लिए नए उदाहरणों को उत्पन्न करने के लिए किया जा सकता है। यदि आपके पास केवल कुछ प्रशिक्षण उदाहरण हैं और अधिक की आवश्यकता है, तो GANs का उपयोग नए प्रशिक्षण डेटा का उत्पादन करने के लिए किया जा सकता है, जो एक छवि वर्गीकरण के लिए नए प्रशिक्षण उदाहरणों को विभिन्न अभिविन्यास और कोणों पर उत्पन्न कर सकता है।

मानव चेहरों का उत्पादन

यह महिला मौजूद नहीं है। छवि StyleGAN द्वारा उत्पन्न की गई थी। फोटो: Owlsmcgee via Wikimedia Commons, Public Domain (https://commons.wikimedia.org/wiki/File:Woman_1.jpg)

जब पर्याप्त रूप से प्रशिक्षित किया जाता है, तो GANs बेहद वास्तविक मानव चेहरों की छवियों का उत्पादन कर सकते हैं। ये उत्पन्न छवियां चेहरा पहचान प्रणालियों को प्रशिक्षित करने में मदद करने के लिए उपयोग की जा सकती हैं।

छवि से छवि अनुवाद

GANs छवि अनुवाद में उत्कृष्टता प्राप्त करते हैं। GANs का उपयोग काले और सफेद छवियों को रंगीन बनाने, स्केच या ड्रॉइंग को फोटोग्राफिक छवियों में अनुवाद करने, या दिन और रात के बीच छवियों को परिवर्तित करने के लिए किया जा सकता है।

पाठ से छवि अनुवाद

पाठ से छवि अनुवाद GANs का उपयोग करके संभव है। जब एक छवि का वर्णन करने वाला पाठ और उस छवि के साथ दिया जाता है, तो एक GAN एक नई छवि का उत्पादन करने के लिए प्रशिक्षित किया जा सकता है जब एक वांछित छवि का वर्णन दिया जाता है।

छवियों को संपादित और मरम्मत करना

GANs का उपयोग मौजूदा फोटोग्राफ को संपादित करने के लिए किया जा सकता है। GANs एक छवि से बारिश या बर्फ जैसे तत्वों को हटा सकते हैं, लेकिन वे पुरानी, क्षतिग्रस्त छवियों या दूषित छवियों की मरम्मत के लिए भी उपयोग किए जा सकते हैं।

सुपर रिज़ॉल्यूशन

सुपर रिज़ॉल्यूशन एक प्रक्रिया है जिसमें एक कम-रिज़ॉल्यूशन वाली छवि ली जाती है और उसमें अधिक पिक्सेल जोड़े जाते हैं, जिससे छवि का रिज़ॉल्यूशन बढ़ जाता है। GANs को एक छवि लेने और एक उच्च-रिज़ॉल्यूशन संस्करण का उत्पादन करने के लिए प्रशिक्षित किया जा सकता है।

ब्लॉगर और प्रोग्रामर जिनकी विशेषज्ञता मैशीन लर्निंग और डीप लर्निंग विषयों में है। डैनियल दूसरों को सामाजिक कल्याण के लिए एआई की शक्ति का उपयोग करने में मदद करना चाहता है।