XYZNOT

शोध पत्र · arXiv 1502.03167

Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift

प्रकाशित cs.LG arXivPDF

अनुवाद और AI के साथ पढ़ें

तीन पंक्तियों में सारांश

  1. 🎯 डीप नेटवर्क ट्रेनिंग internal covariate shift के कारण धीमी हो जाती है—पिछली लेयर्स में पैरामीटर अपडेट के कारण लेयर इनपुट वितरण में निरंतर बदलाव।
  2. 🔧 Batch Normalization (BN) प्रस्तुत करता है, एक आर्किटेक्चरल लेयर जो मिनी-बैच एक्टिवेशन्स को शून्य माध्य (zero mean) और इकाई प्रसरण (unit variance) में मानकीकृत करती है, जिसके बाद सीखी गई एफाइन स्केल और शिफ्ट (γ और β) होती है।
  3. 📈 14 गुना कम स्टेप्स में Inception बेसलाइन की 72.2% वैलिडेशन सटीकता से मेल खाता है और एन्सेम्बल के साथ ImageNet टेस्ट डेटा पर 4.82% top-5 error तक पहुँचता है।

सार

Deep Neural Networks को प्रशिक्षित करना इस तथ्य से जटिल हो जाता है कि ट्रेनिंग के दौरान प्रत्येक लेयर के इनपुट का वितरण बदलता रहता है, क्योंकि पिछली लेयर्स के पैरामीटर बदलते हैं। यह कम लर्निंग रेट और सावधानीपूर्वक पैरामीटर आरंभीकरण (initialization) की आवश्यकता के कारण ट्रेनिंग को धीमा कर देता है, और saturating nonlinearities वाले मॉडलों को प्रशिक्षित करना बेहद कठिन बना देता है। हम इस घटना को internal covariate shift कहते हैं, और लेयर इनपुट को सामान्य (normalize) करके इस समस्या का समाधान करते हैं। हमारी पद्धति अपनी शक्ति इस बात से प्राप्त करती है कि यह नॉर्मलाइजेशन को मॉडल आर्किटेक्चर का हिस्सा बनाती है और प्रत्येक ट्रेनिंग मिनी-बैच के लिए नॉर्मलाइजेशन करती है। Batch Normalization हमें बहुत अधिक लर्निंग रेट का उपयोग करने और इनिशियलाइज़ेशन के बारे में कम सतर्क रहने की अनुमति देता है। यह एक रेग्युलाइज़र के रूप में भी कार्य करता है, जो कुछ मामलों में Dropout की आवश्यकता को समाप्त कर देता है। एक अत्याधुनिक छवि वर्गीकरण मॉडल पर लागू होने पर, Batch Normalization 14 गुना कम ट्रेनिंग स्टेप्स के साथ समान सटीकता प्राप्त करता है, और मूल मॉडल को महत्वपूर्ण अंतर से पीछे छोड़ देता है। बैच-सामान्यीकृत नेटवर्क के एक एन्सेम्बल का उपयोग करके, हम ImageNet वर्गीकरण पर सर्वश्रेष्ठ प्रकाशित परिणाम में सुधार करते हैं: 4.9% top-5 validation error (और 4.8% test error) तक पहुँचना, जो मानव मूल्यांकनकर्ताओं की सटीकता से भी बेहतर है।

मूल सार (अंग्रेज़ी)

Training Deep Neural Networks is complicated by the fact that the distribution of each layer's inputs changes during training, as the parameters of the previous layers change. This slows down the training by requiring lower learning rates and careful parameter initialization, and makes it notoriously hard to train models with saturating nonlinearities. We refer to this phenomenon as internal covariate shift, and address the problem by normalizing layer inputs. Our method draws its strength from making normalization a part of the model architecture and performing the normalization for each training mini-batch. Batch Normalization allows us to use much higher learning rates and be less careful about initialization. It also acts as a regularizer, in some cases eliminating the need for Dropout. Applied to a state-of-the-art image classification model, Batch Normalization achieves the same accuracy with 14 times fewer training steps, and beats the original model by a significant margin. Using an ensemble of batch-normalized networks, we improve upon the best published result on ImageNet classification: reaching 4.9% top-5 validation error (and 4.8% test error), exceeding the accuracy of human raters.

पढ़ने की गाइड

समस्या और प्रेरणा

SGD के साथ डीप नेटवर्क ऑप्टिमाइज़ेशन के दौरान, शुरुआती लेयर के पैरामीटर्स में बदलाव बाद की लेयर्स के इनपुट के वितरण को बदल देते हैं। लेखक इस घटना को Internal Covariate Shift कहते हैं।

Internal covariate shift दो प्राथमिक चुनौतियाँ पैदा करता है:

  1. सब-नेटवर्क्स को बदलते एक्टिवेशन वितरणों के अनुसार लगातार अनुकूलित होना पड़ता है।
  2. एक्टिवेशन्स आसानी से नॉन-लीनियरिटीज़ (जैसे कि सिग्मॉइड फ़ंक्शन) के संतृप्त (saturating) क्षेत्रों में चले जाते हैं, जिससे वैनिशिंग ग्रेडिएंट्स की समस्या होती है और इसके लिए छोटे लर्निंग रेट तथा सावधानीपूर्वक पैरामीटर इनिशियलाइज़ेशन की आवश्यकता होती है।

यद्यपि पूरे डेटासेट में लेयर इनपुट को व्हाइटनिंग (decorrelating और standardizing) करना वितरण को स्थिर कर सकता है, लेकिन प्रत्येक पैरामीटर अपडेट पर पूर्ण कोवेरिएंस मैट्रिक्स और उनके व्युत्क्रम वर्गमूल की गणना करना कम्प्यूटेशनल रूप से अत्यधिक महंगा है और यदि नॉर्मलाइजेशन बैकप्रॉपैगैशन में एकीकृत नहीं है तो ग्रेडिएंट्स के अनियंत्रित रूप से बढ़ने (blow up) का कारण बन सकता है।

मुख्य विचार

  • Differentiable Normalization Layer: ऑप्टिमाइज़ेशन के बाहर एक्टिवेशन्स को मानकीकृत करने के बजाय, नॉर्मलाइजेशन को सीधे मॉडल आर्किटेक्चर में एकीकृत किया जाता है, जिससे यह सुनिश्चित होता है कि बैकप्रॉपैगैशन लेयर एक्टिवेशन्स और मिनी-बैच सांख्यिकी के बीच की निर्भरताओं का हिसाब रखता है।
  • Per-Dimension Normalization: पूर्ण संयुक्त व्हाइटनिंग के बजाय, प्रत्येक स्केलर फीचर आयाम को स्वतंत्र रूप से शून्य माध्य और इकाई प्रसरण के लिए सामान्यीकृत किया जाता है।
  • Restoring Representational Capacity: यह सुनिश्चित करने के लिए कि नॉर्मलाइजेशन किसी लेयर की अभिव्यंजक क्षमता को नष्ट न करे (जैसे कि एक सिग्मॉइड को विशुद्ध रूप से रैखिक व्यवहार में विवश करना), लेयर को आवश्यकता पड़ने पर पहचान परिवर्तन (identity transformation) को पुनर्प्राप्त करने की अनुमति देने हेतु सीखने योग्य पैरामीटर (स्केल) और (शिफ्ट) पेश किए जाते हैं।
  • Deterministic Inference: ट्रेनिंग के दौरान, प्रत्येक मिनी-बैच पर सांख्यिकी की गणना की जाती है। टेस्ट के समय, निश्चित जनसंख्या सांख्यिकी (रनिंग एवरेज के माध्यम से या ट्रेनिंग बैचों में गणना की गई) मिनी-बैच सांख्यिकी का स्थान ले लेती है, जिससे नियतात्मक एकल-नमूना अनुमान (deterministic single-sample inference) सुनिश्चित होता है।
  • Parameter Scale Invariance: लेयर वेट्स के स्केल परिवर्तन को संतुष्ट करते हैं, जिसका अर्थ है कि बड़े वेट्स छोटे प्रभावी ग्रेडिएंट्स की ओर ले जाते हैं, जो ग्रेडिएंट विस्फोट (gradient explosion) को रोकते हैं।

पद्धति (मुख्य समीकरणों के साथ)

एकल एक्टिवेशन आयाम के अनुरूप एक मिनी-बैच के लिए:

  1. मिनी-बैच माध्य की गणना करें:
  2. मिनी-बैच प्रसरण की गणना करें:
  3. एक्टिवेशन्स को सामान्यीकृत करें (स्थिरता स्थिरांक के साथ):
  4. सीखने योग्य पैरामीटर और का उपयोग करके स्केल और शिफ्ट करें:

लेयर्स पर अनुप्रयोग

  • स्थान (Placement): नॉन-लीनियरिटीज़ से ठीक पहले लागू किया जाता है: । मूल लेयर बायस को छोड़ दिया जाता है क्योंकि माध्य घटाव इसे रद्द कर देता है (इसकी भूमिका द्वारा समाहित कर ली जाती है)।
  • कनवोल्यूशनल लेयर्स: ट्रांसलेशन इक्विवेरिएंस गुण को बनाए रखने के लिए, नॉर्मलाइजेशन को स्थानिक एक्टिवेशन के बजाय प्रति फीचर मैप लागू किया जाता है। बैच आकार और स्थानिक रिज़ॉल्यूशन के लिए, प्रभावी मिनी-बैच आकार हो जाता है, जिसमें प्रत्येक फीचर मैप पर का एक एकल युग्म साझा किया जाता है।

इन्फरेंस रूपांतरण

टेस्ट के समय, जनसंख्या सांख्यिकी और का उपयोग करके रूपांतरण एक स्थिर रैखिक ऑपरेशन बन जाता है:

परिणाम (सबसे महत्वपूर्ण आंकड़ों के साथ)

  • सिग्मॉइड के साथ MNIST: Batch Normalization से लैस नेटवर्कों ने पूरी ट्रेनिंग के दौरान स्थिर एक्टिवेशन वितरण बनाए रखा, जिससे कन्वर्जेंस तेज़ हुआ और गैर-सामान्यीकृत नेटवर्कों की तुलना में उच्च परीक्षण सटीकता प्राप्त हुई।
  • ImageNet ट्रेनिंग गति (एकल नेटवर्क):
    • गैर-सामान्यीकृत Inception ने स्टेप्स के बाद 72.2% वैलिडेशन सटीकता हासिल की।
    • बेसलाइन बैच-सामान्यीकृत Inception ने स्टेप्स में 72.2% प्राप्त किया।
    • 5x उच्च लर्निंग रेट (BN-x5) के साथ, यह स्टेप्स में 72.2% तक पहुंच गया—आवश्यक ट्रेनिंग स्टेप्स में 14 गुना कमी, और अंततः 73.0% पर पहुंच गया।
    • 30x उच्च लर्निंग रेट (BN-x30) के साथ, मॉडल स्टेप्स के बाद 74.8% अधिकतम सटीकता तक पहुंच गया।
  • Saturating Nonlinearities: जबकि सिग्मॉइड एक्टिवेशन वाला गैर-सामान्यीकृत Inception प्रशिक्षित होने में विफल रहा (लगभग 0.1% संयोग सटीकता के करीब रहा), BN-x5-Sigmoid ने 69.8% top-1 सटीकता हासिल की।
  • ImageNet SOTA एन्सेम्बल: 6 बैच-सामान्यीकृत नेटवर्कों के एक एन्सेम्बल ने ILSVRC टेस्ट सर्वर पर 4.9% का top-5 validation error और 4.82% का test error हासिल किया, जिसने मानव मूल्यांकनकर्ता बेसलाइन को पीछे छोड़ दिया।

सीमाएं और खुले प्रश्न

  • बैच आकार पर निर्भरता: क्योंकि नॉर्मलाइजेशन मिनी-बैच नमूना सांख्यिकी पर निर्भर करता है, बहुत छोटे मिनी-बैच आकार प्रसरण और माध्य अनुमानों की गुणवत्ता को ख़राब कर सकते हैं।
  • रिकरेंट नेटवर्क (RNNs): यह शोधपत्र फीडफॉरवर्ड और कनवोल्यूशनल मॉडलों का परीक्षण करता है, और रिकरेंट न्यूरल नेटवर्क (RNNs) को एक अप्रयुक्त खुले प्रश्न के रूप में चिन्हित करता है जहाँ internal covariate shift भी महत्वपूर्ण हो सकता है।
  • सैद्धांतिक आधार: लेखकों का अनुमान है कि Batch Normalization लेयर जैकोबियन के सिंगुलर मानों को 1 के करीब लाता है, लेकिन उन्होंने नोट किया कि ग्रेडिएंट व्यवहार का सटीक सैद्धांतिक सत्यापन भविष्य के विश्लेषण के लिए खुला है।

मुख्य शब्द

Internal Covariate Shift
पिछली लेयर्स में पैरामीटर अपडेट के कारण ट्रेनिंग के दौरान आंतरिक नेटवर्क एक्टिवेशन्स के वितरण में होने वाला परिवर्तन।
Batch Normalization
एक तंत्र जो सीखे गए पैरामीटर्स के साथ स्केल और शिफ्ट करने से पहले मिनी-बैच लेयर इनपुट को शून्य माध्य और इकाई प्रसरण में मानकीकृत करता है।
Scale and Shift Parameters (γ and β)
प्रति एक्टिवेशन सीखने योग्य पैरामीटर जो नेटवर्क की अभिव्यंजक क्षमता को बहाल कर सकते हैं, जिसमें पहचान परिवर्तन (identity transform) का प्रतिनिधित्व करने की क्षमता भी शामिल है।
Whitening
शून्य माध्य, इकाई प्रसरण और पारस्परिक रूप से असंबद्ध (decorrelated) फीचर आयाम उत्पन्न करने के लिए इनपुट का एक रूपांतरण।
Batch Normalizing Transform
सटीक अवकलनीय (differentiable) एल्गोरिथ्म जो मिनी-बैच माध्य और प्रसरण की गणना करता है, इनपुट को सामान्यीकृत करता है, और सीखे गए एफाइन स्केलिंग और शिफ्टिंग को लागू करता है।
Population Statistics
नियतात्मक अनुमान के लिए नॉर्मलाइजेशन पैरामीटर्स को स्थिर करने हेतु ट्रेनिंग मिनी-बैचों में ट्रैक किया गया कुल अपेक्षित माध्य और निष्पक्ष प्रसरण।
Feature Map Normalization
मिनी-बैच तत्वों और स्थानिक स्थानों पर संयुक्त रूप से नॉर्मलाइजेशन लागू करना ताकि एक कनवोल्यूशनल फीचर मैप के भीतर सभी एक्टिवेशन्स सांख्यिकी और एफाइन पैरामीटर साझा करें।

प्रश्न

एक्टिवेशन्स और बायस के सापेक्ष Batch Normalization कहाँ लागू किया जाता है?

इसे नॉन-लीनियरिटी से ठीक पहले लागू किया जाता है ()। पूर्ववर्ती रैखिक परिवर्तन के बायस पैरामीटर को छोड़ दिया जाता है क्योंकि माध्य घटाव इसे रद्द कर देता है, जिससे बायस की भूमिका निभाता है।

ट्रेनिंग बनाम इन्फरेंस के दौरान Batch Normalization कैसे अलग व्यवहार करता है?

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

Batch Normalization उच्च लर्निंग रेट की अनुमति क्यों देता है?

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

क्या Batch Normalization Dropout की जगह ले सकता है?

हाँ, कई सेटअपों में। क्योंकि किसी व्यक्तिगत नमूने का सामान्यीकृत एक्टिवेशन मिनी-बैच में मौजूद अन्य यादृच्छिक उदाहरणों पर निर्भर करता है, यह स्टोकेस्टिक शोर इंजेक्ट करता है जो एक प्रभावी रेग्युलाइज़र के रूप में कार्य करता है, जिससे Dropout को कम या समाप्त किया जा सकता है।

इस पृष्ठ की व्याख्या AI ने शोध पत्र से लिखी है और इसमें गलतियाँ हो सकती हैं। विवरण के लिए मूल शोध पत्र पढ़ें।

अनुवाद और AI के साथ पढ़ें