
مقدمه:
شبکه های عصبی مصنوعی به عنوان ابزارهایی توانمند در پردازش اطلاعات و حل مسائل پیچیده شناخته می شوند، اما میزان قابلیت آموزش پذیری آنها محدودیت های قابل توجهی را بر عملکرد نهایی تحمیل می کند. در این زمینه، شبکه های عصبی آنالوگ از جذابیت خاصی برخوردارند، زیرا امکان پردازش همزمان و موازی داده ها را فراهم می آورند و توانایی اجرای محاسبات با سرعت بالا را دارند. با وجود این مزیت، تعیین وزن های سیناپس ها در مدارهای آنالوگ همواره یکی از چالش های اصلی باقی مانده است، زیرا تغییرات قطعه، نوسانات دما و تفاوت های ذاتی بین ترانزیستورها باعث تغییرات جزئی در عملکرد هر نرون می شود و الگوریتم های آموزش سنتی مانند Back-Propagation نیازمند دانستن دقیق مشتق تابع تبدیل نرون ها هستند. این مساله پیاده سازی شبکه های آنالوگ بزرگ و دقیق را با محدودیت های عملیاتی مواجه می سازد و نیاز به روش های نوین تعیین وزن ها را ضروری می کند.
در پروژه حاضر، یک معماری جدید شبکه عصبی آنالوگ معرفی شده است که وزن های آن با الگوریتم ژنتیک تعیین می شوند. این روش امکان بهره برداری از ویژگی های فیزیکی قطعات آنالوگ را به حداکثر می رساند و توانایی جبران نوسانات و تغییرات قطعات را فراهم می آورد. اولین پیاده سازی VLSI این شبکه روی سطحی کمتر از ۱ میلی متر مربع انجام شده و شامل بیش از ۴۰۴۶ سیناپس با ظرفیت پردازش بیش از ۲۰۰ گیگا اتصال در ثانیه است. چنین سرعتی اجازه می دهد تا الگوریتم ژنتیک بتواند چند صد حالت متفاوت شبکه را در هر ثانیه ارزیابی کند و وزن های بهینه را بدون نیاز به شبیه سازی های پیچیده دیجیتال تعیین نماید. این امر امکان طراحی شبکه های چندلایه بزرگ و اجرای مسائل پیچیده را در قالب مدارهای آنالوگ عملی می سازد و سطحی از پردازش واقعی و نزدیک به زمان واقعی را ارائه می دهد که در سیستم های دیجیتال معمولی به سختی قابل دستیابی است.
پیاده سازی VLSI شبکه های عصبی آنالوگ مستلزم بهره گیری از موازی سازی گسترده و طراحی دقیق سیناپس ها و نرون ها است. سیناپس های استفاده شده در این پروژه ابعاد بسیار کوچک ۱۰×۱۰ میکرومتر دارند و فرکانس عملکرد شبکه تا ۵۰ مگاهرتز افزایش یافته است. این مشخصات باعث می شود که تراکم بالای اتصالات در سطح تراشه امکان پذیر شود و همزمان، تغییرات قطعه و خطاهای ناشی از آن به شکل موثری جبران شوند. ورودی ها و خروجی های شبکه به صورت دیجیتال کدگذاری می شوند و عملکرد سیناپس از ضرب به جمع کاهش یافته است، امری که باعث کاهش حجم هر سیناپس و افزایش دقت عملیاتی می شود.
در زمینه ذخیره سازی وزن ها، تکنولوژی های گیت شناور مانند EEPROM و حافظه های Flash مورد استفاده قرار می گیرند که امکان نگهداری داده ها با دقت بالاتر از ۸ بیت و زمان نگهداری تا ۱۰ سال را فراهم می آورند. با این حال، زمان برنامه ریزی محدود و طول عمر محدود این ساختارها موجب می شود که وزن ها پیش از اجرا محاسبه و بهینه شوند. الگوریتم های ژنتیک با ارزیابی تعداد زیادی از ساختارهای شبکه واقعی، وزن هایی به دست می آورند که تغییرات قطعه و خطاهای آنالوگ را پوشش می دهند و شبکه قادر است بدون کاهش سرعت و دقت به عملکرد بهینه دست یابد.
پیاده سازی این شبکه ها برای کاربردهای انتقال داده با سرعت بالا مانند DSL، پردازش تصویر بر اساس داده های دیجیتالی لبه تولید شده توسط سنسورهای تصویری و دیگر کاربردهای real-time در محدوده فرکانسی ۱–۱۰۰ مگاهرتز و پهنای ۶۴ بیت طراحی شده است. امکان ترکیب چندین شبکه کوچک روی یک سطح یا تراشه های مختلف نیز فراهم شده و شبکه های بزرگ تر با حفظ قابلیت آنالوگ سیناپس ها قابل ساخت هستند. اتصالات چندبیتی بین لایه ها و قابلیت افزودن یا اصلاح وزن های سیناپس، انعطاف پذیری بالایی برای پاسخ به تغییرات محیطی و عملیاتی فراهم می آورد و بهره وری شبکه را در پردازش داده های پیچیده افزایش می دهد.
این معماری شبکه عصبی آنالوگ، طراحی و اجرای وزن های بهینه برای الگوریتم های ژنتیک را به گونه ای ممکن ساخته که ترکیبی از پردازش سریع، موازی سازی گسترده و توانایی جبران تغییرات قطعه را ارائه می دهد، در حالی که حجم تراشه و مصرف انرژی بهینه باقی می ماند و امکان توسعه شبکه های بزرگ تر برای مسائل پیچیده مهندسی فراهم می شود.
فهرست مطالب
خلاصه ۱
۱- مقدمه ۲
۲- تحقق شبکه عصبی. ۵
۲-۱- اصول عملکرد ۵
۲-۲- پیاده سازی مدارهای شبکه ۱۱
۳- پیاده سازی الگوریتم آموزش ژنتیک… ۱۶
۴- نتایج تجربی. ۱۸
۵- نتیجه و چشم انداز ۲۱
منابع. ۲۲