پروژه درسی

پروژه ربات فوتبالیست یادگیری تقویتی (نسخه اول)

پروژه ربات فوتبالیست یادگیری تقویتی (نسخه اول)

وضعیت : موجود

برند :پروژه درسی

تعداد بازدید: 20
0 0

یادگیری تقویتی یک از روش های یادگیری ماشین است که در آن سعی داریم عامل یادگیرنده را به نحوه ای متفاوت از سایر روش ها آموزش دهیم.

 

 

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

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

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

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

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

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

یک مدل یادگیری تقویتی شامل مباحث زیر است

  1. حالات ممکن در مسئله (S)
  2. عملیات های قابل انجام توسط عامل (A)
  3. قوانینی برای گذر از یک حالت به حالت دیگر که عامل در موقعیت s با انجام عمل a به چه موقعیت جدید 's حرکت میکند
  4. میزان پاداش به ازای هر عمل. البته گاهی اوقات پاداش به مجموعه از عملها داده میشود.
  5. قوانین مربوط به اینکه عامل چه حالاتی را میتواند مشاهده کند

 

در چه مسائلی میتوان از روش یادگیری تقویتی استفاده کرد؟

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

 

در این پست، پیاده سازی پروژه ای به نام ربات فوتبالیست را ارائه داده ایم. این پیاده سازی مربوط به نرم افزار AUT Soccer دانشگاه صنعتی امیرکبیر است.

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

این محیط به صورت یک زمین مسابقه 9 در 6 خانه است. دو عامل در این محیط با یکدگیر مسابقه فوتبال میدهند. برنده عاملی خواهد بود که بتواند برنده بازی باشد. پیاده سازی مربوط به این شبیه ساز توسط #C سی شارپ انجام شده است.

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

 

ویدیوی زیر نحوه اجرای این پیاده سازی را نشان میدهد.

ویدیو نحوه اجرای  برنامه و شبیه ساز

 

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

 

سلب مسئولیت : بنده هیچ مسئولیتی در قبال آموزش نحوه نصب و اجرای شبیه ساز و نحوه کدنویسی کدها در محیط ویژوال استادیو و مسائلی از این قبیل نداشته و تمامی این موارد بر عهده دانشجو است.

 

در صورت هر گونه سوال نسبت به کالای مورد نظر، با ایمیل msd.abasian@gmail.com  یا شماره 09132324263 و یا آیدی تلگرام masoudabasian مکاتبه نمایید.

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

با تشکر از حسن اعتماد شما

مسعود عباسیان

پروژه ربات فوتبالیست یادگیری تقویتی (نسخه اول)

85،000 تومان افزودن به سبد خرید

محل نوشتن دیدگاه شما


تعداد نظرات : 0