لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل:Word (قابل ویرایش و آماده پرینت)
تعداد صفحه: 30
پیاده سازی VLSI یک شبکه عصبی آنالوگ مناسب برای الگوریتم های ژنتیک
خلاصه
مفید بودن شبکه عصبی آنالوگ مصنوعی بصورت خیلی نزدیکی با میزان قابلیت آموزش پذیری آن محدود می شود .
این مقاله یک معماری شبکه عصبی آنالوگ جدید را معرفی می کند که وزنهای بکار برده شده در آن توسط الگوریتم ژنتیک تعیین می شوند .
اولین پیاده سازی VLSI ارائه شده در این مقاله روی سیلیکونی با مساحت کمتر از 1mm که شامل 4046 سیناپس و 200 گیگا اتصال در ثانیه است اجرا شده است .
از آنجائیکه آموزش می تواند در سرعت کامل شبکه انجام شود بنابراین چندین صد حالت منفرد در هر ثانیه می تواند توسط الگوریتم ژنتیک تست شود .
این باعث می شود تا پیاده سازی مسائل بسیار پیچیده که نیاز به شبکه های چند لایه بزرگ دارند عملی بنظر برسد .
1- مقدمه
شبکه های عصبی مصنوعی به صورت عمومی بعنوان یک راه حل خوب برای مسائلی از قبیل تطبیق الگو مورد پذیرش قرار گرفته اند .
علیرغم مناسب بودن آنها برای پیاده سازی موازی ، از آنها در سطح وسیعی بعنوان شبیه سازهای عددی در سیستمهای معمولی استفاده می شود .
یک دلیل برای این مسئله مشکلات موجود در تعیین وزنها برای سیناپسها در یک شبکه بر پایه مدارات آنالوگ است .
موفقترین الگوریتم آموزش ، الگوریتم Back-Propagation است .
این الگوریتم بر پایه یک سیستم متقابل است که مقادیر صحیح را از خطای خروجی شبکه محاسبه می کند .
یک شرط لازم برای این الگوریتم دانستن مشتق اول تابع تبدیل نرون است .
در حالیکه اجرای این مسئله برای ساختارهای دیجیتال از قبیل میکروپروسسورهای معمولی و سخت افزارهای خاص آسان است ، در ساختار آنالوگ با مشکل روبرو می شویم .
دلیل این مشکل ، تغییرات قطعه و توابع تبدیل نرونها و در نتیجه تغییر مشتقات اول آنها از نرونی به نرون دیگر و از تراشه ای به تراشه دیگر است و چه چیزی می تواند بدتر از این باشد که آنها با دما نیز تغییر کنند .
ساختن مدارات آنالوگی که بتوانند همه این اثرات را جبران سازی کنند امکان پذیر است ولی این مدارات در مقایسه با مدارهایی که جبران سازی نشده اند دارای حجم بزرگتر و سرعت کمتر هستند .
برای کسب موفقیت تحت فشار رقابت شدید از سوی دنیای دیجیتال ، شبکه های عصبی آنالوگ نباید سعی کنند که مفاهیم دیجیتال را به دنیای آنالوگ انتقال دهند .
در عوض آنها باید تا حد امکان به فیزیک قطعات متکی باشند تا امکان استخراج یک موازی سازی گسترده در تکنولوژی VLSI مدرن بدست آید .
شبکه های عصبی برای چنین پیاده سازیهای آنالوگ بسیار مناسب هستند زیرا جبران سازی نوسانات غیر قابل اجتناب قطعه می تواند در وزنها لحاظ شود .
مسئله اصلی که هنوز باید حل شود آموزش است .
حجم بزرگی از مفاهیم شبکه عصبی آنالوگ که در این زمینه می توانند یافت شوند ، تکنولوژیهای گیت شناور را جهت ذخیره سازی وزنهای آنالوگ بکار می برند ، مثل EEPROM حافظه های Flash .
در نظر اول بنظر می رسد که این مسئله راه حل بهینه ای باشد .
آن فقط سطح کوچکی را مصرف می کند و بنابراین حجم سیناپس تا حد امکان فشرده می شود (کاهش تا حد فقط یک ترانزیستور) .
دقت آنالوگ می تواند بیشتر از 8 بیت باشد و زمان ذخیره سازی داده (با دقت 5 بیت) تا 10 سال افزایش می یابد .
اگر قطعه بطور متناوب مورد برنامه ریزی قرار گیرد ، یک عامل منفی وجود خواهد داشت و آن زمان برنامه ریزی و طول عمر محدود ساختار گیت شناور است .
بنابراین چنین قطعاتی احتیاج به وزنهایی دارند که از پیش تعیین شده باشند .
اما برای محاسبه وزنها یک دانش دقیق از تابع تبدیل شبکه ضروری است .
برای شکستن این چرخه پیچیده ، ذخیره سازی وزن باید زمان نوشتن کوتاهی داشته باشد .
این عامل باعث می شود که الگوریتم ژنتیک وارد محاسبات شود .
با ارزیابی تعداد زیادی از ساختارهای تست می توان وزنها را با بکار بردن یک تراشه واقعی تعیین کرد .
همچنین این مسئله می تواند حجم عمده ای از تغییرات قطعه را جبران سلزی کند ، زیرا داده متناسب شامل خطاهایی است که توسط این نقایص ایجاد شده اند .
این مقاله یک معماری شبکه عصبی آنالوگ را توصیف می کند که برای الگوریتم های ژنتیک بهینه شده اند .
سیناپس ها کوچک 10X10μm و سریع هستند .
فرکانس اندازه گیری شده شبکه تا 50MHz افزایش می یابد که در نتیجه بیش از 200 گیگا اتصال در ثانیه برای آرایه کاملی از 4096 سیناپس بدست می آید .
برای ساختن شبکه های بزرگتر باید امکان ترکیب چندین شبکه کوچکتر روی یک سطح یا روی تراشه های مختلف وجود داشته باشد که با محدود کردن عملکرد آنالوگ به سیناپس ها و ورودیهای نرون بدست می آید .
ورودیهای شبکه و خروجیهای نرون بصورت دیجیتالی کدینگ می شود .
در نتیجه عملکرد سیناپس از ضرب به جمع کاهش می یابد .
این مسئله باعث می شود که حجم سیناپس کوچکتر شود و عدم تطبیق پذیری قطعه بطورکامل جبران سازی شود .
چونکه هر سیناپس یک صفر یا وزن اختصاصی اش را اضافه می کند که می تواند شامل هر تصحیح ضروری باشد .
سیگنالهای آنالوگ بین لایه های شبکه آنالوگ ، بوسیله اتصالات چند بیتی اختیاری بیان می شوند .
شبکه ارائه شده در این مقاله برای یک جریان عددی real-time در محدوده فرکانسی 1 – 100MHz و پهنای 64 بیت بهینه شده است .
قصد داریم که آن را برای کاربردهای انتقال داده مثل DSL سرعت بالا ، پردازش تصویر بر اساس داده دیجیتالی لبه تولید شده توسط تصاویر دوربین بوسیله تراشه پیش پردازش آنالوگی و ارزیابی تناسبی آرایه ترانزیستور قابل برنامه ریزی که در گروه ما توسعه داده شده است بکار ببریم .
2- تحقق شبکه عصبی
2-1- اصول عملکرد
شکل1 یک بیان سمبولیک از شبکه عصبی دور زننده را نشان می دهد .
هر نرون ورودی (دایره کوچک) بوسیله یک سیناپس (پیکان) به هر نرون خروجی متصل شده است .
نرونهای خروجی توسط مجموعه دومی از نرون های ورودی به داخل شبکه فیدبک شده اند .
نرون های ورودی فقط بجای تقویت کننده ها بکار گرفته می شوند در صورتیکه پردازش
در نرون های خروجی انجام می شود .
وزنهای سیناپس هایی که در حالت صفر تنظیم شده اند با پیکانهای خط چین نشان داده شده اند .
یک شبکه فیدبک آموزش داده شده توسط الگوریتم ژنتیک معمولا تعداد ثابتی از لایه ها ندارد .
البته الگوریتم می تواند به تعداد ثابتی از لایه ها محدود شود ، همانطوریکه در شکل1 نشان داده شده است .
این معماری شبکه های چند لایه مجازی را با انتخاب وزنهای مناسب ارائه می دهد . یک مثال برای ساختار 2 لایه در سمت راست شکل 1 نشان داده شده است .
این فقط قسمتی از متن مقاله است . جهت دریافت کل متن مقاله ، لطفا آن را خریداری نمایید
دانلود مقاله کامل پیاده سازی VLSI یک شبکه عصبی آنالوگ مناسب برای الگوریتم های ژنتیک