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

نیلوفر ماشینینیلوفر ماشینی
18 تیر 1405
11 دقیقه مطالعه
یادگیری تقویتی چیست؟

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

یادگیری تقویتی به زبان ساده

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

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

تفاوت با یادگیری نظارت‌شده و بدون نظارت

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

یادگیری بدون نظارت

 (Unsupervised Learning)

یادگیری تحت نظارت

 (Supervised Learning)

جنبه مقایسه

الگوریتم با داده‌های بدون برچسب کار می‌کند و به ‌دنبال کشف الگوها و ساختارهای پنهان در داده‌هاست.

الگوریتم از داده‌های برچسب‌گذاری‌شده یاد می‌گیرد؛ هر ورودی با یک خروجی یا برچسب مشخص همراه است.

پارادایم یادگیری

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

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

بازخورد و آموزش

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

یادگیری تابعی برای پیش‌بینی دقیق خروجی داده‌های جدید و نادیده است.

هدف

از داده‌های بدون برچسب استفاده می‌کند که معمولا فراوان‌تر و در دسترس‌تر هستند.

نیازمند داده‌های برچسب‌گذاری‌شده بوده که تهیه آن‌ها معمولا زمان‌بر و پرهزینه است.

در دسترس‌بودن داده‌ها

reinforcement-learning-components.webp

اصول پایه: عامل، محیط و پاداش

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

  • عامل: تصمیم‌گیرنده‌ای که اقداماتی را انجام می‌دهد.

  • محیط: جهان یا سیستمی که عامل در آن فعالیت می‌کند.

  • وضعیت: موقعیت یا شرایطی که عامل در حال حاضر در آن قرار دارد.

  • عمل: حرکات یا تصمیمات احتمالی که عامل می‌تواند بگیرد.

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

reinforcement-learning-applications.webp

کاربردهای یادگیری تقویتی

یادگیری تقویتی (RL) می‌تواند در طیف وسیعی از موارد استفاده در دنیای واقعی اعمال شود. اما در ادامه فقط چند مثال ارائه می‌دهیم تا درک بهتری از کاربردهای آن داشته باشید.

شخصی‌سازی بازاریابی:

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

چالش‌های بهینه‌سازی:

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

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

پیش‌بینی‌های مالی:

پویایی بازارهای مالی پیچیده است و ویژگی‌های آماری آن با گذشت زمان تغییر می‌کنند. الگوریتم‌های یادگیری تقویتی (RL) می‌توانند با در نظر گرفتن هزینه‌های تراکنش و سازگاری با تغییرات بازار، بازده بلندمدت را بهینه کنند.

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

reinforcement-learning-algorithms.webp

مفاهیم کلیدی در یادگیری تقویتی

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

پاداش و تنبیه (Reward & Punishment)

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

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

سیاست (Policy) و تابع ارزش (Value Function)

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

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

Q-Learning و روش‌های محبوب

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

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

  • شبکه‌های Q عمیق (DQN): Deep Q-networks یا یادگیری q عمیق، مشابه "Q-Learning" عمل می‌کنند. تفاوت اصلی این است که الگوریتم در این مورد مبتنی بر شبکه‌های عصبی است.

  • SARSA:

    این مورد در یادگیری تقویتی چیست؟ مخفف "state-action-reward-state-action" است و یک الگوریتم یادگیری تقویتی مبتنی بر سیاست معنا می‌شود. به این معنی که از اقدام و سیاست فعلی برای یادگیری مقدار استفاده می‌کند.

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

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

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

  • حل مسئله هدف‌گرا: یادگیری تقویتی بر به حداکثر رساندن پاداش‌های بلند مدت بدون تقسیم مسائل به زیر وظایف، تمرکز دارد.

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

  • سازگاری در محیط‌های پویا: الگوریتم‌های یادگیری تقویتی به‌طور طبیعی با تغییرات محیط در طول زمان سازگار می‌شوند.

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

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

شروع یادگیری تقویتی برای مبتدیان

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

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

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

  3. ایجاد عامل: شامل انتخاب نمایش سیاست (مثلا شبکه عصبی یا جداول جستجو) و انتخاب و تنظیم الگوریتم آموزش یادگیری تقویتی است.

  4. آموزش و اعتبارسنجی عامل: گزینه‌های آموزش (مانند معیارهای توقف) را تنظیم کنید و عامل را برای تنظیم سیاست آموزش دهید.

  5. استقرار سیاست: نمایش سیاست آموزش دیده را با استفاده از مواردی مانند کد تولید شده "C++/C" یا "CUDA" مستقر کنید. در این مرحله، سیاست یک سیستم تصمیم‌گیری مستقل است.

تفاوت یادگیری تقویتی با سایر شاخه‌های یادگیری ماشین

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

سوالات متداول

یادگیری تقویتی چه تفاوتی با یادگیری نظارت‌شده دارد؟
در یادگیری نظارت‌شده داده‌ها برچسب‌دار هستند، اما در یادگیری تقویتی عامل با آزمون‌وخطا و دریافت پاداش تصمیم‌گیری را یاد می‌گیرد.
کاربرد یادگیری تقویتی در زندگی واقعی چیست؟
در رباتیک، سیستم‌های توصیه‌گر، بازی‌ها، مدیریت ترافیک، معاملات مالی و بهینه‌سازی فرآیندها کاربرد دارد.
آیا یادگیری تقویتی برای مبتدیان مناسب است؟
برای مبتدیان مطلق چالش‌برانگیز است، اما با آشنایی اولیه با پایتون و یادگیری ماشین قابل شروع است.
چه کتابخانه‌ها و ابزارهایی برای یادگیری تقویتی وجود دارد؟
OpenAI Gym، Stable Baselines، TensorFlow، PyTorch و Ray RLlib از ابزارهای رایج هستند.
یادگیری تقویتی در بازی‌ها چگونه استفاده می‌شود؟
عامل با بازی‌کردن مداوم و دریافت پاداش، استراتژی بهینه برای برد یا امتیاز بیشتر را یاد می‌گیرد.
پروژه ساده‌ای برای شروع یادگیری تقویتی چیست؟
پیاده‌سازی عامل برای حل مسئله Cart Pole یا یک بازی ساده Grid World گزینه‌ای مناسب برای شروع است.

نظرات

برای ثبت نظر، لطفا وارد حساب کاربری خود شوید.
ورود یا عضویت
هنوز هیچ نظری ثبت نشده!

اولین نفری باش که برای این مقاله نظر میدی.