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

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

    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

     

    همکاری با ما

آموزش سیمولینک (قسمت دوم)

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

مثال اول را مي خواهيم با رسم نمودار يك تابع آغاز كنيم ضابطه اين تابع به صورت زير است:

 

 

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

کاربرد شبکه های عصبی در تقريب توابع

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

در حقيقت نشان داده شده است که شبکه های MLP با يک لايه مخفی، با توابع تبديل سيگموئيدی در لايه ميانی و توابع تبديل خطی در لايه خروجی قادر به تقريب تمامی توابع مورد نظر، با هر درجه تقريب خواهند بود، مشروط بر اينکه به اندازه کافی نرون در لايه مخفی داشته باشيم. اين موضوع نخستين بار توسط Hecht Nielson (1987) و سپس توسط افرادی چون Cybenco (1987) و Hornik (1989) و ديگران مورد اثبات قرار گرفت. آنها قضيه ای را موسوم به تقريب ساز جهانی ثابت کردند. اگر چه اين قضيه از حيث تئوری خيلی مهم است، ولی فقط اثبات وجوبی شبکه های MLP را با يک لايه مخفی، جهت حل طبقه وسيعی از مسائل طبقه بندی و يادگيری توابع ارائه می دهد. به عبارتی روشن تر اين قضيه می گويد اگر نگاشتی موجود باشد، می توان شبکه MLP با يک لايه مخفی پيدا کرد که چنين نگاشتی را تقريب بزند. اما اين قضيه چيزی در مورد نحوه ساختن چنين شبکه ای نمی گويد و بايستی متذکر شد که محدوديت های عملی هم موجود می باشد؛ يکی اينکه توابع مورد تقريب، بطور قطعه ای پيوسته باشند. و ديگر اينکه تعداد نرون های لايه ميانی، نمی توانند نامحدود انتخاب شوند.

يک شبکه عصبی MLP را با الگوريتم BP ، می توان به عنوان يک ماشين در نظر گرفت که در طبيعت کلی خود، نگاشت غير خطی را بين ورودی ها و خروجی ها ايجاد می کند. بنابراين يکی از بهترين گزينه های موجود از بين شبکه های عصبی برای تقريب توابع، MLP می باشد.

 

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

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

کاربردهای شبکه های عصبی

 

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

 

کاربرد شبکه های عصبی در علوم مختلف 

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

 

1. هوا و فضا

·        خلبان خودکار هواپيما با کارايی بالا

·        شبيه سازی مسير پرواز

·        سيستم های کنترلی هواپيما

·        بالا بردن کارايی خلبان خودکار

·        شبيه سازی اجزای هواپيما

·        تشخيص خطا در اجزای هواپيما

 

2. حمل و نقل

·        سيستم راهنمای اتوماتيک اتومبيل

·        تحليل گارانتی

·        سيستم های ترمز کاميون ها

·        زمان بندی وسايل نقليه

·        سيستم های مسير يابی

 

3. امور دفاعی

·        راهبری سلاح ها

·        تعقيب اهداف متحرک

·        تشخيص اشياء

·        تشخيص صورت

·        رادار

·        انواع جديد حسگرها

·        پردازش سيگنال های تصويری و رادار با فشرده سازی داده ها

·        استخراج ويژگی ها و حذف نويزها

·        تشخيص تصاوير و سيگنال ها

 

4. بانکداری

·        ابزار خودکار خواندن چک و ساير اسناد

·        کاربردهای ارزيابی کارت های اعتباری

 

5. الکترونيک

·        پيش بينی ترتيب کد

·        طراحی مدارات مجتمع

·        کنترل فرايند

·        تحليل نقص مدارات مجتمع

·        بينايی ماشين

·        توليد صدا

·        مدلسازی غير خطی

 

6. امور مالی

·        ارزيابی ملک

·        مشاور وام

·        آزمايش رهن

·        درجه بندی شرکت ها

·        تحليل کاربرد خطوط اعتباری

·        برنامه های تجارت سهام

·        تحليل مالی شرکت ها

·        پيش بينی قيمت ها

 

7. سرگرمی

·        انيميشن

·        جلوه های ويژه تصويری

·        پيش بينی بازار

 

8. صنعت

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

 

9. بيمه

·        ارزيابی سياست های کاربردی

·        بهينه سازی توليد

 

10. ساخت و توليد

·        کنترل فرايند ساخت

·        تحليل و طراحی توليد

·        تشخيص فرايند و ماشين

·        تشخيص اجزاء بلادرنگ

·        سيستم های بصری بازرسی کيفيت

·        تحليل کيفيت جوشکاری

·        مديريت و طرح ريزی

·        پيش بينی کيفيت کاغذ

·        تحليل کيفيت چيپ های کامپيوتری

·        تحليل و طراحی توليدات شيميايی

·        تحليل استقرار ماشين

·        پيشنهاد پروژه

·        مدلسازی پويا از فرايندهای شيميايی

 

11. پزشکی

·        تحليل سلول های سرطانی پستان

·        تحليل EEG و ECG

·        طراحی پروتز

·        بهينه سازی زمان جراحی

·        کاهش هزينه بيمارستان ها

·        بهبود کيفيت بيمارستان ها

 

12. نفت و گاز

·        اکتشاف

 

13. رباتيک

·        سيستم های بينايی

·        ربات بالابر

 

14. امنيت

·        تحليل بازار

·        ارزيابی خودکار

·        سيستم های مشاور تجارت

 

15. گفتار

·        تشخيص گفتار

·        فشرده سازی گفتار

·        طبقه بندی اصوات

·        ايجاد گفتار از روی متن

 

16. مخابرات

·        فشرده سازی داده ها و تصاوير

·        سرويس های خودکار شده اطلاعاتی

·        ترجمه گفتار به صورت بلادرنگ

·        سيستم های پردازش پرداخت مشتری

 

 

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

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

تقريب توابع با MLP

يکی از مهمترين کاربردهای شبکه های MLP تقريب زدن توابع است. در مورد شبکه های عصبی معمولا قضيه کمتر ديده می شود ولی در مورد تقريب توابع، قضايايی مطرح شده است. يکی از قضايا، قضيه ای است که توسط رياضی دانی روسی به نام کولموگروف ارائه شده است. اين قضيه به قرار زير است:

« هر تابع n متغيره پيوسته ای را می توان تنها با استفاده از مجموع توابع خطی و توابع غير خطی اما پيوسته صعودی يک متغيره، محاسبه کرد. در واقع اين قضيه بيان می کند که هر پرسپترون سه لايه ای با n(2n+1) گره، که از غير خطی های پيوسته صعودی استفاده می کند، می تواند هر تابع n متغيره پيوسته را محاسبه کند. بر اين اساس می توان با استفاده از پرسپترون سه لايه هر تابع درستنمائی پيوسته ای را که در يک طبقه بندی کننده لازم است، ايجاد کرد. »

در مورد حداقل ساختار مورد نياز در تقريب توابع مختلف می توان موارد زير را بيان کرد.

1. توابع بولی: هر تابع بولی را می توان با استفاده از يک شبکه دو لايه پياده سازی نمود.

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

3. توابع دلخواه هر تابع دلخواه را می توان با يک شبکه سه لايه، تا حد قابل قبولی تقريب زد.

پروژه های مهم انجام شده با MLP

از زمان کشف MLP تا کنون پروژه های بزرگی انجام شده است. در ادامه چند مورد از اين پروژه ها آمده است.

·        تجزيه و تحليل صحبت: پروژه ای به نام NETTALK يک شبکه را آموزش می دهد تا متن انگليسی را تلفظ کند. ورودی های اين شبکه، مرکب از متونی با طول 7 حرف هستند و خروجی شبکه يکی از 26 سمبل های کد گذاری شده آواها است. اين شبکه از 203 ورودی، 80 گره مخفی و 26 خروجی تشکيل شده است.

·        کنترل اتوماتيک: پروژه ALVINN يک شبکه عصبی است که برای کنترل و هدايت کردن يک اتومبيل طراحی گرديده است. ورودی های شبکه يک تصوير با 32*30 پيکسل و يک پيدا کننده بعد 32*8 می باشد. يک لايه مخفی با 29 واحد، 45 واحد خروجی را تغذيه می کند. که اين واحدهای خروجی جهت حرکت مناسب را کد گذاری می نمايند.

 

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

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

MLP

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

 

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

پس انتشار

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

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

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

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

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

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

 

 

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

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

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

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

 

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

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

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

 

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