इस प्रोजेक्ट के बारे में

NEAT-AI एक न्यूरोइवोल्यूशन लाइब्रेरी है जो Deno/TypeScript में लिखी गई है और NEAT (न्यूरोइवोल्यूशन ऑफ ऑगमेंटिंग टोपोलॉजीज़) एल्गोरिदम को लागू और विस्तारित करती है, जिसे मूल रूप से 2002 में स्टेनली और मिक्कुलैनेन द्वारा प्रकाशित किया गया था। यह परियोजना एक हाइब्रिड विकासवादी और ग्रेडिएंट-आधारित प्रणाली में विकसित हुई है जो क्लासिक NEAT दृष्टिकोण के ऊपर आधुनिक शोध तकनीकों को जोड़ती है। मुख्य वास्तुकला "क्रिएचर्स" (जीवों) पर केंद्रित है — जीनोम जो TypeScript में उत्परिवर्तित और प्रजनन करते हैं, जिनके फॉरवर्ड पास एक वेंडर किए गए WebAssembly (WASM) मॉड्यूल के अंदर निष्पादित होते हैं। एक वैकल्पिक Rust एक्सटेंशन (NEAT-AI-Discovery) Deno FFI के माध्यम से GPU-त्वरित संरचनात्मक विश्लेषण प्रदान करता है, जो त्रुटि-निर्देशित विश्लेषण के आधार पर नए सिनैप्स प्रस्तावित करता है। मुख्य विशेषताएं शामिल हैं: 1. **विस्तार योग्य अवलोकन**: इनपुट और आउटपुट विशेषताओं की पहचान स्थितीय सूचकांकों के बजाय स्थिर UUID द्वारा की जाती है, जिससे विकास को पुनः आरंभ किए बिना नए अवलोकन जोड़े जा सकते हैं और बहु-मशीन पुनर्संयोजन संभव होता है। 2. **वितरित प्रशिक्षण**: प्रशिक्षण और विकास कई स्वतंत्र नोड्स पर चल सकते हैं, जिसमें सर्वोत्तम क्रिएचर्स को एक केंद्रीय नियंत्रक पर संयोजित किया जाता है, जो विकासवादी एल्गोरिदम के द्वीप मॉडल को दर्शाता है। 3. **आजीवन सीखना**: बदलते वातावरण में निरंतर सीखने के लिए डिज़ाइन किया गया है, जो हफ्तों या महीनों में नए डेटा आने पर निरंतर सीखने का समर्थन करता है। 4. **WASM सक्रियण**: लाइब्रेरी WASM बैकएंड को स्वचालित रूप से आरंभ करती है; कॉल करने वालों को केवल एकल फॉरवर्ड पास के लिए `activate()` कॉल करना होता है। 5. **अद्वितीय स्क्वैश फ़ंक्शन**: मानक विकल्पों के अलावा IF, MAX, और MIN जैसे सक्रियण फ़ंक्शन का समर्थन करता है। 6. **न्यूरॉन प्रूनिंग**: उन न्यूरॉन्स को हटाता है जिनकी सक्रियताएं प्रशिक्षण के दौरान भिन्न नहीं होती हैं, जिसमें शून्य-क्रम सैलिएंसी मानदंड का उपयोग किया जाता है। 7. **CRISPR**: विकास के दौरान जनसंख्या में हस्त-निर्मित जीन (न्यूरॉन्स और सिनैप्स) के इंजेक्शन की अनुमति देता है, जनसंख्या सीडिंग के लिए जीव विज्ञान के संक्षिप्त नाम को उधार लेता है। 8. **ग्राफ्टिंग**: आनुवंशिक रूप से असंगत माता-पिता के बीच क्रॉस-द्वीप अंतर्प्रजनन को सक्षम करता है, विविधता को संरक्षित करता है। 9. **मेमेटिक विकास**: सबसे फिट क्रिएचर्स के बायस और वेट्स को रिकॉर्ड और उपयोग करता है ताकि भविष्य की पीढ़ियों को ठीक से ट्यून किया जा सके, सीखे गए वेट्स को जीनोम में वापस लिखता है (लैमार्कियन दृष्टिकोण)। 10. **त्रुटि-निर्देशित संरचनात्मक विकास (डिस्कवरी)**: न्यूरॉन सक्रियताओं और त्रुटियों का विश्लेषण करके गतिशील रूप से नए सिनैप्स की पहचान और निर्माण करता है। Rust एक्सटेंशन GPU-त्वरित विश्लेषण करता है और FFI पर संरचनात्मक उम्मीदवार प्रस्तावित करता है। 11. **अनुकूली उत्परिवर्तन दर: क्रिएचर आकार और फिटनेस प्रगति के आधार पर उत्परिवर्तन रणनीति को स्वचालित रूप से समायोजित करता है, अन्वेषण और दोहन को संतुलित करता है। 12. **स्थानांतरण सीखना**: प्रशिक्षित क्रिएचर्स को मेटाडेटा के साथ चेकपॉइंट के रूप में निर्यात करें, UUID मैपिंग के साथ नए कार्यों में आयात करें, और पूर्व-प्रशिक्षित क्रिएचर्स के साथ जनसंख्या को सीड करें। 13. **ONNX निर्यात**: प्रशिक्षित क्रिएचर्स को मानक ML इन्फ्रेंस पाइपलाइनों में तैनाती के लिए ONNX प्रारूप में निर्यात करें। 14. **MCMC उत्परिवर्तन स्वीकृति**: उत्परिवर्तन स्वीकृति के लिए मेट्रोपोलिस-हेस्टिंग्स मानदंड का उपयोग करता है, जिसमें ~23.4% स्वीकृति दर की ओर अनुकूली तापमान ट्यूनिंग होती है। 15. **उन्नत प्रजनन रणनीतियाँ**: आनुवंशिक रूप से असंगत क्रिएचर्स के लिए कई रणनीतियाँ, जिनमें इनपुट-वेट कोसाइन समानता, सबग्राफ प्रत्यारोपण, और विविधता-संचालित प्रजनन शामिल हैं। 16. **सिंथेटिक सिनैप्स प्रशिक्षण**: बैकप्रॉपैगेशन के दौरान अस्थायी रूप से इंटर-लेयर कनेक्टिविटी को घना करता है, फिर प्रशिक्षण के बाद शून्य-निकट सिनैप्स को प्रून करता है। 17. **यादृच्छिक अप्रवासी**: जब जनसंख्या रुक जाती है, तो सबसे कमजोर गैर-कुलीन क्रिएचर्स को नए सीड किए गए जीनोम से बदल देता है ताकि नई आनुवंशिक सामग्री पेश की जाए। यह परियोजना जावास्क्रिप्ट रजिस्ट्री (JSR) पर प्रकाशित है और इसे स्थापना की आवश्यकता नहीं है — WASM बैकएंड पहले उपयोग पर स्वयं आरंभ होता है। यह रिपॉजिटरी के एक परिवार का हिस्सा है जिसमें NEAT-AI-core (साझा Rust गणना क्रेट), NEAT-AI-Discovery (GPU-त्वरित संरचनात्मक विश्लेषण के लिए Rust FFI एक्सटेंशन), NEAT-AI-scorer (Rust स्कोरिंग एप्लिकेशन), NEAT-AI-Backpropagation (नेटिव Rust बैकप्रॉपैगेशन), NEAT-AI-Lamarck (प्रयोगात्मक Rust ऑप्टिमाइज़र), NEAT-AI-Explore (TypeScript विज़ुअलाइज़ेशन टूल), और कई अन्य प्रयोगात्मक ऑप्टिमाइज़र और टूल शामिल हैं। लाइब्रेरी DenoJS वातावरण में उपयोग के लिए डिज़ाइन की गई है और न्यूरोइवोल्यूशन के लिए एक व्यापक टूलकिट प्रदान करती है, बुनियादी क्रिएचर निर्माण और सक्रियण से लेकर उन्नत वितरित प्रशिक्षण, संरचनात्मक खोज, और ONNX निर्यात के माध्यम से उत्पादन तैनाती तक।