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

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

    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

     

    همکاری با ما

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

MLP

Multi Layer Perceptron يا همان پرسپترون چند لايه، قادر به طبقه بندی های پيچيده است، مشروط به آنکه تعداد کافی لايه پرسپترون در شبکه و تعداد کافی پرسپترون در هر لايه وجود داشته باشد.

 

شکل زیر ساختار پرسپترون سه لايه را با جزيات کامل نشان داده است.

پس انتشار

پس انتشار يا همان BP(Back Propagation) روشی برای آموزش شبکه های عصبی MLP می باشد. در اين روش با استفاده از Gradient Descent سعی می شود تا مربع خطای بين خروجی هدف و خروجی شبکه، مينيمم شود. اما در اين روش هيچ تضمينی برای رسيدن به مينيمم مطلق وجود ندارد.

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

·        توقف بعد از تکرار به دفعات معين

·        توقف، وقتی که خطا از يک مقدار معين کمتر باشد

·        توقف، وقتی که خطا در مثال های مجموعه تائيد، از قاعده خاصی پيروی نمايد

·        توقف، تا جايی که Over Fitting رخ دهد (Over Fitting زمانی رخ می دهد که شيب تابع هزينه برای داده های تست صعودی شود)

 

 

در شکل زیر لحظه Over Fitting نشان داده شده است.

از دلايل رخداد Over Fitting می توان به موارد زير اشاره کرد.

·        تنظيم وزن ها، برای در نظر گرفتن مثال های نادری که ممکن است با توزيع کلی داده ها مطابقت نداشته باشند

·        افزايش تکرار، که باعث هر چه بيشتر شدن پيچيدگی فضای فرضيه ياد گرفته شده، خواهد شد

 

از راه حل های جلوگيری از رخداد Over Fitting نيز می توان به موارد زير اشاره کرد.

·        استفاده از نرخ آموزش کوچکتر

·        استفاده از تعاريف ديگری برای محاسبه خطا

 

·        استفاده از يک مجموعه تائيد Vallidation ، و توقف يادگيری هنگامی که خطا در اين مجموعه به اندازه کافی کوچک می شود

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

RBF

 

شبکه های عصبی Radial Basis Function نوع جديدی از شبکه های عصبی هستند که تابع هسته آنها پايه شعاعی می باشد. اين تابع در صفر دارای مقدار ماکزيمم خود، يعنی يک می باشد و در مثبت و منفی بی نهايت به صفر می رسد. در شکل زیر اين تابع آمده است.

 

 

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

پرسپترون

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

 

 در شکل زیر نحوه تفکيک با يک پرسپترون و چند پرسپترون در يک لايه آمده است.

 

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

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

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

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

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

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

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

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

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

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

 

کوهونن

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

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

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

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

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

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

 

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

 

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

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

     

 هاپفيلد

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

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

 

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

 

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

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

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

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

 

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