The Discriminator

जीएएन में डिस्क्रिमिनेटर, सिर्फ़ एक क्लासिफ़ायर होता है. यह जनरेटर से बनाए गए डेटा और असली डेटा में अंतर करने की कोशिश करता है. यह किसी भी नेटवर्क के हिसाब से, डेटा का टाइप तय करने के लिए, नेटवर्क के किसी भी आर्किटेक्चर का इस्तेमाल कर सकता है.

जनरेटिव अडवर्सरी नेटवर्क का डायग्राम. डायग्राम के बीच में, 'डिसक्रिमिनेटर' लेबल वाला एक बॉक्स होता है. इस बॉक्स में बाईं ओर से दो शाखाएं आती हैं.  सबसे ऊपर वाली शाखा, डायग्राम के सबसे ऊपर बाईं ओर से शुरू होती है. इसमें 'असल दुनिया की इमेज' लेबल वाला बॉक्स होता है. एक ऐरो, इस सिलेंडर से 'सैंपल' लेबल वाले बॉक्स पर ले जाता है. 'सैंपल' लेबल वाले बॉक्स से, ऐरो 'डिस्करिमिनेटर' बॉक्स में फ़ीड होता है. सबसे नीचे मौजूद शाखा, 'डिसक्रिमिनेटर' बॉक्स में फ़ीड होती है. यह बॉक्स, 'रैंडम इनपुट' लेबल वाले बॉक्स से शुरू होता है. ऐरो, 'रैंडम इनपुट' बॉक्स से, 'जनरेटर' लेबल वाले बॉक्स पर ले जाता है. ऐरो, 'जनरेटर' बॉक्स से दूसरे
          'सैंपल' बॉक्स पर ले जाता है. ऐरो, 'सैंपल' बॉक्स से लेकर
          'डिसक्रिमिनेटर बॉक्स' तक ले जाता है. डिस्करिमिनेटर बॉक्स की दाईं ओर, दो ऐरो डायग्राम की दाईं ओर मौजूद दो बॉक्स पर ले जाते हैं. एक ऐरो, 'डिस्क्रेमिनेटर लॉस' लेबल वाले बॉक्स पर ले जाता है. दूसरे ऐरो पर क्लिक करने पर, आपको एक बॉक्स दिखेगा, जिस पर लिखा होगा
          'जनरेटर का नुकसान'. डिस्करिमिनेटर बॉक्स और डिस्करिमिनेटर लॉस बॉक्स के चारों ओर, एक पीला बॉक्स दिखाया गया है. इस बॉक्स पर बाईं ओर की ओर इशारा करने वाला ऐरो और 'बैकप्रोपगेशन' शब्द लिखा है. इससे पता चलता है कि बैकप्रोपगेशन, सिस्टम के उस हिस्से पर काम करता है जो पीले बॉक्स में दिखाया गया है.

पहली इमेज: डिस्करिमिनेटर ट्रेनिंग में बैकप्रोपगेशन.

डिस्क्रिमिनेटर ट्रेनिंग डेटा

डिस्क्रिमिनेटर का ट्रेनिंग डेटा, इन दो सोर्स से मिलता है:

  • असल डेटा के उदाहरण, जैसे कि लोगों की असल तस्वीरें. डिस्करिमिनेटर, ट्रेनिंग के दौरान इन इंस्टेंस का इस्तेमाल, अच्छे उदाहरणों के तौर पर करता है.
  • जनरेटर से बनाए गए नकली डेटा के इंस्टेंस. डिस्करिमिनेटर, ट्रेनिंग के दौरान इन इंस्टेंस का इस्तेमाल नेगेटिव उदाहरणों के तौर पर करता है.

पहली इमेज में, दो "सैंपल" बॉक्स, इन दो डेटा सोर्स को दिखाते हैं जो डिस्करिमिनेटर में फ़ीड होते हैं. डिस्क्रिमिनेटर को ट्रेनिंग देने के दौरान, जनरेटर को ट्रेनिंग नहीं दी जाती. डिस्टिंगुइशर को ट्रेन करने के लिए उदाहरण देते समय, इसके वेट में कोई बदलाव नहीं होता.

डिस्क्रिमिनेटर को ट्रेनिंग देना

डिस्करिमिनेटर, दो लॉस फ़ंक्शन से जुड़ा होता है. डिस्करिमिनेटर को ट्रेनिंग देने के दौरान, वह जनरेटर लॉस को अनदेखा करता है और सिर्फ़ डिस्करिमिनेटर लॉस का इस्तेमाल करता है. हम जनरेटर को ट्रेन करते समय, जनरेटर लॉस का इस्तेमाल करते हैं. इस बारे में अगले सेक्शन में बताया गया है.

डिस्क्रिमिनेटर ट्रेनिंग के दौरान:

  1. डिस्करिमिनेटर, जनरेटर से मिले असली और नकली डेटा, दोनों को अलग-अलग कैटगरी में बांटता है.
  2. डिस्करिमिनेटर लॉस, किसी असली इंस्टेंस को नकली के तौर पर या नकली इंस्टेंस को असली के तौर पर गलत कैटगरी में डालने पर, डिस्करिमिनेटर को दंडित करता है.
  3. डिस्क्रिमिनेटर, डिस्क्रिमिनेटर नेटवर्क के ज़रिए डिस्क्रिमिनेटर लॉस से, बैकप्रोपगेशन के ज़रिए अपने वेट अपडेट करता है.

अगले सेक्शन में हम देखेंगे कि जनरेटर लॉस, डिस्करिमिनेटर से क्यों जुड़ा है.