सेरेबेलर मॉडल आर्टिकुलेशन कंट्रोलर (CMAC) एक प्रकार का कृत्रिम तंत्रिका नेटवर्क है, जो सेरेबेलम की संरचना और कार्य से प्रेरित है - यह मस्तिष्क का एक क्षेत्र है जो मोटर नियंत्रण और समन्वय में शामिल है। 1970 के दशक में विकसित, CMAC साहचर्य स्मृति का एक रूप है जो फ़ंक्शन सन्निकटन करता है, वितरित, स्थानीय रूप से ट्यून किए गए प्रतिनिधित्व के माध्यम से निरंतर इनपुट वैक्टर को आउटपुट मानों में मैप करता है। यह विशेष रूप से वास्तविक समय नियंत्रण अनुप्रयोगों के लिए उपयुक्त है, जैसे रोबोटिक आर्म हेरफेर, जहां तेजी से सीखने और अनुकूलन की आवश्यकता होती है।
CMAC प्रत्येक इनपुट आयाम को अतिव्यापी ग्राही क्षेत्रों के एक सेट में परिमाणित करके संचालित होता है। प्रत्येक इनपुट बिंदु इन क्षेत्रों के एक छोटे उपसमुच्चय को सक्रिय करता है, और नेटवर्क का आउटपुट सक्रिय क्षेत्रों से जुड़े भारों के योग के रूप में गणना की जाती है। यह डिज़ाइन स्थानीय सामान्यीकरण प्रदान करता है: समान इनपुट अतिव्यापी क्षेत्रों को सक्रिय करते हैं, समान आउटपुट उत्पन्न करते हैं, जबकि दूर के इनपुट कोई क्षेत्र साझा नहीं करते हैं, जिससे हस्तक्षेप रोका जा सकता है। सीखने का नियम आमतौर पर एक सरल ग्रेडिएंट डिसेंट या न्यूनतम-माध्य-वर्ग अद्यतन है, जो प्रशिक्षण को तेज़ और कम्प्यूटेशनल रूप से सस्ता बनाता है, बहु-परत परसेप्ट्रॉन की तुलना में।
ऐतिहासिक विकास
CMAC को 1975 में जेम्स एल्बस द्वारा पेश किया गया था, जब वह राष्ट्रीय मानक ब्यूरो (अब राष्ट्रीय मानक और प्रौद्योगिकी संस्थान) में काम कर रहे थे। एल्बस सेरेबेलम फ़ंक्शन के कम्प्यूटेशनल रूप से कुशल मॉडल की आवश्यकता से प्रेरित थे, जिसे उन्होंने पत्रिका मैथेमैटिकल बायोसाइंसेज में लेखों की एक श्रृंखला में विस्तृत किया। उनका काम डेविड मार और जेम्स ब्रिंडले द्वारा सेरेबेलर सीखने के पहले के सिद्धांतों पर आधारित था, लेकिन एल्बस का प्रमुख योगदान व्यावहारिक एल्गोरिथमिक सूत्रीकरण था जिसे हार्डवेयर या सॉफ्टवेयर में लागू किया जा सकता था। नाम "आर्टिकुलेशन कंट्रोलर" इसके मूल इच्छित उपयोग को दर्शाता है, जो रोबोटिक मैनिपुलेटर के जोड़ों को नियंत्रित करने में था, जहां सुचारू, सटीक गति आवश्यक है।
वास्तुकला और संचालन
एक CMAC में कई परतें होती हैं: एक इनपुट परत, एक अवधारणात्मक मैपिंग परत, एक भौतिक मेमोरी परत, और एक आउटपुट परत। इनपुट परत निरंतर-मूल्य वाले संकेत प्राप्त करती है, जिन्हें फिर असतत अवस्थाओं में परिमाणित किया जाता है। अवधारणात्मक मैपिंग परत प्रत्येक परिमाणित इनपुट को एक आभासी मेमोरी स्पेस में सक्रिय पतों के एक सेट को निर्दिष्ट करती है, मेमोरी आवश्यकताओं को कम करने के लिए हैशिंग फ़ंक्शन का उपयोग करके। भौतिक मेमोरी परत भार मानों को संग्रहीत करती है, और आउटपुट सक्रिय पतों पर भारों का योग है।
प्रति इनपुट सक्रिय पतों की संख्या, जिसे अक्सर C के रूप में दर्शाया जाता है, सामान्यीकरण चौड़ाई निर्धारित करती है। एक बड़ा C व्यापक सामान्यीकरण देता है लेकिन मोटा रिज़ॉल्यूशन, जबकि एक छोटा C बेहतर विभेदन प्रदान करता है। रिज़ॉल्यूशन प्रत्येक आयाम में परिमाणीकरण चरण आकार द्वारा भी नियंत्रित होता है। व्यवहार में, CMAC अक्सर बड़े अवधारणात्मक स्थान को छोटी भौतिक मेमोरी में मैप करने के लिए हैशिंग योजना का उपयोग करते हैं, जिससे टकराव हो सकते हैं लेकिन नियंत्रण कार्यों के लिए आम तौर पर स्वीकार्य है।
सीखना और अनुकूलन
CMAC को प्रशिक्षित करने में इनपुट-आउटपुट जोड़े प्रस्तुत करना और सक्रिय पतों के भार को समायोजित करना शामिल है। मानक अद्यतन नियम है:
Δw = α * (लक्ष्य - आउटपुट) / C
जहां α सीखने की दर है, लक्ष्य वांछित आउटपुट है, और आउटपुट वर्तमान भविष्यवाणी है। यह नियम एक सामान्यीकृत न्यूनतम-माध्य-वर्ग एल्गोरिथम के बराबर है। क्योंकि प्रति नमूना केवल भारों का एक छोटा अंश अद्यतन किया जाता है, सीखना तेज़ और स्थिर है, यहां तक कि शोर डेटा के साथ भी। CMAC विनाशकारी हस्तक्षेप से ग्रस्त नहीं होते हैं, क्योंकि प्रत्येक भार केवल उन इनपुटों से प्रभावित होता है जो इसके संबंधित क्षेत्र को सक्रिय करते हैं।
एक सीमा यह है कि भारों की संख्या इनपुट आयामीता के साथ तेजी से बढ़ सकती है, हालांकि हैशिंग इसे कम करती है। उच्च-आयामी समस्याओं के लिए, Deep learning नेटवर्क जैसे अन्य आर्किटेक्चर को प्राथमिकता दी जा सकती है, लेकिन CMAC कम से मध्यम आयामी नियंत्रण कार्यों के लिए प्रतिस्पर्धी बना हुआ है।
अनुप्रयोग
CMAC को रोबोटिक्स और नियंत्रण प्रणालियों में व्यापक रूप से लागू किया गया है। प्रारंभिक उपयोगों में औद्योगिक रोबोट आर्म के जोड़ों को नियंत्रित करना शामिल था, जहां यह सुचारू प्रक्षेपवक्र ट्रैकिंग प्रदान करता था। इसका उपयोग अरेखीय प्रणालियों के अनुकूली नियंत्रण में भी किया गया है, जैसे विमान उड़ान नियंत्रण और इंजन प्रबंधन। 1990 और 2000 के दशक में, शोधकर्ताओं ने उल्टे पेंडुलम को संतुलित करने और मोबाइल रोबोटों को नेविगेट करने जैसे कार्यों के लिए Reinforcement learning तकनीकों के साथ CMAC को एकीकृत किया।
हाल ही में, CMAC ने सिग्नल प्रोसेसिंग और पैटर्न पहचान जैसे क्षेत्रों में विशेष अनुप्रयोग पाए हैं, हालांकि यह Deep learning विधियों द्वारा काफी हद तक ग्रहण किया गया है। हालांकि, इसकी कम कम्प्यूटेशनल लागत और सरल हार्डवेयर कार्यान्वयन इसे एम्बेडेड सिस्टम और वास्तविक समय अनुप्रयोगों के लिए आकर्षक बनाता है, जैसे Tesla-शैली नियंत्रण लूप या Intuitive Surgical रोबोटिक सर्जरी प्रणालियों में, जहां विलंबता महत्वपूर्ण है।
अन्य मॉडलों के साथ तुलना
Neural network मॉडल जैसे बहु-परत परसेप्ट्रॉन या Transformer (architecture)-आधारित आर्किटेक्चर के विपरीत, CMAC एक गैर-पैरामीट्रिक, स्थानीय रूप से भारित मॉडल है। इसे बैकप्रोपेगेशन या छिपी परतों के माध्यम से ग्रेडिएंट गणना की आवश्यकता नहीं होती है, जिससे इसे एनालॉग या डिजिटल हार्डवेयर में लागू करना आसान हो जाता है। इसकी मेमोरी उपयोग पूर्वानुमानित है, और प्रशिक्षण ऑनलाइन है, जिसका अर्थ है कि यह बदलते वातावरण में लगातार अनुकूलित हो सकता है।
हालांकि, CMAC में छवियों या पाठ जैसे उच्च-आयामी, संरचित डेटा के लिए गहरे नेटवर्क की प्रतिनिधित्व शक्ति का अभाव है। यह उन समस्याओं के लिए सबसे उपयुक्त है जहां इनपुट स्थान अपेक्षाकृत कम-आयामी है और सन्निकटित किया जाने वाला फ़ंक्शन सुचारू है। Artificial intelligence और Machine learning के व्यापक संदर्भ में, CMAC को एक शास्त्रीय विधि माना जाता है, लेकिन यह नियंत्रण इंजीनियरिंग और रोबोटिक्स शिक्षा में एक उपयोगी उपकरण बना हुआ है।
यह भी देखें
- तंत्रिका नेटवर्क
- मशीन लर्निंग
- रोबोटिक्स
- control-theory
संदर्भ
- Albus, J. S. (1975). A new approach to manipulator control: The cerebellar model articulation controller (CMAC). Journal of Dynamic Systems, Measurement, and Control, 97(3), 220-227.
- Miller, W. T., Glanz, F. H., & Kraft, L. G. (1990). CMAC: An associative neural network alternative to backpropagation. Proceedings of the IEEE, 78(10), 1561-1567.
- Brown, M., & Harris, C. (1994). Neurofuzzy Adaptive Modelling and Control. Prentice Hall.