सॉफ्टमैक्स फलन: Difference between revisions
No edit summary |
No edit summary |
||
(13 intermediate revisions by 3 users not shown) | |||
Line 15: | Line 15: | ||
|section=6.2.2.3 Softmax Units for Multinoulli Output Distributions | |section=6.2.2.3 Softmax Units for Multinoulli Output Distributions | ||
|pages=180–184 | |pages=180–184 | ||
}}</ref>{{rp|184}} या सामान्यीकृत घातांकीय फलन<ref name="bishop" />{{rp|198}} के रूप | }}</ref>{{rp|184}} या सामान्यीकृत घातांकीय फलन<ref name="bishop" />{{rp|198}} के रूप से भी जाना जाता है, {{mvar|K}} वास्तविक संख्याओं के सदिश को {{mvar|K}} संभावित परिणामों के [[ प्रायिकता वितरण |प्रायिकता वितरण]] में परिवर्तित करता है। तथा यह कई आयामों के लिए [[ रसद समारोह |तार्किक फलन]] का सामान्यीकरण है, जो [[ बहुराष्ट्रीय रसद प्रतिगमन |बहुराष्ट्रीय तार्किक प्रतिगमन]] में उपयोग किया जाता है। सॉफ्टमैक्स फलन का उपयोग अधिकांश [[ कृत्रिम तंत्रिका नेटवर्क |कृत्रिम तंत्रिका नेटवर्क]] के अंतिम सक्रियण फलन के रूप में किया जाता है, जो लूस के अनुरूप सिद्धान्त के आधार पर अनुमानित उत्पाद वर्गों पर प्रायिकता वितरण के लिए नेटवर्क के प्रक्षेपण को सामान्य करता है। | ||
== परिभाषा == | == परिभाषा == | ||
सॉफ्टमैक्स फलन {{mvar|K}} वास्तविक संख्याओं के एक | सॉफ्टमैक्स फलन {{mvar|K}} वास्तविक संख्याओं के एक सदिश z को इनपुट के रूप में ग्रहण करता है, और इसे एक प्रायिकता वितरण में सामान्य करता है, जिसमें {{mvar|K}} संभावनाएँ होती हैं जो इनपुट संख्याओं के घातांकों के समानुपाती होती हैं। अर्थात, सॉफ्टमैक्स को लागू करने से पहले कुछ सदिश घटक ऋणात्मक या एक से अधिक हो सकते हैं। और 1 का योग नहीं हो सकता है, लेकिन सॉफ्टमैक्स लागू करने के बाद प्रत्येक घटक [[ अंतराल (गणित) |अंतराल]] <math>(0, 1)</math> में होगा, और घटक 1 तक जोड़ देंगे, जिससे कि उन्हें संभावनाओं के रूप में समझा जा सके। तथा इसके अतिरिक्त बड़े निवेशित घटक बड़ी संभावनाओं के अनुरूप होंगे। | ||
मानक (यूनिट) सॉफ्टमैक्स फलन <math>\sigma : \R^K \to (0, 1)^K</math> परिभाषित किया गया है, जब <math>K \ge 1</math> सूत्र द्वारा<math display="block">\sigma(\mathbf{z})_i = \frac{e^{z_i}}{\sum_{j=1}^K e^{z_j}} \ \ \text{ for } i = 1, \dotsc, K \text{ and } \mathbf{z} = (z_1, \dotsc, z_K) \in \R^K.</math>सामान्य शब्दों में यह इनपुट | मानक (यूनिट) सॉफ्टमैक्स फलन <math>\sigma : \R^K \to (0, 1)^K</math> परिभाषित किया गया है, जब <math>K \ge 1</math> सूत्र द्वारा<math display="block">\sigma(\mathbf{z})_i = \frac{e^{z_i}}{\sum_{j=1}^K e^{z_j}} \ \ \text{ for } i = 1, \dotsc, K \text{ and } \mathbf{z} = (z_1, \dotsc, z_K) \in \R^K.</math>सामान्य शब्दों में यह इनपुट सदिश <math>\mathbf z</math> के प्रत्येक तत्व <math>z_i</math> के लिए मानक चर घातांकीय फलन लागू करता है, और इन्हें सामान्य करता है। तथा इन सभी घातांकीयों के योग से विभाजित करके मानों का यह सामान्यीकरण सुनिश्चित करता है कि उत्पादित सदिश के घटकों का योग <math>\sigma(\mathbf z)</math> 1 है। {{mvar|e}} के अतिरिक्त एक भिन्न [[ आधार (घातांक) |आधार (घातांक)]] {{math|b > 0}} का उपयोग किया जा सकता है। यदि {{math|0 < b < 1}} छोटे इनपुट घटकों के परिणामस्वरूप अधिक प्रक्षेपण की संभावनाएँ होंगी, तथा b के मान को कम करने से प्रायिकता वितरण बनेंगे जो सबसे छोटे इनपुट मानों की स्थिति के चारों ओर अधिक केंद्रित होते हैं। इसके विपरीत, यदि {{math|b > 1}}, बड़े निवेशित घटकों के परिणामस्वरूप अधिक प्रक्षेपण संभावनाएं होंगी, और मान में वृद्धि होगी तथा {{mvar|b}} प्रायिकता वितरण बनाएगा, जो सबसे बड़े इनपुट मानों की स्थिति के चारों ओर अधिक होते हैं। <math>b = e^\beta</math> या <math>b = e^{-\beta}</math>{{efn|Positive {{mvar|β}} corresponds to the maximum convention, and is usual in machine learning, corresponding to the highest score having highest probability. The negative {{math|−β}} corresponds to the minimum convention, and is conventional in thermodynamics, corresponding to the lowest energy state having the highest probability; this matches the convention in the [[Gibbs distribution]], interpreting {{mvar|β}} as [[coldness]].}} लिखना वास्तव मे {{mvar|β}}{{efn|1=The notation {{mvar|β}} is for the [[thermodynamic beta]], which is inverse [[temperature]]: <math>\beta = 1/T</math><math>T = 1/\beta.</math>}} के लिए अभिव्यक्ति उत्पन्न करता है।{{efn|For <math>\beta = 0</math> ([[coldness]] zero, infinite temperature), <math>b = e^\beta = e^0 = 1</math>, and this becomes the constant function {{tmath|(1/n, \dots, 1/n)}}, corresponding to the [[discrete uniform distribution]].}}<math display="block">\sigma(\mathbf{z})_i = \frac{e^{\beta z_i}}{\sum_{j=1}^K e^{\beta z_j}} \text{ or } \sigma(\mathbf{z})_i = \frac{e^{-\beta z_i}}{\sum_{j=1}^K e^{-\beta z_j}} \text{ for } i = 1, \dotsc , K .</math>कुछ क्षेत्रों में आधार निश्चित होता है, एक निश्चित पैमाने के अनुरूप{{efn|In statistical mechanics, fixing {{mvar|β}} is interpreted as having coldness and temperature of 1.}}, जबकि अन्य में पैरामीटर {{mvar|β}} भिन्न होता है। | ||
== व्याख्याएं == | |||
=== समतल आर्ग मैक्स === | |||
{{See also|आर्ग मैक्स}} | |||
== | सॉफ्टमैक्स एक भ्रामक नाम है, जो फलन [[ चिकनी अधिकतम |अधिकतम समतल]] (अधिकतम फलन के लिए समतल सन्निकटन) नहीं होता है, जबकि [[ arg max |आर्ग मैक्स]] फलन के लिए एक सरलतम सन्निकटन है। वह फलन जिसका मान एक घातांक जिसमें अधिकतम होता है। वास्तव में सॉफ्टमैक्स शब्द का उपयोग घनिष्ठता से संबंधित [[ LogSumExp |LogSumExp]] फलन के लिए भी किया जाता है, जो कि एक सहज अधिकतम है। इस कारण से कुछ अधिक सटीक शब्द सॉफ्टमैक्स को समान करते हैं, लेकिन मशीन लर्निंग में सॉफ्टमैक्स शब्द पारंपरिक है।<ref name="sako2018"/>{{sfn|Goodfellow|Bengio|Courville|2016|pp=183–184|ps=: The name "softmax" can be somewhat confusing. The function is more closely related to the arg max function than the max function. The term "soft" derives from the fact that the softmax function is continuous and differentiable. The arg max function, with its result represented as a one-hot vector, is not continuous or differentiable. The softmax function thus provides a "softened" version of the arg max. The corresponding soft version of the maximum function is <math>\operatorname{softmax}(\mathbf{z})^\top \mathbf{z}</math>. It would perhaps be better to call the softmax function "softargmax," but the current name is an entrenched convention.}} इस व्याख्या पर महत्व देने के लिए यह खंड सॉफ्टरमैक्स शब्द का उपयोग करता है। | ||
औपचारिक रूप से आर्ग मैक्स को श्रेणीबद्ध उत्पाद वाले फलन के रूप में मानने के अतिरिक्त <math>1, \dots, n</math> (सूचकांक के अनुरूप), उत्पाद के [[ एक-गर्म |एक गर्म]] प्रतिनिधित्व के साथ अधिकतम फलन पर विचार करें। (मान लीजिए कि एक अद्वितीय अधिकतम तर्क है।) | |||
:<math>\operatorname{arg\,max}(z_1,\, \dots,\, z_n) = (y_1,\, \dots,\, y_n) = (0,\, \dots,\, 0,\, 1,\, 0,\, \dots,\, 0),</math> | |||
जहां उत्पादित निर्देशांक <math>y_i = 1</math> यदि केवल <math>i</math> का तर्क अधिकतम है <math>(z_1, \dots, z_n)</math>, अर्थ <math>z_i</math> का अद्वितीय अधिकतम मान है <math>(z_1,\, \dots,\, z_n)</math>. उदाहरण के लिए, इस एन्कोडिंग में <math>\operatorname{arg\,max}(1, 5, 10) = (0, 0, 1),</math> चूंकि तीसरा तर्क अधिकतम है। | |||
सभी अधिकतम तर्कों के बीच 1 को विभाजित करके इसे एकाधिक तर्क अधिकतम मानों (एकाधिक बराबर <math>z_i</math> अधिकतम होने के लिए) के लिए सामान्यीकृत किया जा सकता है; औपचारिक रूप से 1/k जहां k अधिकतम मानने वाले तर्कों की संख्या है। उदाहरण के लिए <math>\operatorname{arg\,max}(1,\, 5,\, 5) = (0,\, 1/2,\, 1/2),</math> चूंकि दूसरा और तीसरा दोनों ही तर्क अधिकतम हैं। इस परिस्थिति में सभी तर्क समान हैं, यह सरल <math>\operatorname{arg\,max}(z, \dots, z) = (1/n, \dots, 1/n).</math> अंक {{mvar|'''z'''}} एकाधिक आर्ग अधिकतम मानों के साथ एक बीजीय विविधता या अद्वितीय समूह बनाते हैं जो विलक्षणताओं के बिंदु होते हैं - ये ऐसे बिंदु हैं जहां arg max जंप अनिरंतरता के साथ असंतुलित होते है, जबकि एकल arg max वाले बिंदु को गैर विलक्षण या नियमित बिंदु के रूप में जाना जाता है। | |||
परिचय में दी गई अंतिम अभिव्यक्ति के साथ सॉफ्टरमैक्स अब आर्गमैक्स का एक सहज सन्निकटन है। {{tmath|\beta \to \infty}} आर्गमैक्स में परिवर्तित हो जाता है। किसी फलन के अभिसरण की विभिन्न अवधारणाएँ हैं। सॉफ्टएर्गमैक्स आर्ग को अधिकतम [[ बिंदुवार अभिसरण |बिंदुवार अभिसरण]] में परिवर्तित करता है, जिसका अर्थ है प्रत्येक निश्चित इनपुट {{math|'''z'''}} के लिए {{tmath|\beta \to \infty}}, | |||
{{ | |||
<math>\sigma_\beta(\mathbf{z}) \to \operatorname{arg\,max}(\mathbf{z}).</math> हालाँकि, सॉफ्टरमैक्स समान रूप से आर्ग मैक्स में [[ एकसमान अभिसरण |परिवर्तित]] नहीं होता है, जिसका अर्थ है कि सहज रूप से विभिन्न बिंदु अलग-अलग दरों पर अभिसरण करते हैं, और मन चाहे तरीके से धीरे-धीरे अभिसरण कर सकते हैं। वास्तव में, सॉफ्टरमैक्स निरंतर है, लेकिन एआरजी मैक्स विलक्षण समुच्चय पर निरंतर नहीं होता है जहां दो निर्देशांक समान हैं, जबकि निरंतर कार्यों की समान सीमा निरंतर है। सामान्य रूप से अभिसरण करने में विफल होने का कारण यह है कि इनपुट के लिए जहां दो निर्देशांक लगभग बराबर होते हैं और एक अधिकतम होता है, तर्क अधिकतम एक या दूसरे का सूचकांक होता है, इसलिए इनपुट में एक छोटा सा परिवर्तन आउटपुट में बड़ा परिवर्तन कर सकता है। | |||
उदाहरण के लिए, <math>\sigma_\beta(1,\, 1.0001) \to (0, 1),</math> लेकिन <math>\sigma_\beta(1,\, 0.9999) \to (1,\, 0),</math> तथा <math>\sigma_\beta(1,\, 1) = 1/2</math> सभी इनपुट के लिए बिंदु विलक्षण समुच्चय <math>(x, x)</math> के जितने पास होते हैं, उतनी ही धीमी गति से वे अभिसरित होते हैं। हालांकि, सॉफ़्टर्गमैक्स गैर-विलक्षण समुच्चय पर [[ कॉम्पैक्ट अभिसरण |कॉम्पैक्ट]] रूप से अभिसरण करता है। | |||
इसके विपरीत {{tmath|\beta \to -\infty}} सॉफ्टरमैक्स उसी तरह आर्ग मिन में परिवर्तित होता है, जहाँ गैर-विलक्षण समुच्चय दो आर्ग मिन मानों के साथ बिंदु है। [[ उष्णकटिबंधीय विश्लेषण |उष्णकटिबंधीय विश्लेषण]] की भाषा में, सॉफ्टमैक्स, अधिकतम-प्लस सेमीरिंग (क्रमशः [[ मिन-प्लस सेमी-रिंग |न्यूनतम-प्लस सेमी-रिंग]]) के अतिरिक्त [[ लॉग सेमीरिंग |लॉग सेमीरिंग]] का उपयोग करने के लिए और आर्ग मैक्स या पुनर्प्राप्त करने के लिए, आर्ग मैक्स और आर्ग मिन का एक विरूपण या परिमाणीकरण है। जिसमे सीमा लेने से आर्ग मिन को उष्णकटिबंधीयकरण या विघटन कहा जाता है। | |||
यह भी परिस्थिति है कि, किसी निश्चित के लिए {{mvar|β}}, यदि एक इनपुट {{tmath|z_i}} तापमान के सापेक्ष अन्य की तुलना में बहुत बड़ा है, <math>T = 1/\beta</math>, आउटपुट लगभग arg अधिकतम है। उदाहरण के लिए, 1 के तापमान के सापेक्ष 10 का अंतर बड़ा होता है। | |||
<math display="block">\sigma(0,\, 10) := \sigma_1(0,\, 10) = \left(1/\left(1 + e^{10}\right),\, e^{10}/\left(1 + e^{10}\right)\right) \approx (0.00005,\, 0.99995)</math> | <math display="block">\sigma(0,\, 10) := \sigma_1(0,\, 10) = \left(1/\left(1 + e^{10}\right),\, e^{10}/\left(1 + e^{10}\right)\right) \approx (0.00005,\, 0.99995)</math> | ||
हालाँकि, यदि अंतर तापमान के सापेक्ष छोटा है, तो मान आर्गमैक्स के करीब नहीं है। उदाहरण के लिए 10 का अंतर 100 के तापमान के सापेक्ष छोटा होता है। | |||
<math display="block">\sigma_{1/100}(0,\, 10) = \left(1/\left(1 + e^{1/10}\right),\, e^{1/10}/\left(1 + e^{1/10}\right)\right) \approx (0.475,\, 0.525).</math> | <math display="block">\sigma_{1/100}(0,\, 10) = \left(1/\left(1 + e^{1/10}\right),\, e^{1/10}/\left(1 + e^{1/10}\right)\right) \approx (0.475,\, 0.525).</math> | ||
जैसा {{tmath|\beta \to \infty}}, तापमान शून्य हो जाता है, <math>T = 1/\beta \to 0</math>, इसलिए अंततः सभी अंतर बड़े हो जाते हैं | जैसा {{tmath|\beta \to \infty}}, तापमान शून्य हो जाता है, <math>T = 1/\beta \to 0</math>, इसलिए अंततः सभी अंतर बड़े हो जाते हैं घटते तापमान के सापेक्ष, जो सीमा व्यवहार के लिए एक और व्याख्या प्रदान करता है। | ||
=== प्रायिकता सिद्धांत === | === प्रायिकता सिद्धांत === | ||
प्रायिकता सिद्धांत में, सॉफ्टर्गमैक्स फलन के आउटपुट का उपयोग एक स्पष्ट वितरण का प्रतिनिधित्व करने के लिए किया जा सकता है - अर्थात, एक प्रायिकता वितरण {{mvar|K}} विभिन्न संभावित परिणाम होता है। | |||
=== [[ सांख्यिकीय यांत्रिकी ]] === | === [[ सांख्यिकीय यांत्रिकी ]] === | ||
सांख्यिकीय यांत्रिकी में, सॉफ्टर्गमैक्स फलन को बोल्ट्ज़मान वितरण | सांख्यिकीय यांत्रिकी में, सॉफ्टर्गमैक्स फलन को बोल्ट्ज़मान वितरण या [[ गिब्स वितरण |गिब्स वितरण]] के रूप में जाना जाता है।<ref>{{cite book | ||
|first1=Yann |last1=LeCun | |first1=Yann |last1=LeCun | ||
|author-link1=Yann LeCun | |author-link1=Yann LeCun | ||
Line 72: | Line 76: | ||
|editor5=Ben Taskar | |editor5=Ben Taskar | ||
|editor6=S.V.N Vishwanathan | |editor6=S.V.N Vishwanathan | ||
}}</ref>{{rp|7}} सूचकांक | }}</ref>{{rp|7}} सूचकांक समुच्चय <math>{1,\, \dots,\, k}</math> प्रणाली के [[ माइक्रोस्टेट (सांख्यिकीय यांत्रिकी) |सूक्ष्म अवस्था]] हैं। इनपुट <math>z_i</math> उस अवस्था की ऊर्जाएँ हैं, जहाँ विभाजक को विभाजन फलन के रूप में जाना जाता है, जिसे अधिकांश निरूपित किया जाता है {{mvar|Z}} और कारक {{mvar|β}} [[ शीतलता | शीतलता]], [[ थर्मोडायनामिक बीटा |थर्मोडायनामिक बीटा]] , या [[ उलटा तापमान |विपरीत तापमान]] कहा जाता है। | ||
== अनुप्रयोग == | == अनुप्रयोग == | ||
सॉफ्टमैक्स फलन का उपयोग विभिन्न | सॉफ्टमैक्स फलन का उपयोग विभिन्न बहुवर्गीय श्रेणीविभाजन विधियों में किया जाता है, जैसे कि बहुराष्ट्रीय तार्किक प्रतिगमन जिसे सॉफ्टमैक्स तार्किक भी कहा जाता है<ref name="bishop">{{cite book |first=Christopher M. |last=Bishop |year=2006 |title=पैटर्न मान्यता और मशीन प्रवीणता|publisher=Springer |isbn=0-387-31073-8 }}</ref>{{rp|206–209}} [http://ufldl.stanford.edu/tutorial/supervised/SoftmaxRegression/], बहुवर्गीय [[ रैखिक विभेदक विश्लेषण |रैखिक विभेदक विश्लेषण]], [[ भोले बेयस क्लासिफायरियर |अनुभवहीन बेज वर्गीकारक]] और कृत्रिम नेटवर्क प्रसार।<ref>ai-faq [http://www.faqs.org/faqs/ai-faq/neural-nets/part2/section-12.html What is a softmax activation function?]</ref> विशेष रूप से बहुराष्ट्रीय तार्किक प्रतिगमन और रैखिक विभेदक विश्लेषण में फलन के इनपुट का परिणाम होता है {{mvar|K}} विशिष्ट रैखिक कार्य और के लिए साधारण सदिश {{math|'''x'''}} और भार सदिश {{math|'''w'''}} दिए जाने पर j वें वर्ग के लिए अनुमानित प्रायिकता होती है। | ||
:<math>P(y=j\mid \mathbf{x}) = \frac{e^{\mathbf{x}^\mathsf{T}\mathbf{w}_j}}{\sum_{k=1}^K e^{\mathbf{x}^\mathsf{T}\mathbf{w}_k}}</math> | :<math>P(y=j\mid \mathbf{x}) = \frac{e^{\mathbf{x}^\mathsf{T}\mathbf{w}_j}}{\sum_{k=1}^K e^{\mathbf{x}^\mathsf{T}\mathbf{w}_k}}</math> | ||
इसे की | इसे {{mvar|K}} रैखिक कार्यों की संरचना के रूप में देखा जा सकता है <math>\mathbf{x} \mapsto \mathbf{x}^\mathsf{T}\mathbf{w}_1, \ldots, \mathbf{x} \mapsto \mathbf{x}^\mathsf{T}\mathbf{w}_K</math> और सॉफ्टमैक्स फलन (जहाँ <math>\mathbf{x}^\mathsf{T}\mathbf{w}</math> के आंतरिक उत्पाद को दर्शाता है <math>\mathbf{x}</math> तथा <math>\mathbf{w}</math>). यह ऑपरेशन <math>\mathbf{w}</math> द्वारा परिभाषित एक रैखिक ऑपरेटर को सदिश <math>\mathbf{x}</math> पर लागू करने के बराबर है, इस प्रकार मूल को बदलना, लगभग अत्यधिक {{mvar|K}} आयामी अंतरिक्ष में सदिश के लिए इनपुट <math>\mathbb{R}^K</math> है। | ||
=== तंत्रिका नेटवर्क === | === तंत्रिका नेटवर्क === | ||
मानक सॉफ्टमैक्स फलन का उपयोग | मानक सॉफ्टमैक्स फलन का उपयोग अधिकांश तंत्रिका नेटवर्क-आधारित वर्गीकारक की अंतिम परत में किया जाता है। इस तरह के नेटवर्क को सामान्य रूप से एक लॉग लॉस या [[ क्रॉस एन्ट्रापी |क्रॉस एन्ट्रापी]] शासन के तहत प्रशिक्षित किया जाता है, जिससे बहुराष्ट्रीय तार्किक प्रतिगमन का एक गैर-रैखिक संस्करण मिलता है। | ||
चूंकि फलन एक | चूंकि फलन एक सदिश और एक विशिष्ट सूचक <math>i</math> को एक वास्तविक मान पर मैप करता है, व्युत्पन्न सूचक को ध्यान में रखना चाहिए। | ||
<math display="block">\frac{\partial}{\partial q_k}\sigma(\textbf{q}, i) = \sigma(\textbf{q}, i)(\delta_{ik} - \sigma(\textbf{q}, k)).</math> | <math display="block">\frac{\partial}{\partial q_k}\sigma(\textbf{q}, i) = \sigma(\textbf{q}, i)(\delta_{ik} - \sigma(\textbf{q}, k)).</math> | ||
यह व्यंजक अनुक्रमित में सममित है <math>i, k</math> | यह व्यंजक अनुक्रमित में सममित है <math>i, k</math> को इस प्रकार भी व्यक्त किया जा सकता है | ||
:<math> \frac{\partial}{\partial q_k}\sigma(\textbf{q}, i) = \sigma(\textbf{q}, k)(\delta_{ik} - \sigma(\textbf{q}, i)).</math> | :<math> \frac{\partial}{\partial q_k}\sigma(\textbf{q}, i) = \sigma(\textbf{q}, k)(\delta_{ik} - \sigma(\textbf{q}, i)).</math> | ||
यहाँ | यहाँ [[ क्रोनकर डेल्टा |क्रोनकर डेल्टा]] का उपयोग सादगी के लिए किया जाता है (cf. एक [[ सिग्मॉइड फ़ंक्शन | सिग्मॉइड फलन]] का व्युत्पन्न फलन के माध्यम से ही व्यक्त किया जा रहा है)। | ||
व्युत्पन्न के स्थिर संख्यात्मक अभिकलन प्राप्त करने के लिए | व्युत्पन्न के स्थिर संख्यात्मक अभिकलन प्राप्त करने के लिए अधिकांश इनपुट सदिश से एक स्थिरांक घटाता है। सिद्धांत रूप में यह आउटपुट को नहीं बदलता है, और न ही व्युत्पन्न। लेकिन यह अधिक स्थिर होता है, क्योंकि यह स्पष्ट रूप से प्रत्येक घातांक में गणना किए गए सबसे बड़े मान को नियंत्रित कर सकता है। | ||
यदि फलन | यदि फलन <math>\beta</math>, पैरामीटर के साथ परिबंधित किया गया है, तो इन अभिव्यक्तियों को <math>\beta</math> से गुणा किया जाना चाहिए। | ||
सॉफ्टमैक्स सक्रियण फलन का उपयोग करने वाले प्रायिकता प्रारूप के लिए बहुराष्ट्रीय लॉग देखें। | |||
=== [[ सुदृढीकरण सीखना ]] === | === [[ सुदृढीकरण सीखना | प्रबलीकरण सीखना]] === | ||
प्रबलीकरण सीखने के क्षेत्र में मानों को क्रिया संभावनाओं में बदलने के लिए एक सॉफ्टमैक्स फलन का उपयोग किया जा सकता है। सामान्य रूप से उपयोग किया जाने वाला फलन है।<ref>Sutton, R. S. and Barto A. G. ''Reinforcement Learning: An Introduction''. The MIT Press, Cambridge, MA, 1998. [http://incompleteideas.net/book/ebook/node17.html Softmax Action Selection]</ref> | |||
<math display="block">P_t(a) = \frac{\exp(q_t(a)/\tau)}{\sum_{i=1}^n\exp(q_t(i)/\tau)} \text{,}</math> | <math display="block">P_t(a) = \frac{\exp(q_t(a)/\tau)}{\sum_{i=1}^n\exp(q_t(i)/\tau)} \text{,}</math> | ||
जहां | |||
जहां प्रक्रिया मान <math>q_t(a)</math> निम्नलिखित प्रक्रिया के अपेक्षित प्रतिफल के अनुरूप है और <math>\tau</math> एक तापमान (पैरामीटर सांख्यिकीय यांत्रिकी के संकेत में) कहा जाता है। उच्च तापमान के लिए <math>\tau \to \infty</math> सभी क्रियाओं की संभावना लगभग समान होती है और तापमान जितना कम होता है, उतने अधिक अपेक्षित प्रतिफल प्रायिकता को प्रभावित करते हैं। कम तापमान के लिए <math>\tau \to 0^+</math> उच्चतम अपेक्षित प्रतिफल के साथ प्रक्रिया की संभावना 1 हो जाती है। | |||
== कम्प्यूटेशनल जटिलता और उपचार == | == कम्प्यूटेशनल जटिलता और उपचार == | ||
तंत्रिका नेटवर्क अनुप्रयोगों में, संख्या {{mvar|K}} | तंत्रिका नेटवर्क अनुप्रयोगों में, संभावित परिणामों की संख्या {{mvar|K}} अधिकांश बड़ी होती है, उदाहरण- तंत्रिका [[ भाषा मॉडल |भाषा प्रारूप]] की स्थिति में जो एक शब्दावली से सबसे संभावित परिणाम की पूर्वानुमान करता है जिसमें लाखों संभावित शब्द हो सकते हैं।<ref name=":0">{{Cite journal |last=Onal |first=Kezban Dilek |last2=Zhang |first2=Ye |last3=Altingovde |first3=Ismail Sengor |last4=Rahman |first4=Md Mustafizur |last5=Karagoz |first5=Pinar |last6=Braylan |first6=Alex |last7=Dang |first7=Brandon |last8=Chang |first8=Heng-Lu |last9=Kim |first9=Henna |last10=McNamara |first10=Quinten |last11=Angert |first11=Aaron |date=2018-06-01 |title=तंत्रिका सूचना पुनर्प्राप्ति: प्रारंभिक वर्षों के अंत में|url=https://doi.org/10.1007/s10791-017-9321-y |journal=Information Retrieval Journal |language=en |volume=21 |issue=2 |pages=111–182 |doi=10.1007/s10791-017-9321-y |issn=1573-7659}}</ref> यह सॉफ्टमैक्स परत के लिए गणना कर सकता है अर्थात आव्यूह गुणन को निर्धारित करने के लिए <math>z_i</math>, इसके बाद सॉफ्टमैक्स फलन का अनुप्रयोग कम्प्यूटेशनल रूप से महंगा है।<ref name=":0" /><ref name=":1">{{Cite journal |last=Chen |first=Wenlin |last2=Grangier |first2=David |last3=Auli |first3=Michael |date=August 2016 |title=बड़े शब्दावली तंत्रिका भाषा मॉडल प्रशिक्षण के लिए रणनीतियाँ|url=https://aclanthology.org/P16-1186 |journal=Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers) |location=Berlin, Germany |publisher=Association for Computational Linguistics |pages=1975–1985 |doi=10.18653/v1/P16-1186}}</ref> क्या अधिक है, इस तरह के तंत्रिका नेटवर्क के प्रशिक्षण के लिए [[ ढतला हुआ वंश |ग्रेडिएंट डिसेंट बैकप्रोपैजेशन]] विधि में प्रत्येक प्रशिक्षण उदाहरण के लिए सॉफ्टमैक्स की गणना करना सम्मिलित है,तथा प्रशिक्षण उदाहरणों की संख्या भी बड़ी हो सकती है। सॉफ्टमैक्स के लिए कम्प्यूटेशनल प्रयास बड़े तंत्रिका भाषा प्रारूप के विकास में एक प्रमुख सीमित कारक बन गया, जो प्रशिक्षण समय को कम करने के लिए विभिन्न उपायों को प्रेरित करता है।<ref name=":0" /><ref name=":1" /> | ||
अधिक कुशल गणना के लिए सॉफ्टमैक्स परत को पुनर्गठित करने वाले दृष्टिकोणों में पदानुक्रमित सॉफ्टमैक्स और विभेदित सॉफ्टमैक्स सम्मिलित हैं।<ref name=":0" /> पदानुक्रमित सॉफ्टमैक्स 2005 में मोरिन और [[ जोशुआ बेंगियो ]] द्वारा प्रस्तुत किया गया, यह एक बाइनरी ट्री संरचना का उपयोग करता है जहां परिणाम (शब्दावली शब्द) उत्तरदायित्व होते हैं और मध्यवर्ती नोड्स परिणामों के उपयुक्त रूप से चयनित वर्ग होते हैं, जो [[ अव्यक्त चर |अव्यक्त चर]] बनाते हैं।<ref name=":1" /><ref name=":2">{{Cite journal |last=Morin |first=Frederic |last2=Bengio |first2=Yoshua |date=2005-01-06 |title=पदानुक्रमित संभाव्य तंत्रिका नेटवर्क भाषा मॉडल|url=https://www.iro.umontreal.ca/~lisa/pointeurs/hierarchical-nnlm-aistats05.pdf |journal=International Workshop on Artificial Intelligence and Statistics |language=en |publisher=PMLR |pages=246–252}}</ref> एक उत्तरदायी परिणाम की वांछित प्रायिकता सॉफ्टमैक्स मान की गणना तब रूट से उस पत्ते तक के सभी नोड्स की संभावनाओं के उत्पाद के रूप में की जा सकती है।<ref name=":1" />आदर्श रूप से जब ट्री संतुलित होता है, तो इससे कम्प्यूटेशनल जटिलता कम हो जाएगी <math>O(K)</math> प्रति <math>O(\log_2 K)</math>.<ref name=":2" />व्यवहार में, परिणाम कक्षाओं में परिणामों को समूहबद्ध करने के लिए एक अच्छी रणनीति चुनने पर निर्भर करते हैं।<ref name=":1" /><ref name=":2" /> मापनीयता प्राप्त करने के लिए Google के [[ word2vec ]] प्रारूप (2013 में प्रस्तुत) में इसके लिए एक [[ हफमैन का पेड़ |हफमैन ट्री]] का उपयोग किया गया था।<ref name=":0" /> | |||
एक दूसरे प्रकार का उपाय संशोधित हानि कार्यों के साथ सॉफ्टमैक्स (प्रशिक्षण के दौरान) का अनुमान लगाने पर आधारित होता है, जो पूर्ण सामान्यीकरण कारक की गणना से बचते हैं।<ref name=":0" />इनमें ऐसे तरीके सम्मिलित हैं, जो सामान्यीकरण योग को परिणामों के प्रतिरूप तक सीमित करते हैं। (उदाहरण के लिए महत्व प्रतिचयन, लक्ष्य प्रतिचयन)।<ref name=":0" /><ref name=":1" /> | |||
== गणितीय गुण == | |||
ज्यामितीय रूप से सॉफ्टमैक्स फलन [[ सदिश स्थल |सदिश स्थल]] को सम्बद्ध करता है। <math>\mathbb{R}^K</math> सिम्प्लेक्स मानक की [[ सीमा (टोपोलॉजी) |सीमा (टोपोलॉजी)]] के लिए <math>(K-1)</math>-सिम्प्लेक्स, आयाम को एक से काटकर (श्रेणी <math>(K - 1)</math>-आयामी सिंप्लेक्स मे <math>K</math>-आयामी अंतरिक्ष), [[ रैखिक बाधा | रैखिक बाधा]] के कारण कि सभी आउटपुट योग 1 का अर्थ है, कि यह एक [[ hyperplane |अधिसमतल]] पर स्थित होता है। | |||
मुख्य विकर्ण के साथ <math>(x,\, x,\, \dots,\, x),</math> सॉफ्टमैक्स आउटपुट पर सिर्फ एक समान वितरण है <math>(1/n, \dots, 1/n)</math>: समान स्कोर से समान संभावनाएँ प्राप्त होती हैं। | |||
अधिक सामान्यतः, सॉफ्टमैक्स अनुवाद के तहत प्रत्येक समन्वय में समान मान द्वारा अपरिवर्तनीय है। जोड़ना <math>\mathbf{c} = (c,\, \dots,\, c)</math> इनपुट के लिए <math>\mathbf{z}</math> पैदावार <math>\sigma(\mathbf{z} + \mathbf{c}) = \sigma(\mathbf{z})</math>, क्योंकि यह प्रत्येक घातांक को उसी कारक से गुणा करता है, <math>e^c</math> (<math>e^{z_i + c} = e^{z_i} \cdot e^c</math>) इसलिए इनके अनुपात मे कोई परिवर्तन नही होता हैं। | |||
: <math>\sigma(\mathbf{z} + \mathbf{c})_j = \frac{e^{z_j + c}}{\sum_{k=1}^K e^{z_k + c}} = \frac{e^{z_j} \cdot e^c}{\sum_{k=1}^K e^{z_k} \cdot e^c} = \sigma(\mathbf{z})_j.</math> | |||
ज्यामितीय रूप से, सॉफ्टमैक्स विकर्णों के साथ स्थिर है। यह वह आयाम है जो समाप्त हो गया है, और सॉफ्टमैक्स आउटपुट इनपुट स्कोर में अनुवाद से स्वतंत्र होने के अनुरूप है (0 स्कोर का विकल्प)। कोई यह मानकर इनपुट स्कोर को सामान्य कर सकता है कि योग शून्य है (औसत घटाएं: <math>\mathbf{c}</math> जहाँ पर <math display="inline">c = \frac{1}{n} \sum z_i</math>), और फिर सॉफ्टमैक्स उन बिंदुओं का अधिसमतल लेता है। जिनका योग शून्य होता है, <math display="inline">\sum z_i = 0</math>, घनात्मक मानों के खुले सिंप्लेक्स के लिए जिसका योग 1 है <math display="inline">\sum \sigma(\mathbf{z})_i = 1</math>, उसी प्रकार जैसे घातांक 0 से 1 लेता है, <math>e^0 = 1</math> और घनात्मक होता है। इसके विपरीत सॉफ्टमैक्स स्केलिंग के तहत अपरिवर्तनीय नहीं होते है। | |||
उदाहरण के लिए, <math>\sigma\bigl((0,\, 1)\bigr) = \bigl(1/(1 + e),\, e/(1 + e)\bigr)</math> लेकिन <math>\sigma\bigl((0, 2)\bigr) = \bigl(1/\left(1 + e^2\right),\, e^2/\left(1 + e^2\right)\bigr).</math> | |||
मानक तार्किक फलन 2-आयामी अंतरिक्ष में 1-आयामी अक्ष के लिए विशेष परिस्थिति होती है, x -अक्ष में कहें {{math|(x, y)}} समतल एक चर 0 पर तय किया गया है। (माना <math>z_2 = 0</math>), इसलिए <math>e^0 = 1</math>, और अन्य चर भिन्न हो सकते हैं, इसे निरूपित करें <math>z_1 = x</math>, इसलिए <math display="inline">e^{z_1}/\sum_{k=1}^2 e^{z_k} = e^x/\left(e^x + 1\right),</math> मानक तार्किक फलन <math display="inline">e^{z_2}/\sum_{k=1}^2 e^{z_k} = 1/\left(e^x + 1\right),</math> इसका अनुपूरण (जिसका अर्थ है कि वे 1 तक जोड़ते हैं)। 1-आयामी इनपुट को वैकल्पिक रूप से रेखा के रूप में व्यक्त किया जा सकता है <math>(x/2,\, -x/2)</math>, आउटपुट के साथ <math>e^{x/2}/\left(e^{x/2} + e^{-x/2}\right) = e^x/\left(e^x + 1\right)</math> तथा <math>e^{-x/2}/\left(e^{x/2} + e^{-x/2}\right) = 1/\left(e^x + 1\right).</math> | |||
सॉफ्टमैक्स फलन भी LogSumExp फलन का ग्रेडिएंट है, एक सहज अधिकतम- | |||
सॉफ्टमैक्स फलन भी LogSumExp फलन का ग्रेडिएंट है, एक सहज अधिकतम | |||
: <math>\frac{\partial}{\partial z_i} \operatorname{LSE}(\mathbf{z}) = \frac{\exp z_i}{\sum_{j=1}^{K} \exp z_j} = \sigma(\mathbf{z})_i, \quad \text{ for } i = 1, \dotsc , K, \quad \mathbf{z} = (z_1,\, \dotsc,\, z_K) \in\R^K,</math> | : <math>\frac{\partial}{\partial z_i} \operatorname{LSE}(\mathbf{z}) = \frac{\exp z_i}{\sum_{j=1}^{K} \exp z_j} = \sigma(\mathbf{z})_i, \quad \text{ for } i = 1, \dotsc , K, \quad \mathbf{z} = (z_1,\, \dotsc,\, z_K) \in\R^K,</math> | ||
जहाँ LogSumExp फलन को इस रूप में परिभाषित किया गया है <math>\operatorname{LSE}(z_1,\, \dots,\, z_n) = \log\left(\exp(z_1) + \cdots + \exp(z_n)\right)</math>. | जहाँ LogSumExp फलन को इस रूप में परिभाषित किया गया है <math>\operatorname{LSE}(z_1,\, \dots,\, z_n) = \log\left(\exp(z_1) + \cdots + \exp(z_n)\right)</math>. | ||
== इतिहास == | == इतिहास == | ||
सॉफ्टमैक्स फलन का उपयोग सांख्यिकीय यांत्रिकी में बोल्ट्जमैन वितरण के रूप में | सॉफ्टमैक्स फलन का उपयोग सांख्यिकीय यांत्रिकी में बोल्ट्जमैन वितरण के रूप में मूलभूत लेख {{harvtxt|बोल्ट्जमैन |1868}} में किया गया था, प्रभावशाली पाठ्यपुस्तक {{harvtxt|गिब्स|1902}}.<ref>{{cite book | ||
|first=Josiah Willard |last=Gibbs |authorlink=Josiah Willard Gibbs | |first=Josiah Willard |last=Gibbs |authorlink=Josiah Willard Gibbs | ||
|year=1902 | |year=1902 | ||
|title=सांख्यिकीय यांत्रिकी में प्राथमिक सिद्धांत|title-link=सांख्यिकीय यांत्रिकी में प्राथमिक सिद्धांत}}</ref> | |title=सांख्यिकीय यांत्रिकी में प्राथमिक सिद्धांत|title-link=सांख्यिकीय यांत्रिकी में प्राथमिक सिद्धांत}}</ref> में औपचारिक और लोकप्रिय हुआ। | ||
[[ निर्णय सिद्धांत ]] में सॉफ्टमैक्स के उपयोग का श्रेय | |||
[[ निर्णय सिद्धांत |निर्णय सिद्धांत]] में सॉफ्टमैक्स के उपयोग का श्रेय {{harvtxt|लूस|1959}},<ref name="Gao">{{cite arXiv|eprint=1704.00805|last1=Gao|first1=Bolin|title=गेम थ्योरी और रीइन्फोर्समेंट लर्निंग में एप्लीकेशन के साथ सॉफ्टमैक्स फंक्शन के गुणों पर|last2=Pavel|first2=Lacra|class=math.OC|year=2017}}</ref>{{rp|1}} को दिया जाता है, जिन्होंने तार्किक उचित सिद्धांत में [[ अप्रासंगिक विकल्पों की स्वतंत्रता |अप्रासंगिक विकल्पों की स्वतंत्रता]] के सिद्धांत का उपयोग करके सापेक्षिक प्राथमिकताओं के लिए लूस के उचित सिद्धांत सॉफ्टमैक्स को निकाला गया। | |||
मशीन लर्निंग में, सॉफ्टमैक्स शब्द का श्रेय जॉन एस. ब्रिडल को 1989 के दो सम्मेलन पत्रों मे {{harvtxt|ब्रिडल|1990a}}:<ref name="Gao" />{{rp|1}} और {{harvtxt|ब्रिडल|1990b}}:<ref name="sako2018" /> में दिया जाता है। | |||
{{quote | {{quote | ||
| | |हम कई आउटपुट के साथ अग्र भरण गैर रेखीय नेटवर्क (बहु परत परसेप्ट्रॉन, या एमएलपी) से संबंधित हैं। हम नेटवर्क के आउटपुट को इनपुट पर वातानुकूलित विकल्पों जैसे प्रतिरूप कक्ष की संभावनाओं के रूप में देखना चाहते हैं। हम नेटवर्क के मापदंडों के अनुकूलन के लिए उचित आउटपुट गैर-रैखिकता और उचित मानदंड के लिए देखते हैं (जैसे वजन)। हम दो संशोधनों की व्याख्या करते हैं तथा प्रायिकता स्कोरिंग जो वर्ग त्रुटि न्यूनीकरण का एक विकल्प है, और एक सामान्यीकृत घातांक सॉफ्टमैक्स गैर रेखीय का बहु-इनपुट सामान्यीकरण होता है।<ref>{{cite conference | ||
|first=John S. |last=Bridle | |first=John S. |last=Bridle | ||
|year=1990a | |year=1990a | ||
Line 156: | Line 162: | ||
}} | }} | ||
{{quote | {{quote | ||
| | |किसी भी इनपुट के लिए, सभी आउटपुट धनात्मक होने चाहिए तथा उनका योग मे एकता होना चाहिए। | ||
अनियंत्रित मानों के एक सेट को देखते हुए, {{tmath|V_j(x)}}, हम सामान्यीकृत घातीय परिवर्तन का उपयोग करके दोनों स्थितियों को सुनिश्चित कर सकते हैं। | |||
<math>Q_j(x) = \left. e^{V_j(x)} \right/ \sum_k e^{V_k(x)} </math> | |||
इस परिवर्तन को तार्किक का एक बहु-इनपुट सामान्यीकरण माना जा सकता है, जो संपूर्ण आउटपुट परत पर काम करता है। तथा यह अपने इनपुट मानों के स्थिति क्रम को संरक्षित करता है, और अधिकतम मान चुनने के विनर-टेक-ऑल' ऑपरेशन का एक अलग-अलग सामान्यीकरण होता है। इस कारण से हम इसे सॉफ्टमैक्स के रूप में संदर्भित करना पसंद करते हैं।<ref>{{cite conference | |||
|first=John S. |last=Bridle | |first=John S. |last=Bridle | ||
|year=1990b | |year=1990b | ||
Line 170: | Line 175: | ||
}}</ref>{{rp|213}} | }}</ref>{{rp|213}} | ||
}} | }} | ||
== उदाहरण == | |||
यदि हम {{math|[1, 2, 3, 4, 1, 2, 3]}} का इनपुट लेते हैं तो उसका सॉफ्टमैक्स {{math|[0.024, 0.064, 0.175, 0.475, 0.024, 0.064, 0.175]}} है। आउटपुट का अधिकांश वजन वहीं होता है जो 4 मूल इनपुट में था। यह वह है जिसके लिए फलन का सामान्य रूप से उपयोग किया जाता है: सबसे बड़े मानों को उजागर करने और उन मानों को दबाने के लिए जो अधिकतम मान से काफी नीचे हैं। लेकिन सॉफ्टमैक्स स्केल अपरिवर्तनीय नहीं होते है, इसलिए यदि इनपुट {{math|[0.1, 0.2, 0.3, 0.4, 0.1, 0.2, 0.3]}} जो 1.6 के बराबर है, तो सॉफ्टमैक्स {{math|[0.125, 0.138, 0.153, 0.169, 0.125, 0.138, 0.153]}} होगा। इससे पता चलता है कि 0 और 1 सॉफ्टमैक्स के बीच के मानों के लिए, वास्तव में, अधिकतम मान पर महत्व दिया जाता है। (कि 0.169 न केवल 0.475 से कम है, यह 0.4/1.6 = 0.25 के प्रारंभिक अनुपात से भी कम है)। | |||
[[ पायथन (प्रोग्रामिंग भाषा) ]] कोड का उपयोग करके इस उदाहरण की गणना: | |||
>>> import numpy as np | |||
= | >>> a = [1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0] | ||
>>> np.exp(a) / np.sum(np.exp(a)) | |||
array([0.02364054, 0.06426166, 0.1746813, 0.474833, 0.02364054, | |||
0.06426166, 0.1746813]) | 0.06426166, 0.1746813]) | ||
</ | यह [[ जूलिया (प्रोग्रामिंग भाषा) | जूलिया (प्रोग्रामिंग भाषा)]] कोड का एक उदाहरण दिया गया है। | ||
julia> A = [1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0]; # semicolon to suppress interactive output | |||
julia> exp.(A) ./ sum(exp.(A)) | |||
7-element Array{Float64,1}: | |||
0.0236405 | |||
0.0642617 | |||
0.174681 | |||
0.474833 | |||
0.0236405 | |||
0.0642617 | |||
यह R (प्रोग्रामिंग भाषा) कोड का एक उदाहरण दिया गया है। | |||
> z <- c(1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0) | |||
> softmax <- exp(z)/sum(exp(z)) | |||
> softmax | |||
[1] 0.02364054 0.06426166 0.17468130 0.47483300 0.02364054 0.06426166 0.17468130 | |||
यह अमृत (प्रोग्रामिंग भाषा) कोड का एक उदाहरण है।<ref>{{Cite web|url=https://github.com/elixir-nx/nx/tree/main/nx#examples|title = एनएक्स/एनएक्स मुख्य पर · अमृत-एनएक्स/एनएक्स}}</ref> | |||
iex> t = Nx.tensor([[1, 2], [3, 4]]) | |||
iex> Nx.divide(Nx.exp(t), Nx.sum(Nx.exp(t)) | |||
Nx.Tensor< | |||
f64[2][2] | |||
[ | |||
[0.03205860328008499, 0.08714431874203257], | |||
[0.23688281808991013, 0.6439142598879722] | |||
] | |||
> | > | ||
> | यह [[ राकू (प्रोग्रामिंग भाषा) |राकू (प्रोग्रामिंग भाषा)]] कोड का एक उदाहरण है। | ||
> | |||
> my @z = [1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0]; | |||
> say @z.map: {exp($_)/sum(@z.map: {exp($_)})} | |||
(0.023640543021591385 0.06426165851049616 0.17468129859572226 0.4748329997443803 0.023640543021591385 0.06426165851049616 0.17468129859572226) | (0.023640543021591385 0.06426165851049616 0.17468129859572226 0.4748329997443803 0.023640543021591385 0.06426165851049616 0.17468129859572226) | ||
== यह भी देखें == | == यह भी देखें == | ||
*[[ सॉफ्टप्लस ]] | *[[ सॉफ्टप्लस ]] | ||
* बहुराष्ट्रीय | * बहुराष्ट्रीय तार्किक प्रतिगमन | ||
* [[ डिरिचलेट वितरण ]] - श्रेणीबद्ध वितरण का | * [[ डिरिचलेट वितरण ]] - श्रेणीबद्ध वितरण का प्रतिरूप लेने का एक वैकल्पिक तरीका | ||
* विभाजन | * विभाजन फलन (सांख्यिकीय यांत्रिकी) | ||
* [[ घातीय झुकाव ]] - अधिक सामान्य | * [[ घातीय झुकाव ]] - अधिक सामान्य प्रायिकता वितरण के लिए सॉफ्टमैक्स का सामान्यीकरण। | ||
== टिप्पणियाँ == | == टिप्पणियाँ == | ||
Line 255: | Line 261: | ||
{{Differentiable computing}} | {{Differentiable computing}} | ||
[[Category: कम्प्यूटेशनल तंत्रिका विज्ञान]] | |||
[[Category: | [[Category:Articles with hatnote templates targeting a nonexistent page]] | ||
[[Category:Articles with short description]] | |||
[[Category:CS1 English-language sources (en)]] | |||
[[Category:Collapse templates]] | |||
[[Category:Created On 14/11/2022]] | |||
[[Category:Machine Translated Page]] | |||
[[Category:Navigational boxes| ]] | |||
[[Category:Navigational boxes without horizontal lists]] | |||
[[Category:Pages with script errors]] | |||
[[Category:Short description with empty Wikidata description]] | |||
[[Category:Sidebars with styles needing conversion]] | |||
[[Category:Template documentation pages|Documentation/doc]] | |||
[[Category:Templates generating microformats]] | |||
[[Category:Templates that are not mobile friendly]] | |||
[[Category:Templates using TemplateData]] | |||
[[Category:Wikipedia metatemplates]] | |||
[[Category:उदाहरण आर कोड वाले लेख]] | |||
[[Category:कम्प्यूटेशनल तंत्रिका विज्ञान]] | |||
[[Category:कार्य और मैपिंग]] | |||
[[Category:कृत्रिम तंत्रिका नेटवर्क]] | [[Category:कृत्रिम तंत्रिका नेटवर्क]] | ||
[[Category: | [[Category:घातांक]] | ||
[[Category:पायथन (प्रोग्रामिंग भाषा) कोड के उदाहरण के साथ लेख]] | [[Category:पायथन (प्रोग्रामिंग भाषा) कोड के उदाहरण के साथ लेख]] | ||
[[Category:लेख उदाहरण के साथ जूलिया कोड]] | |||
[[Category: लेख उदाहरण के साथ जूलिया कोड]] | [[Category:लॉजिस्टिक रिग्रेशन]] | ||
[[Category: | |||
Latest revision as of 09:50, 25 November 2022
Part of a series on |
Machine learning and data mining |
---|
सॉफ्टमैक्स फलन, जिसे सॉफ्टर्गमैक्स[1]: 184 या सामान्यीकृत घातांकीय फलन[2]: 198 के रूप से भी जाना जाता है, K वास्तविक संख्याओं के सदिश को K संभावित परिणामों के प्रायिकता वितरण में परिवर्तित करता है। तथा यह कई आयामों के लिए तार्किक फलन का सामान्यीकरण है, जो बहुराष्ट्रीय तार्किक प्रतिगमन में उपयोग किया जाता है। सॉफ्टमैक्स फलन का उपयोग अधिकांश कृत्रिम तंत्रिका नेटवर्क के अंतिम सक्रियण फलन के रूप में किया जाता है, जो लूस के अनुरूप सिद्धान्त के आधार पर अनुमानित उत्पाद वर्गों पर प्रायिकता वितरण के लिए नेटवर्क के प्रक्षेपण को सामान्य करता है।
परिभाषा
सॉफ्टमैक्स फलन K वास्तविक संख्याओं के एक सदिश z को इनपुट के रूप में ग्रहण करता है, और इसे एक प्रायिकता वितरण में सामान्य करता है, जिसमें K संभावनाएँ होती हैं जो इनपुट संख्याओं के घातांकों के समानुपाती होती हैं। अर्थात, सॉफ्टमैक्स को लागू करने से पहले कुछ सदिश घटक ऋणात्मक या एक से अधिक हो सकते हैं। और 1 का योग नहीं हो सकता है, लेकिन सॉफ्टमैक्स लागू करने के बाद प्रत्येक घटक अंतराल में होगा, और घटक 1 तक जोड़ देंगे, जिससे कि उन्हें संभावनाओं के रूप में समझा जा सके। तथा इसके अतिरिक्त बड़े निवेशित घटक बड़ी संभावनाओं के अनुरूप होंगे।
मानक (यूनिट) सॉफ्टमैक्स फलन परिभाषित किया गया है, जब सूत्र द्वारा
व्याख्याएं
समतल आर्ग मैक्स
सॉफ्टमैक्स एक भ्रामक नाम है, जो फलन अधिकतम समतल (अधिकतम फलन के लिए समतल सन्निकटन) नहीं होता है, जबकि आर्ग मैक्स फलन के लिए एक सरलतम सन्निकटन है। वह फलन जिसका मान एक घातांक जिसमें अधिकतम होता है। वास्तव में सॉफ्टमैक्स शब्द का उपयोग घनिष्ठता से संबंधित LogSumExp फलन के लिए भी किया जाता है, जो कि एक सहज अधिकतम है। इस कारण से कुछ अधिक सटीक शब्द सॉफ्टमैक्स को समान करते हैं, लेकिन मशीन लर्निंग में सॉफ्टमैक्स शब्द पारंपरिक है।[3][4] इस व्याख्या पर महत्व देने के लिए यह खंड सॉफ्टरमैक्स शब्द का उपयोग करता है।
औपचारिक रूप से आर्ग मैक्स को श्रेणीबद्ध उत्पाद वाले फलन के रूप में मानने के अतिरिक्त (सूचकांक के अनुरूप), उत्पाद के एक गर्म प्रतिनिधित्व के साथ अधिकतम फलन पर विचार करें। (मान लीजिए कि एक अद्वितीय अधिकतम तर्क है।)
जहां उत्पादित निर्देशांक यदि केवल का तर्क अधिकतम है , अर्थ का अद्वितीय अधिकतम मान है . उदाहरण के लिए, इस एन्कोडिंग में चूंकि तीसरा तर्क अधिकतम है।
सभी अधिकतम तर्कों के बीच 1 को विभाजित करके इसे एकाधिक तर्क अधिकतम मानों (एकाधिक बराबर अधिकतम होने के लिए) के लिए सामान्यीकृत किया जा सकता है; औपचारिक रूप से 1/k जहां k अधिकतम मानने वाले तर्कों की संख्या है। उदाहरण के लिए चूंकि दूसरा और तीसरा दोनों ही तर्क अधिकतम हैं। इस परिस्थिति में सभी तर्क समान हैं, यह सरल अंक z एकाधिक आर्ग अधिकतम मानों के साथ एक बीजीय विविधता या अद्वितीय समूह बनाते हैं जो विलक्षणताओं के बिंदु होते हैं - ये ऐसे बिंदु हैं जहां arg max जंप अनिरंतरता के साथ असंतुलित होते है, जबकि एकल arg max वाले बिंदु को गैर विलक्षण या नियमित बिंदु के रूप में जाना जाता है।
परिचय में दी गई अंतिम अभिव्यक्ति के साथ सॉफ्टरमैक्स अब आर्गमैक्स का एक सहज सन्निकटन है। आर्गमैक्स में परिवर्तित हो जाता है। किसी फलन के अभिसरण की विभिन्न अवधारणाएँ हैं। सॉफ्टएर्गमैक्स आर्ग को अधिकतम बिंदुवार अभिसरण में परिवर्तित करता है, जिसका अर्थ है प्रत्येक निश्चित इनपुट z के लिए ,
हालाँकि, सॉफ्टरमैक्स समान रूप से आर्ग मैक्स में परिवर्तित नहीं होता है, जिसका अर्थ है कि सहज रूप से विभिन्न बिंदु अलग-अलग दरों पर अभिसरण करते हैं, और मन चाहे तरीके से धीरे-धीरे अभिसरण कर सकते हैं। वास्तव में, सॉफ्टरमैक्स निरंतर है, लेकिन एआरजी मैक्स विलक्षण समुच्चय पर निरंतर नहीं होता है जहां दो निर्देशांक समान हैं, जबकि निरंतर कार्यों की समान सीमा निरंतर है। सामान्य रूप से अभिसरण करने में विफल होने का कारण यह है कि इनपुट के लिए जहां दो निर्देशांक लगभग बराबर होते हैं और एक अधिकतम होता है, तर्क अधिकतम एक या दूसरे का सूचकांक होता है, इसलिए इनपुट में एक छोटा सा परिवर्तन आउटपुट में बड़ा परिवर्तन कर सकता है।
उदाहरण के लिए, लेकिन तथा सभी इनपुट के लिए बिंदु विलक्षण समुच्चय के जितने पास होते हैं, उतनी ही धीमी गति से वे अभिसरित होते हैं। हालांकि, सॉफ़्टर्गमैक्स गैर-विलक्षण समुच्चय पर कॉम्पैक्ट रूप से अभिसरण करता है।
इसके विपरीत सॉफ्टरमैक्स उसी तरह आर्ग मिन में परिवर्तित होता है, जहाँ गैर-विलक्षण समुच्चय दो आर्ग मिन मानों के साथ बिंदु है। उष्णकटिबंधीय विश्लेषण की भाषा में, सॉफ्टमैक्स, अधिकतम-प्लस सेमीरिंग (क्रमशः न्यूनतम-प्लस सेमी-रिंग) के अतिरिक्त लॉग सेमीरिंग का उपयोग करने के लिए और आर्ग मैक्स या पुनर्प्राप्त करने के लिए, आर्ग मैक्स और आर्ग मिन का एक विरूपण या परिमाणीकरण है। जिसमे सीमा लेने से आर्ग मिन को उष्णकटिबंधीयकरण या विघटन कहा जाता है।
यह भी परिस्थिति है कि, किसी निश्चित के लिए β, यदि एक इनपुट तापमान के सापेक्ष अन्य की तुलना में बहुत बड़ा है, , आउटपुट लगभग arg अधिकतम है। उदाहरण के लिए, 1 के तापमान के सापेक्ष 10 का अंतर बड़ा होता है।
हालाँकि, यदि अंतर तापमान के सापेक्ष छोटा है, तो मान आर्गमैक्स के करीब नहीं है। उदाहरण के लिए 10 का अंतर 100 के तापमान के सापेक्ष छोटा होता है।
प्रायिकता सिद्धांत
प्रायिकता सिद्धांत में, सॉफ्टर्गमैक्स फलन के आउटपुट का उपयोग एक स्पष्ट वितरण का प्रतिनिधित्व करने के लिए किया जा सकता है - अर्थात, एक प्रायिकता वितरण K विभिन्न संभावित परिणाम होता है।
सांख्यिकीय यांत्रिकी
सांख्यिकीय यांत्रिकी में, सॉफ्टर्गमैक्स फलन को बोल्ट्ज़मान वितरण या गिब्स वितरण के रूप में जाना जाता है।[5]: 7 सूचकांक समुच्चय प्रणाली के सूक्ष्म अवस्था हैं। इनपुट उस अवस्था की ऊर्जाएँ हैं, जहाँ विभाजक को विभाजन फलन के रूप में जाना जाता है, जिसे अधिकांश निरूपित किया जाता है Z और कारक β शीतलता, थर्मोडायनामिक बीटा , या विपरीत तापमान कहा जाता है।
अनुप्रयोग
सॉफ्टमैक्स फलन का उपयोग विभिन्न बहुवर्गीय श्रेणीविभाजन विधियों में किया जाता है, जैसे कि बहुराष्ट्रीय तार्किक प्रतिगमन जिसे सॉफ्टमैक्स तार्किक भी कहा जाता है[2]: 206–209 [1], बहुवर्गीय रैखिक विभेदक विश्लेषण, अनुभवहीन बेज वर्गीकारक और कृत्रिम नेटवर्क प्रसार।[6] विशेष रूप से बहुराष्ट्रीय तार्किक प्रतिगमन और रैखिक विभेदक विश्लेषण में फलन के इनपुट का परिणाम होता है K विशिष्ट रैखिक कार्य और के लिए साधारण सदिश x और भार सदिश w दिए जाने पर j वें वर्ग के लिए अनुमानित प्रायिकता होती है।
इसे K रैखिक कार्यों की संरचना के रूप में देखा जा सकता है और सॉफ्टमैक्स फलन (जहाँ के आंतरिक उत्पाद को दर्शाता है तथा ). यह ऑपरेशन द्वारा परिभाषित एक रैखिक ऑपरेटर को सदिश पर लागू करने के बराबर है, इस प्रकार मूल को बदलना, लगभग अत्यधिक K आयामी अंतरिक्ष में सदिश के लिए इनपुट है।
तंत्रिका नेटवर्क
मानक सॉफ्टमैक्स फलन का उपयोग अधिकांश तंत्रिका नेटवर्क-आधारित वर्गीकारक की अंतिम परत में किया जाता है। इस तरह के नेटवर्क को सामान्य रूप से एक लॉग लॉस या क्रॉस एन्ट्रापी शासन के तहत प्रशिक्षित किया जाता है, जिससे बहुराष्ट्रीय तार्किक प्रतिगमन का एक गैर-रैखिक संस्करण मिलता है।
चूंकि फलन एक सदिश और एक विशिष्ट सूचक को एक वास्तविक मान पर मैप करता है, व्युत्पन्न सूचक को ध्यान में रखना चाहिए।
यहाँ क्रोनकर डेल्टा का उपयोग सादगी के लिए किया जाता है (cf. एक सिग्मॉइड फलन का व्युत्पन्न फलन के माध्यम से ही व्यक्त किया जा रहा है)।
व्युत्पन्न के स्थिर संख्यात्मक अभिकलन प्राप्त करने के लिए अधिकांश इनपुट सदिश से एक स्थिरांक घटाता है। सिद्धांत रूप में यह आउटपुट को नहीं बदलता है, और न ही व्युत्पन्न। लेकिन यह अधिक स्थिर होता है, क्योंकि यह स्पष्ट रूप से प्रत्येक घातांक में गणना किए गए सबसे बड़े मान को नियंत्रित कर सकता है।
यदि फलन , पैरामीटर के साथ परिबंधित किया गया है, तो इन अभिव्यक्तियों को से गुणा किया जाना चाहिए।
सॉफ्टमैक्स सक्रियण फलन का उपयोग करने वाले प्रायिकता प्रारूप के लिए बहुराष्ट्रीय लॉग देखें।
प्रबलीकरण सीखना
प्रबलीकरण सीखने के क्षेत्र में मानों को क्रिया संभावनाओं में बदलने के लिए एक सॉफ्टमैक्स फलन का उपयोग किया जा सकता है। सामान्य रूप से उपयोग किया जाने वाला फलन है।[7]
जहां प्रक्रिया मान निम्नलिखित प्रक्रिया के अपेक्षित प्रतिफल के अनुरूप है और एक तापमान (पैरामीटर सांख्यिकीय यांत्रिकी के संकेत में) कहा जाता है। उच्च तापमान के लिए सभी क्रियाओं की संभावना लगभग समान होती है और तापमान जितना कम होता है, उतने अधिक अपेक्षित प्रतिफल प्रायिकता को प्रभावित करते हैं। कम तापमान के लिए उच्चतम अपेक्षित प्रतिफल के साथ प्रक्रिया की संभावना 1 हो जाती है।
कम्प्यूटेशनल जटिलता और उपचार
तंत्रिका नेटवर्क अनुप्रयोगों में, संभावित परिणामों की संख्या K अधिकांश बड़ी होती है, उदाहरण- तंत्रिका भाषा प्रारूप की स्थिति में जो एक शब्दावली से सबसे संभावित परिणाम की पूर्वानुमान करता है जिसमें लाखों संभावित शब्द हो सकते हैं।[8] यह सॉफ्टमैक्स परत के लिए गणना कर सकता है अर्थात आव्यूह गुणन को निर्धारित करने के लिए , इसके बाद सॉफ्टमैक्स फलन का अनुप्रयोग कम्प्यूटेशनल रूप से महंगा है।[8][9] क्या अधिक है, इस तरह के तंत्रिका नेटवर्क के प्रशिक्षण के लिए ग्रेडिएंट डिसेंट बैकप्रोपैजेशन विधि में प्रत्येक प्रशिक्षण उदाहरण के लिए सॉफ्टमैक्स की गणना करना सम्मिलित है,तथा प्रशिक्षण उदाहरणों की संख्या भी बड़ी हो सकती है। सॉफ्टमैक्स के लिए कम्प्यूटेशनल प्रयास बड़े तंत्रिका भाषा प्रारूप के विकास में एक प्रमुख सीमित कारक बन गया, जो प्रशिक्षण समय को कम करने के लिए विभिन्न उपायों को प्रेरित करता है।[8][9]
अधिक कुशल गणना के लिए सॉफ्टमैक्स परत को पुनर्गठित करने वाले दृष्टिकोणों में पदानुक्रमित सॉफ्टमैक्स और विभेदित सॉफ्टमैक्स सम्मिलित हैं।[8] पदानुक्रमित सॉफ्टमैक्स 2005 में मोरिन और जोशुआ बेंगियो द्वारा प्रस्तुत किया गया, यह एक बाइनरी ट्री संरचना का उपयोग करता है जहां परिणाम (शब्दावली शब्द) उत्तरदायित्व होते हैं और मध्यवर्ती नोड्स परिणामों के उपयुक्त रूप से चयनित वर्ग होते हैं, जो अव्यक्त चर बनाते हैं।[9][10] एक उत्तरदायी परिणाम की वांछित प्रायिकता सॉफ्टमैक्स मान की गणना तब रूट से उस पत्ते तक के सभी नोड्स की संभावनाओं के उत्पाद के रूप में की जा सकती है।[9]आदर्श रूप से जब ट्री संतुलित होता है, तो इससे कम्प्यूटेशनल जटिलता कम हो जाएगी प्रति .[10]व्यवहार में, परिणाम कक्षाओं में परिणामों को समूहबद्ध करने के लिए एक अच्छी रणनीति चुनने पर निर्भर करते हैं।[9][10] मापनीयता प्राप्त करने के लिए Google के word2vec प्रारूप (2013 में प्रस्तुत) में इसके लिए एक हफमैन ट्री का उपयोग किया गया था।[8]
एक दूसरे प्रकार का उपाय संशोधित हानि कार्यों के साथ सॉफ्टमैक्स (प्रशिक्षण के दौरान) का अनुमान लगाने पर आधारित होता है, जो पूर्ण सामान्यीकरण कारक की गणना से बचते हैं।[8]इनमें ऐसे तरीके सम्मिलित हैं, जो सामान्यीकरण योग को परिणामों के प्रतिरूप तक सीमित करते हैं। (उदाहरण के लिए महत्व प्रतिचयन, लक्ष्य प्रतिचयन)।[8][9]
गणितीय गुण
ज्यामितीय रूप से सॉफ्टमैक्स फलन सदिश स्थल को सम्बद्ध करता है। सिम्प्लेक्स मानक की सीमा (टोपोलॉजी) के लिए -सिम्प्लेक्स, आयाम को एक से काटकर (श्रेणी -आयामी सिंप्लेक्स मे -आयामी अंतरिक्ष), रैखिक बाधा के कारण कि सभी आउटपुट योग 1 का अर्थ है, कि यह एक अधिसमतल पर स्थित होता है।
मुख्य विकर्ण के साथ सॉफ्टमैक्स आउटपुट पर सिर्फ एक समान वितरण है : समान स्कोर से समान संभावनाएँ प्राप्त होती हैं।
अधिक सामान्यतः, सॉफ्टमैक्स अनुवाद के तहत प्रत्येक समन्वय में समान मान द्वारा अपरिवर्तनीय है। जोड़ना इनपुट के लिए पैदावार , क्योंकि यह प्रत्येक घातांक को उसी कारक से गुणा करता है, () इसलिए इनके अनुपात मे कोई परिवर्तन नही होता हैं।
ज्यामितीय रूप से, सॉफ्टमैक्स विकर्णों के साथ स्थिर है। यह वह आयाम है जो समाप्त हो गया है, और सॉफ्टमैक्स आउटपुट इनपुट स्कोर में अनुवाद से स्वतंत्र होने के अनुरूप है (0 स्कोर का विकल्प)। कोई यह मानकर इनपुट स्कोर को सामान्य कर सकता है कि योग शून्य है (औसत घटाएं: जहाँ पर ), और फिर सॉफ्टमैक्स उन बिंदुओं का अधिसमतल लेता है। जिनका योग शून्य होता है, , घनात्मक मानों के खुले सिंप्लेक्स के लिए जिसका योग 1 है , उसी प्रकार जैसे घातांक 0 से 1 लेता है, और घनात्मक होता है। इसके विपरीत सॉफ्टमैक्स स्केलिंग के तहत अपरिवर्तनीय नहीं होते है।
उदाहरण के लिए, लेकिन
मानक तार्किक फलन 2-आयामी अंतरिक्ष में 1-आयामी अक्ष के लिए विशेष परिस्थिति होती है, x -अक्ष में कहें (x, y) समतल एक चर 0 पर तय किया गया है। (माना ), इसलिए , और अन्य चर भिन्न हो सकते हैं, इसे निरूपित करें , इसलिए मानक तार्किक फलन इसका अनुपूरण (जिसका अर्थ है कि वे 1 तक जोड़ते हैं)। 1-आयामी इनपुट को वैकल्पिक रूप से रेखा के रूप में व्यक्त किया जा सकता है , आउटपुट के साथ तथा
सॉफ्टमैक्स फलन भी LogSumExp फलन का ग्रेडिएंट है, एक सहज अधिकतम-
जहाँ LogSumExp फलन को इस रूप में परिभाषित किया गया है .
इतिहास
सॉफ्टमैक्स फलन का उपयोग सांख्यिकीय यांत्रिकी में बोल्ट्जमैन वितरण के रूप में मूलभूत लेख बोल्ट्जमैन (1868) में किया गया था, प्रभावशाली पाठ्यपुस्तक गिब्स (1902) .[11] में औपचारिक और लोकप्रिय हुआ।
निर्णय सिद्धांत में सॉफ्टमैक्स के उपयोग का श्रेय लूस (1959) ,[12]: 1 को दिया जाता है, जिन्होंने तार्किक उचित सिद्धांत में अप्रासंगिक विकल्पों की स्वतंत्रता के सिद्धांत का उपयोग करके सापेक्षिक प्राथमिकताओं के लिए लूस के उचित सिद्धांत सॉफ्टमैक्स को निकाला गया।
मशीन लर्निंग में, सॉफ्टमैक्स शब्द का श्रेय जॉन एस. ब्रिडल को 1989 के दो सम्मेलन पत्रों मे ब्रिडल (1990a) :[12]: 1 और ब्रिडल (1990b) :[3] में दिया जाता है।
हम कई आउटपुट के साथ अग्र भरण गैर रेखीय नेटवर्क (बहु परत परसेप्ट्रॉन, या एमएलपी) से संबंधित हैं। हम नेटवर्क के आउटपुट को इनपुट पर वातानुकूलित विकल्पों जैसे प्रतिरूप कक्ष की संभावनाओं के रूप में देखना चाहते हैं। हम नेटवर्क के मापदंडों के अनुकूलन के लिए उचित आउटपुट गैर-रैखिकता और उचित मानदंड के लिए देखते हैं (जैसे वजन)। हम दो संशोधनों की व्याख्या करते हैं तथा प्रायिकता स्कोरिंग जो वर्ग त्रुटि न्यूनीकरण का एक विकल्प है, और एक सामान्यीकृत घातांक सॉफ्टमैक्स गैर रेखीय का बहु-इनपुट सामान्यीकरण होता है।[13]: 227
किसी भी इनपुट के लिए, सभी आउटपुट धनात्मक होने चाहिए तथा उनका योग मे एकता होना चाहिए।
अनियंत्रित मानों के एक सेट को देखते हुए, , हम सामान्यीकृत घातीय परिवर्तन का उपयोग करके दोनों स्थितियों को सुनिश्चित कर सकते हैं। इस परिवर्तन को तार्किक का एक बहु-इनपुट सामान्यीकरण माना जा सकता है, जो संपूर्ण आउटपुट परत पर काम करता है। तथा यह अपने इनपुट मानों के स्थिति क्रम को संरक्षित करता है, और अधिकतम मान चुनने के विनर-टेक-ऑल' ऑपरेशन का एक अलग-अलग सामान्यीकरण होता है। इस कारण से हम इसे सॉफ्टमैक्स के रूप में संदर्भित करना पसंद करते हैं।[14]: 213
उदाहरण
यदि हम [1, 2, 3, 4, 1, 2, 3] का इनपुट लेते हैं तो उसका सॉफ्टमैक्स [0.024, 0.064, 0.175, 0.475, 0.024, 0.064, 0.175] है। आउटपुट का अधिकांश वजन वहीं होता है जो 4 मूल इनपुट में था। यह वह है जिसके लिए फलन का सामान्य रूप से उपयोग किया जाता है: सबसे बड़े मानों को उजागर करने और उन मानों को दबाने के लिए जो अधिकतम मान से काफी नीचे हैं। लेकिन सॉफ्टमैक्स स्केल अपरिवर्तनीय नहीं होते है, इसलिए यदि इनपुट [0.1, 0.2, 0.3, 0.4, 0.1, 0.2, 0.3] जो 1.6 के बराबर है, तो सॉफ्टमैक्स [0.125, 0.138, 0.153, 0.169, 0.125, 0.138, 0.153] होगा। इससे पता चलता है कि 0 और 1 सॉफ्टमैक्स के बीच के मानों के लिए, वास्तव में, अधिकतम मान पर महत्व दिया जाता है। (कि 0.169 न केवल 0.475 से कम है, यह 0.4/1.6 = 0.25 के प्रारंभिक अनुपात से भी कम है)।
पायथन (प्रोग्रामिंग भाषा) कोड का उपयोग करके इस उदाहरण की गणना:
>>> import numpy as np
>>> a = [1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0]
>>> np.exp(a) / np.sum(np.exp(a))
array([0.02364054, 0.06426166, 0.1746813, 0.474833, 0.02364054,
0.06426166, 0.1746813])
यह जूलिया (प्रोग्रामिंग भाषा) कोड का एक उदाहरण दिया गया है।
julia> A = [1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0]; # semicolon to suppress interactive output julia> exp.(A) ./ sum(exp.(A)) 7-element Array{Float64,1}: 0.0236405 0.0642617 0.174681 0.474833 0.0236405 0.0642617
यह R (प्रोग्रामिंग भाषा) कोड का एक उदाहरण दिया गया है।
> z <- c(1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0)
> softmax <- exp(z)/sum(exp(z))
> softmax
[1] 0.02364054 0.06426166 0.17468130 0.47483300 0.02364054 0.06426166 0.17468130
यह अमृत (प्रोग्रामिंग भाषा) कोड का एक उदाहरण है।[15]
iex> t = Nx.tensor([[1, 2], [3, 4]])
iex> Nx.divide(Nx.exp(t), Nx.sum(Nx.exp(t))
Nx.Tensor<
f64[2][2]
[
[0.03205860328008499, 0.08714431874203257],
[0.23688281808991013, 0.6439142598879722]
]
>
यह राकू (प्रोग्रामिंग भाषा) कोड का एक उदाहरण है।
> my @z = [1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0];
> say @z.map: {exp($_)/sum(@z.map: {exp($_)})}
(0.023640543021591385 0.06426165851049616 0.17468129859572226 0.4748329997443803 0.023640543021591385 0.06426165851049616 0.17468129859572226)
यह भी देखें
- सॉफ्टप्लस
- बहुराष्ट्रीय तार्किक प्रतिगमन
- डिरिचलेट वितरण - श्रेणीबद्ध वितरण का प्रतिरूप लेने का एक वैकल्पिक तरीका
- विभाजन फलन (सांख्यिकीय यांत्रिकी)
- घातीय झुकाव - अधिक सामान्य प्रायिकता वितरण के लिए सॉफ्टमैक्स का सामान्यीकरण।
टिप्पणियाँ
- ↑ Positive β corresponds to the maximum convention, and is usual in machine learning, corresponding to the highest score having highest probability. The negative −β corresponds to the minimum convention, and is conventional in thermodynamics, corresponding to the lowest energy state having the highest probability; this matches the convention in the Gibbs distribution, interpreting β as coldness.
- ↑ The notation β is for the thermodynamic beta, which is inverse temperature:
- ↑ For (coldness zero, infinite temperature), , and this becomes the constant function , corresponding to the discrete uniform distribution.
- ↑ In statistical mechanics, fixing β is interpreted as having coldness and temperature of 1.
संदर्भ
- ↑ Goodfellow, Ian; Bengio, Yoshua; Courville, Aaron (2016). "6.2.2.3 Softmax Units for Multinoulli Output Distributions". ध्यान लगा के पढ़ना या सीखना. MIT Press. pp. 180–184. ISBN 978-0-26203561-3.
- ↑ 2.0 2.1 Bishop, Christopher M. (2006). पैटर्न मान्यता और मशीन प्रवीणता. Springer. ISBN 0-387-31073-8.
- ↑ 3.0 3.1 Sako, Yusaku (2018-06-02). "Is the term "softmax" driving you nuts?". Medium.
- ↑ Goodfellow, Bengio & Courville 2016, pp. 183–184: The name "softmax" can be somewhat confusing. The function is more closely related to the arg max function than the max function. The term "soft" derives from the fact that the softmax function is continuous and differentiable. The arg max function, with its result represented as a one-hot vector, is not continuous or differentiable. The softmax function thus provides a "softened" version of the arg max. The corresponding soft version of the maximum function is . It would perhaps be better to call the softmax function "softargmax," but the current name is an entrenched convention.
- ↑ LeCun, Yann; Chopra, Sumit; Hadsell, Raia; Ranzato, Marc’Aurelio; Huang, Fu Jie (2006). "A Tutorial on Energy-Based Learning" (PDF). In Gökhan Bakır; Thomas Hofmann; Bernhard Schölkopf; Alexander J. Smola; Ben Taskar; S.V.N Vishwanathan (eds.). संरचित डेटा की भविष्यवाणी करना. Neural Information Processing series. MIT Press. ISBN 978-0-26202617-8.
- ↑ ai-faq What is a softmax activation function?
- ↑ Sutton, R. S. and Barto A. G. Reinforcement Learning: An Introduction. The MIT Press, Cambridge, MA, 1998. Softmax Action Selection
- ↑ 8.0 8.1 8.2 8.3 8.4 8.5 8.6 Onal, Kezban Dilek; Zhang, Ye; Altingovde, Ismail Sengor; Rahman, Md Mustafizur; Karagoz, Pinar; Braylan, Alex; Dang, Brandon; Chang, Heng-Lu; Kim, Henna; McNamara, Quinten; Angert, Aaron (2018-06-01). "तंत्रिका सूचना पुनर्प्राप्ति: प्रारंभिक वर्षों के अंत में". Information Retrieval Journal (in English). 21 (2): 111–182. doi:10.1007/s10791-017-9321-y. ISSN 1573-7659.
- ↑ 9.0 9.1 9.2 9.3 9.4 9.5 Chen, Wenlin; Grangier, David; Auli, Michael (August 2016). "बड़े शब्दावली तंत्रिका भाषा मॉडल प्रशिक्षण के लिए रणनीतियाँ". Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). Berlin, Germany: Association for Computational Linguistics: 1975–1985. doi:10.18653/v1/P16-1186.
- ↑ 10.0 10.1 10.2 Morin, Frederic; Bengio, Yoshua (2005-01-06). "पदानुक्रमित संभाव्य तंत्रिका नेटवर्क भाषा मॉडल" (PDF). International Workshop on Artificial Intelligence and Statistics (in English). PMLR: 246–252.
- ↑ Gibbs, Josiah Willard (1902). सांख्यिकीय यांत्रिकी में प्राथमिक सिद्धांत.
- ↑ 12.0 12.1 Gao, Bolin; Pavel, Lacra (2017). "गेम थ्योरी और रीइन्फोर्समेंट लर्निंग में एप्लीकेशन के साथ सॉफ्टमैक्स फंक्शन के गुणों पर". arXiv:1704.00805 [math.OC].
- ↑ Bridle, John S. (1990a). Soulié F.F.; Hérault J. (eds.). Probabilistic Interpretation of Feedforward Classification Network Outputs, with Relationships to Statistical Pattern Recognition. Neurocomputing: Algorithms, Architectures and Applications (1989). NATO ASI Series (Series F: Computer and Systems Sciences). Vol. 68. Berlin, Heidelberg: Springer. pp. 227–236. doi:10.1007/978-3-642-76153-9_28.
- ↑ Bridle, John S. (1990b). D. S. Touretzky (ed.). Training Stochastic Model Recognition Algorithms as Networks can Lead to Maximum Mutual Information Estimation of Parameters. Advances in Neural Information Processing Systems 2 (1989). Morgan-Kaufmann.
- ↑ "एनएक्स/एनएक्स मुख्य पर · अमृत-एनएक्स/एनएक्स".