मैंने 2010 के ब्लॉग पोस्ट ( आर्काइव.ऑर्ग) में जेनरिक एडवरसरी नेटवर्क्स (जीएएन) के निर्धारक किस्म के मूल विचार को स्वयं प्रकाशित किया । मैंने खोज की थी, लेकिन कहीं भी ऐसा कुछ नहीं मिला, और इसे लागू करने की कोशिश करने का समय नहीं था। मैं नहीं था और अभी भी एक तंत्रिका नेटवर्क शोधकर्ता नहीं हूं और क्षेत्र में कोई संबंध नहीं है। मैं यहाँ ब्लॉग पोस्ट कॉपी-पेस्ट करूँगा:
2010-02-24
एक चर संदर्भ के भीतर लापता डेटा उत्पन्न करने के लिए कृत्रिम तंत्रिका नेटवर्क को प्रशिक्षित करने की एक विधि । चूंकि विचार को एक वाक्य में रखना मुश्किल है, मैं एक उदाहरण का उपयोग करूंगा:
एक छवि में अनुपलब्ध पिक्सेल हो सकते हैं (मान लीजिए, एक स्मज के तहत)। केवल आसपास के पिक्सल्स को जानकर कोई कैसे लापता पिक्सेल को पुनर्स्थापित कर सकता है? एक दृष्टिकोण एक "जनरेटर" तंत्रिका नेटवर्क होगा जो इनपुट के रूप में आसपास के पिक्सल को दिया जाता है, लापता पिक्सेल उत्पन्न करता है।
लेकिन ऐसे नेटवर्क को कैसे प्रशिक्षित किया जाए? एक नेटवर्क की अपेक्षा नहीं कर सकता कि वह वास्तव में लापता पिक्सेल का उत्पादन करे। उदाहरण के लिए, कल्पना करें कि लापता डेटा घास का एक टुकड़ा है। एक लॉन की छवियों के एक समूह के साथ नेटवर्क को सिखा सकता है, जिसमें कुछ हिस्सों को हटा दिया गया है। शिक्षक उस डेटा को जानता है जो गायब है, और घास के उत्पन्न पैच और मूल डेटा के बीच रूट माध्य अंतर (RMSD) के अनुसार नेटवर्क स्कोर कर सकता है। समस्या यह है कि यदि जनरेटर एक ऐसी छवि का सामना करता है जो प्रशिक्षण सेट का हिस्सा नहीं है, तो तंत्रिका नेटवर्क के लिए सभी पत्तियों, विशेष रूप से पैच के बीच में, बिल्कुल सही स्थानों पर रखना असंभव होगा। सबसे कम RMSD त्रुटि संभवतः नेटवर्क द्वारा पैच के मध्य क्षेत्र को एक ठोस रंग से भरकर प्राप्त की जाएगी जो घास की विशिष्ट छवियों में पिक्सेल के रंग का औसत है। यदि नेटवर्क ने ऐसी घास उत्पन्न करने की कोशिश की जो मानव को आश्वस्त करती है और जैसे कि उसका उद्देश्य पूरा होता है, तो RMSD मीट्रिक द्वारा एक दुर्भाग्यपूर्ण जुर्माना होगा।
मेरा विचार यह है (नीचे आंकड़ा देखें): जनरेटर के साथ एक क्लासिफायरियर नेटवर्क जो एक साथ दिया जाता है, यादृच्छिक या वैकल्पिक अनुक्रम, उत्पन्न और मूल डेटा के साथ प्रशिक्षित करें। क्लासिफायर को फिर आस-पास की छवि के संदर्भ में अनुमान लगाना होता है, कि क्या इनपुट मूल है (1) या उत्पन्न (0)। जनरेटर नेटवर्क एक साथ क्लासिफायरियर से उच्च स्कोर (1) प्राप्त करने की कोशिश कर रहा है। परिणाम, उम्मीद है, यह है कि दोनों नेटवर्क वास्तव में सरल शुरू करते हैं, और उत्पन्न और अधिक उन्नत सुविधाओं को उत्पन्न करने और पहचानने की दिशा में प्रगति करते हैं, संभवतः उत्पन्न डेटा और मूल के बीच विचार करने की मानव की क्षमता को पराजित करते हैं। यदि प्रत्येक स्कोर के लिए कई प्रशिक्षण नमूनों पर विचार किया जाता है, तो RMSD उपयोग करने के लिए सही त्रुटि मीट्रिक है,
कृत्रिम तंत्रिका नेटवर्क प्रशिक्षण सेटअप
जब मैं अंत में आरएमएसडी का उल्लेख करता हूं तो मेरा मतलब "संभावना अनुमान" के लिए त्रुटि मीट्रिक है, न कि पिक्सेल मान।
मैंने मूल रूप से 2000 (comp.dsp पोस्ट) में तंत्रिका नेटवर्क के उपयोग पर विचार करना शुरू कर दिया था ताकि अप-सैंपल (उच्च नमूना आवृत्ति के लिए पुन: व्यवस्थित) डिजिटल ऑडियो के लिए लापता उच्च आवृत्तियों का निर्माण किया जा सके, एक तरह से जो सटीक होने के बजाय आश्वस्त होगा। 2001 में मैंने प्रशिक्षण के लिए एक ऑडियो लाइब्रेरी एकत्र की। यहाँ 20 जनवरी 2006 से EFNet #musicdsp इंटरनेट रिले चैट (IRC) लॉग के भाग हैं जिसमें मैं (यार) एक अन्य उपयोगकर्ता (_Beta) के साथ विचार के बारे में बात करता हूँ:
[२२:१ 22:] <याहर> नमूनों की समस्या यह है कि अगर आपके पास पहले से ही कुछ "अप" नहीं है, तो आप क्या कर सकते हैं यदि आप परेशान हैं ...
[22:22] <तोहार> मैंने एक बार एक बड़ा संग्रह किया ध्वनियों का पुस्तकालय ताकि मैं इस सटीक समस्या को हल करने के लिए एक "स्मार्ट" एल्गो विकसित कर
सकूं [22:22] <तोहार> मैंने तंत्रिका नेटवर्क का उपयोग किया होगा
[22:22] <याहर> लेकिन मैंने काम पूरा नहीं किया: - D
[22:23] <_Beta> तंत्रिका नेटवर्क के साथ समस्या यह है कि आपके पास परिणामों की अच्छाई को मापने का कोई तरीका है
[22:24] <yehar> beta: मेरा यह विचार है कि आप "श्रोता" विकसित कर सकते हैं उसी समय जब आप "स्मार्ट अप-साउंड क्रिएटर" विकसित करते हैं
[२२:२६] <याहर> बीटा: और यह सुनने वाले को यह पता लगाना सीख जाएगा कि यह एक निर्मित या एक प्राकृतिक अप-स्पेक्ट्रम कैसे सुन रहा है। और निर्माता इस खोज को दरकिनार करने के लिए उसी समय विकसित होता है
2006 और 2010 के बीच के समय में, एक मित्र ने मेरे विचार पर एक विशेषज्ञ को आमंत्रित किया और मेरे साथ चर्चा की। उन्होंने सोचा कि यह दिलचस्प था, लेकिन कहा कि दो नेटवर्क को प्रशिक्षित करने के लिए लागत प्रभावी नहीं था जब एक एकल नेटवर्क काम कर सकता है। मुझे कभी भी यकीन नहीं हुआ कि उन्हें मूल विचार नहीं मिला या अगर उन्होंने तुरंत इसे एक एकल नेटवर्क के रूप में तैयार करने का तरीका देखा, तो शायद टोपोलॉजी में एक अड़चन के साथ इसे दो भागों में अलग करने के लिए। यह एक ऐसे समय में था जब मुझे यह भी नहीं पता था कि बैकप्रोपैजेशन अभी भी डी-फैक्टो ट्रेनिंग विधि है (यह सीखा कि 2015 के डीप ड्रीम क्रेज में वीडियो बनाना )। इन वर्षों में मैंने अपने विचार के बारे में कुछ डेटा वैज्ञानिकों और अन्य लोगों से बात की थी, जिनके बारे में मुझे लगा कि शायद दिलचस्पी हो, लेकिन प्रतिक्रिया हल्की थी।
मई 2017 में मैंने YouTube [मिरर] पर इयान गुडफेलो की ट्यूटोरियल प्रस्तुति देखी , जिसने पूरी तरह से मेरा दिन बना दिया। यह मुझे एक ही मूल विचार के रूप में दिखाई दिया, मतभेदों के साथ जैसा कि मैं वर्तमान में नीचे उल्लिखित समझता हूं, और इसे बेहतर परिणाम देने के लिए कड़ी मेहनत की गई थी। इसके अलावा उन्होंने एक सिद्धांत दिया, या एक सिद्धांत पर सब कुछ आधारित था, यह क्यों काम करना चाहिए, जबकि मैंने अपने विचार का औपचारिक विश्लेषण कभी नहीं किया। गुडफेलो की प्रस्तुति ने उन सवालों के जवाब दिए जो मेरे पास थे और बहुत कुछ।
गुडफेलो के GAN और उनके सुझाए गए एक्सटेंशन में जनरेटर में एक शोर स्रोत शामिल है। मैंने शोर स्रोत को शामिल करने के बारे में कभी नहीं सोचा, लेकिन इसके बजाय प्रशिक्षण डेटा के संदर्भ में, एक शोर वेक्टर इनपुट के बिना सशर्त GAN (cGAN) के विचार का बेहतर मिलान करना और डेटा के एक हिस्से पर वातानुकूलित मॉडल के साथ। मैथ्यू एट अल पर आधारित मेरी वर्तमान समझ । 2016 यह है कि पर्याप्त इनपुट परिवर्तनशीलता होने पर उपयोगी परिणामों के लिए शोर स्रोत की आवश्यकता नहीं है। दूसरा अंतर यह है कि गुडफेलो का गण लॉग-लाइबिलिटी को कम करता है। बाद में, एक न्यूनतम वर्ग GAN (LSGAN) पेश किया गया है ( माओ एट अल। 2017) जो मेरे आरएमएसडी सुझाव से मेल खाता है। इसलिए, मेरा विचार जनरेटर के लिए एक शोर वेक्टर इनपुट के बिना एक सशर्त कम से कम वर्गों के पीढ़ी के प्रतिकूल नेटवर्क (cLSGAN) से मेल खाता है और कंडीशनिंग इनपुट के रूप में डेटा के एक हिस्से के साथ होगा। एक उत्पादक डेटा वितरण के एक सन्निकटन से जनरेटर नमूने हैं। मुझे अब पता है कि क्या है और संदेह है कि वास्तविक दुनिया का शोर इनपुट मेरे विचार से सक्षम होगा, लेकिन यह कहना नहीं है कि परिणाम उपयोगी नहीं होंगे यदि यह नहीं हुआ।
उपरोक्त वर्णित अंतर प्राथमिक कारण है कि मेरा मानना है कि गुडफेलो को मेरे विचार के बारे में पता नहीं था या सुना नहीं गया था। एक और बात यह है कि मेरे ब्लॉग में कोई अन्य मशीन सीखने की सामग्री नहीं है, इसलिए यह मशीन सीखने के हलकों में बहुत सीमित जोखिम का आनंद ले सकता था।
यह हितों का टकराव है जब एक समीक्षक लेखक पर समीक्षक के अपने काम का हवाला देने का दबाव डालता है।