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

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

لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل: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 یک شبکه عصبی آنالوگ مناسب برای الگوریتم های ژنتیک


تحقیق در مورد الگوریتم های ژنتیک

تحقیق در مورد الگوریتم های ژنتیک

لینک پرداخت و دانلود *پایین مطلب*

فرمت فایل:Word (قابل ویرایش و آماده پرینت)

 تعداد صفحه20

بخشی از فهرست مطالب

چکیده موضوع ………………………………………………………………………

 

مقدمه……………………………………………………

 

الگوریتم ژنتیک چیست؟…………………………………… ……………………………………

 

ایده اصلی …………………………………………………………………………………

 

الگوریتم ژنتیک ……………………………………………………………………….

 

سود و کد الگوریتم………………………………………………………..

 

روش های نمایش ………………………………………………………….

 

روش های انتخاب ………………………………………………………..

 

روش های تغییر ……………………………………………………………..

 

نقاط قوت الگوریتم های ژنتیک... ……………………………………

 

نقاط ضعف الگوریتم های ژنتیک. ……………………………………

 

نمونه هایی از کاربردهای الگوریتم های ژنتیک در دنیای امروز……………………………………..

 

یک مثال ساده با جزئیات …………………………………….

 

هایپر هیوریستیک ...................

 

چکیده 

 

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

 

     مختصراً گفته می شود که الگوریتم ژنتیک (یا GA) یک تکنیک برنامه نویسی است که از تکامل ژنتیکی به عنوان یک الگوی حل نمسئله استفاده می کند.مسئله ای که باید حل شود ورودی است و راه حلها طبق یک الگو کد گذاری می شودومتریک که تابع fitness هم نام دارد هر راه حل کاندید را ارزیابی می کندکه اکثر آنها به صورت تصادفی انتخاب می شوند.

 

کلاً این الگوریتم ها از بخش های زیر تشکیل می شوند :

 

تابع برازش  - نمایش – انتخاب – تغییر

 

که در ادامه آنها را توضیح خواهیم داد.

 

مقدمه

 

     هنگامی که لغت تنازع بقا به کار می‌رود اغلب بار ارزشی منفی آن به ذهن می‌آید. شاید همزمان قانون جنگل به ذهن برسد و حکم بقای قوی‌تر!
   البته برای آنکه خیالتان راحت شود می‌توانید فکر کنید که همیشه هم قوی‌ترین‌ها برنده نبوده‌اند. مثلا دایناسورها با وجود جثه عظیم و قوی‌تر بودن در طی روندی کاملا طبیعی بازی بقا و ادامه نسل را واگذار کردند در حالی که موجوداتی بسیار ضعیف‌تر از آنها حیات خویش را ادامه دادند. ظاهرا طبیعت بهترین‌ها را تنها بر اساس هیکل انتخاب نمی‌کند! در واقع درست‌تر آنست که بگوییم طبیعت مناسب ترین‌ها (Fittest) را انتخاب می‌کند نه بهترین‌ها.

 

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

 

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

 

    بدین ترتیب می‌توان دید که طبیعت با بهره‌گیری از یک روش بسیار ساده(حذف تدریجی گونه‌های نامناسب و در عین حال تکثیر بالاتر گونه‌های بهینه) توانسته است دائما هر نسل را از لحاظ خصوصیات مختلف ارتقا بخشد.

 

   البته آنچه در بالا ذکر شد به تنهایی توصیف کننده آنچه واقعا در قالب تکامل در طبیعت اتفاق می‌افتد نیست. بهینه‌سازی و تکامل تدریجی به خودی خود نمی‌تواند طبیعت را در دسترسی به بهترین نمونه‌ها یاری دهد. اجازه دهید تا این مساله را با یک مثال شرح دهیم.

 



خرید و دانلود تحقیق در مورد الگوریتم های ژنتیک


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

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

لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل: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 یک شبکه عصبی آنالوگ مناسب برای الگوریتم های ژنتیک