सॉफ्टमैक्स फ़ंक्शन, जिसे सॉफ्टआर्गमैक्स या सामान्यीकृत घातांकीय फ़ंक्शन के रूप में भी जाना जाता है, एक गणितीय फ़ंक्शन है जो वास्तविक संख्याओं के एक सदिश को संभाव्यता वितरण में परिवर्तित करता है। यह लॉजिस्टिक फ़ंक्शन का बहु-आयामी सामान्यीकरण है और मशीन लर्निंग में व्यापक रूप से उपयोग किया जाता है, विशेष रूप से डीप लर्निंग में बहु-वर्ग वर्गीकरण समस्याओं के लिए।
परिभाषा
एक इनपुट सदिश \( \mathbf{z} = (z_1, \dots, z_K) \in \mathbb{R}^K \) जहाँ \( K > 1 \) है, को देखते हुए, सॉफ्टमैक्स फ़ंक्शन \( \sigma: \mathbb{R}^K \to (0,1)^K \) प्रत्येक घटक \( i \) के लिए इस प्रकार परिभाषित है:
\[ \sigma(\mathbf{z})_i = \frac{e^{z_i}}{\sum_{j=1}^{K} e^{z_j}} \]
आउटपुट सकारात्मक मानों का एक सदिश है जिसका योग 1 होता है, जिससे इसे एक श्रेणीबद्ध संभाव्यता वितरण के रूप में व्याख्यायित किया जा सकता है। घातांकीय संक्रिया इनपुट में अंतर को बढ़ाती है, इसलिए बड़े इनपुट मान अनुपातहीन रूप से बड़ी संभावनाएँ उत्पन्न करते हैं। उदाहरण के लिए, सदिश \( (1, 2, 8) \) पर सॉफ्टमैक्स लागू करने से लगभग \( (0.001, 0.002, 0.997) \) प्राप्त होता है, जो लगभग सभी संभाव्यता द्रव्यमान को सबसे बड़े तत्व को सौंपता है।
गुण
सॉफ्टमैक्स फ़ंक्शन के कई महत्वपूर्ण गुण हैं:
- आउटपुट परिसर: प्रत्येक घटक सख्ती से 0 और 1 के बीच होता है।
- योग एक के बराबर: सभी आउटपुट घटकों का योग 1 के बराबर होता है।
- क्रम संरक्षण: यदि \( z_i > z_j \), तो \( \sigma(\mathbf{z})_i > \sigma(\mathbf{z})_j \)।
- स्थिरांक शिफ्ट के प्रति अपरिवर्तनशीलता: सभी इनपुट में एक स्थिरांक \( c \) जोड़ने से आउटपुट अपरिवर्तित रहता है, क्योंकि \( e^{z_i + c} / \sum_j e^{z_j + c} = e^{z_i} / \sum_j e^{z_j} \)। इस गुण का उपयोग अक्सर संख्यात्मक स्थिरता के लिए गणना से पहले अधिकतम इनपुट मान घटाकर किया जाता है।
तापमान पैरामीटर
सॉफ्टमैक्स फ़ंक्शन का एक प्रकार तापमान पैरामीटर \( \beta \) (या इसका व्युत्क्रम \( T = 1/\beta \)) प्रस्तुत करता है:
\[ \sigma(\mathbf{z})_i = \frac{e^{\beta z_i}}{\sum_{j=1}^{K} e^{\beta z_j}} \]
जब \( \beta > 1 \), वितरण अधिक केंद्रित ("तीव्र") हो जाता है अधिकतम इनपुट के आसपास, जबकि \( 0 < \beta < 1 \) अधिक समान वितरण उत्पन्न करता है। यह पैरामीटर आमतौर पर टॉप-के सैंपलिंग और तापमान स्केलिंग में जनरेटिव एआई मॉडल के लिए आउटपुट यादृच्छिकता को नियंत्रित करने के लिए उपयोग किया जाता है।
अनुप्रयोग
सॉफ्टमैक्स कई तंत्रिका नेटवर्क वास्तुकलाओं में एक मुख्य घटक है:
- वर्गीकरण: अंतिम सक्रियण परत के रूप में, यह कच्चे लॉगिट्स को वर्ग संभावनाओं में परिवर्तित करता है, जिससे क्रॉस-एन्ट्रॉपी हानि के साथ प्रशिक्षण संभव होता है।
- ध्यान तंत्र: ट्रांसफॉर्मर मॉडल में, सॉफ्टमैक्स का उपयोग अनुक्रम स्थितियों पर ध्यान भार की गणना करने के लिए किया जाता है, जैसा कि मल्टी-हेड अटेंशन में देखा जाता है।
- सुदृढीकरण लर्निंग: यह क्रिया प्राथमिकताओं को एक स्टोकास्टिक नीति में परिवर्तित करता है।
- मिश्रण मॉडल: इसका उपयोग गाऊसी मिश्रण मॉडल जैसे मॉडलों में मिश्रण भार की गणना के लिए किया जाता है।
संख्यात्मक स्थिरता
घातांक की सीधी गणना बड़े इनपुट के लिए अतिप्रवाह का कारण बन सकती है। एक सामान्य उपाय घातांक से पहले अधिकतम इनपुट मान घटाना है:
\[ \sigma(\mathbf{z})_i = \frac{e^{z_i - \max(\mathbf{z})}}{\sum_{j=1}^{K} e^{z_j - \max(\mathbf{z})}} \]
यह परिवर्तन शिफ्ट अपरिवर्तनशीलता गुण के कारण परिणाम नहीं बदलता है, लेकिन यह सुनिश्चित करता है कि सबसे बड़ा घातांक शून्य है, जिससे अतिप्रवाह रुकता है।
संबंधित अवधारणाएँ
सॉफ्टमैक्स फ़ंक्शन लॉजिस्टिक फ़ंक्शन से निकटता से संबंधित है, जो \( K = 2 \) के लिए इसका विशेष मामला है। यह हानि फ़ंक्शन जैसे क्रॉस-एन्ट्रॉपी के संदर्भ में भी प्रकट होता है, और अनुक्रम निर्माण के लिए बीम सर्च डिकोडिंग में। बड़े भाषा मॉडल अनुमान में, सॉफ्टमैक्स को टोकन संभावनाएँ प्राप्त करने के लिए लॉगिट्स पर लागू किया जाता है, अक्सर रचनात्मकता और सुसंगतता को संतुलित करने के लिए तापमान समायोजन के साथ।