توضیحات

معرفی دوره ی پیاده‌سازی شبکه‌های عصبی در متلب

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

در این دوره ما صفر تا صد شبکه ها را پیاده‌سازی می‌کنیم و دانشجو برای اینکه بتواند یک شبکه‌ای را در متلب پیاده‌سازی کند لازم است که در ابتدا مباحث تئوری هر الگوریتم را یاد بگیرد. ما طبق کتاب معروف سیمون هیکن که یک کتاب مرجع در اکثر دانشگاههای داخل و خارج کشور است، مباحث تئوری را آموزش میدهیم، بعد از آن مرحله مرحله الگوریتمها را در متلب پیاده‌سازی می‌کنیم و برای اینکه دانشجو با کاربردهای عملی این شبکه ها آشنا شود چندین پروژه عملی در اکثر حوزه انجام می دهیم. اولین وجه تمایز این دوره با سایر دوره‌ها این است که تولباکس محور نیست و تمامی الگورتیمها در متلب پیاده‌سازی می شوند. دومین وجه تمایز آن انجام پروژه‌‌های تخصصی است. تولباکسهای متلب محدود است و اگر دانشجو فقط تولباکس محور شبکه ها را یاد بگیرد با چند مشکل اصلی در آینده مواجه می‌شود: 1- عدم یادگیری مباحث تئوری به صورت تخصصی، 2- عدم تسلط به مباحث و در نتیجه اگر محیط برنامه نویسی عوض شود نمی‌تواند در محیط جدید کاری انجام دهد. 3- عدم پیاده‌سازی الگوریتمهای پیشرفته. از آنجا که فرد فقط تولباکس محور یاد گرفته است، در نتیجه با جزئیات و چالش‌های پیاده‌سازی الگوریتم‌ها را یاد نخواهد گرفت و در نتیجه نمی‌تواند با دانشی که کسب کرده است پروژه تخصصی و یا مقاله تخصصی پیاده‌سازی کند!

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

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

در دوره ی پیاده سازی شبکه‌های عصبی مصنوعی در متلب سعی بر این است که تمام مباحث کتاب معروف Simon Haykin آموزش داده شود. کتاب معروف Simon Haykin، کتابی استاندارد برای یادگیری شبکه‌های عصبی است که در بیشتر دانشگاه‌های داخل و خارج کشور تدریس می‌شود.

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

 اهداف دوره: 

  • یادگیری مفاهیم هوش مصنوعی و یادگیری ماشین
  • یادگیری مباحث تئوری شبکه‌های عصبی
  • پیاده‌سازی مرحله به مرحله شبکه‌های عصبی نظارت شده
  • انجام پروژه های تخصصی
  • پیاده‌سازی مقالات تخصصی

سرفصل مطالب: 

1. آموزش مفاهیم پایه هوش مصنوعی و یادگیری ماشین، معرفی نورون بیولوژیکی و بررسی عملکرد آن و مدلسازی نورون مصنوعی

 

جزئیات بیشتر و خرید کامل بخش اول

 


2. آموزش مباحث تئوری شبکه عصبی پرسپترون تک لایه و پیاده‌سازی مرحله به مرحله آن در متلب، بررسی عیب قانون یادگیری پرسپترون و معرفی کلاسبند ماکزیمم شباهت و پیاده‌سازی مرحله به مرحله آن در متلب

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

  • ساختار این شبکه چیه؟
  • قانون یادگیری شبکه چیه؟
  • کاربرد این شبکه کجاست؟

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

در نهایت عیب الگوریتم یادگیری پرسپترون را با یک مثال عملی در متلب نشان میدهیم و بعد سراغ راه حل می‌رویم. قانون یادگیری پرسپترون با اینکه انقلابی در حوزه هوش مصنوعی به پا کرده است ولی دو تا مشکل اساسی دارد که در ویدیو توضیح می‌دهیم. به دلیل اینکه طبقه‌بند ماکزیمم شباهت(maximum likelihood ) شباهت خیلی زیادی به پرسپترون تک لایه دارد فصل چهارم کتاب Simon haykin طبقه بندML را در ادامه مطالب پرسپترون تک لایه آورده و ایده کلاسبندی این طبقه بند را توضیح داده است. ماهم برای اینکه رشته مطالب کتاب از دست نرود تئوری کلاسبند ML را توضیح داده و سپس در متلب ‌پیاده‌سازی کرده و یک مثال عملی هم با این کلاسبند انجام می‌دهیم. سپس شباهت و تفاوت این دو کلاسبند را به طور مفصل توضیح میدهیم و نشان میدهیم که شبکه عصبی اگر قانون یادگیری پرسپترون را بهبود دهد خیلی بهتر از کلاسبندهای پارامتری مثل ML خواهد بود.

نکته: بخشی از مباحث این جلسه طبق مطالب فصل کتاب Simon haykin است.

جزئیات بیشتر و خرید کامل بخش دوم

 


3. بررسی عیب کلاسبند ماکزیمم شباهت و معرفی قانون یادگیری حداقل مربعات خطا(LMS)، پیاده‌سازی قانون یادگیری LMS با دو روش وینر هاف و گرادیان نزولی(gradient descend)، بررسی عیب قانون یادگیری وینرهاف و گرادیان نزولی، آموزش مباحث تئوری شبکه عصبی آدالاین(adaline) تک‌لایه و پیاده‌سازی مرحله به مرحله آن در متلب، بررسی عیب شبکه‌های عصبی تک لایه و آموزش پارامترهای ارزیابی شبکه

این جلسه یکی از مهمترین جلسات دوره تخصصی پیاده‌سازی شبکه‌های عصبی در متلب است. در جلسه دوم ما قانون یادگیری پرسپترون را آموزش دادیم و دو ایراد اساسی این قانون را مطرح کردیم. یکی از ایرادهای قانون پرسپترون این بود که الگوریتم زمانی که داده ما غیرخطی بود (داده‌ای که در آن نتوان با یک خط از هم جدا کرد) نمیتوانست همگرا شود و در نتیجه نمیتوانست یاد بگیرد. و ایراد دوم این الگوریتم این است که نمیتواند مرز کلاسبندی بهینه‌ای بدست آورد. ما در این جلسه الگوریتم حداقل مربعات خطا( Least means square error ) را معرفی می‌کنیم و ایرادات الگوریتم پرسپترون را حل می‌کنیم. الگوریتم LMS به جای اینکه دنبال خطای صفر باشد، دنبال خطای حداقل است. و با این روش زمانی که داده به صورت غیرخطی هم باشد همگرا می‌شود.

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

بعد از این ما طبق کتاب Simon haykin انواع روشهای توقف آموزش شبکه عصبی را توضیح میدهم. سه روش برای توقف آموزش شبکه عصبی است که هر سه روش آموزش داده شده و در متلب پیاده سازی می‌شوند.

برای آموزش شبکه عصبی نیاز است که داده ها به شبکه اعمال شوند و شبکه در طول زمان آموزش ببیند و برای اینکار دو روش به نام دسته‌ای (batch mode) و موردی(pattern mode) کتاب معرفی کرده که هر دو روش توضیح داده شده و در متلب پیاده‌سازی می‌شوند و مزایا و معایب هر روش توضیح داده می‌شود و در انتهای جلسه پارامترهای ارزیابی(accuracy, sensitivity, specificity)  یک طبقه بند توضیح داده می‌شود و سپس پروژه‌های انجام شده با پارامترهای گفته شده ارزیابی می‌شود. و همچنین الگورتیم cross validation که برای انتخاب ساختار بهینه یک شبکه عصبی استفاده میشود را توضیح میدهیم.

برای اینکه با کاربردهای عملی این شبکه‌ها آشنا شوید در یک ویدیو جداگانه دو پروژه عملی به نام ناحیه‌بندی تصویر و پیاده‌سازی گیتهای منطقی AND, OR  را با استفاده از شبکه‌های عصبی به صورت مرحله به مرحله در متلب پیاده‌سازی کرده‌ایم.

نکته: بخشی از مباحث این جلسه طبق مطالب فصل کتاب Simon haykin است.

پروژه‌های انجام شده در این جلسه: 
1. ناحیه‌بندی تصویر با شبکه‌ی عصبی آدالاین
2. مدل‌سازی گیت‌های منطقی با شبکه‌ی عصبی آدالاین
3. تشخیص سرطان سینه با شبکه‌ی عصبی آدالاین

 

جزئیات بیشتر و خرید کامل بخش سوم

 


4. آموزش مباحث تئوری شبکه عصبی پرسپترون چند لایه(MLP) و پیاده‌سازی مرحله به مرحله آن در متلب

این جلسه مهمترین جلسه دوره تخصصی پیاده‌سازی شبکه‌های عصبی در متلب است. ما در جلسه سوم الگوریتم LMS را مطرح کرده و در نهایت شبکه‌عصبی آدالاین را معرفی کردیم که یک شبکه عصبی بهینه برای مسائل کلاسبندی و رگرسیون است.‌این شبکه‌ ایرادات شبکه عصبی پرسپترون تک لایه را برطرف کرد ولی خودش یک ‌ایراد اساسی دارد. که ‌این ‌ایراد در تمام شبکه‌های عصبی تک لایه وجود دارد. ‌ایراد شبکه عصبی آدالاین و یا پرسپترون تک لایه در ساختارشان هست و به خاطر ‌اینکه تک لایه هستند نمی توانند مسائل غیرخطی مثل xor را حل کنند. برای حل‌ این مسئله شبکه عصبی پرسپترون چندلایه مطرح شده است که با اضافه کردن چندلایه پنهان توانسته‌اند مسائل بسیار پیچیده را به راحتی حل کنند. در ‌این جلسه تئوری الگوریتم پس ‌انتشار خطا کامل توضیح داده می‌شود و در نهایت در متلب مرحله به مرحله پیاده‌سازی می شود.‌ این جلسه برای همه گروه دانشجویی و مهندسی بسیار مفید هست و می‌توانند بعد از مشاهده‌ ویدیو هم پروژه‌های تخصصی خودشان را انجام دهند و هم ‌ایده‌های خود را در الگوریتم پس انتشار خطا ارائه بکنند. برای ‌اینکه در ‌این جلسه به مشکل نخورید بهتر است با مشتق‌گیری آشنا باشید. جلسه کاملی هست و به جرات می‌‎توان گفت که اولین دوره‌ای هست که به صورت تخصصی چنین شبکه‌ای را به صورت گام به گام در متلب پیاده‌سازی می‌کند.

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

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

پروژه‌ی انجام شده در این جلسه: 
تشخیص سرطان سینه با شبکه‌ی عصبی MLP

 

جزئیات بیشتر و خرید کامل بخش چهارم

 


5. بررسی عیب قانون یادگیری پس انتشار خطا(Back propagation)

در جلسه چهارم تئوری الگوریتم معروف پس انتشار خطا را آموزش داده در متلب به صورت مرحله به مرحله پیاده‌سازی کرده و چندین پروژه عملی از جلمه تشخیص سرطان سینه (پروژه عملی طبقه‌بندی) و پیش بینی میزان آلودگی هوا (پروژه عملی رگرسیون) با استفاده از شبکه عصبی پرسپترون چندلایه به صورت گام به گام در متلب پیاده‌سازی کردیم. الگوریتم پس انتشار خطا همانند LMS از گرادیان نزولی برای تنظیم وزنهای سیناپسی استفاده می‌کند. الگوریتم گرادیان نزولی در جهت شیب منفی خطا با یک گامی(نرخ یادگیری) حرکت می‌کند تا به مقدار بهینه برسد. مقدار بهینه جایی است که شیب خطا صفر شود. در حالت ایده آل با تعیین یک نرخ یادگیری مناسب می‌توان به خطای حداقل رسید. ولی در پروژه‌های عملی تعیین نرخ یادگیری بسیار سخت و چالش برانگیز است، زیرا که اگه نرخ یادگیری کم انتخاب شود، الگوریتم ممکن است در مینیمم‌های محلی گیر کند (زیرا که مینیمم محلی خواصی شبیه به مینیمم اصلی دارند و در این مناطق نیز شیب خطا صفر است و الگوریتم به اشتباه فکر می‌کند که به مقدار بهینه رسیده است) و در نتیجه شبکه به درستی آموزش نمی‌بیند و یا اگر نرخ یادگیری بزرگ انتخاب شود امکان دارد شبکه به حالت نوسانی و ناپایدار برسد و در نتیجه همگرا نشده و آموزش نبیند. در این جلسه چالش‌های تعیین نرخ یادگیری را توضیح می‌دهیم و در ادامه چند روش ساده از قبیل ترم ممنتوم، search then converge و time variant  را برای حل این مسئله طبق مطالب کتاب ارائه می‌دهیم و در متلب پیاده‌سازی می‌کنیم و مزایا و معایب هر روش را توضیح می‌دهیم و در انتها توضیح می‌دهیم که روشهای ذکر شده با اینکه تا حدودی توانسته‌اند مشکل تعیین نرخ یادگیری را حل کنند ولی کافی نیستند و نیاز است که شرطهای دیگری نیز در تعیین نرخ یادگیری گنجانده شود.

برای درک بهتر مطالب ما در این جلسه نیز چندین مثال و پروژه عملی در متلب انجام داده‌ایم.

جزئیات بیشتر و خرید کامل بخش پنجم

 


6. آموزش مباحث تئوری شبکه عصبی پرسپترون چند لایه با قانون یادگیری دلتا دلتا (delta delta rule)و پیاده‌سازی مرحله به مرحله آن در متلب

همانطور که در جلسه پنجم توضیح دادیم در پروژه‌های عملی تعیین نرخ یادگیری برای الگوریتم گرادیان نزولی بسیار سخت و چالش برانگیز است، زیرا که اگر نرخ یادگیری کم انتخاب شود، الگوریتم ممکن است در مینیمم‌های محلی گیر کند و در نتیجه شبکه به درستی آموزش نبیند و یا اگر نرخ یادگیری بزرگ انتخاب شود امکان دارد شبکه به حالت نوسانی و ناپایدار برسد و در نتیجه همگرا نشده و آموزش نبیند. برای حل این مشکل چند روش ساده از قبیل ترم ممنتوم، search then converge و time variant  در متلب پیاده‌سازی کردیم و مزایا و معایب هر روش را توضیح دادیم و در انتها توضیح دادیم که روشهای ذکر شده با اینکه تا حدودی توانسته‌اند مشکل تعیین نرخ یادگیری را حل کنند ولی کافی نیستند و نیاز است که شرطهای دیگری نیز در تعیین نرخ یادگیری گنجانده شود.

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

پروژه‌ی انجام شده در این جلسه: 
 تشخیص سرطان سینه با شبکه‌ی عصبی MLP با قانون یادگیری دلتا دلتا
جزئیات بیشتر و خرید کامل بخش ششم

 


7. آموزش مباحث تئوری شبکه عصبی پرسپترون چند لایه با قانون یادگیری دلتا بار(delta bar delta rule) و پیاده‌سازی مرحله به مرحله آن در متلب

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

پروژه‌های انجام شده در این جلسه: 
1. تشخیص سرطان سینه با شبکه‌ی عصبی MLP با قانون یادگیری دلتا بار دلتا
2. تخمین میزان آلودگی هوا با شبکه‌ی عصبی MLP با قانون یادگیری دلتا بار دلتا
3. تشخیص نوع برگ درختان با شبکه‌ی عصبی MLP با قانون یادگیری دلتا بار دلتا
جزئیات بیشتر و خرید کامل بخش هفتم

 


8. آموزش مباحث تئوری شبکه عصبی RBF و پیاده‌سازی مرحله به مرحله آن در متلب

ما تا جلسه هفتم تمام تمرکزمون برروی شبکه عصبی معروف پرسپترون بود و این جلسه شبکه عصبی توابع شعاعی پایه(radial basis function) را آموزش می‌دهیم. این شبکه یک شبکه عصبی 3 لایه است که از یک لایه پنهان تشکیل شده است. از قضیه  جالب کاور برای حل مسائل پیچیده و غیرخطی استفاده می‌کند و کاربردهای زیادی در عمل دارد. شبکه عصبی rbf رویکرد متفاوتی نسبت به پرسپترون چندلایه دارد و با یک رویکرد بسیار ساده و جالب مسائل پیچیده را حل می‌کند. برخلاف mlp که در آن وزنهای سیناپسی تمام لایه ها باید محاسبه می‌شدند در این شبکه لایه ورودی به صورت مستقیم و بدون اینکه وزن سیناپسی در بین دولایه  باشد به لایه پنهان وصل شده است. نورونهای لایه پنهان ایشبکه به عنوان یک کرنل غیرخطی(گوسی rbf) عمل می‌کنند و وظیفه نگاشت داده از فضای غیرخطی به فضای خطی را برعهده دارند. هر یک از نورنهای لایه پنهان به یک مرکز و سیگمای بهینه نیاز دارند تا به درستی داده را نگاشت دهند، برای محاسبه مراکز و سیگمای مراکز چندین روش مثل الگوریتم خوشه‌بند kmeans مطرح شده که طبق کتاب این روشها را توضیح داده و در متلب پیاده‌سازی کرده و مزایا و معایب هر روش را با مثال عملی توضیح می‌دهیم. در این جلسه به صورت مختصر مفهوم خوشه‌بندی توضیح داده شده و سپس عملکرد الگوریتم kmeans جهت تعیین مراکز را توضیح داده‌ایم.  بعد از پیدا کردن مراکز و سیگماهای بهینه در این شبکه لازم است که وزنهای سیناپسی بین لایه پنهان و لایه خروجی نیز محاسبه شوند که برای محاسبه وزن سیناپسی بهینه سه روش وینرهاف، شبه معکوس و گرادیان نزولی را توضیح داده و در متلب پیاده سازی کرده‌ایم. و در انتها چندین مثال و پروژه عملی از قبیل جلمه تشخیص سرطان سینه (پروژه عملی طبقه‌بندی) ، پیش بینی میزان آلودگی هوا (پروژه عملی رگرسیون) و کلاسبندی داده سه کلاسه iris (گل زنبق) با استفاده از شبکه عصبی RBF انجام داده ایم که با کارایی این شبکه عصبی آشنا شده و بتوانید پروژه‌های عملی خودتان را با استفاده از این الگوریتم در متلب پیاده‌سازی کنید.

پروژه‌های انجام شده در این جلسه: 
1. تشخیص سرطان سینه با شبکه عصبی RBF
2. تخمین میزان آلودگی هوا با شبکه عصبی RBF
3. تشخیص نوع برگ درختان با شبکه عصبی RBF
جزئیات بیشتر و خرید کامل بخش هشتم

 


9. آموزش مباحث تئوری شبکه عصبی ELM و پیاده‌سازی مرحله به مرحله آن در متلب

ما تا جلسه هشتم از مباحث کتاب معروف   Simon haykin استفاده کردیم و در دو جلسه آینده قصد داریم پیاده‌سازی دو تا شبکه عصبی معروف ELM(extreme learning machine) و (probabilistic neural network)PNN را طبق مقالات تخصصی آموزش دهیم تا با پیاده‌سازی مقالات تخصصی نیز آشنا شوید. شبکه عصبی پرسپترون دو ایراد اساسی در زمان آموزش دارد: ایراد اول شبکه این است که از گرادیان نزولی برای تنظیم وزنها استفاده می‌کند و این باعث می‎شود که پروسه آموزش زمانبر باشد، مخصوصا زمانی که حجم داده آموزشی زیاد باشد! ایراد دوم این شبکه تعداد زیاد پارامترها است. در این شبکه پارامترهای زیادی باید در پروسه آموزش تنظیم شوند و همین باعث می‌شود که زمان آموزش بسیار بالا باشد. شبکه عصبی ELM یک رویکر بسیار ساده‌ای برای حل این مسئله ارائه کرده است و به همین دلیل سرعت یادگیری بسیار بالایی دارد و سرعت یادگیری آن در مقایسه با MLP شاید بتواند گفت 1000 برابر و حتی بیشتر شده است. این شبکه ساختاری همانند RBF دارد ولی کلا یک پارامتر در طول آموزش تنظیم می‌‌کند. برخلاف RBF که وزنهای سیناپسی بین لایه ورودی و لایه پنهان ثابت و مقدار یک بود، در این شبکه لایه ورودی با یک سری وزن به لایه پنهان وصل شده شده است، البته خوبی ماجرا اینجا هست که در این شبکه به وزنها یک مقدار تصادفی در همان ابتدا اختصاص می‌دهند و نیازی نیست در طول آموزش تنظیم شوند. نورونهای لایه پنهان یک نورون معمولی هستند و نیازی به پیدا کردن مراکز و سیگمای هر نورون نیست و در نهایت تنها پارامتر قابل تنظیم این شبکه وزنهای سیناپسی بین لایه پنهان و لایه خروجی است. یک شبکه رو به جلو هست و با استفاده از روش شبه معکوس وزنهای سیناپسی را در یک لحظه محاسبه می‌کند. و همین امر باعث شده سرعت یادگیری این شبکه بسیار بالا باشد. نکته جالب ماجرا اینجاست که عملکرد این الگوریتم بسیار بالاست و با اینکه تعداد پارامتر قابل تنظیم کمتری دارد ولی عملکرد بسیار خوبی در مقالات برای این الگوریتم گزارش شده است.

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

ما تا این جلسه برای ارزیابی شبکه‌های عصبی از روش معمول (the hold out validation method) استفاده می‌کردیم که در آن یکبار داده به دو بخش آموزش و تست تقسیم شده و مدل یکبار آموزش و تست می‌شود. زمانی که تعداد داده کم باشد استفاده از این روش ارزیابی مناسب نیست و باید از روشهای استاندارد دیگری استفاده کنیم. ما در این جلسه روشهای ارزیابی k-fold cross validation، random subsampling و leave one out validation را توضیح داده و سپس مرحله به مرحله در متلب پیاده سازی کرده‌ایم و درنهایت پروژه‌های عملی را با استفاده از این روشها ارزیابی می‌کنیم تا با ارزیابی استاندارد یک مدل یادگیری ماشین آشنا شوید و در پروژه های خود استفاده کنید.

پروژه‌های انجام شده در این جلسه: 
1. تشخیص سرطان سینه با شبکه عصبی ELM
2. تخمین میزان آلودگی هوا با شبکه عصبی ELM
3. تشخیص نوع برگ درختان با شبکه عصبی ELM
جزئیات بیشتر و خرید کامل بخش نهم

 


10. آموزش مباحث تئوری شبکه عصبی PNN و پیاده‌سازی مرحله به مرحله آن در متلب

در این جلسه نیز همانند جلسه نهم یک شبکه عصبی معروف به اسم PNN را طبق دو مقاله تخصصی آموزش می‌دهیم تا با پیاده‌سازی مقالات تخصصی نیز آشنا شوید. این شبکه از لحاظ تصمیم‌گیری شباهت زیادی با کلاسبند بیزین دارد و همین باعث شده عملکرد طبقه‌بندی بالایی داشته باشد و در عمل خیلی از این شبکه عصبی استفاده کنند. همانطور که می‌دانید طبقه‌بند بیزین اگر تمام شرایطی که نیاز دارد فراهم شود بهینه‌ترین طبقه‌بند بین تمام طبقه‌بندها خواهد بود. ولی از آنجا که در عمل نمی‌توان تمام شرایط را فراهم کرد در نتیجه عملکرد بهینه‌ای ندارد. شبکه عصبی PNN  از چهار لایه input layer, pattern layer, summation layer  و output layer تشکیل شده است و از یک ایده بسیار جالبی برای کلاسبندی استفاده می کند. تئوری یادگیری این شبکه عصبی را طبق دو مقاله تخصصی ضمیمه شده در پیوست،  به زبان ساده توضیح داده سپس در متلب مرحله به مرحله پیاده سازی می کنیم. و برای اینکه با کارایی خوب این شبکه آشنا شوید دو پروژه تخصصی تشخیص سرطان سینه  و کلاسبندی داده سه کلاسه iris (گل زنبق) با استفاده از شبکه عصبی PNN انجام داده‌ایم. و در آخر مزایا و معایب هر روش را با مثال عملی توضیح داده ایم.

پروژه‌های انجام شده در این جلسه: 
1. تشخیص سرطان سینه با شبکه عصبی PNN
2. تشخیص نوع برگ درختان با شبکه عصبی PNN

جزئیات بیشتر و خرید کامل بخش دهم

این دوره تنها یک ویدیوی آموزشی نیست، بلکه پروژه ها و مقالات زیادی در این دوره آموزشی پیاده سازی شده اند که میتوانید از آنها در پروژه‌های درسی و پایان نامه خودتون استفاده کنید!

پروژه‌های انجام شده در این پکیج آموزشی:

1. آموزش روشها و پارامترهای ارزیابی شبکه‌های عصبی
2. ناحیه‌بندی تصویر با استفاده از شبکه‌های عصبی
3. مدلسازی گیتهای منطقی با استفاده از شبکه‌های عصبی (مدلسازی)
4. انجام پروژه تشخیص سرطان سینه با استفاده از شبکه‌های عصبی(کلاسبندی داده دوکلاسه)
5. انجام پروژه تشخیص نوع برگ درختان با استفاده از شبکه‌های عصبی(کلاسبندی داده های چندکلاسه)
6. انجام پروژه تشخیص میزان آلودگی هوا با استفاده از شبکه‌های عصبی (رگرسیون)

دیدگاهها

هیچ دیدگاهی برای این محصول نوشته نشده است.

.فقط مشتریانی که این محصول را خریداری کرده اند و وارد سیستم شده اند میتوانند برای این محصول دیدگاه ارسال کنند.

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