یادگیری تقویتی
معروف‌ترین الگوریتم‌های یادگیری تقویتی > روش‌های حل جدولی در مقابل روش‌های تقریبی

به‌طور کلی ایده اصلی بسیاری از الگوریتم‌های یادگیری تقویتی در ساده‌ترین حالت ممکن، نمایش تابع ارزش به صورت جدولی یا آرایه‌ای است که اصطلاحاً به آنها روش‌های حل جدولی می‌گویند. این روش‌ها برای مواردی مناسب هستند که اندازه فضای وضعیت و اقدام چندان بزرگ نباشد، در غیراینصورت با افزایش ابعاد مقیاس‌پذیر نخواهند بود و زمان یادگیری آنها به صورت نمایی افزایش می‌یابد. روش‌های حل جدولی اغلب به راهکارهای دقیق دست می‌یابند و می‌توان براساس آن‌ها مقدار بهینه تابع ارزش و سیاست را پیدا نمود. روشهای حل جدولی که مسائل را به صورت مدل‌های تصمیم‌گیری مارکوف مدلسازی می‌کنند می‌توانند از سه روش کلی حل شوند:
برنامه‌ریزی پویا (Dynamic Programming): روش برنامه‌ریزی پویا که رویکردی برای حل مسائل بسیار زیادی است، یک مسئله کلی را به مسایل جز تقسیم‌بندی کرده و راه‌حل بهینه را برای هر یک از مسائل جز بدست آورده و در نهایت با ترکیب آنها پاسخ بهینه مسئله کل را محاسبه می‌نماید. روش‌هایی که معمولاً از برنامه‌ریزی پویا استفاده می‌کنند به نام‌های ارزیابی سیاست، تکرار سیاست و تکرار ارزش نیز شناخته می‌شوند که در موارد مختلفی مورد استفاده قرار گرفته‌اند. این روش‌ها از نظر ریاضی به خوبی توسعه یافته‌اند، اما نیاز به یک مدل کامل و دقیق از محیط از چالش‌های استفاده از آنها محسوب می‌شود.
مونت کارلو (Monte Carlo Approach): روش مونت کارلو برخلاف روش برنامه‌ریزی پویا که نیازمند اطلاعات کامل در مورد توزیع احتمالات همه انتقال‌های ممکن بود؛ تنها به نمونه‌ای از توزیع‌های احتمال بسنده می‌کند. به بیانی دیگر، در روش مونت کارلو شناخت کامل محیط لازم نیست و با برقراری تعامل واقعی یا شبیه‌سازی شده با یک محیط می‌توان به توالی نمونه‌ای از حالت‌ها، اقدامات و پاداش‌های دست یافت. به همین دلیل است که در این روش، پاداش‌ها در انتهای دوره حساب می‌شود تا بتوان از دانش کسب شده برای دوره جدید استفاده نمود.
یادگیری تفاوت زمانی (Temporal Difference Learning): یادگیری تفاوت زمانی (TD) یک نوع روش پیش‌بینی است که از ایده‌های مونت کارلو و برنامه‌نویسی پویا برای حل مسائل تقویتی استفاده می‌کند. روش‌های TD مانند روش‌های مونت کارلو، مستقیماً از تجربه خام بدون نیاز به مدلی پویا از محیط، می‌آموزند و مانند برنامه‌ریزی پویا، تخمین‌ها را تا حدی بر اساس سایر تخمین‌های آموخته شده به روز می‌کنند، بدون اینکه منتظر نتیجه نهایی باشند.
الگوریتم Q-learning : در Q-learning، الگوریتم بدون سیاست عمل می‌کند یا همان‌طور که در بخش قبل گفته شد یک الگوریتم off-policy است. این الگوریتم تابع ارزش را یادمی‌گیرد؛ به این معنی که انجام عمل a در حالت s چقدر نتایج مثبت دارد. روند کار در الگوریتم Q-learning شامل مراحل زیر می‌شود
جدول Q یا Q-table ایجاد می‌شود. در این جدول، تمام حالت‌ها، تمام عمل‌های ممکن و پاداش‌های مورد انتظار آمده است. کیو-یادگیری
یک عمل انتخاب می‌شود.
پاداش محاسبه می‌شود.
جدول Q-table به روز می‌شود. الگوریتم یادگیری کیو
SARSA : الگوریتم SARSA، یک الگوریتم سیاست محور محسوب می‌شود. در این الگوریتم‌ها، عملی که در هر حالت انجام می‌شود و خود یادگیری بر اساس سیاست مشخصی است. تفاوت عمده‌ای که الگوریتم SARSA با الگوریتم Q-learning دارد این است که برای محاسبه پاداش حالت‌های بعدی، نیازی به داشتن تمام Q-table نیست. الگوریتم یادگیری سارسا
Deep Q: همان‌طور که از اسمش پیداست، همان Q-learning است که از شبکه‌های عصبی عمیق استفاده می‌کند. لزوم استفاده از شبکه‌های عصبی هنگامی است که با محیط‌های بزرگ با تعداد حالت‌های زیاد سروکار داریم؛ در چنین حالتی، به روز کردن Q-table کار آسانی نخواهد بود. به همین خاطر به جای تعریف مقادیر ارزش برای هر حالت، با استفاده از شبکه عصبی مقدار ارزش را برای هر عمل و حالت تخمین می‌زنیم.