एडम, जो Adaptive Moment Estimation का संक्षिप्त रूप है, एक पुनरावृत्तीय अनुकूलन एल्गोरिदम है जिसका व्यापक रूप से तंत्रिका नेटवर्क और अन्य मशीन लर्निंग मॉडलों के प्रशिक्षण के लिए उपयोग किया जाता है। इसे डीडेरिक पी. किंगमा और जिमी बा ने 2014 के एक पेपर "Adam: A Method for Stochastic Optimization" में प्रस्तुत किया था। एडम स्टोकेस्टिक ग्रेडिएंट डिसेंट के दो अन्य विस्तारों के लाभों को जोड़ता है: अनुकूली सीखने की दर (जैसे AdaGrad में) और संवेग (जैसे RMSProp में)। यह ग्रेडिएंट्स के पहले और दूसरे क्षणों के अनुमानों से प्रत्येक पैरामीटर के लिए व्यक्तिगत अनुकूली सीखने की दरों की गणना करता है, जिससे यह बड़े डेटासेट और उच्च-आयामी पैरामीटर स्थानों वाली समस्याओं के लिए उपयुक्त बन जाता है।
एल्गोरिदम स्टोकेस्टिक ग्रेडिएंट डिसेंट (SGD) का एक प्रकार है, जो स्वयं एक पुनरावृत्तीय विधि है जो वस्तुनिष्ठ फलन को न्यूनतम करने के लिए वास्तविक ग्रेडिएंट को डेटा के यादृच्छिक रूप से चयनित उपसमुच्चय से अनुमान से प्रतिस्थापित करती है। एडम गहन शिक्षण ढांचों में एक डिफ़ॉल्ट अनुकूलक बन गया है और ट्रांसफॉर्मर मॉडलों के प्रशिक्षण में व्यापक रूप से उपयोग किया जाता है, जिसमें बड़े भाषा मॉडल शामिल हैं।
एल्गोरिदम
एडम प्रति पैरामीटर दो चलती औसत बनाए रखता है: ग्रेडिएंट्स का पहला क्षण (माध्य) और ग्रेडिएंट्स का दूसरा क्षण (अकेंद्रित विचरण)। प्रत्येक पुनरावृत्ति \(t\) पर, पैरामीटरों के सापेक्ष हानि के ग्रेडिएंट \(g_t\) को देखते हुए, अद्यतन निम्नानुसार गणना की जाती है:
- पक्षपाती पहले क्षण अनुमान को अद्यतन करें: \(m_t = \beta_1 m_{t-1} + (1 - \beta_1) g_t\)
- पक्षपाती दूसरे क्षण अनुमान को अद्यतन करें: \(v_t = \beta_2 v_{t-1} + (1 - \beta_2) g_t^2\)
- पक्षपात-सुधारित अनुमानों की गणना करें: \(\hat{m}_t = m_t / (1 - \beta_1^t)\) और \(\hat{v}_t = v_t / (1 - \beta_2^t)\)
- पैरामीटर अद्यतन करें: \(\theta_t = \theta_{t-1} - \alpha \hat{m}_t / (\sqrt{\hat{v}_t} + \epsilon)\)
यहाँ, \(\alpha\) सीखने की दर (चरण आकार) है, \(\beta_1\) और \(\beta_2\) क्षण अनुमानों के लिए घातीय क्षय दरें हैं (आमतौर पर 0.9 और 0.999), और \(\epsilon\) शून्य से विभाजन को रोकने के लिए एक छोटा स्थिरांक है (जैसे \(10^{-8}\))। पक्षपात सुधार चरण प्रारंभिक पुनरावृत्तियों में महत्वपूर्ण है जब क्षण अनुमान शून्य पर आरंभिक होते हैं, क्योंकि यह शून्य की ओर पक्षपात का प्रतिकार करता है।
पक्षपात सुधार
चूंकि \(m_t\) और \(v_t\) दोनों शून्य सदिशों के रूप में आरंभिक होते हैं, पहली कुछ पुनरावृत्तियाँ ऐसे अनुमान उत्पन्न करती हैं जो शून्य की ओर पक्षपाती होते हैं। एडम इसे क्षण अनुमानों को क्रमशः \((1 - \beta_1^t)\) और \((1 - \beta_2^t)\) से विभाजित करके संबोधित करता है। यह सुधार \(t\) बढ़ने के साथ कम महत्वपूर्ण हो जाता है, क्योंकि हर 1 के करीब पहुंच जाते हैं। पक्षपात सुधार एक प्रमुख विशेषता है जो एडम को पहले के अनुकूली तरीकों से अलग करती है और इसके स्थिर अभिसरण व्यवहार में योगदान करती है।
हाइपरपैरामीटर
एडम सीखने की दर के अलावा कई हाइपरपैरामीटर प्रस्तुत करता है:
- सीखने की दर (\(\alpha\)): चरण आकार को नियंत्रित करता है। सामान्य डिफ़ॉल्ट 0.001 है।
- \(\beta_1\): पहले क्षण अनुमान के लिए घातीय क्षय दर। डिफ़ॉल्ट 0.9।
- \(\beta_2\): दूसरे क्षण अनुमान के लिए घातीय क्षय दर। डिफ़ॉल्ट 0.999।
- \(\epsilon\): संख्यात्मक स्थिरता के लिए छोटा स्थिरांक। डिफ़ॉल्ट \(10^{-8}\)।
व्यवहार में, डिफ़ॉल्ट मान कई कार्यों के लिए अच्छी तरह से काम करते हैं, लेकिन सीखने की दर को ट्यून करना अक्सर आवश्यक होता है। कुछ कार्यान्वयन सीखने की दर अनुसूचियों का भी समर्थन करते हैं, जैसे वार्मअप और क्षय, जो ट्रांसफॉर्मर मॉडलों के प्रशिक्षण में सामान्य हैं।
प्रकार और विस्तार
एडम के कई प्रकार विशिष्ट सीमाओं को संबोधित करने के लिए प्रस्तावित किए गए हैं:
- AdamW: वेट डेके को ग्रेडिएंट अद्यतन से अलग करता है, इसे सीधे पैरामीटरों पर लागू करता है। यह सामान्यीकरण में सुधार करता है और अब कई गहन शिक्षण पुस्तकालयों में मानक है।
- Nadam: एडम को नेस्टरोव संवेग के साथ जोड़ता है, जो अभिसरण को तेज कर सकता है।
- AMSGrad: दूसरे क्षण अनुमान को संशोधित करता है ताकि सीखने की दर में वृद्धि न हो, कुछ सेटिंग्स में अभिसरण समस्याओं को संबोधित करता है।
- Adamax: दूसरे क्षण के लिए अनंत मानदंड का उपयोग करता है, जिससे यह बड़े ग्रेडिएंट्स के प्रति अधिक मजबूत बनता है।
- RAdam: अनुकूली सीखने की दर के विचरण को सुधारता है, वार्मअप की आवश्यकता को कम करता है।
ये प्रकार विशिष्ट संदर्भों में उपयोग किए जाते हैं, लेकिन मूल एडम व्यापक रूप से उपयोग में बना हुआ है।
अनुप्रयोग
एडम कृत्रिम बुद्धिमत्ता और मशीन लर्निंग के कई क्षेत्रों में उपयोग किया जाता है। यह कई ढांचों में डिफ़ॉल्ट अनुकूलक है, जिसमें TensorFlow और PyTorch शामिल हैं। इसे छवि वर्गीकरण, प्राकृतिक भाषा प्रसंस्करण, वाक् पहचान और सुदृढीकरण सीखने के लिए तंत्रिका नेटवर्क प्रशिक्षण पर लागू किया गया है। विशेष रूप से, एडम ट्रांसफॉर्मर-आधारित मॉडलों के प्रशिक्षण के लिए पसंदीदा अनुकूलक है, जैसे कि ओपनएआई, एंथ्रोपिक, और गूगल डीपमाइंड जैसे संगठनों द्वारा विकसित बड़े भाषा मॉडल।
एडम की लोकप्रियता हाइपरपैरामीटर सेटिंग्स के प्रति इसकी मजबूती और विरल ग्रेडिएंट्स तथा शोरगुल वाले डेटा को संभालने की क्षमता से उपजी है। यह स्मृति-कुशल भी है, जिसमें प्रति पैरामीटर केवल दो अतिरिक्त चर की आवश्यकता होती है।
सैद्धांतिक गुण
एडम हमेशा वैश्विक न्यूनतम तक अभिसरण नहीं करता, विशेष रूप से गैर-उत्तल वस्तुनिष्ठों के लिए, लेकिन कुछ शर्तों के तहत इसे एक महत्वपूर्ण बिंदु तक अभिसरण करते हुए दिखाया गया है। एडम का अभिसरण विश्लेषण अनुकूली सीखने की दरों के कारण सादे SGD की तुलना में अधिक जटिल है। कुछ अध्ययनों ने दिखाया है कि एडम कुछ उत्तल सेटिंग्स में अभिसरण करने में विफल हो सकता है, जिसने AMSGrad और अन्य सुधारों के विकास को प्रेरित किया।
अनुभवजन्य रूप से, एडम अक्सर प्रशिक्षण के प्रारंभिक चरणों में SGD की तुलना में तेज़ अभिसरण प्राप्त करता है, लेकिन कुछ कार्यों में संवेग के साथ SGD की तुलना में थोड़ा खराब सामान्यीकरण कर सकता है। इससे हाइब्रिड दृष्टिकोण उत्पन्न हुए हैं, जैसे प्रशिक्षण के दौरान एडम से SGD पर स्विच करना।
स्टोकेस्टिक ग्रेडिएंट डिसेंट के साथ तुलना
स्टोकेस्टिक ग्रेडिएंट डिसेंट (SGD) एक एकल नमूने या मिनी-बैच का उपयोग करके पैरामीटर अद्यतन करता है, जिसमें निश्चित या क्षयशील सीखने की दर होती है। एडम ग्रेडिएंट्स के इतिहास के आधार पर प्रति पैरामीटर सीखने की दर को अनुकूलित करता है। यह एडम को सीखने की दर की पसंद के प्रति कम संवेदनशील बनाता है और अक्सर कम ट्यूनिंग की आवश्यकता होती है। हालांकि, संवेग के साथ SGD कभी-कभी बेहतर अंतिम प्रदर्शन तक पहुंच सकता है, विशेष रूप से सावधानीपूर्वक सीखने की दर अनुसूचियों के साथ।
एडम SGD से इस मायने में भी भिन्न है कि यह ग्रेडिएंट को दूसरे क्षण के वर्गमूल द्वारा सामान्यीकृत करता है, जो बड़े या छोटे ग्रेडिएंट्स की उपस्थिति में अधिक स्थिर अद्यतन ला सकता है।
व्यावहारिक विचार
एडम का उपयोग करते समय, सीखने की दर को 0.001 और बीटा को उनके डिफ़ॉल्ट पर सेट करना सामान्य है। बड़े पैमाने पर प्रशिक्षण के लिए, जैसे बड़े भाषा मॉडल के साथ, वार्मअप के साथ सीखने की दर अनुसूचियां अक्सर नियोजित की जाती हैं। नियमितीकरण के लिए AdamW में वेट डेके की सिफारिश की जाती है।
स्मृति उपयोग एक विचार है: एडम प्रति पैरामीटर दो अतिरिक्त मान संग्रहीत करता है, जो अरबों पैरामीटर वाले मॉडलों के लिए महत्वपूर्ण हो सकता है। इसने स्मृति-कुशल अनुकूलकों पर शोध को प्रेरित किया है, जैसे Adafactor, जो दूसरे क्षण को निम्न-रैंक कारकों के साथ अनुमानित करता है।
यह भी देखें
- stochastic-gradient-descent
- गहन शिक्षण
- तंत्रिका नेटवर्क
- ट्रांसफॉर्मर
संदर्भ
- Kingma, D. P., & Ba, J. (2014). Adam: A Method for Stochastic Optimization. arXiv:1412.6980.
- Loshchilov, I., & Hutter, F. (2017). Decoupled Weight Decay Regularization. arXiv:1711.05101.
- Reddi, S. J., Kale, S., & Kumar, S. (2018). On the Convergence of Adam and Beyond. ICLR.