तंत्रिका नेटवर्क के शोधकर्ता युगों की परवाह क्यों करते हैं?


69

स्टोचस्टिक ढाल वंश में एक युग डेटा के माध्यम से एक एकल पास के रूप में परिभाषित किया गया है। प्रत्येक SGD मिनीबैच के लिए, नमूने खींचे जाते हैं , क्रमिक गणना और पैरामीटर अपडेट किए जाते हैं। युगीन सेटिंग में, नमूने प्रतिस्थापन के बिना खींचे जाते हैं।k

लेकिन यह अनावश्यक लगता है। क्यों प्रत्येक SGD minibatch आकर्षित नहीं के रूप में यादृच्छिक प्रत्येक यात्रा पर संपूर्ण डेटा सेट से ड्रॉ? बड़ी संख्या में युगों में, छोटे विचलन जिनमें नमूने कम या ज्यादा देखे जाते हैं, वे महत्वहीन प्रतीत होते हैं।k


1
प्रश्न के लिए +1, दिलचस्प रूप से मेरे पास लगभग वही प्रश्न था जो पूछने के बारे में था!
हायटाओ ड्यू

उपाख्यानात्मक साक्ष्य, लेकिन मैंने हाल ही में MNIST डेटा पर SGD का उपयोग करके एक परत तंत्रिका नेटवर्क को फिट किया है, जो प्रशिक्षण आकार में 50000 हैं। एक के बाद एक यादृच्छिक रन-इन वर्गीकरण सटीकता 30-40% से अधिक नहीं थी, और लॉग-संभावना स्पष्ट रूप से परिवर्तित नहीं हुई थी। इसलिए मैंने 30 और युगों के लिए 90% से अधिक सटीकता के लिए प्रक्रिया दोहराई। कम से कम पलटवार से यह पता चला कि वे आवश्यक हो सकते हैं।
टॉमका

6
@tomka ऐसा साक्ष्य प्रदान करता प्रतीत होता है कि डेटा पर एकाधिक पास आवश्यक हैं, जो यहां प्रस्तावित विधि के अनुरूप है: प्रति प्रशिक्षण विज्ञापन नमूने nauseam के लिए नमूने रखें k
सिसोरैक्स

1
एक और दिलचस्प सवाल यह होगा कि क्या मिनी बैच के ऑर्डर का ओवरफिटिंग पर भी असर पड़ेगा?
--०४०K ०५

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

जवाबों:


60

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

2009 में, Léon Bottou ने एक विशेष पाठ वर्गीकरण समस्या ( ) पर अभिसरण प्रदर्शन की तुलना की ।n=781,265

बोटौ (2009)। कुछ स्टोकेस्टिक ग्रेडिएंट डिसेंट अल्गोरिदम के उत्सुकता से तेज़ रूपांतरण । सीखने और डेटा विज्ञान पर संगोष्ठी की कार्यवाही। ( लेखक का pdf )

उन्होंने तीन दृष्टिकोणों के साथ SGD के माध्यम से एक सपोर्ट वेक्टर मशीन का प्रशिक्षण दिया:

  • रैंडम : प्रत्येक पुनरावृत्ति पर पूर्ण डेटासेट से यादृच्छिक नमूने बनाएं।
  • चक्र : सीखने की प्रक्रिया शुरू करने से पहले डेटासेट में फेरबदल करें, फिर क्रमबद्ध तरीके से उस पर चलें, ताकि प्रत्येक युग में आप एक ही क्रम में उदाहरण देखें।
  • फेरबदल : प्रत्येक युग से पहले डेटासेट में फेरबदल करें, ताकि प्रत्येक युग अलग क्रम में हो।

उन्होंने समान रूप से अभिसरण , जहाँ लागत फ़ंक्शन है, अनुकूलन के चरण पर पैरामीटर है , और अपेक्षा फेरबदल से अधिक है आवंटित बैचों के।E[C(θt)minθC(θ)]Cθtt

  • रैंडम के लिए, अभिसरण लगभग के आदेश पर था (जैसा कि उस बिंदु पर मौजूदा सिद्धांत द्वारा अपेक्षित है)।t1
  • चक्र ने के क्रम में अभिसरण प्राप्त किया (with लेकिन क्रमचय के आधार पर अलग-अलग, उदाहरण के लिए उनके चित्र 1 के लिए)।tαα>1α1.8
  • फेरबदल अधिक अराजक था, लेकिन सबसे अच्छा फिट लाइन ने , जो रैंडम की तुलना में बहुत तेज था।t2

यह उनका चित्र 1 है जो इस प्रकार है: दी गई दरों पर अभिसरण का चित्रण

यह बाद में सैद्धांतिक रूप से कागज द्वारा पुष्टि की गई थी:

Gürbüzbalaban, Ozdaglar, और Parrilo (2015)। क्यों यादृच्छिक फेरबदल स्टोचैस्टिक ग्रेडिएंट डिसेंट को धड़कता हैarXiv: 1510.08560 । ( एनआईपीएस 2015 में आमंत्रित वार्ता का वीडियो )

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


3
यह बहुत ही व्यावहारिक जवाब है। आपके योगदान के लिए बहुत-बहुत धन्यवाद।
सिसोरैक्स

1
अज्ञानता के लिए खेद है, लेकिन क्या आपको थोड़ा और समझाने में कोई दिक्कत है कि तीनों में क्या अंतर है? विशेष रूप से मैं यादृच्छिक के बारे में उलझन में हूं, जब आप "नमूना" कहते हैं, तो आपका क्या मतलब है? मुझे पता है कि यह वह नहीं है जिसे आप संदर्भित कर रहे हैं, लेकिन मानक न्यूरल नेट मिनी बैच SGD आमतौर पर प्रत्येक पुनरावृत्ति पर प्रतिस्थापन के बिना बैचों का नमूना लेता है। यह है कि यादृच्छिक क्या करता है? यदि यह है, तो यह कैसे फेरबदल से अलग है?
पिनोचियो

1
अब जब मैंने इसे तीनों को फिर से पढ़ा, तो यह एक ही एल्गोरिदम लगता है, यदि डेटा सेट में फेरबदल किया जाता है या नहीं तो क्या फर्क पड़ता है और अगर अक्सर बग के लिए बैचों को हमेशा यादृच्छिक किया जाता है तो क्या होगा?
पिनोचियो

3
@Pinocchio एक चार-विलायती डेटासेट की कल्पना करें। रैंडम ACADBBCA जा सकता है; प्रत्येक प्रविष्टि पूरी तरह से यादृच्छिक है। साइकिल से जा सकता है BDAC BDAC BDAC; यह प्रत्येक युग के लिए एक क्रम चुनता है और फिर दोहराता है। फेरबदल BDAC ADCB CBAD हो सकता है; यह युगों में चला जाता है, लेकिन हर एक यादृच्छिक होता है। यह विश्लेषण मिनीबच का उपयोग नहीं करता है, बस एक-तत्व-ए-ए-टाइम SGD।
डगल

यह एक बेहतरीन जवाब है। Thnx तुम!
डंकमास्टरडैन

24

यह वास्तव में एक बड़े प्रशिक्षण सेट के साथ प्रदर्शन के दृष्टिकोण से काफी अनावश्यक है, लेकिन युगों का उपयोग करना सुविधाजनक हो सकता है, जैसे:

  • यह एक बहुत अच्छा मीट्रिक देता है: "तंत्रिका नेटवर्क को 10 युगों के लिए प्रशिक्षित किया गया था" एक स्पष्ट बयान है "तंत्रिका नेटवर्क को 18942 पुनरावृत्तियों के लिए प्रशिक्षित किया गया था" या "तंत्रिका नेटवर्क को 303072 नमूनों में प्रशिक्षित किया गया था"।
  • प्रशिक्षण चरण के दौरान पर्याप्त यादृच्छिक चीजें चल रही हैं: यादृच्छिक वजन आरंभीकरण, मिनी-बैच फेरबदल, ड्रॉपआउट, आदि।
  • इसे लागू करना आसान है
  • यह सोचने से बचता है कि प्रशिक्षण सेट काफी बड़ा है या नहीं

[१] एक और कारण देता है, जो आज के कंप्यूटर विन्यास को देखते हुए उतना प्रासंगिक नहीं है:

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


[१] बेंगियो, योशुआ। " गहरे आर्किटेक्चर के ग्रेडिएंट-आधारित प्रशिक्षण के लिए व्यावहारिक सिफारिशें। " तंत्रिका नेटवर्क: ट्रिक्स ऑफ़ द ट्रेड। स्प्रिंगर बर्लिन हीडलबर्ग, 2012. 437-478।


1
ये अच्छा अंक की तरह लगते हैं, लेकिन अपने अद्यतन के बारे में, ऐसा लगता है कि नमूना युग प्रति है निर्भर नमूना (क्योंकि एक नमूना की संभावना एक युग में दो बार देखा जा रहा है 0 है)। इसलिए मुझे यकीन नहीं है कि लेखक कैसे दावा कर सकते हैं कि युग निर्माण स्वतंत्र है, जब तक कि "लगभग स्वतंत्र रूप से" का उनका अर्थ "स्वतंत्र रूप से नहीं है।" k
सिसोरैक्स

1
@ साइकोरेक्स सैम्पलिंग बिना प्रतिस्थापन के, बेशक स्वतंत्र नहीं होने के बावजूद, "लगभग स्वतंत्र" इस ​​अर्थ में है कि यह विनिमेय है । प्रशिक्षण के दृष्टिकोण से एक वर्गीकरण जो किसी भी एक डेटा बिंदु के बारे में बहुत अधिक परवाह नहीं करता है, यह विनिमेयता निश्चित रूप से "लगभग स्वतंत्र" है।
डगल

18

मैं कुछ हद तक असहमत हूं कि यह स्पष्ट रूप से मायने नहीं रखेगा। मान लीजिए कि एक मिलियन प्रशिक्षण उदाहरण हैं, और हम दस मिलियन नमूने लेते हैं।

आर में, हम जल्दी से देख सकते हैं कि वितरण क्या दिखता है

plot(dbinom(0:40, size = 10 * 1E6, prob = 1E-6), type = "h")

द्विपद पीएमएफ

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

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


1
मुझे नहीं लगता कि यह एक बड़े प्रशिक्षण सेट के लिए अभ्यास में एक बड़ा अंतर होगा, लेकिन निश्चित रूप से मुझे उम्मीद है कि यह एक छोटे प्रशिक्षण सेट के साथ होगा।
बजे फ्रेंक डर्नोनकोर्ट

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

बहुत यकीन है कि आपको एक समान वितरण का उपयोग करना चाहिए था, न कि एक द्विपद
लहारन

2
@AHwran हम प्रतिस्थापन के साथ तत्वों से बार नमूना ले रहे हैं । आर में, यह होगा । वहां से, आप आवृत्ति वितरण के साथ साजिश कर सकते हैं । यह बिल्कुल मेरे द्वारा दिए गए द्विपद वितरण की तरह दिखता है। 107106samples = sample(1:1E6, size = 1E7, replace = TRUE)plot(table(table(samples)) / 1E7)
डेविड जे। हैरिस

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