तंत्रिका नेटवर्क अलग-अलग इनपुट आकारों से कैसे निपट सकते हैं?


42

जहां तक ​​मैं बता सकता हूं, तंत्रिका नेटवर्क में इनपुट परत में एक निश्चित संख्या में न्यूरॉन्स होते हैं

यदि एनएलपी जैसे संदर्भ में तंत्रिका नेटवर्क का उपयोग किया जाता है, तो अलग-अलग आकारों के पाठ के वाक्य या ब्लॉक एक नेटवर्क को खिलाए जाते हैं। नेटवर्क के इनपुट परत के निश्चित आकार के साथ अलग-अलग इनपुट आकार को कैसे मिलाया जाता है ? दूसरे शब्दों में, इस तरह के नेटवर्क को एक इनपुट से निपटने के लिए पर्याप्त लचीला कैसे बनाया जाता है जो एक शब्द से पाठ के कई पृष्ठों तक कहीं भी हो सकता है?

यदि इनपुट न्यूरॉन्स की एक निश्चित संख्या के बारे में मेरी धारणा गलत है और इनपुट आकार से मेल खाने के लिए नेटवर्क से नए इनपुट न्यूरॉन्स जोड़े / निकाले जाते हैं तो मुझे नहीं लगता कि ये कैसे कभी प्रशिक्षित हो सकते हैं।

मैं एनएलपी का उदाहरण देता हूं, लेकिन बहुत सारी समस्याओं में अंतर्निहित अप्रत्याशित इनपुट आकार है। मैं इससे निपटने के लिए सामान्य दृष्टिकोण में दिलचस्पी रखता हूं।

छवियों के लिए, यह स्पष्ट है कि आप एक निश्चित आकार में ऊपर / नीचे कर सकते हैं, लेकिन, पाठ के लिए, यह मूल इनपुट के अर्थ को बदलने / हटाने के बाद से एक असंभव दृष्टिकोण है।


क्या आप यह स्पष्ट कर सकते हैं कि एक निश्चित आकार में डाउनस्मैपलिंग से आपका क्या मतलब है? डाउनसमलिंग कैसे की जाती है?
चार्ली पार्कर

जवाबों:


36

तीन संभावनाएं दिमाग में आती हैं।

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

आवर्तक एनएन (आरएनएन) यह चुनने के लिए एक बहुत ही स्वाभाविक एनएन है कि आपके पास इनपुट के रूप में अलग-अलग आकार के ग्रंथ हैं। आप शब्द वैक्टर (या एम्बेडिंग) के रूप में शब्दों को एक के बाद एक इनपुट करते हैं और आरएनएन की आंतरिक स्थिति को शब्दों के पूर्ण स्ट्रिंग के अर्थ को एन्कोड करना चाहिए। यह पहले के पेपरों में से एक है।

एक अन्य संभावना पुनरावर्ती एनएन का उपयोग कर रही है । यह मूल रूप से प्रीप्रोसेसिंग का एक रूप है जिसमें किसी पाठ को शब्द वैक्टरों की एक छोटी संख्या तक कम किया जाता है, जब तक कि केवल एक ही बचा हो - आपका इनपुट, जिसे पूरे पाठ को एनकोड करना है। यह एक भाषाई दृष्टिकोण से बहुत मायने रखता है यदि आपके इनपुट में वाक्यों का आकार होता है (जो आकार में बहुत भिन्न हो सकते हैं), क्योंकि वाक्य पुनरावर्ती रूप से संरचित होते हैं। उदाहरण के लिए, "द मैन" के लिए वेक्टर शब्द, "उस आदमी के लिए शब्द वेक्टर के समान होना चाहिए, जिसने अपनी पत्नी को एक टोपी के लिए गलत समझा", क्योंकि संज्ञा वाक्यांश संज्ञा जैसे कार्य करते हैं, आदि। अक्सर, आप मार्गदर्शन करने के लिए भाषाई जानकारी का उपयोग कर सकते हैं। वाक्य पर आपकी पुनरावृत्ति। यदि आप विकिपीडिया लेख से आगे बढ़ना चाहते हैं, तो यह शायद एक अच्छी शुरुआत है


1
"पुनरावर्ती एनएन", और आरएनएन को आप क्या कहते हैं, इसके बीच क्या अंतर है? आर पुनरावर्ती के लिए है ... इसके अलावा, कुछ उद्धरण और संकेत उपयोगी होंगे।
एरिक प्लैटन

3
आर आवर्तक के लिए है। आवर्तक का अर्थ है बार-बार उसी एनएन में रैखिक रूप से इनपुट जोड़ना। पुनरावर्ती का अर्थ है पेड़ की संरचना के साथ डेटा को इनपुट करना।
BlindKungFuMaster सेप

@BlindKungFuMaster 0 एमएलपी के लिए मास्क के साथ पैडिंग करना अच्छा है और यह सटीकता को बुरी तरह से प्रभावित नहीं करता है?
दिना 13

12

दूसरों ने पहले ही उल्लेख किया है:

  • शून्य गद्दी
  • RNN
  • पुनरावर्ती एन.एन.

इसलिए मैं एक और संभावना जोड़ूंगा: इनपुट के आकार के आधार पर कई बार विभिन्न संकल्पों का उपयोग करना। यहाँ एक उत्कृष्ट पुस्तक है जो इस दृष्टिकोण का समर्थन करती है:

छवियों के संग्रह पर विचार करें, जहां प्रत्येक छवि की एक अलग चौड़ाई और ऊंचाई है। यह स्पष्ट नहीं है कि निश्चित आकार के भार मैट्रिक्स के साथ इस तरह के इनपुट को कैसे मॉडल किया जाए। लागू करने के लिए बातचीत सरल है; कर्नेल को केवल इनपुट के आकार के आधार पर अलग-अलग संख्या में लागू किया जाता है, और कनवल्शन ऑपरेशन के पैमाने के अनुसार उत्पादन होता है।

पृष्ठ 360 से लिया गया। कुछ अन्य दृष्टिकोणों को देखने के लिए आप इसे आगे पढ़ सकते हैं।


1
मेरे साथ ऐसा होता है कि यह दृष्टिकोण केवल तभी काम करेगा जब 1) सभी इनपुट छवियों का पहलू अनुपात (AR) समान हो, 2) आप किसी दिए गए AR में सभी छवियों को फिर से खोलें, या 3) आप शून्य-पैड छवियों को मजबूर करने के लिए a दिए गए ए.आर.
मैट वेन्हम

@ साल्वाडोर डाली "0" मास्क के साथ पैडिंग एमएलपी के लिए एक अच्छा समाधान हो सकता है?
दिनाँक

मैं पुस्तक में आपके उत्तर में आपके द्वारा उद्धृत पाठ नहीं ढूँढ सकता। शायद यह मूल रूप से मौजूद था और बाद में हटा दिया गया है? पृष्ठ 354 में वर्तमान में एक पैराग्राफ है जो समान रूप से शुरू होता है, लेकिन परतों की चर संख्या (लेकिन इसके बजाय चर आउटपुट आकार) का उपयोग कभी नहीं करता है।
जॉचेन

7

एनएलपी में आपके पास इनपुट का एक अंतर्निहित क्रम है, इसलिए आरएनएन एक प्राकृतिक विकल्प है।

चर आकार के इनपुट के लिए, जहां इनपुट के बीच कोई विशेष ऑर्डर नहीं है, एक नेटवर्क को डिज़ाइन कर सकता है जो:

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

संरचना इस प्रकार दिखती है:

नेटवर्क संरचना

वस्तुओं के बीच संबंधों को जानने के लिए समान नेटवर्क का उपयोग किया गया है ( arxiv: 1702.05068 )।

मूल्यों के एक चर आकार के नमूने के विचरण को सीखने का एक सरल उदाहरण यहां दिया गया है (अस्वीकरण: मैं जुड़े हुए लेखक का लेखक हूं)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.