Last chance! 50% off DataCamp Premium
Sale ends in
भले ही आपके फ़ंक्शन के हर आंशिक अवकलज का मान शून्य हो, यह गारंटी नहीं कि आप किसी न्यूनतम के पास हैं।
ऑप्टिमाइज़ेशन किसी फ़ंक्शन के सबसे छोटे या सबसे बड़े मान की तलाश है, और आप जो भी विधि अपनाते हैं, वह ऐसे बिंदु को ढूंढ़ती है जहाँ ग्रेडिएंट सपाट हो। लेकिन सपाट ग्रेडिएंट का मतलब यह नहीं कि आपने सबसे अच्छा उत्तर पा लिया है। कभी-कभी इसका अर्थ होता है कि फ़ंक्शन उसी बिंदु पर एक दिशा में ऊपर और दूसरी दिशा में नीचे जाता है।
ऐसे बिंदु को सैडल पॉइंट कहते हैं—यह एक ओर नीचे, दूसरी ओर ऊपर जाता है, और चारों ओर समतल लगता है। सैडल पॉइंट पहचानना ज़रूरी है क्योंकि आपका एल्गोरिद्म वहाँ अटक सकता है और सपाट ग्रेडिएंट को वास्तविक न्यूनतम समझ सकता है।
इस लेख में, मैं आपको गणितीय रूप से सैडल पॉइंट कैसे पहचानें, और यह क्यों ऑप्टिमाइज़ेशन एल्गोरिद्म को अक्सर उलझा देता है, समझाऊँगा।
सैडल पॉइंट पर ग्रेडिएंट शून्य होता है, ठीक वैसे ही जैसे न्यूनतम या अधिकतम पर। पर सैडल पॉइंट न तो न्यूनतम होता है, न अधिकतम।
फ़ंक्शन उसी बिंदु पर कुछ दिशाओं में ऊपर की ओर और कुछ दिशाओं में नीचे की ओर मुड़ता है। एक अक्ष के साथ बढ़ें तो मान बढ़ेगा, दूसरी अक्ष के साथ बढ़ें तो मान घटेगा। नाम की वजह भी यह है—यह घोड़े की काठी (saddle) के आकार जैसा है, जो आगे-पीछे की ओर ऊपर और किनारों की ओर नीचे मुड़ती है।
यहाँ एक साधारण द्विचर फ़ंक्शन है जिससे मैं यह दिखाऊँगा:

द्विचर फ़ंक्शन
उद्गम (0, 0) पर दोनों आंशिक अवकलज शून्य हैं, इसलिए यह एक क्रिटिकल पॉइंट (या स्थिर बिंदु) है। x-अक्ष के साथ बढ़ें तो f x^2 पद के कारण बढ़ता है। y-अक्ष के साथ बढ़ें तो f -y^2 पद के कारण घटता है।
यदि आप इस फ़ंक्शन को 3D में प्लॉट करें, तो पृष्ठ सतह एक दिशा में ऊपर और दूसरी में नीचे मुड़ती है—ठीक वही आकार जिसके नाम पर सैडल पॉइंट रखा गया है।

f(x, y) = x^2 - y^2 का 3D सरफेस प्लॉट
उसी फ़ंक्शन का कॉनटूर प्लॉट ऊपर से यही कहानी बताता है। उद्गम के आसपास की कॉनटूर रेखाएँ हाइपरबोला जैसी दिखती हैं, न कि वे बंद लूप जो न्यूनतम या अधिकतम के आसपास दिखते हैं।

f(x, y) = x^2 - y^2 का कॉनटूर प्लॉट
सटीक परिभाषा क्षेत्र के अनुसार थोड़ी बदलती है। बहुवेरियेबल कैलकुलस में, सैडल पॉइंट वह क्रिटिकल पॉइंट है जो न स्थानीय न्यूनतम होता है न अधिकतम। ऑप्टिमाइज़ेशन और गेम थ्योरी में, यह शब्द अलग अर्थ में भी आता है, जो वक्रता की जगह मिनीमैक्स समस्याओं से जुड़ा है। इस भेद पर आगे बात करेंगे।
गणितीय रूप से सैडल पॉइंट पहचानने से पहले, यह देखना उपयोगी है कि वे अन्य दो प्रकार के क्रिटिकल पॉइंट से कैसे तुलना करते हैं।
स्थानीय न्यूनतम पर फ़ंक्शन हर नज़दीकी दिशा में बढ़ता है। एक कटोरा कल्पना करें—तल से किसी भी दिशा में हटेंगे तो ऊपर जाएँगे। फ़ंक्शन f(x, y) = x2 + y2 ऐसा ही व्यवहार करता है।
स्थानीय अधिकतम पर फ़ंक्शन हर नज़दीकी दिशा में घटता है। यह न्यूनतम की परछाईं जैसा है—कटोरे की जगह गुंबद। फ़ंक्शन f(x, y) = -x2 - y2 उद्गम से दूर हर दिशा में घटता है।
सैडल पॉइंट पर फ़ंक्शन कुछ दिशाओं में बढ़ता है और कुछ में घटता है। यही कारण है कि f(x, y) = x2 - y2, पिछले खंड का उदाहरण, न्यूनतम या अधिकतम नहीं बल्कि सैडल पॉइंट है: यह x-अक्ष पर ऊपर और y-अक्ष पर नीचे जाता है, उसी बिंदु पर।
यहाँ तीनों की साथ-साथ तुलना है:

स्थानीय न्यूनतम, स्थानीय अधिकतम और सैडल पॉइंट के 3D सरफेस प्लॉट (साइड-बाय-साइड)
सैडल पॉइंट ढूँढ़ना मूलतः अवकलज लेने, जहाँ वे शून्य हों वह बिंदु खोजने, और फिर उस बिंदु के आसपास फ़ंक्शन की वक्रता देखने पर आधारित है।
मैं वही फ़ंक्शन फिर से लूँगा:

संदर्भ फ़ंक्शन
प्रक्रिया चरण-दर-चरण इस प्रकार है।
f का x के सापेक्ष अवकलज लें, y को नियत मानकर, फिर y के लिए भी यही करें:

पहले आंशिक अवकलज निकालना
उस बिंदु के लिए हल करें जहाँ दोनों आंशिक अवकलज एक साथ शून्य हों:

अवकलजों को शून्य रखना
इससे x = 0 और y = 0 मिलता है, अतः (0, 0) एक क्रिटिकल पॉइंट है। पहले अवकलज यह नहीं बताते कि यह किस प्रकार का है।
आपको तीन चाहिए: f_x का x के सापेक्ष अवकलज, f_y का y के सापेक्ष अवकलज, और मिश्रित अवकलज:

दूसरे अवकलज
f_xx = 2 धनात्मक है, इसलिए f x-अक्ष के साथ ऊपर की ओर मुड़ता है। f_yy = -2 ऋणात्मक है, इसलिए f y-अक्ष के साथ नीचे की ओर मुड़ता है। एक दिशा ऊपर, दूसरी दिशा नीचे—यही सैडल पॉइंट है।
यह चार-चरणीय प्रक्रिया किसी भी द्वितीय-अवकलनीय (twice-differentiable) फ़ंक्शन के लिए काम करती है।
अगले दो खंडों में, मैं चरण 4 को उन औज़ारों से औपचारिक बनाऊँगा जो दो से अधिक चर पर भी काम करते हैं: हे-सियन मैट्रिक्स और सेकंड डेरिवेटिव टेस्ट।
हे-सियन मैट्रिक्स पिछले खंड के सभी दूसरे अवकलजों को एक वस्तु में समाहित करता है, और यही औज़ार बताता है कि कोई क्रिटिकल पॉइंट न्यूनतम है, अधिकतम है, या सैडल।
द्विचर फ़ंक्शन के लिए, हे-सियन इस तरह दिखता है:

द्विचर फ़ंक्शन के लिए हे-सियन
प्रत्येक प्रविष्टि वक्रता बताती है: f_xx और f_yy क्रमशः x और y अक्षों के साथ वक्रता का वर्णन करते हैं, और f_xy बताता है कि वे दोनों दिशाएँ कैसे परस्पर प्रभाव डालती हैं। यदि आप पिछले खंड के दूसरे अवकलज इसमें डालें, तो हमारे उदाहरण का हे-सियन इस तरह होगा:

संदर्भ फ़ंक्शन के लिए हे-सियन
सिर्फ मैट्रिक्स अपने-आप में बहुत कुछ नहीं बताता। महत्वपूर्ण हैं इसके ईगेनवैल्यू—वे संख्याएँ जो बताती हैं कि फ़ंक्शन विशेष दिशाओं (ईगेनवेक्टर) के साथ कैसे मुड़ता है।
हमारे उदाहरण का हे-सियन डायगोनल है, इसलिए ईगेनवैल्यू सीधे डायगोनल पर हैं: 2 और -2। इनके ईगेनवेक्टर x-अक्ष और y-अक्ष के साथ हैं, ठीक वैसी ही वक्रता जो आपने पिछले खंड में हाथ से पाई थी। x के साथ f ऊपर की ओर मुड़ता है क्योंकि वहाँ ईगेनवैल्यू धनात्मक है, और y के साथ नीचे की ओर क्योंकि वहाँ ईगेनवैल्यू ऋणात्मक है।
अधिकांश फ़ंक्शनों के हे-सियन डायगोनल नहीं होंगे, इसलिए ईगेनवेक्टर x और y अक्षों के साथ सीधे नहीं बैठेंगे, और आपको उन्हें मैट्रिक्स से पढ़ने की जगह हल करना होगा। लेकिन एक धनात्मक और एक ऋणात्मक ईगेनवैल्यू का अर्थ है कि आप सैडल पॉइंट पर खड़े हैं।
आपको हर बार हाथ से ईगेनवैल्यू नहीं निकालने पड़ते। द्विचर फ़ंक्शनों के लिए एक शॉर्टकट है—सेकंड डेरिवेटिव टेस्ट—जो हे-सियन के डिटरमिनेंट पर आधारित है।
उन्हीं दूसरे अवकलजों का उपयोग करते हुए डिटरमिनेंट इस प्रकार है:

डिटरमिनेंट
D हे-सियन का डिटरमिनेंट है, और इसका चिन्ह—f_xx के चिन्ह के साथ मिलकर—क्रिटिकल पॉइंट का वर्गीकरण करता है:
D > 0 और f_xx > 0: स्थानीय न्यूनतम
D > 0 और f_xx < 0: स्थानीय अधिकतम
D < 0: सैडल पॉइंट
D = 0: निष्कर्षहीन
हमारे उदाहरण में, f_xx = 2, f_yy = -2, और f_xy = 0:

संदर्भ फ़ंक्शन के लिए सेकंड डेरिवेटिव टेस्ट
D ऋणात्मक है, इसलिए यह परीक्षण पुष्टि करता है कि (0, 0) एक सैडल पॉइंट है।
यह परीक्षण पिछले खंड के ईगेनवैल्यू नियम का ही रूपांतर है, जिसे आप ईगेनवेक्टर सुलझाए बिना निकाल सकते हैं। D दोनों ईगेनवैल्यू का गुणनफल है, और f_xx + f_yy उनका योग। जब D ऋणात्मक होता है, तो ईगेनवैल्यू के चिन्ह विपरीत होते हैं—यही सैडल पॉइंट है। जब D शून्य हो, तो कम-से-कम एक ईगेनवैल्यू शून्य होता है, अतः उस दिशा में वक्रता सपाट है, और न यह परीक्षण, न अकेले ईगेनवैल्यू आपको पूरी कहानी बताते हैं।
अब तक की बात एक दिए गए फ़ंक्शन में सैडल पॉइंट पहचानने की थी। पर ऑप्टिमाइज़ेशन में आप पहले से सर्वश्रेष्ठ बिंदु नहीं जानते—ग्रेडिएंट-आधारित विधियाँ शून्य ग्रेडिएंट को रुकने का संकेत मानती हैं।
यही वह जगह है जहाँ सैडल पॉइंट परेशानी खड़ी करते हैं।
ग्रेडिएंट-आधारित ऑप्टिमाइज़र उस दिशा में चलता है जो उद्देश्य फ़ंक्शन को सबसे तेज़ घटाती है, और तब तक चलता रहता है जब तक ग्रेडिएंट शून्य के क़रीब न हो जाए। पर लगभग-शून्य ग्रेडिएंट एल्गोरिद्म को यह नहीं बताता कि उसने न्यूनतम पाया है या सैडल पॉइंट।
धनात्मक वक्रता वाली दिशाएँ फ़ंक्शन को ऊपर धकेलती हैं, और एल्गोरिद्म सीख चुका होता है कि उधर कदम रखने से चीज़ें खराब होती हैं। ऋणात्मक वक्रता वाली दिशाएँ अब भी मौजूद हैं—वहीं से बाहर निकलना है—पर केवल ग्रेडिएंट पर भरोसा करने वाला एल्गोरिद्म उन्हें चूक सकता है, क्योंकि सैडल पॉइंट पर उन्हीं दिशाओं में ग्रेडिएंट भी शून्य के क़रीब होता है।
यहीं पर ऑप्टिमाइज़ेशन भी धीमा पड़ता है।
जैसे-जैसे आप किसी भी स्थिर बिंदु के पास आते हैं, ग्रेडिएंट का परिमाण घटता है, तो ऐसा एल्गोरिद्म जो अपने कदमों का आकार ग्रेडिएंट के अनुपात में रखता है, सैडल के पास छोटे-छोटे कदम लेता है—चाहे वह उस न्यूनतम के पास हो या नहीं जिसे वह वास्तव में ढूँढ़ रहा है।
स्थिर बिंदु पाना ऑप्टिमाइज़ेशन पूरा होने के बराबर नहीं है। आपको अब भी यह जानने का तरीका चाहिए कि लगभग-शून्य ग्रेडिएंट सैडल पॉइंट का है या न्यूनतम का—और एक बार पता चल जाए तो वह दिशा भी चाहिए जिसमें उद्देश्य और बेहतर होता रहे।
न्यूरल नेटवर्क का लॉस फ़ंक्शन नेटवर्क के हर वेट और बायस का फ़ंक्शन होता है—कभी-कभी लाखों या अरबों आयामों में। यह द्विचर खिलौना-उदाहरण से बहुत दूर है।
उच्च-आयामी गैर-अवतल ऑप्टिमाइज़ेशन के एक विश्लेषण में Dauphin और सहलेखकों का तर्क है कि जैसे-जैसे आयाम बढ़ते हैं, क्रिटिकल पॉइंट का सैडल पॉइंट होना स्थानीय न्यूनतम या अधिकतम की तुलना में कहीं अधिक संभव हो जाता है। हर आयाम एक और दिशा जोड़ता है जिसमें वक्रता किसी भी ओर जा सकती है—और केवल एक ऋणात्मक वक्रता दिशा ही किसी क्रिटिकल पॉइंट को न्यूनतम की बजाय सैडल बना देती है।
ट्रेनिंग के दौरान यह इसलिए मायने रखता है क्योंकि ग्रेडिएंट डिसेंट केवल उसी ग्रेडिएंट को देखता है जिस पर वह खड़ा है।
सैडल पॉइंट के पास, हर दिशा में ग्रेडिएंट छोटा हो जाता है—वही संकेत जो वास्तविक न्यूनतम के पास पहुँचते समय दिखता है। ट्रेनिंग धीमी पड़ सकती है या ऐसे क्षेत्र में अटक सकती है जो बिल्कुल इष्टतम नहीं, और केवल लॉस कर्व से यह बताना मुश्किल है कि आप न्यूनतम के पास हैं या सैडल पर अटके हैं।
इसीलिए न्यूरल नेटवर्क ट्रेनिंग पर चर्चा में सैडल पॉइंट अक्सर स्थानीय न्यूनतम के साथ सामने आते हैं। पर वे अकेली रुकावट नहीं हैं—वैनिशिंग ग्रेडिएंट, ख़राब कंडीशनिंग वाली वक्रता, और खोज-स्थान का पैमाना भी उच्च-आयामी ऑप्टिमाइज़ेशन को कठिन बनाते हैं।
इसका मतलब यह नहीं कि सैडल पॉइंट के पास ग्रेडिएंट-आधारित ट्रेनिंग विफल है। कुछ तकनीकें हैं जो अलग-अलग कोण से आपकी मदद करती हैं।
स्टोकेस्टिक ग्रेडिएंट डिसेंट पूरे डेटासेट की बजाय ट्रेनिंग डेटा के एक यादृच्छिक उपसमुच्चय से ग्रेडिएंट गिनता है—और यह उपसमुच्चय हर कदम पर बदलता है।
इससे आने वाला शोर मतलब अनुमानित ग्रेडिएंट शायद ही कभी बिल्कुल शून्य होता है—भले ही सच्चा ग्रेडिएंट शून्य के पास हो। यह शोर ऑप्टिमाइज़र को सैडल पॉइंट से धकेलकर ऋणात्मक वक्रता की दिशा में ले जाने के लिए पर्याप्त हो सकता है, बजाए इसके कि वह ठीक वहीं ठहर जाए जहाँ ग्रेडिएंट लुप्त होता है।
मोमेंटम पिछले ग्रेडिएंट्स का चालू औसत रखता है और अगला कदम तय करने में केवल वर्तमान की बजाय उसी का उपयोग करता है।
सैडल पॉइंट के आसपास यह इसलिए मायने रखता है क्योंकि ऑप्टिमाइज़र वहाँ पहुँचते समय पहले से ही किसी दिशा में गतिमान होता है—वहाँ तक आने वाले ग्रेडिएंट्स से प्रेरित। यह संचित गति उसे सैडल के सपाट क्षेत्र से निकालकर आगे ले जा सकती है, बजाय इसके कि स्थानीय ग्रेडिएंट शून्य के पास आते ही वह धीमा पड़ जाए।
सेकंड-ऑर्डर विधियाँ वक्रता की जानकारी को सीधे उपयोग करती हैं।
हे-सियन या उसके सन्निकटन के साथ काम करके, ये विधियाँ क्रिटिकल पॉइंट पर धनात्मक वक्रता और ऋणात्मक वक्रता वाली दिशाओं में अंतर कर सकती हैं। सैडल पॉइंट इसी भेद पर निर्भर है, इसलिए सेकंड-ऑर्डर विधि अवरोही दिशा पहचानकर उसमें कदम रख सकती है, बजाय इसके कि हर लगभग-शून्य ग्रेडिएंट को एक जैसा माने।
कुछ शब्द अक्सर सैडल पॉइंट के साथ गड़बड़ा जाते हैं, इसलिए उन पर संक्षेप में बात करते हैं।
स्थानीय न्यूनतम के पास हर दिशा में फ़ंक्शन ऊपर की ओर मुड़ता है—यानी चारों ओर समान रूप से धनात्मक वक्रता। सैडल पॉइंट केवल कुछ दिशाओं में ऊपर और कुछ में नीचे मुड़ता है। जैसे ही एक भी दिशा में ऋणात्मक वक्रता मिल जाए, आप न्यूनतम नहीं देख रहे।
स्थानीय अधिकतम के लिए तर्क उलटा है—नज़दीक हर दिशा में वक्रता ऋणात्मक रहती है। सैडल पॉइंट में ऋणात्मक के साथ कम-से-कम एक धनात्मक वक्रता दिशा भी जुड़ जाती है।
इंफ्लेक्शन पॉइंट एक-आयामी धारणा है। यह वहीं होता है जहाँ एक चर के साथ वक्रता अवतल-ऊपर से अवतल-नीचे (या उलटा) में बदलती है।
सैडल पॉइंट के लिए कम-से-कम दो चर चाहिए, क्योंकि इसकी अवधारणा एक ही बिंदु पर अलग-अलग दिशाओं की वक्रता की तुलना पर निर्भर है। एक चर का फ़ंक्शन इंफ्लेक्शन पॉइंट रख सकता है, पर सैडल पॉइंट नहीं—क्योंकि दूसरी, विपरीत दिशा है ही नहीं।
हर सैडल पॉइंट एक स्थिर बिंदु है, क्योंकि वहाँ ग्रेडिएंट शून्य होता है। पर उलटा सच नहीं—स्थिर बिंदु कोई भी ऐसा बिंदु है जहाँ ग्रेडिएंट शून्य हो; वह स्थानीय न्यूनतम, स्थानीय अधिकतम, या सैडल पॉइंट हो सकता है। यह जानने के लिए कि कौन-सा है, आपको हे-सियन या सेकंड डेरिवेटिव टेस्ट से वक्रता की जानकारी चाहिए।
यहाँ उनका एक अधिक दृश्यात्मक सारांश है:
| वक्रता पैटर्न | सैडल पॉइंट से संबंध | |
|---|---|---|
| स्थानीय न्यूनतम | हर दिशा में धनात्मक | कभी सैडल पॉइंट नहीं |
| स्थानीय अधिकतम | हर दिशा में ऋणात्मक | कभी सैडल पॉइंट नहीं |
| इंफ्लेक्शन पॉइंट | एक चर के साथ अवतलता परिवर्तन | अलग अवधारणा, केवल एक चर चाहिए |
| स्थिर (स्टेशनरी) पॉइंट | ग्रेडिएंट शून्य | सैडल पॉइंट, स्थिर बिंदु का एक प्रकार है |
अन्य अवधारणाओं से सैडल पॉइंट की तुलना
अब तक हमने "सैडल पॉइंट" शब्द का प्रयोग क्रिटिकल पॉइंट की वक्रता के लिए किया। इसका एक दूसरा, पुराना अर्थ गेम थ्योरी से आता है, और यह आधुनिक मशीन लर्निंग में भी दिखता है।
मिनीमैक्स ऑप्टिमाइज़ेशन में, एक खिलाड़ी किसी फ़ंक्शन को न्यूनतम करता है और दूसरा अधिकतम, और सैडल पॉइंट उन मानों की जोड़ी है जहाँ कोई भी खिलाड़ी केवल अपनी चाल बदलकर अपने परिणाम में सुधार नहीं कर सकता।
गेम थ्योरी में इसका उपयोग प्रतिस्पर्धी खेलों में संतुलन रणनीतियाँ बताने के लिए होता है। प्रतिकूल (एडवर्सेरियल) ऑप्टिमाइज़ेशन वही ढाँचा उन समस्याओं के लिए अपनाता है जहाँ एक प्रक्रिया बदतर-से-बदतर स्थिति ढूँढ़ती है जिसका दूसरी प्रक्रिया को सामना करना है।
जनरेटिव एडवर्सेरियल नेटवर्क (GANs) इसका सर्वश्रेष्ठ मशीन लर्निंग उदाहरण हैं। जेनरेटर विश्वसनीय नकली डेटा बनाकर अपना लॉस न्यूनतम करता है, जबकि डिस्क्रिमिनेटर असली और नकली को अलग पहचानने की क्षमता अधिकतम करता है। GAN का प्रशिक्षण इसी मिनीमैक्स अर्थ में सैडल पॉइंट खोजने जैसा है—या वह संतुलन जहाँ जेनरेटर और डिस्क्रिमिनेटर, एक-दूसरे के प्रति अपनी सर्वश्रेष्ठ प्रतिक्रिया पा चुके हों।
यह मिनीमैक्स सैडल पॉइंट इस लेख में पहले वाले क्रिटिकल-पॉइंट सैडल पॉइंट से संबंधित है, पर दोनों परस्पर विनिमेय नहीं हैं।
क्रिटिकल-पॉइंट वाला संस्करण एक ही फ़ंक्शन के एक बिंदु पर वक्रता का वर्णन करता है। मिनीमैक्स संस्करण दो प्रतिस्पर्धी उद्देश्यों के बीच संतुलन बताता है। दोनों में "ऊपर" और "नीचे" व्यवहार का मिश्रण आता है, इसलिए एक ही शब्द इस्तेमाल होता है, पर यदि आप दो-खिलाड़ी खेल पर हे-सियन-आधारित परीक्षण लागू करने की कोशिश करेंगे तो यह गड्डमड्ड हो जाएगा।
सैडल पॉइंट से जुड़ी अधिकतर उलझन कुछ बार-बार होने वाली गलतियों से आती है। ये बातें ध्यान रखें।
शून्य ग्रेडिएंट केवल यह बताता है कि आपने एक क्रिटिकल पॉइंट पाया है—यह नहीं कि वह किस प्रकार का है। वक्रता जाँचें, क्योंकि सैडल पॉइंट पर भी ग्रेडिएंट शून्य होता है।
पहले अवकलज क्रिटिकल पॉइंट ढूँढ़ते हैं, पर उन्हें वर्गीकृत नहीं कर सकते। न्यूनतम, अधिकतम और सैडल में फर्क बताने के लिए आपको दूसरे अवकलज चाहिए—हे-सियन या सेकंड डेरिवेटिव टेस्ट के माध्यम से।
कोई फ़ंक्शन x-अक्ष के साथ ऊपर की ओर मुड़ सकता है और फिर भी समग्र रूप से सैडल पॉइंट हो सकता है, यदि कोई दूसरी दिशा नीचे की ओर मुड़ती हो। हर दिशा जाँचें—या हे-सियन के ईगेनवैल्यू देखें, जो सभी दिशाओं को एक साथ कवर करते हैं।
इंफ्लेक्शन पॉइंट एक-चर में वक्रता परिवर्तन का वर्णन करता है। सैडल पॉइंट एक ही बिंदु पर बहु-चर में मिश्रित वक्रता का। विचार में समानता है, पर ये अलग प्रकार के फ़ंक्शनों पर लागू होते हैं और इनका गणित परस्पर-विनिमेय नहीं है।
क्रिटिकल-पॉइंट सैडल पॉइंट और मिनीमैक्स सैडल पॉइंट नाम साझा करते हैं, पर परिभाषा नहीं। हे-सियन-आधारित परीक्षण या ईगेनवैल्यू तर्क लगाने से पहले देखें कि कौन-सा अर्थ संदर्भ में है—गेम थ्योरी और एडवर्सेरियल ऑप्टिमाइज़ेशन में मिनीमैक्स वाला अर्थ होता है, और वह किसी एकल फ़ंक्शन की वक्रता-जाँच में नहीं सिमटता।
सैडल पॉइंट एक ही निर्देशांकों पर कुछ दिशाओं में ऊपर और कुछ में नीचे मुड़ता है—इसीलिए वह न न्यूनतम है न अधिकतम, भले ही वहाँ ग्रेडिएंट शून्य हो, जैसे उन दोनों पर होता है।
ग्रेडिएंट क्रिटिकल पॉइंट ढूँढ़ते हैं। हे-सियन के ईगेनवैल्यू या सेकंड डेरिवेटिव टेस्ट बताते हैं कि वह कौन-सा प्रकार है। उच्च आयामों में यह भेद बहुत महत्वपूर्ण हो जाता है क्योंकि सैडल पॉइंट स्थानीय न्यूनतमों से अधिक होते हैं—और SGD तथा मोमेंटम जैसे ट्रेनिंग एल्गोरिद्म आंशिक रूप से इन्हें पार करने के लिए ही मौजूद हैं।
आख़िर में, यह अलग रखना ज़रूरी है कि गेम थ्योरी और GANs वाला मिनीमैक्स सैडल पॉइंट नाम तो साझा करता है, पर गणित नहीं—इसलिए स्पष्ट रखें कि आप किसकी बात कर रहे हैं।
यदि सैडल पॉइंट का विचार आपको रोचक लगता है, तो हमारा डीप लर्निंग ट्रैक (Python) आपको पसंद आएगा। सिद्धांत के साथ, आप PyTorch का उपयोग करके अलग-अलग प्रकार की समस्याओं के लिए न्यूरल नेटवर्क बनाएँगे।
सैडल पॉइंट किसी फ़ंक्शन पर वह क्रिटिकल पॉइंट होता है जहाँ ग्रेडिएंट शून्य होता है, लेकिन फ़ंक्शन न न्यूनतम पर होता है न अधिकतम पर। यह बिल्कुल उन्हीं निर्देशांकों पर कुछ दिशाओं में ऊपर और कुछ में नीचे मुड़ता है। नाम घोड़े की काठी (saddle) के आकार से आया है—जो आगे-पीछे की ओर ऊपर और किनारों की ओर नीचे मुड़ती है।
स्थानीय न्यूनतम अपने आसपास हर दिशा में ऊपर की ओर मुड़ता है, और स्थानीय अधिकतम हर दिशा में नीचे की ओर। सैडल पॉइंट इन दोनों का मिश्रण है—कुछ दिशाएँ ऊपर मुड़ती हैं, कुछ नीचे, वहीँ के वहीँ। यही मिश्रित वक्रता न्यूनतम और अधिकतम दोनों को खारिज कर देती है।
सैडल पॉइंट ऑप्टिमाइज़ेशन एल्गोरिद्म को धीमा कर सकते हैं या रोक सकते हैं, क्योंकि इनके पास ग्रेडिएंट शून्य के क़रीब हो जाता है। उच्च-आयामी समस्याओं में—जैसे न्यूरल नेटवर्क के लॉस फ़ंक्शन—सैडल पॉइंट स्थानीय न्यूनतमों से कहीं ज़्यादा आम हैं। यही वजह है कि ट्रेनिंग एल्गोरिद्म केवल कच्चे ग्रेडिएंट पर निर्भर रहने की बजाय मोमेंटम और स्टोकेस्टिक ग्रेडिएंट डिसेंट जैसी तकनीकों का उपयोग करते हैं।
फ़ंक्शन के दूसरे आंशिक अवकलज निकालें और उन्हें हे-सियन मैट्रिक्स में रखें। यदि हे-सियन के ईगेनवैल्यू में धनात्मक और ऋणात्मक दोनों मान हों, तो वह बिंदु सैडल पॉइंट है। आप ईगेनवैल्यू निकाले बिना सेकंड डेरिवेटिव टेस्ट भी कर सकते हैं, जो हे-सियन के डिटरमिनेंट के चिन्ह की जाँच करता है।
नहीं, ये संबंधित विचार हैं, पर एक जैसे नहीं। ऑप्टिमाइज़ेशन वाला संस्करण किसी एक फ़ंक्शन के एक क्रिटिकल पॉइंट पर वक्रता का वर्णन करता है। गेम थ्योरी और GANs वाला संस्करण दो प्रतिस्पर्धी उद्देश्यों—जैसे जेनरेटर और डिस्क्रिमिनेटर—के बीच उस संतुलन का वर्णन करता है जहाँ कोई पक्ष अकेले अपनी चाल बदलकर सुधार नहीं कर सकता।
DataCamp के साथ सीखें
कोर्स
कोर्स
कोर्स