دوره آموزش یادگیری تقویتی (Reinforcement Learning)

«یادگیری تقویتی» (Reinforcement learning) یکی از موضوعات موردبحث، جذاب و تأمل‌برانگیز در «حوزه هوش مصنوعی» (AI) و «یادگیری ماشین» (machine learning) است زیرا این پتانسیل را دارد که اکثر مشاغل را متحول کند. دوره آموزش ... ادامه

برگزارکننده:  مکتب‌خونه  مکتب‌خونه
مدرس دوره:
2.7 (18 رای)
سطح: مقدماتی
 پلاس
  
زمان مورد نیاز برای گذارندن دوره:  41 ساعت
مجموع محتوای آموزشی:  8 ساعت ویدئو - 33 ساعت تمرین و پروژه
 (قابل دانلود می‌باشد)
مهلت دوره:  8 هفته
  
حد نصاب قبولی در دوره:  75 نمره
فارغ‌التحصیل شدن در این دوره نیاز به ارسال تمرین‌ها و پروژه‌های الزامی دارد. 
organization-pic  گواهینامه این دوره توسط مکتب‌خونه ارائه می‌شود.
course-feature   گواهی‌نامه مکتب‌خونه course-feature   خدمات منتورینگ course-feature   پروژه محور course-feature   تمرین و آزمون course-feature   تالار گفتگو course-feature   تسهیل استخدام

آنچه در این دوره می‌آموزیم:

 آموزش یادگیری تقویتی

 آموزش پروژه محور یادگیری تقویتی

 افزایش مهارت های یادگیری ماشین

 ساخت مدل هوشمند

پیش‌نیاز‌ها

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

سرفصل‌های دوره دوره آموزش یادگیری تقویتی (Reinforcement Learning)

فصل اول: آشنایی با یادگیری تقویتی

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

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

  معرفی سرفصل‌ها
"07:13  
  تعریف و کاربرد یادگیری تقویتی
"16:31  
  کوییز تعریف و کاربرد یادگیریتقویتی
 100%    
"01:00  
فصل دوم: مسئله‌ی راهزن چنددست (Multi-Armed Bandit)

فصل دوم درباره مسئله راهزن چنددست (Multi-Armed Bandit) است که یک روش کلاسیک در یادگیری تقویتی محسوب می‌شود و به روش‌های مختلفی سعی در حل مسئله دارد. هدف اصلی در مسئله راهزن چنددست (Multi-Armed Bandit) ارائه یک روش غریزی برای حل مسئله است. اگر بخواهیم مثالی برای درک این موضوع عنوان کنیم، می‌توانیم از حل مسئله توسط انسان تنها با نگاه‌کردن به مسئله را عنوان کنیم؛ لذا می‌توانیم عنوان کنیم که هدف اصلی این بخش پیشنهاد روش‌های ساده برای حل مسئله توسط ماشین است. در مسئله فرض می‌شود که چندین دستگاه ماشین جایزه وجود دارد. در این مسئله سعی می‌شود تا دستگاهی که بیشترین جایزه را برای ما خواهد داشت را پیدا کنیم. برای این کار ما از مکانیسم‌هایی نظیر خطا و جایزه استفاده می‌کنیم. نکته مهم در این موضوع این است که بتوانیم به طور غریزی و با استفاده از راه‌حل‌های ساده بتوانیم این مسئله را حل کنیم.

این فصل در چهار بخش کلی آموزشی تدوین شده است. شما در بخش اول و دوم این فصل با مکانیسم راهزن چنددست (Multi-Armed Bandit) آشنا می‌شوید. بعد از تسلط و یادگیری تعاریف و نکات مهم مسئله‌ی راهزن چنددست، شما با پیاده‌سازی راهزن چنددست در دو بخش پایانی این فصل آشنا می‌شوید. در پایان برای سنجش میزان اطلاعات و یادگیری شما در این مسئله کوییز راهزن چنددست وجود دارد. همچنین شما ملزم هستید تا در پایان تمرین بخش مسئله راهزن چنددست را انجام دهید.

  راهزن چنددست - بخش اول
"16:30  
  راهزن چنددست - بخش دوم
"14:06  
  پیاده‌سازی راهزن چنددست - بخش اول
"12:47  
  پیاده‌سازی راهزن چنددست - بخش دوم
"06:52  
  کوییز راهزن چنددست
 7%    
"01:00  
  تمرین بخش مسئله راهزن چنددست (الزامی)
 93%    
"150:00  
فصل سوم: تعاریف یادگیری تقویتی

در این فصل سعی شده است تا با بررسی تعریف و نکات مهم یادگیری تقویتی، موضوع‌های همچون تعیین ارزش اقدامات (Actions)، حالت‌ها (States)، تعیین ارزش بازده و سود (Returns and profits) و تابع پاداش و جریمه (Rewards and fines function) تعریف می‌شود. می‌توان این تعاریف را اصول پایه موردنیاز در یادگیری تقویتی دانست که یادگیری درست آن در تمام بخش‌ها موردنیاز است. سه بخش این فصل به ارائه این تعاریف مهم اختصاص یافته است. همچنین برای سنجش میزان یادگیری شما درباره تعاریف یادگیری تقویتی یک کوییز طراحی شده است.

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

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

  تعاریف یادگیری تقویتی - قسمت اول
"10:30  
  تعاریف یادگیری تقویتی - قسمت دوم
"11:36  
  تعاریف یادگیری تقویتی - قسمت سوم
"14:36  
  کوییز تعاریف یادگیری تقویتی
 50%    
"01:00  
  رابطه‌ی Bellman
"15:10  
  کوییز رابطه‌ی Bellman
 50%    
"01:00  
  اثبات رابطه Bellman
"05:18  
فصل چهارم: برنامه‌نویسی پویا (Dynamic Programming)

برنامه‌نویسی پویا یا دینامیک (Dynamic Programming) در علوم رایانه و ریاضیات به معنی ارائه روش کارآمد بهینه‌سازی و حل مسائل با استفاده از زیرساخت‌های بهینه و زیرمسئله‌های هم‌پوشان است. در حل مسئله برنامه‌نویسی پویا، روش به نام تکرار سیاست (Policy Iteration) ارائه می‌شود. بخش اول این فصل به روش تکرار سیاست اختصاص یافته است. در این روش سعی می‌شود تا با تکرار متداوم یک عمل، ارزش وضعیت‌های مختلف را به دست بیاوریم. در این روش سعی می‌شود تا با عمل حریصانه (Greedy action) وضعیت خود را بهبود ببخشیم. این بخش به این موضوع می‌پردازد که تکرار حریصانه و بهبود متداوم وضعیت خود می‌توان به یک سیاست بهینه رسید. در پایان این بخش نیز یک کوییز برای تعیین میزان یادگیری شما در مورد روش تکرار سیاست وجود دارد. بخش دوم این فصل نیز به پیاده‌سازی سیاست تکرار اختصاص یافته است.

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

در پایان این فصل نیز شما ملزم به ارائه یک تمرین در بخش برنامه‌نویسی داینامیک خواهید بود.

  Policy Iteration
"14:19  
  کوییز Policy Iteration
 6.5%    
"01:00  
  پیاده‌سازی سیاست تکرار - بخش اول
"17:44  
  پیاده‌سازی Policy Iteration - بخش دوم
"06:32  
  Value Iteration
"06:27  
  کوییز Value Iteration
 6.5%    
"01:00  
  تمرین بخش برنامه‌نویسی داینامیک (Dynamic Programming) (الزامی)
 87%    
"150:00  
فصل پنجم: روش‌های مبتنی بر جدول (Tabular)

در این فصل روش‌های مبتنی بر جدول (Tabular) توضیح داده می‌شود. در واقع فرض می‌شود که یک جدول دوبعدی از ارزش‌ها (Values) و فعالیت‌ها (Actions) وجود دارد. در این روش هدف این است که شما با روش‌های مختلف تابع ارزش وضعیت را تعیین کنید و سپس با اقدامات حریصانه (Greedy actions) می‌توانید ارزش‌های ارائه شده را بهینه‌سازی کنید. در این روش برخلاف روش ارائه شده در فصل چهارم ما از اقدامات ارائه شده خود نمونه (Sample) تهیه می‌کنیم و با استفاده از تکرار (itertic) سعی می‌کنم تا مسئله را به شکلی بهینه حل کنیم.

در بخش اول این فصل شما با روش مونت‌کارلو (Monte Carlo) برای تعیین ارزش‌های خود آشنا می‌شوید. در دو بخش بعدی فصل مشکلات و محدودیت‌های موجود در برنامه‌ریزی پویا، پیاده‌سازی و ارزیابی سیاست مبتنی بر رویکرد مونت کارلو (Monte Carlo Policy Evalution) بیان می‌گردد. در بخش بعدی این فصل نیز همچنین سیاست تأثیر تفاوت‌های زمانی (Temporal Difference) توضیح داده می‌شود. در پایان این بخش نیز یک کوییز برای تعیین میزان یادگیری شما در مورد روش تفاوت‌های زمانی (Temporal Difference) وجود دارد.

در این بخش پیاده‌سازی TDO State Value Prediction توضیح داده می‌شود. همچنین بخش بعدی این فصل به توضیح روش‌های SARSA و Q-learning بیان می‌گردد. در دو بخش بعدی این فصل نیز نحوه پیاده‌سازی SARSA and Q-learning شرح داده می‌شود.

بعد از توضیح پیاده‌سازی و ارزیابی روش‌های SARSA and Q-learning، بخش بعدی این فصل به تعریف روش Expected SARSA and double Q-learning اختصاص یافته است. در پایان این بخش نیز یک کوییز برای تعیین میزان یادگیری شما در مورد روش  Expected SARA and Double Q-learning وجود دارد. بخش بعدی ارائه شده در فصل نیز به ارزیابی و پیاده‌سازی روش Expected SARA and Double Q-learning اختصاص یافته است.

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

در پایان این فصل نیز شما ملزم به ارائه یک تمرین در مورد روش‌های مبتنی بر جدول (Tabular) خواهید بود.

  مونت‌کارلو (Monte Carlo)
"12:39  
  کوییز Monte Carlo
 4%    
"01:00  
  پیاده‌سازی Monte Carlo Policy Evalution
"08:59  
  پیاده‌سازی Monte Carlo Control Problem
"08:34  
  Temporal Difference
"11:17  
  کوییز Temporal Difference
 4%    
"01:00  
  پیاده‌سازی TDO State Value Prediction
"05:20  
  SARSA و Q-learning
"12:21  
  کوییز SARSA and Q-learning
 4%    
"01:00  
  پیاده‌سازی SARSA and Q-learning - بخش اول
"12:11  
  پیاده‌سازی SARSA and Q-learning - بخش دوم
"13:05  
  Expected SARSA and double Q-learning
"12:45  
  کوییز Expected SARA and Double Q-learning
 4%    
"01:00  
  پیاده‌سازی Expected SARA and Double Q-learning
"09:59  
  Eligibility Trace
"17:23  
  کوییز Eligibility Trace
 4%    
"01:00  
  تمرین بخش روش‌های مبتنی بر جدول (الزامی)
 80%    
"300:00  
فصل ششم: استفاده از تخمین‌گر

در فصل قبل توضیح داده شد که با استفاده از یک جدول دوبعدی بر اساس ارزش‌ها (Values) و فعالیت‌ها (Actions) وجود دارد تا تابع ارزش را تعیین کند. اما باید در نظر داشت که اگر تعداد توابع حالت‌ها (States) زیاد باشد، ما نمی‌توانیم با استفاده روش‌های مبتنی بر جدول (Tabular) تابع خود را بهینه‌سازی کنیم. در این فصل به‌جای استفاده از یک جدول از توابع نظیر ماشین لرنینگ (Deep learning) استفاده می‌کنیم تا تخمینی از توابع وضعیت ما ارائه شود. تفاوت روش‌های ارائه شده این فصل با فصل گذشته، استفاده از یک تخمین‌گر (Estimator) به‌منظور ارائه یک تخمین از وضعیت‌ها است.

ورودی این تخمین‌گر‌ها حالت‌ها (States) هستند و خروجی ارائه شده توسط آن‌ها یک تخمین (estimate) است.

در بخش اول این فصل تخمین Q-value آموزش داده می‌شود و سپس در پایان بخش یک کوییز به‌منظور سنجش میزان یادگیری شما وجود دارد. بخش بعدی این فصل نیز به توضیح روش Deep Q-learning اختصاص یافته است و سپس در پایان بخش یک کوییز به‌منظور سنجش میزان یادگیری شما در مورد روش Deep Q-learning وجود دارد.

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

دو بخش بعدی این فصل نیز به پیاده‌سازی بهبود مدل‌های DQN اختصاص یافته است. در پایان این فصل نیز شما ملزم به ارائه یک تمرین در مورد استفاده از DQN خواهید بود.

  تخمین Q-value
"15:31  
  کوییز تخمین Q-value
 4.3%    
"01:00  
  Deep Q-learning
"20:45  
  کوییز Deep Q-learning
 4.3%    
"01:00  
  پیاده‌سازی Deep Q-learning
"31:41  
  بهبود مدل‌های DQN - بخش اول
"10:42  
  بهبود مدل‌های DQN - بخش دوم
"06:21  
  کوییز بهبود مدل‌های DQN
 4.3%    
"01:00  
  پیاده‌سازی بهبود مدل‌های DQN - بخش اول
"13:08  
  پیاده‌سازی بهبود مدل‌های DQN - بخش دوم
"16:17  
  تمرین بخش استفاده از DQN (الزامی)
 87%    
"300:00  
فصل هفتم: Policy Gradient

این فصل به موضوع اختصاص یافته است که چه روش‌هایی برای یادگیری مستقیم سیاست و استراتژی وجود دارد. در این فصل ابتدا یادگیری مستقیم (policy) بری شما توضیح داده می‌شود. در پایان بخش شما با انجام یک کوییز میزان یادگیری خود در مورد یادگیری مستقیم (policy) را ارزیابی می‌کنید. بخش بعدی این فصل الگوریتم تقویتی (Reinforce) توضیح داده می‌شود. در پایان بخش شما با انجام یک کوییز میزان یادگیری خود را مورد ارزیابی قرار می‌دهید. در این فصل بخشی نیز به توضیح الگوریتم Actor-Critic و بخشی نیز به پیاده‌سازی الگوریتم Actor Critic اختصاص یافته است. شما بعد از اتمام بخش توضیح الگوریتم Actor-Critic در یک کوییز به‌منظور ارزیابی و سنجش میزان یادگیری خود در این بخش می‌پردازید.

چنانچه خواهان یادگیری بیشتری در مورد مطالب ارائه شده در این فصل هستید، می‌توانید مطالب ارائه شده در بخش اختیاری روش گرادیان سیاست عمیق قاطعیت Deep Deterministic Policy Gradient (DDPG) را بررسی کنید.

بخش پایانی این فصل در مورد آشنایی با TF-Agent است.

  یادگیری مستقیم policy
"14:28  
  کوییز یادگیری مستقیم policy
 30%    
"01:00  
  الگوریتم تقویتی (Reinforce)
"11:18  
  کوییز الگوریتم Reinforce
 30%    
"01:00  
  الگوریتم Actor-Critic
"11:31  
  کوییز الگوریتم Actor-Critic
 40%    
"01:00  
  پیاده‌سازی Actor Critic
"21:35  
  روش Deep Deterministic Policy Gradient (DDPG) (اختیاری)
"07:27  
  آشنایی با TF-Agent
"08:01  
فصل هشتم: پروژه پایانی

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

  پروژه نهایی (الزامی)
 100%    
"1080:00  

ویژگی‌های دوره

گواهی‌نامه مکتب‌خونه
گواهی‌نامه مکتب‌خونه

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

مشاهده نمونه گواهینامه

ویژگی‌های دوره

خدمات منتورینگ
خدمات منتورینگ

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

ویژگی‌های دوره

پروژه محور
پروژه محور

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

ویژگی‌های دوره

تمرین و آزمون
تمرین و آزمون

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

ویژگی‌های دوره

تالار گفتگو
تالار گفتگو

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

ویژگی‌های دوره

تسهیل استخدام
تسهیل استخدام

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

بررسی فرصت‌های شغلی

درباره دوره

«یادگیری تقویتی» (Reinforcement learning) یکی از موضوعات موردبحث، جذاب و تأمل‌برانگیز در «حوزه هوش مصنوعی» (AI) و «یادگیری ماشین» (machine learning) است زیرا این پتانسیل را دارد که اکثر مشاغل را متحول کند. دوره آموزش یادگیری تقویتی به هدف آموزش این ترند در یادگیری ماشین ارائه شده است و به کاربر دید روشنی از این ترند جذاب و پرکاربرد می‌دهد و کاربر جنبه‌های تئوری و عملی آن را یاد می‌گیرد. در ادامه به معرفی این دوره آموزش یادگیری تقویتی خواهیم پرداخت و در پایان اطلاعات کاملی را از این ترند جذاب ذکر خواهیم کرد.

معرفی دوره آموزش یادگیری تقویتی

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

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

هدف از یادگیری دوره آموزش یادگیری تقویتی چیست؟

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

دوره آموزش یادگیری تقویتی مناسب چه کسانی است؟

این دوره برای افراد زیر مناسب است:

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

بعد از یادگیری دوره آموزش یادگیری تقویتی چه مهارت‌هایی کسب خواهید کرد؟

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

  • آشنایی با انواع مدل‌های یادگیری تقویتی 
  • آشنایی با کتابخانه gym
  • آشنایی با مدل‌های deep Q-learning
  • آشنایی با مدل‌های Policy Based
  • پیاده‌سازی روش‌های مختلف مدل کردن یادگیری تقویتی

ویژگی‌های متمایز دوره آموزش یادگیری تقویتی چیست؟

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

درباره استاد

maktabkhooneh-teacher علی قندی

علی قندی تحصیلات خود در رشته‌ی مهندسی برق گرایش سیستم‌های دیجیتال را از سال ۹۲ در دانشگاه صنعتی شریف آغاز نمود. کارشناسی ارشد خود را در همین دانشگاه در زمینه علوم داده گذرانده و از سال 1399 مقطع دکترا را در این زمینه آغاز نموده است.

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

مشاهده پروفایل و دوره‌‌های استاد

نظرات کاربران

تا کنون نظری برای این دوره ثبت نشده است. برای ثبت نظر باید ابتدا در دوره ثبت نام کرده و دانشجوی دوره باشید.
شهرزاد ستایش 1402-06-27
باسلام و خداقوت به استاد قندی. خیلی آموزش کامل وجامعی ارائه دادن ومتشکرم که حتی خط به خط فرمولها را توضیح دادن که کامل متوجه بشیم .اگر کسی بخواد واقعا توی این زمینه کار کنه یه آموزش کامل همراه با توضیحات کدنویسی است من که از استاد قندی و تیم مکتب خونه تشکر میکنم
ابوذر رحمانی 1401-07-16
سلام با تشکر از استاد قندی عزیز من واقعا از این دوره کاملا راضی بودم و نسبت به خیلی از دوره های یادگیری تقویتی ای که تا حالا دیدم کامل تر و به مراتب کاربردی تر بود اینکه توی جلسات از کدزنی آماده استفاده شده هم یک مزیت محسوب میشه که باعث میشه وقت جلسات برای کدنویسی گرفته نشه به نظرم اونچیزی که باید گفته میشد گفته شد در خانه اگر کس است یک حرف بس است
غزاله جعفری 1400-10-13
سلام و عرض خسته نباشید به استاد عزیز این دوره یکی از بهترین دوره هایی بود که به من در راه اندازی یک پروژه ی دانشگاهی کمک کرد و خوشحالم که مکتب خونه دوره های باکیفیت و کاربردی ارائه میده
زهرا میرزاعلیان 1400-08-04
با سلام دوره ای بسیار با کیفیت و مدرسی عالی . با توجه به دانشی که من تا به حال داشته ام و مقالاتی که با آنها رو به رو شده ام ، مطالب گفته شده توسط استاد بسیار جامع و کامل بوده و دقت زیادی در فراگیری تمام موضوعات داشته به خصوص پیاده سازی هایی که کاملا به شما در فهم و درک درس کمک میکنه . بسیار ممنونم از استاد این دوره و همچنین تیم حرفه ای مکتب خونه که در پاسخگویی به سوالات همیشه حاضر و در دسترس بوده اند
محمد فلاحی 1400-06-04
خیلی ممنون از مهندس قندی عزیز و تیم مکتب خونه، بسیار دوره خوب و کاربردی بود. بنظر من دست آوردی که هر کسی از دوره های آموزشی دارد، بستگی به توانایی های خود شخص هم دارد. دوره آقای قندی برای یادگیری بحث یادگیری تقویتی عمیق کافی بود و با کمی تلاش میشه خیلی روی این حوزه تسلط پیدا کرد. برخی از دوستان توقع نادرستی از مدرس دارند. من کاملا از این دوره راضی هستم خسته نباشید
سهیل اکبرزاده شعرباف 1402-10-12
بعضی مسائل که در تمرین ها میخواد توضیحی راجع به اون نداده
علی زرگریان مقدم 1402-10-21
عدم تسلط استاد به مباحث. تدریس ضعیف. گیج کنندگی تدریس استاد. عدم توضیح کد. در کل بسیار ضعیف بود. دوره های به مراتب بهتری رو پیدا کردم. متاسفم براتون.
امیررضا مهدوی 1402-06-26
مدرس مفاهیم و کدها رو به خوبی و شفاف توضیح نمی دهد
امیر جمالی 1402-11-13
این دوره به شدت ضعیف و حداقل های مورد نیاز دوره را ندارد، تنها رو خوانی از روی محتوای دیگر است! کد ها تنها رو خوانی می شود ! هدر رفت هزینه و زمان شماست ، پیشنهاد نمی کنم اصلا این دوره را خریداری کنید!
1402-08-27
درود و ارادت چند نکته: در چه فریمورکی برنامه نویسی می شود بسیار ضعیف در امر تدریس واقعا از مسیولین مکتبخونه خواهش می کنم در انتخاب اساتید دقت کنن این دوره ها باید کاربردی باشه
محمد لندرانی 1402-08-24
بااحترام به مدرس، تدریس خیلی ضعیفه... علاوه بر اینکه کدها آمادست و این یه نکته منفی تو تدریسه، خیلی سریع و مرور وار از کدها رد میشن... انگار که یکبار کامل توضیح دادن و الان فقط دارن مرور میکنن :) حقیقتا با اینکه این دوره رو با تخفیف گرفتم ولی بازم این هزینه برای همچین تدریسی منصفانه نیست...
ابوالفضل 1402-06-06
متاسفم برای مکتب خونه برای ثبت چنین دوره ای. حقیقتا سطح تسلط این آقا بسیار ضعیفه و حتی با اینکه از کد های آماده دوره های انگلیسی استفاده میکنه (که حتی اسمی از منبع نبرد) با اینحال هم نتونست خوب درس بده. اگربخواید منصف عمل کنید حداقل باید نصب مبلغ پرداختی رو برگردونید.
مکتب‌خونه
همراه عزیز؛ از اینکه نظر خود را با ما در میان گذاشتید صمیمانه سپاسگزاریم موارد مطرح شده جهت بررسی به بخش مربوطه ارسال شد.
حسین اعتدادی 1401-04-28
جداً این طور توضیح دادن و بیان مطالب اصلا مورد قبول نیست. مدرس حداقل باید یک قلم تهیه میکرد تا با اون فرمول ها و کد را به صورت واضح و ریشه ای بیان کنه. حداقل این میتونست باشه که توضیحات قابل فهم باشند :/
مکتب‌خونه
همراه عزیز؛ با سپاس از نظر شما، موارد مطرح شده جهت بررسی به بخش مربوطه ارسال شد. در صورت نیاز به پیگیری بیشتر با شما در ارتباط خواهیم بود.
سارا حق بیان 1401-04-25
متاسفانه توضیحات در قسمت کدنویسی بسیار کم است و به سرعت از روی کدها عبور می کنند. این مبلغ برای خرید این دوره اصلا مناسب نیست.
مکتب‌خونه
همراه عزیز؛ با سپاس از نظر شما، موارد مطرح شده جهت بررسی به بخش مربوطه ارسال شد. در صورت نیاز به پیگیری بیشتر با شما در ارتباط خواهیم بود.
یونس خسروی 1400-06-05
شاید یکی از بدترین دوره های خریداری شده من بود اونقدر بد توضیح دادن که آدم به زور می فهمه . سر اخر هم یک مثال میندازه جلوت میگه خودت بفهم . حیف پول من
مکتب‌خونه
یونس عزیز؛ از اینکه نظر خود را با ما در میان گذاشتید صمیمانه سپاسگزاریم موارد مطرح شده جهت بررسی به بخش مربوطه ارسال شد.
1
2

دوره‌های پیشنهادی

سوالات پرتکرار

آیا در صورت خرید دوره، گواهی نامه آن به من تعلق می گیرد؟
خیر؛ شما با خرید دوره می توانید در آن دوره شرکت کنید و به محتوای آن دسترسی خواهید داشت. در صورتی که در زمان تعیین شده دوره را با نمره قبولی بگذرانید، گواهی نامه دوره به نام شما صادر خواهد شد.

سوالات پرتکرار

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

سوالات پرتکرار

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

سوالات پرتکرار

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

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

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

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

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

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

از طرفی ما «یادگیری تقویتی عمیق» (Deep Reinforcement Learning) را داریم که شبکه‌های عصبی عمیق را برای حل مسائل یادگیری تقویتی معرفی می‌کند که بحث آن بسیار مفصل و کمی متفاوت از یادگیری تقویتی ساده است.

اجزای درگیر در یادگیری تقویتی

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

یادگیری تقویتی دارای چهارعنصر اساسی است:

  • عامل (agent): برنامه‌ای که آموزش می‌دهید، باهدف انجام کاری که مشخص می‌کنید.
  • محیط(Environment): دنیای واقعی یا مجازی که در آن عامل اعمالی را انجام می‌دهد.
  • عمل(Action): حرکتی که توسط عامل انجام می‌شود که باعث تغییر وضعیت در محیط می‌شود و تعامل با محیط را برقرار می‌کند.
  • پاداش(Rewards): ارزیابی یک عمل که می‌تواند مثبت یا منفی باشد.

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

نکات اصلی در یادگیری تقویتی

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

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

انواع مدل یادگیری تقویتی

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

یادگیری تقویتی مثبت

تقویت مثبت به این صورت تعریف می‌شود که یک رویداد به دلیل یک رفتار خاص رخ دهد، قدرت و فراوانی رفتار را افزایش دهد. به‌عبارت‌دیگر تأثیر مثبتی بر رفتار دارد.

مزایای یادگیری تقویتی مثبت عبارت‌اند از:

  • عملکرد را به حداکثر می‌رساند
  • تغییر را برای مدت طولانی حفظ می‌کند
  • تقویت بیش‌ازحد می‌تواند منجر به بار بیش‌ازحد حالت‌ها شود که می‌تواند نتایج را کاهش دهد

یادگیری تقویتی منفی

تقویت منفی به‌عنوان تقویت رفتار تعریف می‌شود زیرا یک وضعیت منفی متوقف یا از آن اجتناب می‌شود.

مزایای یادگیری تقویتی:

  • رفتار را افزایش می‌دهد
  • عملکرد را استاندارد می‌کند

الگوریتم‌های یادگیری تقویتی

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

1. الگوریتم مونت کارلو (Monte Carlo)

2. الگوریتم Q-learning

3. الگوریتم SARSA

4. الگوریتم Q-learning - Lambda

5. الگوریتم SARSA - Lambda

6. الگوریتم DQN

7. الگوریتم DDPG

8. الگوریتم A3C

9. الگوریتم NAF

10. الگوریتم TRPO

11. الگوریتم PPO

12. الگوریتم TD3

13. الگوریتم SAC

14. و سایر موارد

هرکدام از این الگوریتم‌های یادگیری تقویتی reinforcement-شیوه کار خود را پیروی می‌کنند که پرداختن به آن‌ها خارج از این بحث است.

کاربرد عملی یادگیری تقویتی در دنیای امروزی

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

 یادگیری تقویتی در صنعت رباتیک

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

اتوماسیون صنعتی

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

بازی

در واقع، اولین برنامه‌ای که در آن یادگیری تقویتی شهرت پیدا کرد، زمانی بود که AlphaGo، یک الگوریتم یادگیری ماشین، در برابر یکی از بهترین بازیکنان انسانی جهان در بازی Go پیروز شد. اکنون از یادگیری تقویتی برای رقابت در انواع بازی‌ها استفاده می‌شود.

دارو

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

سیستم‌های گفتگو

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

وسایل نقلیه خودران

اکثر خودروهای خودران، کامیون‌ها، پهپادها و کشتی‌ها دارای الگوریتم‌های تقویتی در مرکز هستند. Wayve، یک شرکت انگلیسی، یک وسیله نقلیه خودران طراحی کرد که با کمک یادگیری تقویتی، رانندگی را در 20 دقیقه یاد گرفت.

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

یادگیری تحت نظارت، بدون نظارت و تقویتی: تفاوت‌ها چیست؟

  • تفاوت شماره 1: استاتیک در مقابل پویا

هدف از یادگیری نظارتی (supervised learning) و یادگیری غیر نظارتی (unsupervised learning)، جستجو و یادگیری الگوها در داده‌های آموزشی است که کاملاً ثابت است. از سوی دیگر، RL مبنی بر سیاستی است که به یک عامل می‌گوید در هر مرحله کدام عمل را انتخاب کند و این یعنی پویایی الگوریتم.

  • تفاوت شماره 2: بدون پاسخ صحیح و صریح

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

  • تفاوت شماره 3: RL نیاز به کاوش دارد

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

  • تفاوت شماره 4: RL یک فرآیند تصمیم‌گیری چندگانه است

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

صفحات پربازدید
poster
  
برگزار کننده:  مکتب‌خونه
  
زمان مورد نیاز برای گذارندن دوره:  41 ساعت
مجموع محتوای آموزشی:  8 ساعت ویدئو - 33 ساعت تمرین و پروژه
 (قابل دانلود می‌باشد)
مهلت دوره:  8 هفته
  
حد نصاب قبولی در دوره:  75 نمره
فارغ‌التحصیل شدن در این دوره نیاز به ارسال تمرین‌ها و پروژه‌های الزامی دارد. 
organization-pic  گواهینامه این دوره توسط مکتب‌خونه ارائه می‌شود.
course-feature   گواهی‌نامه مکتب‌خونه course-feature   خدمات منتورینگ course-feature   پروژه محور course-feature   تمرین و آزمون course-feature   تالار گفتگو course-feature   تسهیل استخدام