Autoencoders के उद्देश्य क्या हैं?


10

Autoencoders तंत्रिका नेटवर्क हैं जो बाद में इसे फिर से संगठित करने के लिए इनपुट के एक संपीड़ित प्रतिनिधित्व को सीखते हैं, इसलिए उन्हें आयामी कमी के लिए इस्तेमाल किया जा सकता है। वे एक एनकोडर और एक डिकोडर (जो अलग-अलग तंत्रिका नेटवर्क हो सकते हैं) से बने होते हैं। आयाम की कमी आयामीता के अभिशाप से संबंधित मुद्दों से निपटने या उन्हें दूर करने के लिए उपयोगी हो सकती है, जहां डेटा विरल हो जाता है और "सांख्यिकीय महत्व" प्राप्त करना अधिक कठिन होता है। तो, ऑटोएन्कोडर्स (और पीसीए जैसे एल्गोरिदम) का उपयोग आयामीता के अभिशाप से निपटने के लिए किया जा सकता है।

हम विशेष रूप से ऑटोएन्कोडर्स का उपयोग करते हुए आयामीता में कमी की परवाह क्यों करते हैं? यदि उद्देश्य में कमी है, तो हम केवल पीसीए का उपयोग क्यों नहीं कर सकते हैं?

अगर हम सिर्फ डायमेंशन में कमी करना चाहते हैं, या हमें ऑटोकारोडर में डिकोडर भाग की आवश्यकता क्यों है, तो हमें इनपुट के अव्यक्त निरूपण की आवश्यकता क्यों है? उपयोग के मामले क्या हैं? सामान्य तौर पर, हमें इनपुट को बाद में विघटित करने के लिए संपीड़ित करने की आवश्यकता क्यों है? क्या केवल मूल इनपुट (इसके साथ शुरू करना) का उपयोग करना बेहतर नहीं होगा?


1
यह भी देखें निम्नलिखित प्रश्न stats.stackexchange.com/q/82416/82135 CrossValidated एसई पर।
nbro

जवाबों:


6

यह सोचना महत्वपूर्ण है कि डेटा में किस प्रकार के पैटर्न का प्रतिनिधित्व किया जा रहा है।

मान लीजिए कि आपके पास greyscale छवियों का डेटासेट है, जैसे कि प्रत्येक छवि एक समान तीव्रता है। एक मानव मस्तिष्क के रूप में आपको एहसास होगा कि इस डेटासेट के प्रत्येक तत्व को एक एकल संख्यात्मक पैरामीटर के संदर्भ में वर्णित किया जा सकता है, जो कि तीव्रता मूल्य है। यह कुछ ऐसा है जो पीसीए के लिए ठीक काम करेगा, क्योंकि प्रत्येक आयाम (हम प्रत्येक पिक्सेल को एक अलग आयाम के रूप में सोच सकते हैं) पूरी तरह से रैखिक रूप से सहसंबद्ध हैं।

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

आपका प्रश्न था "यदि उद्देश्य आयामी कमी है तो हम केवल पीसीए का उपयोग क्यों नहीं कर सकते हैं?" सरल उत्तर यह है कि पीसीए आयामीता में कमी के लिए सबसे सरल उपकरण है, लेकिन यह बहुत सारे रिश्तों को याद कर सकता है जो कि अधिक शक्तिशाली तकनीकों जैसे कि ऑटोएन्कोडर्स को मिल सकता है।


3

Autoencoders का उपयोग मामला (विशेष रूप से, डिकोडर या autoencoder के जेनरेटर मॉडल का) इनपुट को दर्शाने के लिए है। Autoencoders के इस प्रकार कहा जाता है, autoencoders denoising , एक आंशिक रूप से दूषित इनपुट लेने के लिए और वे इसी uncorrupted इनपुट को फिर से संगठित करने का प्रयास। इस मॉडल के कई अनुप्रयोग हैं। उदाहरण के लिए, यदि आपके पास एक दूषित छवि थी, तो आप संभावित रूप से अनियंत्रित व्यक्ति को पुनर्प्राप्त कर सकते हैं जो कि एक बदनाम ऑटोएन्कोडर का उपयोग कर सकता है।

Autoencoders और PCA संबंधित हैं:

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

अधिक जानकारी के लिए, एलाड प्लॉट द्वारा प्रिंसिपल सबस्पेसेस से लेकर लिनियर ऑटोकेनोडर्स (2018) के प्रिंसिपल कंपोनेंट्स के पेपर पर एक नज़र डालें । इस उत्तर को भी देखें , जो पीसीए और ऑटोएन्कोडर्स के बीच संबंध की व्याख्या करता है।


3

पीसीए एक रेखीय विधि है जो एक परिवर्तन बनाती है जो वैक्टर अनुमानों (अक्ष को बदलने) को बदलने में सक्षम है

चूंकि पीसीए अधिकतम विचरण की दिशा की तलाश करता है, इसलिए इसमें आमतौर पर उच्च भेदभाव होता है लेकिन यह गारंटी नहीं देता है कि अधिकांश विचरण की दिशा सबसे अधिक भेदभाव की दिशा है।

LDA एक रेखीय विधि है जो एक परिवर्तन पैदा करती है जो उस दिशा को खोजने में सक्षम है जो यह तय करने के लिए सबसे अधिक प्रासंगिक है कि क्या कोई वेक्टर वर्ग A या B से संबंधित है।

पीसीए और एलडीए में गैर-रैखिक कर्नेल संस्करण हैं जो उनकी रैखिक सीमाओं को पार कर सकते हैं।

Autoencoders नुकसान के अन्य प्रकारों के साथ आयामी कमी कर सकते हैं, गैर-रेखीय हो सकते हैं और कई मामलों के लिए PCA और LDA से बेहतर प्रदर्शन कर सकते हैं।

कुछ भी करने के लिए शायद सबसे अच्छी मशीन लर्निंग एल्गोरिदम नहीं है, कभी-कभी डीप लर्निंग और न्यूरल नेट सरल समस्याओं के लिए ओवरकिल होते हैं और पीसीए और एलडीए को अन्य, अधिक जटिल, आयामी कटौती से पहले की कोशिश की जा सकती है।


1
एलडीए को सवाल के साथ क्या करना है?
nbro

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

पीसीए अधिकतम विचलन की गारंटी नहीं देता है, क्योंकि यह एक लालची एल्गोरिथ्म है जो केवल अधिकतम अनुमान लगाता है।
मैथ्यू बोविल

पीसीए के पास एक बंद समाधान है, मुख्य अक्ष हमेशा अधिकतम विचरण की दिशा होगी। यह एक लालची एल्गोरिथ्म नहीं है (लेकिन इसे एक के रूप में लागू किया जा सकता है)
पिडरो हेनरिक मोनफोर्ट

1
  1. नेटवर्क को प्रशिक्षित करने के लिए नुकसान फ़ंक्शन की गणना करने के लिए डिकोडर आधा आवश्यक है। इसी तरह कैसे 'सलाहकार' एक गण में अभी भी आवश्यक है, भले ही आप केवल मूल घटक में रुचि रखते हों।
  2. Autoencoders डेटा के गैर-रेखीय एम्बेडिंग सीख सकते हैं, और इसलिए वेनिला पीसीए की तुलना में अधिक शक्तिशाली हैं।
  3. Autoencoders में आयामीता में कमी के अलावा अनुप्रयोग हैं :
    • नए डेटा पॉइंट्स बनाना, या प्रक्षेप करना (VAE's देखें)
    • निंदा फिल्टर बनाएं (जैसे इमेज प्रोसेसिंग में)
    • संपीड़ित / डीकंप्रेस डेटा
    • लिंक भविष्यवाणी (जैसे दवा खोज में)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.