Zubnet AIसीखेंWiki › Weight Initialization
प्रशिक्षण

Weight Initialization

इसे भी कहा जाता है: Xavier Init, Kaiming Init, He Init
Neural network weights को training शुरू होने से पहले कैसे सेट किया जाता है। खराब initialization training शुरू होने से पहले ही इसे विफल कर सकता है (vanishing या exploding activations)। अच्छा initialization सुनिश्चित करता है कि activations और gradients layers में उचित magnitudes बनाए रखें। Xavier initialization (tanh/sigmoid के लिए) और Kaiming/He initialization (ReLU के लिए) मानक हैं, प्रत्येक activation function के लिए calibrated।

यह क्यों मायने रखता है

Initialization एक मामूली विवरण लगता है लेकिन deep networks को train करने के लिए यह महत्वपूर्ण है। Random (बहुत बड़े) initial weights वाला network exploding activations उत्पन्न करता है। बहुत छोटे weights वाला vanishing activations उत्पन्न करता है। उचित initialization network को एक "goldilocks zone" में रखता है जहाँ signals बिना explode या vanish हुए flow करते हैं — gradient descent के काम करने के लिए एक पूर्व शर्त।

गहन अध्ययन

मूल सिद्धांत: weights को इस प्रकार initialize करें कि activations का variance layers में लगभग स्थिर रहे। यदि प्रत्येक layer signal को amplify करती है (variance बढ़ता है), activations explode होते हैं। यदि प्रत्येक layer इसे कम करती है (variance घटता है), activations vanish होते हैं। Xavier initialization weights को variance 2/(fan_in + fan_out) पर सेट करता है। Kaiming initialization variance 2/fan_in सेट करता है, इस तथ्य को ध्यान में रखते हुए कि ReLU आधे values को zero करता है।

Transformers में

आधुनिक Transformers अक्सर scaled initialization का उपयोग करते हैं: attention और FFN layers में output projection weights 1/√(2×num_layers) द्वारा scaled standard deviation के साथ initialize किए जाते हैं। यह कई layers से contributions जमा होने पर residual stream को बहुत बड़ा होने से रोकता है। GPT-2 और कई subsequent मॉडल इस "scaled init" दृष्टिकोण का उपयोग करते हैं। कुछ architectures (जैसे muP/maximal update parameterization) इसे गणितीय रूप से derived scaling rules के साथ आगे ले जाते हैं।

Pre-Trained Weights

अधिकांश व्यावहारिक उद्देश्यों के लिए, scratch से initialization दुर्लभ है — आप pre-trained weights से शुरू करते हैं और fine-tune करते हैं। लेकिन initialization नए components के लिए अभी भी मायने रखता है: LoRA adapters, नए classification heads, या extended vocabulary embeddings। LoRA के B matrix के लिए zero initialization (ताकि adapter identity के रूप में शुरू हो) और नए token embeddings के लिए उचित initialization (आमतौर पर मौजूदा embeddings के mean को copy करना) सामान्य patterns हैं जो नए components को fine-tuning की शुरुआत में pre-trained मॉडल को बाधित करने से रोकते हैं।

संबंधित अवधारणाएँ

← सभी शब्द
← Wan-AI Weights & Biases →
ESC