مفید بودن شبکه عصبی آنالوگ مصنوعی بصورت خیلی نزدیکی با میزان قابلیت آموزش پذیری آن محدود می شود .
این مقاله یک معماری شبکه عصبی آنالوگ جدید را معرفی می کند که وزنهای بکار برده شده در آن توسط الگوریتم ژنتیک تعیین می شوند .
اولین پیاده سازی VLSI ارائه شده در این مقاله روی سیلیکونی با مساحت کمتر از 1mm که شامل 4046 سیناپس و 200 گیگا اتصال در ثانیه است اجرا شده است .
از آنجائیکه آموزش می تواند در سرعت کامل شبکه انجام شود بنابراین چندین صد حالت منفرد در هر ثانیه می تواند توسط الگوریتم ژنتیک تست شود .
این باعث می شود تا پیاده سازی مسائل بسیار پیچیده که نیاز به شبکه های چند لایه بزرگ دارند عملی بنظر برسد .
شبکه های عصبی مصنوعی به صورت عمومی بعنوان یک راه حل خوب برای مسائلی از قبیل تطبیق الگو مورد پذیرش قرار گرفته اند .
علیرغم مناسب بودن آنها برای پیاده سازی موازی ، از آنها در سطح وسیعی بعنوان شبیه سازهای عددی در سیستمهای معمولی استفاده می شود .
یک دلیل برای این مسئله مشکلات موجود در تعیین وزنها برای سیناپسها در یک شبکه بر پایه مدارات آنالوگ است .
موفقترین الگوریتم آموزش ، الگوریتم Back-Propagation است .
این الگوریتم بر پایه یک سیستم متقابل است که مقادیر صحیح را از خطای خروجی شبکه محاسبه می کند .
یک شرط لازم برای این الگوریتم دانستن مشتق اول تابع تبدیل نرون است .
در حالیکه اجرای این مسئله برای ساختارهای دیجیتال از قبیل میکروپروسسورهای معمولی و سخت افزارهای خاص آسان است ، در ساختار آنالوگ با مشکل روبرو می شویم .
دلیل این مشکل ، تغییرات قطعه و توابع تبدیل نرونها و در نتیجه تغییر مشتقات اول آنها از نرونی به نرون دیگر و از تراشه ای به تراشه دیگر است و چه چیزی می تواند بدتر از این باشد که آنها با دما نیز تغییر کنند .
ساختن مدارات آنالوگی که بتوانند همه این اثرات را جبران سازی کنند امکان پذیر است ولی این مدارات در مقایسه با مدارهایی که جبران سازی نشده اند دارای حجم بزرگتر و سرعت کمتر هستند .
برای کسب موفقیت تحت فشار رقابت شدید از سوی دنیای دیجیتال ، شبکه های عصبی آنالوگ نباید سعی کنند که مفاهیم دیجیتال را به دنیای آنالوگ انتقال دهند .
در عوض آنها باید تا حد امکان به فیزیک قطعات متکی باشند تا امکان استخراج یک موازی سازی گسترده در تکنولوژی VLSI مدرن بدست آید .
شبکه های عصبی برای چنین پیاده سازیهای آنالوگ بسیار مناسب هستند زیرا جبران سازی نوسانات غیر قابل اجتناب قطعه می تواند در وزنها لحاظ شود .
شبکه های عصبی برای چنین پیاده سازیهای آنالوگ بسیار مناسب هستند زیرا جبران سازی نوسانات غیر قابل اجتناب قطعه می تواند در وزنها لحاظ شود .
مسئله اصلی که هنوز باید حل شود آموزش است .
حجم بزرگی از مفاهیم شبکه عصبی آنالوگ که در این زمینه می توانند یافت شوند ، تکنولوژیهای گیت شناور را جهت ذخیره سازی وزنهای آنالوگ بکار می برند ، مثل EEPROM حافظه های Flash .
در نظر اول بنظر می رسد که این مسئله راه حل بهینه ای باشد .
آن فقط سطح کوچکی را مصرف می کند و بنابراین حجم سیناپس تا حد امکان فشرده می شود (کاهش تا حد فقط یک ترانزیستور) .
دقت آنالوگ می تواند بیشتر از 8 بیت باشد و زمان ذخیره سازی داده (با دقت 5 بیت) تا 10 سال افزایش می یابد .
اگر قطعه بطور متناوب مورد برنامه ریزی قرار گیرد ، یک عامل منفی وجود خواهد داشت و آن زمان برنامه ریزی و طول عمر محدود ساختار گیت شناور است .
بنابراین چنین قطعاتی احتیاج به وزنهایی دارند که از پیش تعیین شده باشند .
اما برای محاسبه وزنها یک دانش دقیق از تابع تبدیل شبکه ضروری است .
برای شکستن این چرخه پیچیده ، ذخیره سازی وزن باید زمان نوشتن کوتاهی داشته باشد .
این عامل باعث می شود که الگوریتم ژنتیک وارد محاسبات شود .
با ارزیابی تعداد زیادی از ساختارهای تست می توان وزنها را با بکار بردن یک تراشه واقعی تعیین کرد .
همچنین این مسئله می تواند حجم عمده ای از تغییرات قطعه را جبران سلزی کند ، زیرا داده متناسب شامل خطاهایی است که توسط این نقایص ایجاد شده اند .
این مقاله یک معماری شبکه عصبی آنالوگ را توصیف می کند که برای الگوریتم های ژنتیک بهینه شده اند .
سیناپس ها کوچک 10X10μm و سریع هستند .
فرکانس اندازه گیری شده شبکه تا 50MHz افزایش می یابد که در نتیجه بیش از 200 گیگا اتصال در ثانیه برای آرایه کاملی از 4096 سیناپس بدست می آید .
برای ساختن شبکه های بزرگتر باید امکان ترکیب چندین شبکه کوچکتر روی یک سطح یا روی تراشه های مختلف وجود داشته باشد که با محدود کردن عملکرد آنالوگ به سیناپس ها و ورودیهای نرون بدست می آید .
ورودیهای شبکه و خروجیهای نرون بصورت دیجیتالی کدینگ می شود .
در نتیجه عملکرد سیناپس از ضرب به جمع کاهش می یابد .
این مسئله باعث می شود که حجم سیناپس کوچکتر شود و عدم تطبیق پذیری قطعه بطورکامل جبران سازی شود .
چونکه هر سیناپس یک صفر یا وزن اختصاصی اش را اضافه می کند که می تواند شامل هر تصحیح ضروری باشد .
سیگنالهای آنالوگ بین لایه های شبکه آنالوگ ، بوسیله اتصالات چند بیتی اختیاری بیان می شوند .
شبکه ارائه شده در این مقاله برای یک جریان عددی real-time در محدوده فرکانسی 1 – 100MHz و پهنای 64 بیت بهینه شده است .
قصد داریم که آن را برای کاربردهای انتقال داده مثل DSL سرعت بالا ، پردازش تصویر بر اساس داده دیجیتالی لبه تولید شده توسط تصاویر دوربین بوسیله تراشه پیش پردازش آنالوگی و ارزیابی تناسبی آرایه ترانزیستور قابل برنامه ریزی که در گروه ما توسعه داده شده است بکار ببریم .
2- تحقق شبکه عصبی 2-1- اصول عملکرد شکل1 یک بیان سمبولیک از شبکه عصبی دور زننده را نشان می دهد .
هر نرون ورودی (دایره کوچک) بوسیله یک سیناپس (پیکان) به هر نرون خروجی متصل شده است .
نرونهای خروجی توسط مجموعه دومی از نرون های ورودی به داخل شبکه فیدبک شده اند .
نرون های ورودی فقط بجای تقویت کننده ها بکار گرفته می شوند در صورتیکه پردازش در نرون های خروجی انجام می شود .
این معماری شبکه های چند لایه مجازی را با انتخاب وزنهای مناسب ارائه می دهد .
یک مثال برای ساختار 2 لایه در سمت راست شکل 1 نشان داده شده است .
وزنهای سیناپس هایی که در حالت صفر تنظیم شده اند با پیکانهای خط چین نشان داده شده اند .
یک شبکه فیدبک آموزش داده شده توسط الگوریتم ژنتیک معمولا تعداد ثابتی از لایه ها ندارد .
البته الگوریتم می تواند به تعداد ثابتی از لایه ها محدود شود ، همانطوریکه در شکل1 نشان داده شده است .
اما بنظر می رسد که معمولا بهتر است اجازه داده شود تا الگوریتم ژنتیک بهترین تعداد لایه ها را انتخاب کند .
همچنین بین لایه های مجازی مرز دقیقی وجود ندارد .
برای جلوگیری از تلف شدن سیناپس در صورتیکه همه مسیرهای فیدبک استفاده نشده باشند ، شبکه ارائه شده نرون های ورودی را بین نرون های خروجی و خروجی های فیدبک تقسیم (share) می کند .
شکل 2 اصول عملکرد یک تک نرون را نشان می دهد .
وزنهای سیناپسی تحت عنوان بار روی خازن ذخیره می شوند (خازن ذخیره ساز) .
عملکرد نرون به دو فاز تقسیم می شود : پیش شارژ (Precharge) و ارزشیابی (Evaluate) در فاز پیش شارژ همه کلیدهای موجود در سیناپس ها به سمت بافر تنظیم می شوند و سیگنال پیش شارژ در نرون فعال است .
در هر سیناپس ، خازن خروجی از طریق بافر وزن به همان مقدار ولتاژی که روی خازن ذخیره قرار دارد شارژ می شود .
نرون از یک مقایسه کننده ( Comparator ) و یک Latch تشکیل می شود .
سیگنال پیش شارژ کلید مابین دو ورودی مقایسه کننده را می بندد .
و در نتیجه سیگنال Post-Synaptic با ولتاژ مرجعی پیش شارژ می شود که سطح صفر شبکه را تعیین می کند .
در فاز ارزشیابی ، حاصل جمع همه سیناپس ها با این ولتاژ پیش شارژ مقایسه می شود .
اگر در سیگنال سیناپس افزایشی روی دهد نرون فعال می شود .
این حالت نرون در فلیپ فلاپ ذخیره می شود وقتی که فاز از حالت ارزشیابی به حالت پیش شارژ تغییر کند .
در فاز ارزشیابی به شرط فعال بودن سیگنال Pre-Synaptic کلید سیناپس خازن خروجی را با سیگنال Post-Synaptic متصل می کند .
سیگنال های Pre-Synaptic بسته به ورودی شبکه و اطلاعات فیدبک توسط نرون های ورودی تولید می شوند .
این چرخه می تواند به دفعات ثابتی تکرار شود تا شبکه را به تعداد لایه ماکزیمم محدود کند و همچنین زمان پردازش را برای یک الگوی ورودی محدود کند .
همچنین وقتی که داده ورودی از چرخه ای به چرخه دیگر تغییر می کند شبکه می تواند بصورت پیوسته اجرا شود .
این برای کاربردهای پردازش سیگنال مفید است .
شکل 3 بلوک دیاگرام نمونه نخستین شبکه عصبی توسعه یافته را نشان می دهد .
عنصر مرکزی یک آرایه سیناپسی 64X64 است .
خطوط Post-Synaptic متعلق به 64 نرون خروجی بطور افقی از طریق سیناپس ها اجرا می شوند در حالیکه سیگنالهای سیناپتیک از نرونهای ورودی که در پایین و بالا قرار گرفته اند بداخل آرایه تغذیه می شوند .
هر نرون ورودی می تواند طوری ترکیب بندی شود تا برای ورودییش ، داده خارجی و یا داده را از شبکه خودش قبول کند .
این داده داخلی بطور متناوب از دو منبع می آید .
نرونهای ورودی فرد یک سیگنال فیدبک را از یک نرون خروجی دریافت می کنند در صورتیکه نمونه زوج خروجی معکوس را از همسایه فردش می گیرد .
اگر نرون زوج به همتای فردش وصل شود آنها با هم یک ورودی تفاضلی را تشکیل می دهند ، از آنجاییکه سیگنال باینری به یک جفت ورودی متناوب تبدیل می شود .
این مسئله برای دو هدف مفید است .
اگر داده کد شده باینری بکار برده شود ، تعداد نرونهای ورودی فعال همواره یکسان باقی می ماند .
دلیل دوم به روش محاسبه ولتاژ Post-Synaptic مربوط می شود .
Qi باری است که روی خازن خروجی سیناپس ذخیره شده است .
Ii سیگنال pre-synaptic است .
بعنوان یک مقدار باینری مقدار آن صفر یا یک است .
اگر Vpostsyn > Vprecharge باشد ، نرون فعال می شود .
نه تنها صورت کسر ، بلکه مخرج کسر نیز به همه سیگنالهای ورودی بستگی دارد .
این مسئله این مشکل را دارد که اگر یک سیگنال ورودی تغییر کند ، تاثیر وزنهای دیگر روی Vpostsyn همچنین تغییر می کند .
با وجود اینکه در مدل ساده معادله 1 نشان داده شده است که پاسخ شبکه همان مقدار باقی می ماند ولی اجرای شبکه واقعی ممکن است متضرر شود .
جهت اجتناب از این اثر ورودی تفاضلی به ازای هر ورودی داده یک نرون ورودی را فعال می کند .
خازن سوئیچ شونده به خط سیگنال post-synaptic از داده مستقل می شود .
بنابراین مخرج معادله 1 برای هر نوع تغییرات ورودی تفاضلی یکسان باقی می ماند .
ضرر حاصله کاهش تعداد ورودی مستقل است چرا که هر ورودی تفاضلی یک نرون ورودی فرد را با یک نرون ورودی زوج ترکیب می کند .
2-2- پیاده سازی مدارهای شبکه یک تصویر میکرویی (micro photograph) از تراشه ساخته شده در شکل 4 دیده می شود .
تکنولوژی بکار رفته ، فرایند CMOS-0.35μm یک poly و سه لایه فلز است .
اندازه die بوسیله صفحات ورودی/خروجی (IO pads) که برای ارتباط با سیستم تست لازم هستند تعیین می شود .
آرایه سیناپس مساحتی کمتر از 0.5mm را اشغال می کند .
در ولتاژ 3.3 ولت عمل کرده و توانی در حدود 50Mw مصرف می کند .
شکل 5 بلوک مداری یک سیناپس را نشان می دهد .
هر دو تا از خازن ها توسط ترانزیستور MOS پیاده سازی شده اند .
بافر وزن بعنوان یک source follower توسط قطعات M1 و M2 تحقق پیدا کرده است .
افست و بهره این source follower با ولتاژ بایاس به همان خوبی دما تغییر می کند .
بنابراین تقویت کننده عملیاتی که خارج از آرایه سیناپس قرار دارد ولتاژ ورودی وزن را تصحیح می کند تا ولتاژ خروجی source follower با ولتاژ وزن مطلوب که از طریق M7 بصورت پسخورد تغذیه شده است برابر شود .
خطای تزریق بار ایجاد شده توسط M6 که به تطبیق نشدگی (mismatch) القایی کارخانه وابسته است می تواند توسط مقدار وزن جبران سازی شود .
M3 در فاز پیش شارژ شبکه بسته می شود تا خازن خروجی را به اندازه ولتاژ وزن شارژ کند .
M5 با شارژ کامل در مرحله اول باعث سرعت بخشیدن به این فرایند می شود .
از آنجاییکه جریان خروجی source follower برای یک جریان خارج شونده از M1 خیلی بزرگتر از مقداری است که وارد M2 می شود ، در نتیجه آن خازن را دشارژ می کند سریعتر از آنی که می تواند آن را شارژ کند .
بنابراین زمان کل برای شارژ خازن خروجی به ولتاژ دلخواه بوسیله ترکیب این دشارژ و شارژ کاهش می یابد .
در فاز ارزیابی ، M4 توسط سیگنال pre-synaptic نرون ورودی متصل به سیناپس فعال می شود .
تقسیم (sharing) بار بین همه سیناپس های فعال هر نرون خروجی در خطوط post-synaptic اتفاق می افتد .
در شکل 6 قسمتی از layout ترسیم شده آرایه سیناپس نشان داده شده است .
بیشتر سطح بوسیله دو خازن استفاده شده اند .
مقادیر برای خازنهای ذخیره سازی و خروجی به ترتیب در حدود 60Ff و 100fF هستند .
بار خازن های ذخیره سازی باید بخاطر جریانهای نشتی ترانزیستور بصورت متناوب refresh شوند .
در فاز آموزش وقتی که وزنها update می شوند این بصورت اتوماتیک اتفاق می افتد وگرنه عمل refresh در حدود 2% ظرفیت شبکه را اشغال می کند .
شکل 7 دیاگرام مداری مدار نرون را نشان می دهد .
آن براساس یک تقویت کننده حسی است که از قطعات M1 تا M4 ساخته شده است .
در فاز پیش شارژ نرون غیر فعال است (ارزیابی و ارزیابی به ولتاژ پیش شارژ تنظیم می شوند) .
سیگنالهای پیش شارژ و انتقال ، سیگنال ورودی post-synaptic و گره های داخلی تقویت کننده حسی را به ولتاژ پیش شارژ بر می گردانند .
در آغاز فاز ارزیابی ، سیگنال پیش شارژ غیر فعال می شود وقتی که انتقال روشن باقی می ماند .
پتانسیل روی ورودی post-synaptic اکنون بوسیله سیناپس های فعال تغییر می کند .
ترانزیستور M5 آن را بداخل گیت های M3 و M4 انتقال می دهد .
ولتاژ تفاضلی کوچک بین گیت های M1/M2 و M3/M4 بوسیله انتقال غیر فعال می شود و ارزیابی / ارزیابی فعال تقویت می شود .
در همان لحظه سیناپس ها به فاز پیش شارژ برگردانده می شوند .
تقویت کننده حسی سیگنال را در زمانی در حدود 1ns به ولتاژ تغذیه کامل بر می گرداند .
با سیگنال read نتیجه در latch خروجی که توسط معکوس کننده های I1 و I2 شکل می گیرد ذخیره می شود .
خروجی I1 به نرون های ورودی پسخورد می شود .
نرون خروجی یک فلیپ فلاپ master/slave را تشکیل می دهد که تقویت کننده حسی بعنوان master و latch خروجی بعنوان slave است .
این به عملکرد زمان گسسته شبکه منتج می شود .
به اضافه فیدبک ، شبکه بعنوان نوعی از ساختار حالت ترکیبی عمل می کند .
نرون ها فلیپ فلاپهای حالت هستند ، در صورتیکه آرایه سیناپس منطقی را نشان می دهد که حالت بعدی را تعیین می کند .
ماکزیمم فرکانس clock شبیه سازی شده شبکه 100MHz است .
3- پیاده سازی الگوریتم آموزش ژنتیک زمان مورد نیاز برای بار کردن مقادیر 4096 وزن بداخل شبکه در حدود 250μs است .
یک الگوی تست منفرد که شامل 64 بیت ورودی است می تواند در حدود 100ns بکار برده شود .
این مسئله باعث می شود که بکار بردن الگوریتم هایی که به تعداد زیادی گذر احتیاج دارند امکان پذیر باشد .
وابستگی بین مقدار وزن و خروجی نرون می تواند در سطح بالایی غیر خطی باشد ، مخصوصا اگر بیشتر از یک سیکل شبکه جهت پیاده سازی یک شبکه فیدبک چندین لایه بکار برده شود .
بنابراین بنظر می رسد که الگوریتم ژنتیک برای آموزش شبکه مناسب است .
شبکه همچنین بر اساس یک پشتیبانی سخت افزاری بر پایه یادگیری برای مسئله آشفتگی ساخته شده است ، یک الگوریتم iterative که درباره تابع تبدیل شبکه به هیچ نوع دانشی احتیاج ندارد .
الگوریتم ژنتیک پیاده سازی شده یک مقدار وزن را بوسیله یک ژن نشان می دهد .
برای جلوگیری از وابستگی سخت افزاری بسته ، مقدار وزن در یک روش نرمالیزه ذخیره می شود که بکار می برد اعداد ممیز دار را بین –1 برای سیناپس جلوگیری ماکزیمم و +1 را برای سیناپس برانگیخته ماکزیمم .
این اعداد به مقادیر ولتاژی تبدیل می شوند که در زمان ترجمه یک دسته کروموزوم به ماتریس وزن بوسیله شبکه عصبی آنالوگ مورد احتیاج هستند .
ژنهای شامل یک نرون به صورت یک کروموزوم ترکیب می شوند .
64 عدد کروموزوم یک دسته کروموزوم منحصربفرد را تشکیل می دهند .
تکامل تدریجی مصنوعی همیشه بوسیله ایجاد یک جمعیت تصادفی شروع می شود .
بعد از اینکه یک حالت منحصر بفرد بداخل ماتریس وزن بارگیری شد ، الگوهای تست بکار برده می شود .
شایستگی با مقایسه خروجی شبکه با مقادیر هدف محاسبه می شود .
برای هر بیت صحیح ، شایستگی یک مقدار افزایش می یابد .
این عمل برای کل جمعیت تکرار می شود .
بعد از مرتب کردن جمعیت توسط شایستگی ، دو اپراتور ژنتیک بکار برده می شوند : گذار و جهش استراتژی گذار در شکل 8 رسم شده است .
آن یک مثال را برای یک جمعیت با 16 حالت منحصربفرد نشان می دهد .
25% از جمعیت که بدترین وضع را دارند با نصفه های مساوی بوسیله حالت های منحصربفرد شایستگی (پیکانهای توپر) و 12.5% بهترین ها (پیکانهای خط چین) جایگزین می شوند .
75%حالت های منحصر بفرد بدون تغییر باقی می مانند .
همانطوریکه در شکل 8 نشان داده شده است الگوهای گذار بصورت تصادفی انتخاب می شوند .
گذار به صورتی انجام می شود که برای هر زوج کروموزوم یکسان یک نقطه گذار بصورت تصادفی انتخاب می شود .
همه ژنهایی که تا این نقطه بالا آمده اند بین دو کروموزوم معاوضه می شوند .
بعد از اینکه گذار انجام شد اپراتور جهش روی جمعیت جدید بکار برده می شود .
آن هر ژنی را با احتمال برابر تغییر می دهد .
اگر ژنی در معرض جهش قرار گیرد ، مقدار قبلی آن توسط مقدار جدید که بصورت تصادفی انتخاب شده است جایگزین می شود .
4- نتایج تجربی شبکه و الگوریتم آموزش شبکه توسط سیستم نشان داده شده در شکل 9 تست شده اند .
جمعیت در کامپیوتر host نگهداری می شود .
برای هر حالت منحصربفرد با بکار بردن یک مبدل دیجیتال به آنالوگ 16 بیتی ، داده از طریق FPGA به شبکه عصبی فرستاده می شود تا مقادیر وزن آنالوگ را از ژن داده تولید کند .
الگوهای تست و داده هدف در تمام مدت فرایندهای تکاملی در RAM که روی برد تست قرار دارد ذخیره می شوند .
آنها بصورت حالت های منحصربفرد بکارگرفته می شوند ، بعد از اینکه شبکه عصبی وزنهایش را ذخیره کرده است .
FPGA نتایج را می خواند و شایستگی را محاسبه می کند .
بعد از آخرین الگوی تست ، مقدار شایستگی نهایی بوسیله کامپیوتر host خوانده می شود و تست حالت منحصربفرد بعدی شروع می شود .
برای سرعت بخشیدن به این فرایندها ، داده وزن برای حالت منحصربفرد بعدی می تواند بداخل RAM بارگیری شود زمانی که الگوهای تست برای حالت منحصربفرد جاری بکارگرفته می شوند .
از آنجاییکه تابلوتست هنوز قابلیت هماهنگی با سرعت کامل شبکه را ندارد ، تعداد حالت های منحصربفرد تست شده در هر ثانیه بسته به تعداد الگوهای تست بکار رفته به 150 تا 300 محدود شده است .
برای تست قابلیت الگوریتم ژنتیک ، یک الگوی آموزش انتخاب شده که مخصوصا یادگیریش توسط الگوریتم سنتی مثل Back-Propagation سخت است : محاسبه برابری در حالیکه پیاده سازی توسط گیت های exclusive-or ساده است یادگیری آن توسط یک شبکه عصبی تک لایه امکان ناپذیر است .
بنابراین این مسئله همچنین قابلیت شبکه عصبی ارائه شده را نشان می دهد که می تواند بعنوان یک شبکه دو لایه عمل کند .
شکل 10 تعریف الگوی تست را برای محاسبه برابری هشت بیتی نشان می دهد .
از آنجائیکه داده ورودی بصورت باینری کد شده است ، نرون های ورودی برای ورودی تفاضلی ساختار بندی شده اند .(قسمت 2.1 را ببینید) .
تعداد سیکل های شبکه برابر دو است و چهار نرون خروجی بداخل شبکه فیدبک شده اند .
این به الگوریتم ژنتیک اجازه می دهد که یک لایه داخلی با چهار نرون را بکار گیرد .
شکل های 11 و 12 نمودارهای شایستگی بر حسب تعداد تولید را برای آزمایشهای مختلف برابری نشان می دهد .
در سیستم 6 بیتی شبکه همه اگوها را دیگر یاد نمی گیرد .
طبیعت تصادفی تکامل تدریجی مصنوعی بصورت واضح قابل مشاهده است : منحنی سیاه 5000 تولید زودتر به همان مقدار شایستگی در مقایسه با نمونه خاکستری میرسد .
5- نتیجه و چشم انداز این مقاله یک معماری جدید را برای شبکه های عصبی آنالوگ ارائه می دهد که برای الگوریتم های آموزش iterative مخصوصا الگوریتم های ژنتیک بهینه شده اند .
بوسیله ترکیب تعویضات اطلاعاتی دیجیتال با عملکرد نرون آنالوگ ، این سیستم برای تراشه های عصبی بزرگ بسیار مناسب شده است .
مخصوصا سطح بسیار کوچک سیناپس ، ساخت تراشه های شبکه ای با بیش از یک میلیون سیناپس را ممکن می سازد .
نگاشت داده ورودی به شبکه و تعداد موثر و اندازه لایه های شبکه قابل برنامه ریزی شده است .
بنابراین نه تنها وزنها بلکه قسمت مهمی از معماری می تواند تکمیل شود .
دقت شبکه بوسیله دقت یک تک سیناپس آنالوگ محدود نمی شود چون سیناپسها می توانند با هم ترکیب شوند .
با پیاده سازی این کار در الگوریتم ژنتیک ، شبکه می تواند به صورت اتوماتیک اجرا پیش بینی مربوط به ساختار خودش را با یک مجموعه داده خاص تطبیق دهد .
نمونه نخستین ، بصورت موفقیت آمیز محاسبه برابری الگوهای چند بیتی را یاد گرفت .
این نشان می دهد که الگوریتم های ژنتیک قادر به آموزش شبکه های عصبی آنالوگ دو لایه هستند .
در زمان نوشتن این مقاله سیستم تست بوسیله دقت آنالوگ آن محدود شده است .
این باعث می شود که آموزش الگوهای باینری 6 بیتی و یا بیشتر بدون بروز خطا مشکل باشد .
همچنین الگوریتم های ژنتیک بکار برده شده اولین نزدیکی برای نشان دادن کارآمدی سیستم است .
با امیدواری می توان گفت که این محدودیت ها در آینده نزدیک برطرف خواهند شد .
References 1.
Shibata, T., Kosaka, H., Ishii, H.
, Ohmi, T.: A Neuron-MOS Neural Network Using Self-Learning-Compatible Synapses Circuits.
IEEE Journal of Solid-State Circuits, Vol.
30, No.
8, (August 1995) 913-922 2.
Diorio, C., Hasler, P., , B.
, Mead, C.: A Single-Transistor Silicon Synapse.
IEEE Transactions on Electron Devices, Vol.
43, No.
11, (November 1996) 1972-1980 3.
Kramer, A.: Array-Based Analog Computation.
IEEE Micro, (October 1996) 20-29 4.
Schemmel, J., Loose, M., Meier, K.: A 66X66 pixels analog edge detection array with digital readout, Proceedings of the 25th European Solid-State Circuits Conference, Edition Frontini_eres, ISBN 2-86332-246-X, (1999) 298-301 5.
Langeheine, J., F¨olling, S., Meier, K., Schemmel, J.: Towards a Silicon Primordial Soup: A Fast Approach to Hardware Evolution with a VLSI Transistor Array.
ICES 2000, Proceedings, Springer, ISBN 3-540-67338-5 (2000) 123-132 6.
Montalvo, J., Gyurcsik R., Paulos J.,: An Analog VLSI Neural Network with On-Chip Perturbation Learning.
32, No.
4, (April 1997) 535{543 7.
Hertz, J.
Krogh, A., Palmer, R.: Introduction to the Theory of Neural Computation.
Santa Fe Institute, ISBN 0-201-50395-6 (1991) 131