کنترل کننده مفصلی مدل مخچه

از ویکی‌پدیا، دانشنامهٔ آزاد

کامپیوتر محاسباتی مدل مخچه ای (CMAC) نوعی شبکه عصبی مبتنی بر مدل مخچه پستانداران است. همچنین به عنوان کنترل کننده مفصلی مدل مخچه ای شناخته می شود. نوعی حافظه تداعی است.[۱]

CMAC برای اولین بار به عنوان یک مدل‌ساز عملکرد برای کنترل‌کننده‌های رباتیک توسط جیمز آلبوس در سال [۲]1975 پیشنهاد شد (از این رو نام آن است)، اما به طور گسترده در یادگیری تقویتی و همچنین برای طبقه‌بندی خودکار در جامعه یادگیری ماشین استفاده شده است. CMAC توسعه مدل پرسپترون است. تابعی را برای n بعد ورودی محاسبه می کند. فضای ورودی به بیش‌مستطیل‌هایی تقسیم می‌شود که هر کدام با یک سلول حافظه مرتبط هستند. محتویات سلول های حافظه وزنه هایی هستند که در حین تمرین تنظیم می شوند. معمولاً بیش از یک کوانتیزه سازی فضای ورودی استفاده می شود، به طوری که هر نقطه در فضای ورودی با تعدادی بیش مستطیل و در نتیجه با تعدادی سلول حافظه همراه است. خروجی یک CMAC مجموع جبری وزن های تمام سلول های حافظه است که توسط نقطه ورودی فعال می شوند.

تغییر مقدار نقطه ورودی منجر به تغییر مجموعه ای از فضاهای فعال مستطیلی می شود و به همین دلیل تغییر در مجموعه سلول های حافظه شرکت کننده در خروجی CMAC رخ می دهد. بنابراین، خروجی CMAC به صورت توزیع شده ذخیره می شود، به گونه ای که خروجی متناظر با هر نقطه در فضای ورودی از مقدار ذخیره شده در تعدادی از سلول های حافظه به دست می آید (ز این رو به آن حافظه انجمنی می گویند). این عملکرد تعمیم پذیر را فراهم می کند.

بلوک‌های ساختاری


در تصویر مجاور، دو ورودی به CMAC وجود دارد که به عنوان یک فضای دو بعدی نشان داده شده‌اند. دو تابع کوانتیزاسیون برای تقسیم این فضا با دو شبکه همپوشان استفاده شده‌اند (یکی از آن‌ها در خطوط سنگین نشان داده شده است). یک ورودی تنها در نزدیکی مرکز نشان داده شده است و این چندین سلول حافظه را فعال کرده است که با منطقه‌ای که رنگ شده، مطابقت دارند. اگر نقطه دیگری در نزدیکی نقطه نشان داده شده وجود داشته باشد، برخی از سلول های حافظه مشترک خواهند بود و تعمیم پذیری فراهم می‌شود.

CMAC با ارائه جفت نقاط ورودی و مقادیر خروجی آموزش داده می‌شود و با تنظیم وزن در سلول های فعال با توجه به نسبت خطای مشاهده شده در خروجی، آموزش داده می‌شود. این الگوریتم آموزش ساده دارای اثبات همگرایی است.[۳]

معمول است که یک تابع هسته به هایپر-مستطیل اضافه شود، به طوری که نقاطی که به سمت لبه های هایپر-مستطیل می‌افتند، فعال سازی کمتری نسبت به نقاطی که در نزدیکی مرکز قرار دارند، داشته باشند.[۴]

یکی از مشکلات عمده در استفاده عملی از CMAC، اندازه حافظه مورد نیاز است که به طور مستقیم با تعداد سلول های استفاده شده مرتبط است. این معمولا با استفاده از یک تابع هش، و فقط فراهم کردن حافظه ذخیره‌سازی برای سلول‌های واقعی که توسط ورودی‌ها فعال شده‌اند، بهبود یافته است.


  1. "Cerebellar model articulation controller". Wikipedia (به انگلیسی). 2023-05-08.
  2. "Cerebellar model articulation controller". Wikipedia (به انگلیسی). 2023-05-08.
  3. "Cerebellar model articulation controller". Wikipedia (به انگلیسی). 2023-05-08.
  4. "Cerebellar model articulation controller". Wikipedia (به انگلیسی). 2023-05-08.