الگوریتم ­های یادگیری ماشین؟

یادگیری ماشین ML الگوریتم‌­های بسیار زیادی دارد اما می­‌توان آن­‌ها را در سه دسته اصلی زیر طبقه‌بندی کرد.

  • یادگیری با نظارت (Supervised ML): یادگیری با استفاده از نمونه داده ها و برچسب آنها
  • یادگیری بی نظارت (Unsupervised ML): یادگیری با استفاده از شباهت بین نمونه داده ها
  • یادگیری تقویتی (Reinforcement ML): یادگیری براساس آزمون و خطا و در تعامل با محیط

یادگیری تقویتی چیست؟

یادگیری تقویتی (Reinforcement Learning) نوعی روش یادگیری در حوزه‌ی یادگیری ماشین (Machine Learning) است. در یادگیری ماشین دو نوع یادگیری با ناظر (Supervised Learning) و بدون ناظر (Unsupervised Learning) هم داریم. در مقایسه این سه روش، یادگیری تقویتی کمی با دو روش دیگر متفاوت است. تفاوت اصلی میان یادگیری تقویتی (Reinforcement Learning) با روش های دیگر یادگیری ماشین، در این است که در یادگیری تقویتی، هیچ گاه به عامل (Agent) گفته نمی‌شود که کار درست در هر وضعیت کدام است و فقط به وسیله‌ی معیاری، به عامل فهمانده می شود که یک عمل (Action) به چه میزان خوب و یا به چه میزان بد می باشد. این وظیفه‌ عامل یادگیرنده (Learner) می باشد که با در دست داشتن این اطلاعات، یاد بگیرد که بهترین عمل در هر وضعیت کدام است. این موضوع، بخشی از نقاط قوت خاص یادگیری تقویتی است. در یادگیری تقویتی یک هوش مصنوعی (Artificial Intelligence) با موقعیتی شبیه به یک بازی روبه‌رو می‌شود. کامپیوتر برای یافتن راه‌حلی برای مسئله از روش آزمون‌وخطا استفاده می‌کند. برای اینکه ماشین بتواند آنچه برنامه‌نویس می‌خواهد انجام دهد، پاداش یا مجازاتی را برای اعمال خود دریافت می‌کند. هدف ماشین به‌ حداکثر رساندن پاداش‌های دریافتی است. اگرچه برنامه‌نویس سیاست‌هایی را برای دریافت پاداش (منظور همان قوانین بازی است) تعیین می‌کند، هیچ پیشنهادی به مدل برای نحوه‌ی حل بازی نمی‌دهد. ماشین یا همان هوش مصنوعی باید تشخیص دهد چطور از نتایجی که در هر اقدام به دست می‌آورد برای رسیدن به هدف نهایی استفاده کند. از این طریق، مسائل پیچیده‌ی تصمیم‌گیری در اغلب اوقات می‌توانند با فراهم کردن کمترین میزان اطلاعات مورد نیاز برای حل مسأله، حل شوند. در بسیاری از حیوانات، یادگیری تقویتی، تنها شیوه‌ی یادگیری مورد استفاده است. همچنین یادگیری تقویتی، بخشی اساسی از رفتار انسان‌ها را تشکیل می‌دهد. هنگامی که دست ما در مواجهه با حرارت می‌سوزد، ما به سرعت یاد می‌گیریم که این کار را بار دیگر تکرار نکنیم. لذت و درد مثالهای خوبی از پاداش‌ها هستند که الگوهای رفتاری ما و بسیاری از حیوانات را تشکیل می‌دهند. در یادگیری تقویتی، هدف اصلی از یادگیری، انجام دادن کاری و یا رسیدن به هدفی است، بدون آنکه عامل یادگیرنده، با اطلاعات مستقیم بیرونی تغذیه شود.Q-learning و SARSA  دو الگوریتم محبوب و مستقل از مدل برای یادگیری تقویتی هستند. تمایز این الگوریتم‌ها با یکدیگر در استراتژی‌های جست‌و‌جوی آن‌ها محسوب می‌شود. در حالیکه استراتژی‌های استخراج آن‌ها مشابه است. در حالیکه Q-learning یک روش مستقل از سیاست است که در آن عامل ارزش‌ها را براساس عمل a* که از سیاست دیگری مشتق شده می‌آموزد.SARSA یک روش مبتنی بر سیاست محسوب می‌شود که در آن ارزش‌ها را براساس عمل کنونی a که از سیاست کنونی آن مشتق شده می‌آموزد. پیاده‌سازی این دو روش آسان است اما فاقد تعمیم‌پذیری هستند زیرا دارای توانایی تخمین ارزش‌ها برای حالت‌های مشاهده نشده نیستند. با استفاده از الگوریتم‌های پیشرفته‌تری مانند Deep Q-Networks که از شبکه‌های عصبی برای تخمین Q-value‌ها استفاده می‌کنند می‌توان بر این چالش‌ها غلبه کرد.

اجزای یادگیری تقویتی (Reinforcement Learning)

  • عامل (Agent): الگوریتم یا مدلی است که قرار است اقدامات را انجام دهد و با گذشت زمان از آن‌ها یاد بگیرد.
  • محیط (Environment): محیطی است که عامل با آن ارتباط برقرار می‌کند و اقدامات را در آن انجام می‌دهد.
  • اقدام (Action): همان کاری است که عامل انجام می‌دهد. اقدامات اساساً فعل‌وانفعالات عامل در یک محیط هستند.
  • پاداش (Reward): نتیجه یک اقدام است. هر عملی پاداشی دارد. پاداش می‌تواند مثبت یا منفی (پنالتی) باشد.
  • وضعیت (State): وضعیت فعلی عامل در محیط است. اعمالی که عامل انجام می‌دهد می‌تواند وضعیت آن را تغییر دهد.
  • سیاست (Policy): استراتژی یا رفتاری است که اقداماتی را دربرمی‌گیرد که عامل برای دست‌یابی به نتیجه‌ی موردنیاز باید انجام دهد.
  • تابع ارزش (Value Function): این تابع اساساً عامل را از حداکثر پاداشی که برای هر یک از وضعیت‌ها در آینده دریافت می‌کند، مطلع می‌کند. تابع ارزش می‌تواند عامل را در انتخاب عملکرد بهینه راهنمایی کند.

هدف از این دوره آموزشی؟

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

بخش صفر: مرور کامل روی پایتون
بخش پیشنیاز: مرور کامل روی یادگیری ماشین
بخش اول: معرفی کامل یادگیری تقویتی و پیاده سازی با pybrain
بخش دوم: الگوریتم های یادگیری تقویتی
بخش سوم: پیاده سازی عملی یادگیری تقویتی با پایتون
بخش چهارم: ایجاد محیط Custom برای Agent
مشاهده بیشتر

نظرات

متوسط امتیازات

3.8
3.80 5 رای
170,000 تومان
5 نقد و بررسی

جزئیات امتیازات

5 ستاره
0
4 ستاره
4
3 ستاره
1
2 ستاره
0
1 ستاره
0

5 دیدگاه برای آموزش یادگیری تقویتی با پایتون

  1. شادمان

    ممنون از آقای دکتر. دوره جالبی بود. منتظر دوره های بعدی شما هستم

  2. کامیار

    آموزش خوب و مفیدی بود ولی با توجه به اینکه این اموزش درس سختی هست می توانست نحوه تدریس بهتر و با مثال بیشتری باشد.

  3. مهدی عموهادی(خریدار محصول)

    باسلام و تشکر از استاد
    دوره ی خوب و کاربردیه و قیمت واقعا کم
    بنطرم روی تمام مباحث پایه کار شده بود و برای شروع و کسب اطلاعات reinforcement learning خوبه . ممنون

  4. reza(خریدار محصول)

    سلام وقتتون بخیر. آیا از روش یادگیری تقویتی میشه برای classification یا regression استفاده کرد. درواقع کاری که با روش با نظارت انجام میشه رو میشه با روش یادگیری تقویتی انجام داد؟؟ و اینکه آیا این مباحثی که گفتم توی آموزش وجود داره؟؟
    ممنون.

    • biglearn(خریدار محصول)

      سلام وقت بخیر
      بله می توان از یادگیری تقویتی برای مسائل طبقه بندی و رگرسیون نیز استفاده کرد. اما ذاتا یادگیری تقویتی برای مسائلی استفاده میشه که لیبل کلاس ها در هر حالت تغییر می کند و ثابت نیست. در این دوره فقط مباحث عنوان شده در سایت گفته شده است. با تشکر

  5. navid

    سلام و عرض ادب آیا شما تدریس خصوصی یادگیری تقویتی انجام میدین

دیدگاه خود را بنویسید