عنوان مقاله

+

مقاله پیاده سازی VLSI یک شبکه عصبی آنالوگ مناسب برای الگوریتم های ژنتیک

فهرست/چکیده

+

فهرست مطالب

خلاصه    ۱
۱- مقدمه    ۲
۲- تحقق شبکه عصبی    ۵
۲-۱- اصول عملکرد    ۵
۲-۲- پیاده سازی مدارهای شبکه    ۱۱
۳- پیاده سازی الگوریتم آموزش ژنتیک    ۱۶
۴- نتایج تجربی    ۱۸
۵- نتیجه و چشم انداز    ۲۱
منابع    ۲۲

/////////////////////////////////////////////////////////////////////////////////////////////////////

چکیده

این مقاله یک معماری شبکه عصبی آنالوگ جدید را معرفی می کند که وزنهای بکار برده شده در آن توسط الگوریتم ژنتیک تعیین می شوند .

اولین پیاده سازی VLSI ارائه شده در این مقاله روی سیلیکونی با مساحت کمتر از ۱mm که   شامل ۴۰۴۶ سیناپس و ۲۰۰ گیگا اتصال در ثانیه است اجرا شده است .

شبکه ارائه شده در این مقاله برای یک جریان عددی real-time‌ در محدوده فرکانسی    ۱ – ۱۰۰MHz و پهنای ۶۴ بیت بهینه شده است .

قصد داریم که آن را برای کاربردهای انتقال داده مثل DSL‌ سرعت بالا ، پردازش تصویر  بر اساس داده دیجیتالی لبه تولید شده توسط تصاویر دوربین بوسیله تراشه پیش پردازش   آنالوگی و ارزیابی تناسبی آرایه ترانزیستور قابل برنامه ریزی که در گروه ما توسعه داده شده است    بکار ببریم .

مخصوصا سطح بسیار کوچک سیناپس ، ساخت تراشه های شبکه ای با بیش از یک میلیون سیناپس را ممکن می سازد .

نگاشت داده ورودی به شبکه و تعداد موثر و اندازه لایه های شبکه قابل برنامه ریزی شده است .

بنابراین نه تنها وزنها بلکه قسمت مهمی از معماری می تواند تکمیل شود .

واژه های کلیدی: شبکه عصبی ،آنالوگ، الگوریتم ژنتیک، پیاده سازی VLSI، سیناپس، لایه ها

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

======