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