जैसा कि अन्य जवाब से पता चलता है, SGD का उपयोग करने का मुख्य कारण ग्रेडिएंट की गणना लागत को कम करना है, जबकि कई मिनी-बैच या नमूनों पर औसतन ग्रेडिएंट दिशा को बनाए रखना है - जो निश्चित रूप से आपको स्थानीय मिनीमा में लाने में मदद करता है।
- मिनीबच क्यों काम करता है ।
इसके पीछे गणित यह है कि, लागत फ़ंक्शन का "सच" ढाल (सामान्यीकरण त्रुटि के लिए ढाल या असीम रूप से बड़े नमूने सेट के लिए) सही डेटा जनरेट वितरण पर ग्रेडिएंट की उम्मीद है ; नमूनों के एक बैच पर गणना की गई वास्तविक ढाल हमेशा अनुभवजन्य डेटा वितरण साथ वास्तविक ढाल के लिए एक सन्निकटन है ।
pdatap^data
g=Epdata(∂J(θ)∂θ)
बैच ढाल वंश आप अपने सभी डेटा नमूनों को देखते हुए संभावित "इष्टतम" ग्रेडिएंट ला सकते हैं, हालांकि यह "सच" ढाल नहीं है। एक छोटा बैच (मिनीबैच) शायद पूर्ण बैच के रूप में इष्टतम नहीं है, लेकिन वे दोनों सन्निकटन हैं - इसलिए एकल-नमूना मिनीबैच (SGD) है। उनमें से मानक त्रुटियों के बीच का अंतर मिनीबैच के आकार के व्युत्क्रमानुपाती होता है। वह है,
SE(g^(n))SE(g^(m))=mn−−−√
यानी, मानक त्रुटि में कमी नमूना आकार की वृद्धि का वर्गमूल है। उपरोक्त समीकरण मिनीबैच ग्रेडिएंट वंश के एक चरण में गणना किए गए ग्रेडिएंट के लिए है। जब आप मिनीबैच ग्रेडिएंट अपडेट के चरणों को पूरा करते हैं और सभी प्रशिक्षण नमूनों का उपयोग अंत में एक युग में करते हैं, तो आप वस्तुतः सभी दिए गए नमूनों के आधार पर ग्रेडिएंट्स के माध्य की गणना कर रहे हैं। अर्थात, मिनीबच आकार ,
ऊपर के समीकरणों से, हम यह निष्कर्ष निकाल सकते हैं कि, एक युग के साथ, आपके औसतन अलग-अलग मिनीबैच आकारों के साथ ग्रेडिएंट
mEp^data(g^(m))=Ep^data(∂J(θ)∂θ)
m (एक से पूर्ण बैच के लिए) एक ही मानक त्रुटि है, और इससे भी महत्वपूर्ण बात यह है कि वे सभी "सच्चे" ग्रेडिएंट के प्रति वफादार सन्निकटन हैं, अर्थात "सच्चे" ग्रेडिएंट की सही दिशा में आगे बढ़ रहे हैं।
- क्यों मिनीबच बेहतर काम कर सकता है ।
सबसे पहले, छोटे बैच आकार के साथ कम संगणना की मांग के कारण मिनीबच तकनीकी रूप से अप्रभावी होने से कुछ सीखने की समस्या पैदा करता है।
दूसरे, कम बैच आकार का मतलब यह नहीं है कि क्रमिक सटीकता कम हो। प्रशिक्षण के नमूनों में बहुत से शोर या आउटलेयर या पूर्वाग्रह हैं। बेतरतीब ढंग से सैंपल की गई मिनीबैच असली डेटा जनरेटिंग डिस्ट्रीब्यूशन को बेहतर दिखा सकती है (या कोई बुरा नहीं)। यदि मिनीबैच ग्रेडिएंट अपडेट के कुछ पुनरावृत्तियों से आपको बेहतर अनुमान मिलता है, तो कुल मिलाकर एक अवधि का औसत परिणाम पूर्ण बैच से गणना किए गए ग्रेडिएंट से बेहतर हो सकता है।
तीसरा, मिनीबैच न केवल अप्रिय डेटा नमूनों से निपटने में मदद करता है, बल्कि अप्रिय लागत फ़ंक्शन से निपटने में भी मदद करता है जिसमें कई स्थानीय मिनीमा हैं। जैसा कि Jason_L_Bens का उल्लेख है, कभी-कभी त्रुटि मैनिफ़ेस्ट एक स्थानीय ढाल में एक नियमित ग्रेडिएंट को फंसाना आसान हो सकता है, जबकि मिनीबैच के साथ गणना की गई अस्थायी रूप से यादृच्छिक ढाल को फंसाना अधिक कठिन होता है।
अंत में, ग्रेडिएंट डिसेंट के साथ, आप एक कदम में वैश्विक मिनीमा तक नहीं पहुंच रहे हैं, लेकिन एर्रो मैनिफोल्ड पर पुनरावृत्ति कर रहे हैं। ग्रेडिएंट काफी हद तक आपको केवल पुनरावृति की दिशा देता है। मिनीबैच के साथ, आप बहुत तेजी से पुनरावृति कर सकते हैं। कई मामलों में, अधिक पुनरावृत्तियों, आप बेहतर बिंदु तक पहुंच सकते हैं। आप वास्तव में सभी मौसम की परवाह नहीं करते हैं, यह बिंदु वैश्विक स्तर पर या यहां तक कि स्थानीय रूप से इष्टतम है। आप बस एक उचित मॉडल तक पहुंचना चाहते हैं जो आपको स्वीकार्य सामान्यीकरण त्रुटि लाता है। मिनीबैच उसे आसान बनाता है।
आपको इयान गुडफेलो, एट अल की पुस्तक "डीप लर्निंग" मिल सकती है, अगर आप इसे ध्यान से पढ़ते हैं तो इस विषय पर बहुत अच्छी चर्चा होती है।