अक्सर आने वाली समस्याएं

जीएएन में, गड़बड़ी के कई सामान्य मोड होते हैं. इन सभी सामान्य समस्याओं पर, फ़िलहाल रिसर्च की जा रही है. इनमें से कोई भी समस्या पूरी तरह से हल नहीं हुई है. हालांकि, हम कुछ ऐसी चीज़ों के बारे में बताएंगे जिन्हें लोगों ने आज़माया है.

वैनिशिंग ग्रेडिएंट

रिसर्च से पता चला है कि अगर आपका डिस्करिमिनेटर बहुत अच्छा है, तो वैनिशिंग ग्रेडिएंट की वजह से जनरेटर ट्रेनिंग पूरी नहीं हो सकती. असल में, सबसे अच्छा डिस्करिमिनेटर, जनरेटर को बेहतर बनाने के लिए ज़रूरी जानकारी नहीं देता.

समस्या को ठीक करने की कोशिशें

  • Wasserstein loss: Wasserstein loss को डिज़ाइन किया गया है, ताकि डिस्करिमिनेटर को ऑप्टिमाइज़ करने के दौरान भी, ग्रेडिएंट के गायब होने से रोका जा सके.
  • बदली गई मिनीमैक्स लॉस: ओरिजनल जीएएन पेपर में, वैनिशिंग ग्रेडिएंट से निपटने के लिए, मिनीमैक्स लॉस में बदलाव का सुझाव दिया गया था.

मोड को छोटा करना

आम तौर पर, आपको अपने जीएएन से अलग-अलग तरह के आउटपुट चाहिए होते हैं. उदाहरण के लिए, आपको अपने फ़ेस जनरेटर में हर रैंडम इनपुट के लिए एक अलग चेहरा चाहिए.

हालांकि, अगर जनरेटर से ऐसा आउटपुट मिलता है जो ज़्यादा सही लगता है, तो हो सकता है कि जनरेटर सिर्फ़ वह आउटपुट देने की सुविधा सीख ले. दरअसल, जनरेटर हमेशा ऐसा आउटपुट ढूंढने की कोशिश करता है जो डिस्क्रीमिनेटर को सबसे सही लगे.

अगर जनरेटर एक ही आउटपुट (या आउटपुट का एक छोटा सेट) बार-बार जनरेट करना शुरू कर देता है, तो डिस्करिमिनेटर की सबसे अच्छी रणनीति यह है कि वह उस आउटपुट को हमेशा अस्वीकार करे. हालांकि, अगर डिस्करिमिनेटर की अगली पीढ़ी, लोकल माइनिमम में फंस जाती है और उसे सबसे अच्छी रणनीति नहीं मिलती है, तो अगले जनरेटर के लिए मौजूदा डिस्करिमिनेटर के लिए सबसे सही आउटपुट ढूंढना बहुत आसान हो जाता है.

जनरेटर का हर आइटरेशन, किसी खास डिस्करिमिनेटर के लिए ज़्यादा ऑप्टिमाइज़ करता है. साथ ही, डिस्करिमिनेटर कभी भी इस ट्रैप से बाहर नहीं निकल पाता. इस वजह से, जनरेटर आउटपुट टाइप के छोटे सेट के हिसाब से घूमते हैं. जीएएन के काम न करने के इस फ़ॉर्म को मोड कॉलैप्स कहा जाता है.

समस्या को ठीक करने की कोशिशें

यहां दिए गए तरीके, जनरेटर को एक तय डिस्क्रीमिनेटर के लिए ऑप्टिमाइज़ करने से रोककर, उसके दायरे को बढ़ाने की कोशिश करते हैं:

  • वॉसरस्टीन लॉस: वॉसरस्टीन लॉस, वैरिएशन के कम होने की समस्या को कम करता है. ऐसा, डिस्करिमिनेटर को ऑप्टिमाइज़ करने के लिए ट्रेनिंग देने की सुविधा देकर किया जाता है. इस दौरान, वैरिएशन के कम होने की समस्या का ध्यान नहीं रखा जाता. अगर डिस्करिमिनेटर, लोकल कम से कम वैल्यू में नहीं फंसता है, तो वह उन आउटपुट को अस्वीकार करना सीखता है जिन पर जनरेटर स्थिर होता है. इसलिए, जनरेटर को कुछ नया आज़माना होगा.
  • अनरोल्ड किए गए जीएएन: अनरोल्ड किए गए जीएएन, जनरेटर लॉस फ़ंक्शन का इस्तेमाल करते हैं. इसमें, डिस्करिमिनेटर की मौजूदा कैटगरी के साथ-साथ, डिस्करिमिनेटर के आने वाले वर्शन के आउटपुट भी शामिल होते हैं. इसलिए, जनरेटर किसी एक डिस्करिमिनेटर के लिए ज़्यादा ऑप्टिमाइज़ नहीं कर सकता.

डेटा कन्वर्ज़न न हो पाना

ट्रेनिंग मॉड्यूल में बताया गया है कि जीएएन अक्सर एक साथ काम नहीं कर पाते.

समस्या को ठीक करने की कोशिशें

रिसर्चर ने जीएएन के कन्वर्ज़न को बेहतर बनाने के लिए, रेगुलराइज़ेशन के अलग-अलग तरीकों का इस्तेमाल करने की कोशिश की है. इनमें ये शामिल हैं: