नए प्रकार का न्यूरल नेटवर्क Kolmogorov-Arnold Networks (KANs), अधिक interpretability के साथ
(spectrum.ieee.org)- Kolmogorov-Arnold Networks (KANs) मौजूदा न्यूरल नेटवर्क से अलग संरचना रखते हैं और छोटे scale पर भी अधिक interpretability तथा अधिक सटीक परिणाम दिखाते हैं, इसलिए यह वैज्ञानिकों के लिए physical data से नई hypotheses खोजने का एक tool बन सकते हैं
- जहाँ पारंपरिक MLP synapse के weight और neuron की activation function पर निर्भर करता है, वहीं KAN में synapse input-output function सीखते हैं और neuron केवल synapse output का योग निकालते हैं
- physical law data और topological knot experiments में KAN का performance scale बढ़ने पर अधिक तेज़ी से बेहतर हुआ, और partial differential equation solving में यह 100 गुना ज़्यादा parameters वाले MLP से 100 गुना अधिक सटीक था
- शोधकर्ताओं ने KAN के अंदर की function shapes और connection importance को visualize किया, weak connections को prune किया, और कुछ मामलों में dataset बनाने वाले physical function को एक intuitive one-line function के रूप में फिर से reconstruct किया
- KAN में per-parameter training time लंबा है और GPU utilization कठिन है, लेकिन आवश्यक parameters कम होने के कारण physics problems जैसे छोटे scale के मामलों में इसकी practical utility बनी रहती है
KAN द्वारा प्रस्तावित नया न्यूरल नेटवर्क आर्किटेक्चर
- आधुनिक AI के केंद्र में मौजूद artificial neural networks चैटबॉट और image generator को support करते हैं, लेकिन बहुत सारे neurons होने के कारण उनकी internal working को समझना कठिन होता है और वे एक black box बन सकते हैं
- नई संरचना Kolmogorov-Arnold Networks (KANs) पारंपरिक neural networks की तुलना में अधिक interpretable है, और experiments में छोटे होने पर भी अधिक सटीक results दिखाती है
- KAN के developers का मानना है कि यह संरचना physical data को संक्षिप्त रूप में व्यक्त कर सकती है, जिससे वैज्ञानिकों को nature के laws पर नई hypotheses खोजने में मदद मिल सकती है
- Johns Hopkins University के Brice Ménard ने कहा कि पिछले 10 वर्षों से अधिक समय में neural network design अधिकतर trial-and-error tuning पर निर्भर रहा है, और उन्होंने KAN जैसी first principles से डिज़ाइन की गई नई architecture के उभरने का सकारात्मक मूल्यांकन किया
मौजूदा MLP और KAN में अंतर
- पारंपरिक neural networks में synapse दो neurons के बीच connection strength दर्शाने वाला एक weight सीखता है
- neuron पिछली layer के neurons से आने वाले inputs का weighted sum निकालता है, और फिर उस sum पर एक सरल activation function लागू करता है
- वह संरचना जिसमें हर neuron अगली layer के सभी neurons से जुड़ा होता है, multi-layer perceptron (MLP) कहलाती है
- KAN में भूमिकाएँ बदल जाती हैं
- synapse साधारण connection strength की जगह input को output में map करने वाली activation function सीखते हैं
- यह function कई functions के संयोजन वाली spline हो सकती है, और हर connection के लिए अलग हो सकती है
- neuron और सरल हो जाता है और केवल पहले के synapse outputs को जोड़ता है
- KAN नाम उन दो गणितज्ञों Kolmogorov और Arnold के नाम पर रखा गया है जिन्होंने functions के संयोजन के तरीके का अध्ययन किया था
- इस संरचना का लक्ष्य कम training parameters के साथ data को represent करते समय अधिक flexibility देना है
वैज्ञानिक कार्यों में दिखा performance
- शोधकर्ताओं ने KAN को अपेक्षाकृत सरल scientific tasks पर test किया
- कुछ experiments में ऐसे सरल physical laws का उपयोग किया गया जैसे relativistic speed पर चल रही दो वस्तुओं के एक-दूसरे को पार करने की गति
- equations से input-output data points generate किए गए
- हर physical function के लिए कुछ data से network को train किया गया और बाकी data से test किया गया
- KAN का performance size बढ़ने के साथ MLP की तुलना में अधिक तेज़ी से बेहतर हुआ
- partial differential equation solving में एक KAN, 100 गुना अधिक parameters वाले MLP से 100 गुना अधिक सटीक था
- एक अन्य experiment में network को topological knots के अलग-अलग गुणों के आधार पर knot की signature नामक property predict करने के लिए train किया गया
- MLP ने लगभग 300,000 parameters के साथ 78% test accuracy हासिल की
- KAN ने लगभग 200 parameters के साथ 81.6% test accuracy हासिल की
interpretability और function reconstruction
- शोधकर्ताओं ने KAN को visual रूप में खोलकर activation function के shapes और हर connection की importance देखी
- weak connections को manually या automatically prune किया जा सकता था
- कुछ activation functions को sine function या exponential function जैसे अधिक सरल functions से replace किया जा सकता था
- इसके परिणामस्वरूप पूरे KAN को, उसके constituent activation functions सहित, एक intuitive one-line function के रूप में summarize किया जा सका
- कुछ मामलों में dataset बनाने वाले physical function को पूरी तरह reconstruct कर लिया गया
- MIT और NSF AI Institute for Artificial Intelligence and Fundamental Interactions के Ziming Liu का मानना है कि यदि समझना कठिन dataset को KAN में डाला जाए, तो hypotheses बनाई जा सकती हैं, और KAN diagram देखते हुए ज़रूरत पड़ने पर उसकी structure को adjust भी किया जा सकता है
CNN और transformer के साथ संयोजन
- KAN का preprint पहले ही दर्जनों papers में cite किया जा चुका है
- University of San Andrés के Alexander Bodner और उनके साथियों ने KAN को image processing में व्यापक रूप से इस्तेमाल होने वाले CNN के साथ जोड़कर Convolutional KANs बनाए
- handwritten digit और clothing image classification tasks में Convolutional KANs ने पारंपरिक CNN के लगभग समान accuracy दिखाई
- digit classification में दोनों networks ने 99% accuracy हासिल की
- clothing classification में दोनों networks ने 90% accuracy हासिल की
- KAN-combined model ने लगभग 40% कम parameters इस्तेमाल किए
- Bodner ने कहा कि इस्तेमाल किए गए datasets सरल थे, लेकिन अधिक computing resources रखने वाली दूसरी teams अब इन networks को scale करना शुरू कर चुकी हैं
- अन्य researchers KAN को बड़े language models में व्यापक रूप से इस्तेमाल होने वाले transformer के साथ जोड़ रहे हैं
धीमी training और application की सीमा
- KAN की कमी यह है कि per-parameter training time अधिक लंबा होता है
- training धीमी होने का एक कारण GPU का उपयोग करना कठिन होना है
- हालांकि KAN में आवश्यक parameters कम होते हैं
- Ziming Liu का मानना है कि भले ही KAN image और language processing के लिए विशाल CNN या transformer की जगह न ले, फिर भी कई physics problems के छोटे-scale मामलों में training time समस्या नहीं हो सकता
- Liu यह भी शोध कर रहे हैं कि domain experts का prior knowledge KAN में कैसे डाला जा सकता है
- उदाहरण के लिए, activation functions को व्यक्ति स्वयं चुन सकता है
- KAN से knowledge को आसान interface के ज़रिए सरलता से निकालने के तरीकों पर भी विचार हो रहा है
- दीर्घकाल में KAN उच्च-तापमान superconductors की खोज या nuclear fusion control के तरीकों की तलाश में मदद कर सकता है
1 टिप्पणियां
Hacker News की राय
छोटे पैमाने की मॉडलिंग में KAN को खुद आज़माया और उस पर लिखा, साथ ही सामान्य neural network से तुलना की: https://news.ycombinator.com/item?id=40855028
मुख्य निष्कर्ष यह था कि KAN को सामान्य neural network की तुलना में train करना कहीं ज़्यादा मुश्किल है। प्रति parameter loss आम तौर पर लगभग बराबर मिल सकता है, लेकिन इसके लिए बहुत hyperparameter tuning और KAN architecture में अतिरिक्त techniques की ज़रूरत पड़ी। इसके उलट, basic neural network कहीं आसानी से train हुआ और अधिक व्यापक conditions में अच्छी तरह काम करता रहा
neural network training में पहले से ही बहुत भारी मेहनत लग चुकी है, और Adam जैसे optimizers भी neural networks के हिसाब से design और optimize किए गए हैं, इसलिए इसे पूरी तरह निष्पक्ष तुलना नहीं माना जा सकता। KAN में potential है, लेकिन यह कोई सर्व-समाधान नहीं है; और यह दावा भी थोड़ा संदिग्ध लगता है कि आम तौर पर इस्तेमाल होने वाले splines, lower-layer neurons के outputs का analysis करने से कहीं ज़्यादा interpretable हैं
https://cprimozic.net/blog/trying-out-kans/
research आखिरकार यह खोजने की प्रक्रिया है कि कौन-सा improvement usefulness को बदलता है, और https://github.com/mintisan/awesome-kan की progress follow करते हुए अलग-अलग attempts देखना रोचक है। KAN और fixed activation function वाले neural networks के बीच activation function tuning का एक continuous research space है
उदाहरण के लिए xsigmoid(mx) जैसे simple parameterized activation functions का set, m बड़ा होने पर ReLU, m=1.7 होने पर GeLU, और m=1 होने पर SiLU की तरह behave कर सकता है। हर neuron के लिए single activation function, कई parameters वाले activation functions, function approximators, और weights के बिना full KAN तक कई points हैं; और जो व्यक्ति unified formula से यह calculate कर सके कि extra parameters को कहां रखना सबसे असरदार होगा, उसे शायद बड़ी मान्यता मिलेगी
मैं 100% सहमत हूं कि KAN ज़्यादा interpretable नहीं होगा। अगर single neuron हो तो समझ आता है, लेकिन जैसे ही आप ऐसी चीज़ों को compose करना शुरू करते हैं, interpretability जल्द ही गायब हो जाती है
KAN को सामान्य multi-layer perceptron के अंदर एक और activation structure के रूप में model किया जा सकता है, और इसकी flexibility अधिक है, इसलिए यह चौंकाने वाला नहीं है। मैंने कई architecture types को organize करने वाला chart बनाया है: https://x.com/thomasahle/status/1796902311765434694
दिलचस्प बात यह है कि KAN को PyTorch के normal matrix multiplication से implement करने पर efficiency अच्छी नहीं होती, लेकिन custom CUDA kernel या torch.compile इस्तेमाल करने पर यह बहुत तेज़ हो सकता है: https://x.com/thomasahle/status/1798408687981297844
Kolmogorov-Arnold networks पर पिछली चर्चा: https://news.ycombinator.com/item?id=40219205
“KAN का downside यह है कि प्रति parameter training time ज़्यादा है, आंशिक रूप से इसलिए क्योंकि यह GPU का इस्तेमाल नहीं कर सकता। लेकिन इसे कम parameters की ज़रूरत होती है। Liu कहते हैं कि भले ही KAN images और language processing के लिए बड़े CNNs या Transformers की जगह न ले, कई physics problems के छोटे scale पर training time issue नहीं होगा।”
इसमें यह तक नहीं कहा गया कि भविष्य में GPU का इस्तेमाल संभव हो सकता है, इसलिए यह मूलभूत सीमा जैसा पढ़ता है
सोच रहा हूं कि क्या KAN पर भी ऐसा approach cost-efficient तरीके से लागू किया जा सकता है। खासकर यह कि LlaMa-3 जैसे pre-trained language model से interpretable model train करना संभव होगा या नहीं
“इसके बाद पूरे KAN को एक intuitive one-line function में summarize किया जा सका, और कुछ मामलों में इसने dataset बनाने वाले physics function को पूरी तरह reconstruct कर दिया।”
KAN का idea वाकई दिलचस्प है, लेकिन सख्ती से देखें तो पारंपरिक neural network को भी किसी closed-form one-line expression के रूप में लिखा जा सकता है। बस वह line बहुत लंबी हो जाएगी। भले ही वही decision boundary कम neurons से बनाई जा सके, weights की जगह splines इस्तेमाल करने से expression खुद कम complex हो जाता है या नहीं, यह मुझे साफ नहीं है
सिद्धांत रूप में multilayer perceptron के साथ भी ऐसा ही किया जा सकता है, लेकिन multilayer perceptron का representation कुछ हद तक distributed होता है, इसलिए sparsification और symbolification ज्यादा कठिन हो सकते हैं
क्या इसे ऐसे समझा सकते हैं जैसे मैं पांच साल का हूं? मैं समझता हूं कि neural network loss function घटाकर बेहतर results पाने की कोशिश करता है, लेकिन KAN में असल में अलग क्या है, यह जानना चाहता हूं
सामान्य neural network, यानी multilayer perceptron में floating-point numbers से भरी matrices होती हैं जो weights का काम करती हैं। weights y=wx जैसी linear function होते हैं, इसलिए input x और output y को coordinates पर plot करें तो straight line बनती है। input बढ़ाने या घटाने पर output भी एक fixed ratio से बढ़ता या घटता है, और अचानक effect बहुत बड़ा/छोटा नहीं होता या उलटी दिशा में नहीं बदलता
इसलिए network कई layers के weights सीखता है, और उन्हें कुछ ऐसे functions से जोड़ता है जो सीखे नहीं जाते बल्कि design में शामिल एक तरह के magic glue जैसे होते हैं। नतीजतन input और output के बीच complex relationship कई layers से गुजरते हुए बनता है
वहीं KAN में weights, यानी linear functions की जगह network को अलग तरह के functions सीखने दिए जाते हैं। ये functions nonlinear होते हैं, इसलिए input बढ़ाने पर output accelerating तरीके से बढ़ सकता है, या दिशा बदलकर घट भी सकता है। यह input और output के बीच कहीं ज्यादा complex relationship सीख सकता है, लेकिन विशाल matrix operations के लिए optimized GPU की efficiency कुछ खो सकता है और arbitrary math calculations के लिए CPU की जरूरत पड़ सकती है
इसलिए KAN में कम लेकिन ज्यादा complex “neurons” होते हैं, और हर neuron complex function से बना होता है। इसकी खूबी यह लगती है कि अगर उस एक neuron के अंदर देखें तो वह क्या कर रहा है, इसे बताने वाला clear formula मिल सकता है। Multilayer perceptron में कई layers के weights को trace करना पड़ता है, इसलिए overall behavior समझने के लिए ज्यादा काम चाहिए
हालांकि KAN से निकलने वाला function भी शायद Isaac Newton की notebook में दिखने वाले intuitive formula जैसा नहीं, बल्कि अजीब constants और एक-दूसरे को cancel करने वाले non-intuitive terms से भरा होगा
output = simple_function(sum(many_inputs*many_weights) + extra_weight_for_bias)होती है, और KAN layeroutput = sum(fancy_functions(many_inputs))के करीब होती है। गलत भी हो सकता हूं, अभी सिर्फ एक दिन हुआ हैf(x, y)होता है। KAN का outputexp(0.3sin(x) + 4cos(y))जैसा अच्छा दिखने वाला formula होता है, और इसी का मतलब है कि यह interpretable हैमुझे उत्सुकता है कि learned functions का set first-order logic की truth table reproduce कर सकता है या नहीं। इसे check करना आसान होना चाहिए
वैसे differentiability के लिहाज से यह अच्छी खबर है। अभी JAX में
ifcondition express करना tricky है और कम से कम मेरे लिए तो practically optimization barrier है, लेकिन अगर conditions learnable हों और पहले से network के अंदर हों, तो यह शानदार होगाकुछ हफ्ते पहले London Machine Learning Meetup में हमने Ziming Liu को invite किया था। उन्होंने इस रोचक काम पर बेहतरीन talk दी, और recording यहां है: https://youtu.be/FYYZZVV5vlY?si=ReoygVJMgY9oje3p
मैं थोड़ा skeptical हूं। 80–90 के दशक में भी
f(x*w+b)के alternatives वाली कई artificial neural network architectures पर papers और experiments हुए थे। लेकिन आज practical top-performing models अब भी multiply-accumulate-threshold based हैं। आखिरकार वजह speed और simplicity है“KAN की कमी यह है कि per parameter training time ज्यादा लंबा है, आंशिक रूप से इसलिए कि GPU का इस्तेमाल नहीं हो पाता।”
यह बड़ा gap लगता है। जानना चाहूंगा कि क्या यह fundamental architectural mismatch है, या बस अभी तक किसी ने जरूरी CUDA kernels नहीं लिखे हैं