• انجام پرو‍ژه‌های دانشجویی مهندسی برق و کامپیوتر

    ترجمه متون تخصصی

    ADS, C++, CircuitMaker, CodeVisionAVR, EWB, LabVIEW, MATLAB, MAX+PLUS II, ModelSim, OrCAD, Protel DXP, Proteus, SIMULINK, VHDL, Neural Networks, Fuzzy Logic, Signal Processing, Image Processing,...

     

    پرو‍ژه‌های آماده       سفارش پروژه و ترجمه

  • تدریس خصوصی نرم‌افزار مهندسی برق و کامپیوتر

     

    ADS, C++, CircuitMaker, CodeVisionAVR, EWB, LabVIEW, MATLAB, MAX+PLUS II, ModelSim, OrCAD, Protel DXP, Proteus, SIMULINK, VHDL, Neural Networks, Fuzzy Logic, Signal Processing, Image Processing,...

     

    سفارش تدریس

  • دعوت به همکاری در انجام پروژه

     

    VHDL, C++, Cisco Packet Tracer, GNS3, Visual Basic, C#.Net, ASP.Net, Assembly, VB.Net, Delphi

     

    همکاری با ما

مقدمه ای بر شبکه های عصبی مصنوعی (قسمت هفتم)

شبکه های عصبی خود سازمانده

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

در شبکه های خود سازمانده، آموزش می تواند از نوع با نظارت يا بدون نظارت باشد. مزيت آموزش بدون نظارت اين است که شبکه مينيمم های انرزی خود را پيدا می کند و در نتيجه بر حسب تعداد الگوهايی که می تواند دقيقا ذخيره کرده و فراخوانی کند، کارايی بيشتری دارد.

واضح است که در اين شبکه ها، کاربر بايد خروجی را تعبير کند. در حين آموزش، الگوهای ورودی نشان داده می شوند، و هنگامی که الگوهای خروجی متناظر توليد شدند، کاربر می داند که آن کد مربوط به طبقه ای است که الگوی ورودی را در بر دارد.

شبکه های خود سازمانده داری چهار خاصيت هستند:

·        وزن ها در سلول های عصبی بايد نماينده طبقه ای از الگوها باشند. بنابراين هر سلول عصبی طبقه متفاوتی را نشان می دهد

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

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

·        از روشی برای تقويت بزرگترين پاسخ استفاده می شود

 

کوهونن

تئو کوهونن مقالات تحقيقی و کتاب های بسياری در مورد حافظه انجمی و سيستم های خود سازمانده نوشته است. اما شبکه هايی که اکنون شبکه هايی کوهونن ناميده می شوند، فقط بخش کوچکی از کارهای تحقيقاتی او محسوب می شوند.

هدف شبکه کوهونن، توليد يک طبقه بندی کننده الگوست. بطور نوعی، يک شبکه کوهونن، از يک آرايه دو بعدی از سلول های عصبی تشکيل شده است که در آن تمام ورودی ها، به تمام سلول های عصبی وارد می شوند. هر سلول عصبی مجموعه وزنی خود را که می توان آن را به عنوان يک الگوی نمونه تلقی کرد، دارد. هنگامی که يک الگوی ورودی به شبکه ارائه می شود، سلول عصبی الگوی نمونه ای که بيشترين شباهت را به الگوی ورودی دارد، بزرگترين پاسخ را خواهد داشت. اما يک تفاوت اين سيستم با سيستم های خود سازمانده ديگر، اين است که الگوهای نمونه طوری ذخيره می شوند که نمونه های مشابه را بتوان در سلول های عصبی ای که از نظر فيزيکی به يکديگر نزديک هستند، يافت و نمونه هايی که بسيار متفاوت هستند، در فاصله دور از يکديگر واقع می شوند.

نگاشت های خود سازمانده مثال های خوبی از شبکه های کوهونن هستند. هدف نگاشت های خود سازمانده توليد شبکه ای است که در آن وزن ها معرف مختصات نوعی سيستم و يا نگاشت توپولوژی باشند و اجزاء شبکه بصورت مرتبی چيده شده باشند. به عنوان مثال، يک سيستم مختصات دو بعدی، بصورت ايده آل در يک آرايه دو بعدی از اجزاء توليد خواهد شد که در آن وزن های هر جزء متناظر با مختصات است.

در اين روش ابتدا وزن ها بصورت تصادفی انتخاب می شوند. سپس زوج مولفه ها که بطور تصادفی انتخاب شده اند، بدون هيچ اشاره ای به اينکه از يک شبکه مربعی انتخاب شده اند به سيستم ارائه می شوند. آنگاه سيستم بايد خود را به گونه ای مرتب کند که وزن ها به مختصات مربوط شوند و مکان عنصر نيز متناظر با مکانش در سيستم مختصات باشد.

مقدمه ای بر شبکه های عصبی مصنوعی (قسمت ششم)

معرفی چند مدل از شبکه های عصبی

 

در آغاز دهه 40 مک کولاچ و پيتز، مدلی از يک نرون ارائه کردند که در شکل زیر اين مدل آورده شده است.

 

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

پس از مدل مک کولاچ و پيتز، مدل های گوناگونی برای شبکه های عصبی ارائه گرديد. که همگی وجوه مشترک زيادی با مدل فوق دارند. همگی شامل وزن هايی هستند که عملکرد آنها را بصورت پارامتری مشخص می کند، همگی شامل تعدادی واحد محاسبه کننده خروجی هستند که بر اساس اطلاعات ورودی و يا اطلاعات ساير واحدها کار می کنند، همگی آنها خروجی ها و تنظيم وزن هايشان را از طريق يک قاعده موضوعی ساده تعيين می کنند. تفاوت بين مدل های مختلف، ناشی از تابع خاص بکار رفته برای محاسبه خروجی ها و جديد کردن وزن ها و نيز نحوه اتصال بين واحدها می باشد.

     

 هاپفيلد

شبکه هاپفيلد که جزء شبکه های حافظه انجمی است، در سال 1982 توسط جان هاپفيلد مطرح شد. هاپفيلد محقق برجسته ای است که رنسانسی در شبکه های عصبی ايجاد نمود. او با استفاده از تابع انرژی و توسعه تئوريک آن، توانست شبکه هاپفيلد را با سيستم های ديناميکی فيزيکی مرتبط ساخته، و از اين طريق بعضی از مسائل بهينه سازی را با شبکه های عصبی حل نمايد.

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

 

شبکه هاپفيلد برای ذخيره سازی تعدادی الگو طراحی شده است، که می تواند آنها را بازيابی کند.

 

در شکل زیر ساختار شبکه هاپفيلد آمده است.

مقدمه ای بر شبکه های عصبی مصنوعی (قسمت پنجم)

ساختار شبکه های عصبی مصنوعی

شبکه های عصبی مصنوعی در اندازه ها و شکل های متفاوتی (حسب کاربرد) ساخته می شوند. اما يکی از وجوهی که در تمامی اين ساختارها مشترک می باشد، اين است که هر نرون ورودی های مختلف، و فقط دارای يک خروجی دارد. در يک شبکه عصبی مصنوعی، خروجی يک نرون در يک لايه، بايد به ورودی تمام نرون های لايه بعدی متصل باشد. تعداد نرون های لايه ورودی به اندازه تعداد ورودی ها، و تعداد نرون های لايه های ميانی دلخواه، و تعداد نرون های لايه خروجی به اندازه تعداد الگوهايی می باشد که قرار است از هم تفکيک شوند. شبکه های عصبی مصنوعی ممکن است دارای فيدبک و تاخير نيز باشند.

 

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

 

مقدمه ای بر شبکه های عصبی مصنوعی (قسمت چهارم)

ويژگی شبکه های عصبی

شبکه های عصبی مصنوعی با وجود اينکه با سيستم عصبی طبيعی قابل مقايسه نيستند، ويژگی هايی دارند که آنها را در بعضی از کاربردها نظير تفکيک الگو، رباتيک، کنترل و بطور کلی در هر جا که نياز به يادگيری يک نگاشت خطی و يا غير خطي باشد، ممتاز می نمايند. اين ويژگی ها به شرح زير هستند:

 

1. قابليت يادگيری

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

 

2. پراکندگی اطلاعات

آنچه که شبکه فرا می گيرد (اطلاعات يا دانش)، در وزن های سيناپسی مستتر می باشد. رابطه يک به يک، بين ورودی ها و وزن های سيناپتيکی وجود ندارد. می توان گفت که هر وزن سيناپسی مربوط به همه ورودي ها است ولی به هيچ يک از آنها بصورت منفرد و مجزا مربوط نيست. به عبارت ديگر هر نرون در شبکه، از کل فعاليت ساير نرون ها متاثر می باشد. در نتيجه، اطلاعات بصورت متن توسط شبکه عصبی های پردازش می شود. بر اين اساس چنانچه بخشی از سلول های شبکه حذف شوند و يا عملکرد غلط داشته باشند باز هم احتمال رسيدن به پاسخ صحيح وجود دارد. اگرچه اين احتمال برای تمام ورودی ها کاهش يافته، ولی برای هيچ يک از بين نرفته است.

 

3. قابليت تعميم

پس از آنکه مثال های اوليه به شبکه آموزش داده شد، شبکه می تواند در مقابل يک ورودی آموزش داده نشده قرار بگيرد و يک خروجی مناسب ارائه نمايد. اين خروجی براساس مکانيسم تعميم، که همانا چيزی جز فرايند درون يابی نيست، به دست می آيد. به عبارت روشن تر، شبکه، تابع را ياد می گيرد، الگوريتم را می آموزد و يا رابطه تحليلی مناسبی را برای تعدادی نقاط در فضا بدست می آورد.

 

4. پردازش موازی

هنگامی که شبکه عصبی در قالب سخت افزار پياده می شود سلول هايی که در يک تراز قرار می گيرند، می توانند بطور همزمان به ورودی های آن تراز پاسخ دهند. اين ويژگی باعث افزايش سرعت پردازش می شود. در واقع در چنين سيستمی، وظيفه کلی پردازش، بين پردازنده های کوچکتر مستقل از يکديگر توزيع می گردد.

 

5. مقاوم بودن

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

مقدمه ای بر شبکه های عصبی مصنوعی (قسمت سوم)

تناظر بين شبکه عصبی و شبکه مصنوعی

در شبکه های عصبی مصنوعی که بر مبنای شبکه های بيولوژيکی به وجود آمده اند، سعی شده است رفتار نرون های بيولوژيکی شبيه سازی شود. تا اين شبکه های مصنوعی بتوانند گوشه ای از توانايی های مغز انسان را انجام دهند. سرعت سوئيچينگ نرون های بيولوژيکی در حدود 1ms است ولی سوئيچينگ، در کامپيوترهای امروزی به حدود چند دهم نانو ثانيه رسيده است. اگرچه نرون های بيولوژيکی از نرون های مصنوعی که توسط مدارهای الکتريکی ساخته می شوند، بسيار کندتر هستند (حدود ده ميليون بار)، اما عملکرد مغز، خيلی سريع تر از يک کامپيوتر معمولی است. علت اين پديده، بيشتر به خاطر ساختار کاملا موازی نرون ها می باشد. و اين بدان معنی است که تمام نرون ها بصورت همزمان کار می کنند و پاسخ می دهند. شبکه های عصبی مصنوعی که مدل سازی شده اند نيز دارای ساختار موازی هستند. ولی در پياده سازی آنها همزمان سازی تمام نرون های يک شبکه گسترده، کاری دشوار است. امروزه برای تحقق هر چه بيشتر اين امر، شبکه های عصبی را توسط پردازشگرهای موازی، سيستم های نوری و تکنولوژی VLSI پياده سازی می کنند.

در جدول زیر پارامترهای شبکه عصبی بيولوژيکی، با پارامترهای متناظر آن در شبکه عصبی مصنوعی آمده است.

 

 

Artificial Neural Network

Biological Neural Network

Neuron

Soma

Input

Dendrite

Output

Axon

Weight

Synapse