2 पॉइंट द्वारा GN⁺ 2024-05-02 | 1 टिप्पणियां | WhatsApp पर शेयर करें

Kolmogorov-Arnold Networks (KANs) का परिचय

KAN की परिभाषा और विशेषताएँ

  • Kolmogorov-Arnold Networks (KANs), Multi-Layer Perceptrons (MLPs) का एक संभावित विकल्प हैं।
  • KANs भी MLPs की तरह ही मजबूत गणितीय आधार रखते हैं।
    • MLPs का आधार universal approximation theorem है।
    • KANs का आधार Kolmogorov-Arnold representation theorem है।
  • KANs और MLPs परस्पर dual हैं।
    • KANs में edge पर activation function होता है।
    • MLPs में node पर activation function होता है।
  • इस सरल बदलाव के कारण KANs मॉडल की सटीकता (accuracy) और व्याख्येयता (interpretability) के लिहाज़ से MLPs से बेहतर (कभी-कभी कहीं अधिक बेहतर) प्रदर्शन दिखाते हैं।

KAN की सटीकता

  • KANs में MLPs की तुलना में तेज़ scaling देखी गई है।
  • KANs, MLPs की तुलना में कम parameters के साथ बेहतर accuracy दिखाते हैं।
  • उदाहरण
    • प्रतीकात्मक सूत्र fitting
    • विशेष फंक्शन fitting
    • partial differential equation (PDE) solving
    • catastrophic forgetting से बचाव

KAN की व्याख्येयता

  • KANs को सहज तरीके से visualize किया जा सकता है।
  • KANs वह interpretability और interactivity दे सकते हैं जो MLPs नहीं दे पाते।
  • KANs का उपयोग करके संभावित रूप से नए scientific laws खोजे जा सकते हैं।
  • उदाहरण
    • symbolic formula interpretation
    • knot के गणितीय नियम खोजने के उदाहरण
    • Anderson localization की भौतिकी के नियम खोजने के उदाहरण
    • 3-स्तरीय KAN training प्रक्रिया की व्याख्या

इंस्टॉलेशन

  • pykan को pypi या github के जरिए install किया जा सकता है।
  • github से install करने की विधि दी गई है।
  • pypi से install करने की विधि दी गई है।
  • जरूरतों (requirements) को सूचीबद्ध किया गया है और उन्हें install करने के तरीके बताए गए हैं।

गणना आवश्यकताएँ

  • ट्यूटोरियल के उदाहरण सामान्यत: single CPU पर 10 मिनट से कम समय में रन हो जाते हैं।
  • पेपर के सभी उदाहरण single CPU पर एक दिन से कम समय में रन हो सकते हैं।
  • PDE के लिए KAN training सबसे ज्यादा compute cost वाली है और single CPU पर इसमें कई घंटों से लेकर कई दिन लग सकते हैं।
  • parameter sweep करके Pareto Frontier प्राप्त करने के लिए CPU पर मॉडल train किए गए।
  • बड़े स्केल के काम के लिए GPU उपयोग की सलाह दी जाती है।

दस्तावेज़

  • दस्तावेज़ लिंक्ड URL पर उपलब्ध हैं।

ट्यूटोरियल

  • Quickstart: hellokan.ipynb नोटबुक से शुरुआत करें।
  • More demos: अधिक नोटबुक ट्यूटोरियल्स tutorials में उपलब्ध हैं।

संदर्भ

  • पेपर को cite करने का तरीका दिया गया है।

संपर्क

  • यदि कोई प्रश्न हो तो zmliu@mit.edu पर संपर्क करें।

GN⁺ की राय

  • KAN, गणितीय आधार वाला और accuracy तथा interpretability दोनों में लाभ देने वाला एक दिलचस्प neural network architecture है जो MLPs का विकल्प हो सकता है। हालांकि अभी यह शुरुआती research phase में दिखता है, इसलिए बड़े datasets या complex tasks पर इसकी performance validation की अभी और ज़रूरत है।
  • MLPs में activation function node पर होता है, जबकि KANs में edge पर। यह मुख्य अंतर है। इसलिए network architecture और learning approach में क्या बदलाव आते हैं, इसे विस्तार से analyze करना ज़रूरी है।
  • KAN की व्याख्येयता AI की black-box समस्या हल करने में मदद कर सकती है। नए scientific laws खोजने की संभावना भी इसका आकर्षण है। लेकिन explainable AI में पहले से कई शोध चल रहे हैं, इसलिए KAN की अलग पहचान/strength को स्पष्ट करना जरूरी है।
  • पेपर के उदाहरण मुख्यतः math और science तक सीमित हैं। यह अतिरिक्त शोध जरूरी है कि KANs images, NLP जैसे अन्य domains में भी MLPs की जगह ले पाते हैं या नहीं।
  • KAN के समान दृष्टिकोण के रूप में Capsule Networks, Graph Neural Networks (GNNs) मौजूद हैं। इनके साथ तुलना करने से KAN के unique strengths को समझने में मदद मिलेगी।

1 टिप्पणियां

 
GN⁺ 2024-05-02
Hacker News टिप्पणियाँ
  • एक यूज़र ने बताया कि उन्होंने PyTorch से पेपर का आइडिया काफी सरल तरीके से implement किया। इसकी कोर सिर्फ कुछ लाइन कोड पर आधारित है, और 1D फ़ंक्शन इंटरपोलेशन के लिए spline की जगह Fourier coefficients का उपयोग करता है। यह Kolmogorov-Arnold Network की expressive power दिखाता है; पेपर वाले spline version की तुलना में शायद convergence आसान हो, लेकिन computation ज्यादा लग सकता है।

  • दूसरे यूज़र ने दिए हुए Jupyter notebook पर किए गए experiments share किए। वर्गीकरण टास्क में network architecture को (2, 2) से बदलकर (2, 2, 2) करने पर generalization में विफलता मिली; ट्रेनिंग डेटा को 100x बढ़ाने पर overfitting बेहतर हुआ, लेकिन training loss 1e-2 के नीचे नहीं गया। उन्होंने बड़े scale के उदाहरणों और डेटा पर आगे experiments करने की इच्छा जताई।

  • हाल के समय में Transformers की incremental improvements से ऊब पैदा करने वाली हवा के बीच, इस काम की तारीफ हुई क्योंकि यह पहले से मौजूद DNN की expressive power बढ़ाने का एक ताज़ा idea देता है। वास्तविक performance gain है या नहीं, यह आगे validate करना बाकी है।

  • एल्गोरिद्म की scalability (यानी ज्यादा layers पर भी ठीक से train होता है या नहीं) और hardware acceleration की संभावना (weight-wise activation-function structure से तेज़ matrix multiplication acceleration का फायदा उठाया जा सकता है या नहीं) को लेकर बड़े पैमाने पर deployment में क्या परिणाम आएँगे, अभी स्पष्ट नहीं है। छोटे स्केल पर यह कुछ रोचक properties दिखाता है, लेकिन ImageNet या LLM जैसे tasks के लिए यह कितना suitable है, यह बताने के लिए और शोध चाहिए।

  • Kolmogorov-Arnold representation theorem और MLP का लगभग उसी दौर में 1957 और 1958 में क्रमशः खोजे/आविष्कार किए जाने का तथ्य दिलचस्प है। इस approach का एक और फायदा यह है कि इसमें MLP के weights, biases और global activation functions की तुलना में केवल एक ही प्रकार के parameters होते हैं—local activation functions के coefficients। आज के Transformer-प्रधान माहौल में, कई लोग चाहते हैं कि इसे Diffusion Model पर भी try किया जाए।

  • Kolmogorov नेटवर्क का discontinuous functions को represent कर पाना निश्चित रूप से दिलचस्प है, लेकिन practical लागू होने की संभावना को लेकर पहले शंका थी। यह repository दिखाता है कि इसमें कुछ हद तक वास्तविक उपयोगिता मौजूद है।

  • यह एक जल्दबाज़ी वाली राय भी हो सकती है कि B-spline के linear combination से higher-order B-spline बन जाता है, इसलिए यह शायद सिर्फ high-order B-spline को function पर fit करने जैसा ही है।

  • preprint में इनपुट dimension को 100 बताकर 'high-dimensional' कहा गया है, जबकि ML में आमतौर पर अधिकांश physics-inspired problems 5D या उससे नीचे ही होती हैं। मॉडर्न दृष्टिकोण से देखें तो सिर्फ 784-dimensional MNIST पर performance validate करना अगला step होगा।

  • कभी-कभी लगता है कि जैसे spline को decision tree में घुसा दिया गया हो।

  • यह finite element method के साथ conceptually बहुत समान लगता है, और अलग-अलग क्षेत्रों में ऐसी समान पैटर्न मिलना सच में अच्छा लगता है.