हमने क्लासिक मल्टी-लेयर परसेप्ट्रॉन (MLP) को हल्के में लिया है और इसके इर्द-गिर्द कई आर्किटेक्चर बनाए हैं। MLP आज हम जो भी LLM या फाउंडेशन मॉडल देखते हैं, उसका अभिन्न अंग हैं, जैसे कि चैटGPT, LLAMA, DALLE और CLIP। या फिर YOLO-v* जैसे सरल पहचान मॉडल भी।
क्या होगा अगर मैं अब आपको बताऊं कि हमारे पास एमएलपी के लिए एक प्रतियोगी है? शहर में "कोल्मोगोरोव-अर्नोल्ड नेटवर्क" या संक्षेप में केएएन नामक एक नया पेपर है, जो एमएलपी को चुनौती देता है। यदि वे जो समाधान प्रस्तावित कर रहे हैं वह वास्तव में स्केल करता है, तो हमारे पास अगली पीढ़ी के न्यूरल नेटवर्क हो सकते हैं, जो हमें आर्टिफिशियल जनरल इंटेलिजेंस (एजीआई) के एक और कदम करीब ले जाएगा।
जबकि MLP में ReLU, सिग्मॉइड, टैन, GeLU आदि जैसे सक्रियण फ़ंक्शन शामिल हैं, KAN का प्रस्ताव है कि हम इन सक्रियण फ़ंक्शन को सीखें। तो, KAN यह कैसे करता है? इसके पीछे क्या गणित है? इसे कैसे लागू किया जाता है? और हम KAN को प्रशिक्षित भी कैसे करते हैं?
मैंने KAN पेपर को यहाँ संक्षेप में प्रस्तुत करने की पूरी कोशिश की है। आप या तो यह सारांश पढ़ सकते हैं या फिर 48 पेजों वाला पेपर पढ़ सकते हैं!
यदि आप मेरी तरह हैं और चीजों को बेहतर ढंग से समझने के लिए उनकी कल्पना करना चाहते हैं, तो इस लेख का वीडियो रूप यहां है:
आइए MLP से शुरू करें, जिससे हम काफी परिचित हैं। MLP नोड्स और किनारों से बने होते हैं। प्रत्येक नोड में, हमारे पास इनपुट का योग होता है और उस विशेष नोड के लिए आउटपुट बनाने के लिए ReLU, GeLU और SeLU जैसे सक्रियण लागू होते हैं।
ये सक्रियण फ़ंक्शन प्रशिक्षण प्रक्रिया के दौरान कभी नहीं बदलते हैं। दूसरे शब्दों में, उनके पास कोई पैरामीटर नहीं है। वे किसी दिए गए प्रशिक्षण डेटासेट के लिए खुद को ट्यून करने के लिए पर्याप्त बुद्धिमान नहीं हैं। इसलिए, प्रशिक्षण के दौरान जो प्रशिक्षित या अपडेट किया जाता है वह इनमें से प्रत्येक नोड का भार है।
अब, क्या होगा अगर हम इस धारणा पर सवाल उठाएं कि सक्रियण फ़ंक्शन को ठीक करने और उन्हें प्रशिक्षित करने की आवश्यकता है? तो, यही वह चुनौती है जिसे KAN नेटवर्क ने संबोधित करने की कोशिश की। KAN नेटवर्क के सक्रियण फ़ंक्शन प्रशिक्षण प्रक्रिया के दौरान अपडेट हो जाते हैं। इससे पहले कि हम और गहराई से जानें, आइए पॉलीनोमियल्स और कर्व फिटिंग से शुरुआत करें।
इसलिए, KANs का मूल विचार यह है कि किसी भी बहु-चर संयुक्त फ़ंक्शन को कई फ़ंक्शनों के योग में विभाजित किया जा सकता है जो एकल चर हैं।
उदाहरण के लिए, मान लें कि हमारे पास डिग्री 3 का एक समीकरण है जहाँ y=x³ है जैसा कि ऊपर पीले वक्र द्वारा दर्शाया गया है। और डिग्री 2 का एक और समीकरण, y=x², जैसा कि ऊपर दिए गए एनीमेशन में नीले वक्र द्वारा दिखाया गया है। हम इस विज़ुअलाइज़ेशन में देख सकते हैं कि x² का उपयोग करके कभी भी x³ द्वारा प्राप्त वक्रता प्राप्त नहीं की जा सकती है।
मान लीजिए कि हमें नीचे लाल और नीले बिंदुओं द्वारा दर्शाया गया डेटा दिया गया है, और हम दो वर्गों के बीच द्विआधारी वर्गीकरण सीमा का पता लगाना चाहते हैं।
दूसरे क्रम के बहुपद, x² का उपयोग करके, हम दोनों के बीच की सीमा नहीं ढूँढ पाएंगे क्योंकि x² वक्र “U” आकार का है, लेकिन डेटा “S” आकार का है। हालाँकि इस डेटा के लिए x³ का उपयोग करना उपयुक्त है, लेकिन यह अतिरिक्त कम्प्यूटेशनल लागत के साथ आता है। एक अलग समाधान यह हो सकता है कि जब इनपुट x ऋणात्मक हो तो x² का उपयोग करें लेकिन जब x धनात्मक हो तो - x² का उपयोग करें (ऊपर दिए गए चित्र में हाथ से खींचा गया नीला वक्र)।
हमने जो कुछ भी किया है वह दो कम-डिग्री वाले बहुपदों को जोड़कर एक उच्च डिग्री की स्वतंत्रता वाला वक्र प्राप्त करना है। KAN नेटवर्क के पीछे यही सटीक विचार है।
आइए अब थोड़ा और जटिल खिलौना समस्या लेते हैं जहाँ हम जानते हैं कि डेटा एक सरल समीकरण, y=exp(sin(x1² + x2²) + sin(x3² + x4²)) द्वारा उत्पन्न होता है। इसलिए हमारे पास 4 इनपुट चर हैं, और हमारे पास तीन ऑपरेशन हैं, अर्थात्, घातांक, साइन और वर्ग। इसलिए, हम तीन परतों के साथ चार इनपुट नोड्स चुन सकते हैं, जिनमें से प्रत्येक तीन अलग-अलग ऑपरेशनों के लिए समर्पित है, जैसा कि नीचे दिखाया गया है।
चार इनपुट और गणना के लिए तीन आधार कार्यों - घातांक, साइनसॉइड और वर्ग के साथ एक खिलौना समस्या के लिए KAN नेटवर्क
प्रशिक्षण के बाद, नोड्स डेटा को फिट करने के लिए वर्ग, साइनसॉइड और घातांक कार्यों में परिवर्तित हो जाएंगे।
चूंकि यह एक खिलौना समस्या है, इसलिए हम उस समीकरण को जानते हैं जिससे डेटा आया है। लेकिन व्यावहारिक रूप से, हम वास्तविक दुनिया के डेटा के वितरण को नहीं जानते हैं। इस समस्या को हल करने का एक तरीका बी-स्प्लिन का उपयोग करना है।
बी-स्प्लिन का मूल विचार यह है कि किसी भी दिए गए फ़ंक्शन या वक्र को सरल फ़ंक्शन या वक्रों के संयोजन के रूप में दर्शाया जा सकता है। इन सरल फ़ंक्शन को आधार फ़ंक्शन कहा जाता है। उदाहरण के लिए, आइए नीचे दिए गए चित्र में लाल वक्र लें। सरलता के लिए, आइए इसे केवल दो आधार फ़ंक्शन के साथ दर्शाने का प्रयास करें।
हम इसे 3 बिंदुओं में विभाजित कर सकते हैं क्योंकि हम इसे दो आधार कार्यों के योग के साथ दर्शाने जा रहे हैं। इन बिंदुओं को नॉट्स कहा जाता है। आधार कार्यों की कोई भी संख्या n हो सकती है। यह पैरामीटर जो नियंत्रित करता है कि यह आधार कार्य संयोजन कैसे होता है , c है। जब हम दो वक्रों को "जोड़ते हैं" तो नॉट्स पर असंततता हो सकती है। समाधान यह है कि नॉट्स पर वक्रों की वक्रता को इस तरह से बांधा जाए कि हमें एक चिकना वक्र मिले। उदाहरण के लिए, हम दो वक्रों के ढलान को नॉट्स पर समान होने के लिए बांध सकते हैं, जैसा कि नीचे दिए गए चित्र में हरे तीर द्वारा दिखाया गया है।
चूँकि हम न्यूरल नेटवर्क में ऐसी कोई बाधा नहीं डाल सकते, इसलिए उन्होंने पेपर में अवशिष्ट सक्रियण फ़ंक्शन पेश किए हैं। यह एक नियमितीकरण की तरह काम करता है। व्यावहारिक रूप से, यह SeLU सक्रियण है जिसे मानक स्पलाइन फ़ंक्शन में जोड़ा जाता है जैसा कि नीचे दिए गए पेपर में देखा गया है।
KANs प्रशिक्षण का एक नया तरीका पेश करते हैं जिसे फ़ाइन-ग्रेनिंग कहा जाता है। हम सभी फ़ाइन-ट्यूनिंग से परिचित हैं, जहाँ हम मॉडल में अधिक पैरामीटर जोड़ते हैं। हालाँकि, फ़ाइन-ग्रेनिंग के मामले में, हम स्पलाइन ग्रिड के घनत्व में सुधार कर सकते हैं। इसे वे ग्रिड एक्सटेंशन कहते हैं।
जैसा कि हम उपरोक्त पेपर में दिए गए चित्र से देख सकते हैं, फाइन-ग्रेनिंग का अर्थ केवल बी-स्प्लाइन के ग्रिड को सघन बनाना है, ताकि वे अधिक प्रतिनिधि बन जाएं और इसलिए अधिक शक्तिशाली बन जाएं।
स्पलाइन का एक नुकसान यह है कि वे पुनरावर्ती हैं और इसलिए कम्प्यूटेशनल रूप से महंगे हैं। उनकी कम्प्यूटेशनल जटिलता O(N²LG) है, जो MLPs के लिए O(N²L) की सामान्य जटिलता से अधिक है। अतिरिक्त जटिलता ग्रिड अंतराल G से आती है।
लेखक इस अंतर्निहित समस्या का बचाव यह दर्शाकर करते हैं कि:
हम इन बचावों के प्लॉट परिणाम अनुभाग में देखेंगे। अभी के लिए, आइए KAN की एक और विशेषता पर नज़र डालें।
चूंकि KAN फ़ंक्शन सीखते हैं, इसलिए यह MLP की तरह सिर्फ़ एक ब्लैक बॉक्स नहीं है, जहाँ हम किसी दिए गए डेटा या समस्या के लिए MLP की गहराई और चौड़ाई चुनकर उन्हें आसानी से डिज़ाइन कर सकते हैं। इसलिए, KAN को ज़्यादा व्याख्या योग्य बनाने और एक अच्छा KAN नेटवर्क डिज़ाइन करने के लिए, हमें नीचे दिए गए चरणों का पालन करना होगा:
fix_symbolic(l,i,j,f)
कहा जाता है, जहाँ l, i, j नोड लेयर और स्थान हैं, और f वह फ़ंक्शन है जो sine, cosine, log, etc
हो सकता है प्रशिक्षित KAN नेटवर्क तक पहुंचने के लिए पेपर में सुझाए गए विभिन्न चरणों का सारांश
ऊपर दिए गए चित्र में विभिन्न चरणों को संक्षेप में दर्शाया गया है। हम एक बड़े नेटवर्क से शुरू करते हैं और विरलीकरण करते हैं (चरण 1), परिणामी नेटवर्क को छाँटते हैं (चरण 2), कुछ प्रतीकीकरण सेट करते हैं (चरण 3), नेटवर्क को प्रशिक्षित करते हैं (चरण 4), और अंत में प्रशिक्षित मॉडल पर पहुँचते हैं।
ऊपर बताए गए चरणों का उपयोग करते हुए, उन्होंने पांच अलग-अलग खिलौना समस्याओं के लिए KAN नेटवर्क को प्रशिक्षित किया है ताकि उनकी प्रभावशीलता को दर्शाया जा सके और MLP के साथ उनकी तुलना की जा सके। तुलना से मुख्य निष्कर्ष ये हैं:
पहले बिंदु को 5 खिलौना समस्याओं के लिए ऊपर के शीर्ष प्लॉट में पाँच प्लॉट में मोटी नीली रेखा द्वारा दर्शाया गया है। अंतिम दो बिंदुओं को नीचे के प्लॉट द्वारा दर्शाया गया है जो किसी भी दी गई समस्या को हल करने के लिए हानि वक्र और पैरामीटर गणना दिखाता है।
अगला निष्कर्ष यह है कि भयावह भूलने की समस्या में KANs MLPs से कहीं बेहतर हैं। यदि हम निरंतर सीखने के लिए अनुक्रम डेटा फ़ीड करते हैं, तो KANs पिछले डेटा को MLPs की तुलना में कहीं बेहतर याद रखते हैं। यह नीचे दिए गए चित्र में दिखाया गया है, जहाँ KAN डेटा में 5 चरणों को पुन: प्रस्तुत करता है, लेकिन MLP संघर्ष करता है।
उन्होंने यह दिखाने के लिए व्यापक प्रयोग भी किए हैं कि KAN का उपयोग आंशिक अंतर और भौतिकी समीकरणों से जुड़ी समस्याओं के लिए किया जा सकता है। उन विवरणों में जाने के बजाय, आइए देखें कि KAN बनाम MLP कब चुनना है।
उन्होंने हमें यह बताने के लिए नीचे दिया गया आंकड़ा दिया है कि MLP के बजाय KAN कब चुनना चाहिए। इसलिए, KAN चुनें यदि,
अन्यथा, एमएलपी अभी भी जीतेंगे।
अगर आपको यह लेख पसंद आया तो मुझे फॉलो क्यों न करें
कृपया मेरी सदस्यता भी लें
मेरी राय में, KAN का उद्देश्य MLP को प्रतिस्थापित करना नहीं है, जैसा कि ट्रांसफॉर्मर ने NLP परिदृश्य को पूरी तरह से बदल दिया है। इसके बजाय, KAN गणित और भौतिकी में विशिष्ट समस्याओं के लिए उपयोगी साबित होंगे। फिर भी, मुझे लगता है कि हमें और भी बहुत से सुधारों की आवश्यकता है। लेकिन बड़े-डेटा की समस्याओं के लिए जिन्हें फाउंडेशन मॉडल के साथ हल किया जाता है, KAN को अभी बहुत आगे जाना है, कम से कम उनकी वर्तमान स्थिति के साथ।
इसके अलावा, प्रशिक्षण दृष्टिकोण और KAN आर्किटेक्चर को डिजाइन करना आधुनिक समय के न्यूरल नेटवर्क को डिजाइन करने और प्रशिक्षित करने के मानक तरीके से अलग है। फिर भी, GitHub पेज पर पहले से ही 13k स्टार और 1.2k फ़ॉर्क्स हैं, जो दर्शाता है कि यह कुछ करने के लिए तैयार है। आइए प्रतीक्षा करें और इस स्थान को देखें।