الگوریتمهای یادگیری ماشین به دستههای نظارت شده، نظارت نشده و تقویتی تقسیم شده اند. در هوش مصنوعی (artificial intelligence)، «عامل هوشمند» (IA | Intelligent Agent) موجودیت خودکاری است که از طریق حسگرهای خود محیط را میبیند و با استفاده از محرکها ، اقداماتی را در محیط انجام میدهد و فعالیتهای خود را در مسیر کسب اهداف بلندمدت سیستم هدایت میکند. عاملهای هوشمند ممکن است از یادگیری یا دانش برای کسب اهداف خود بهره بگیرند. این عاملها ممکن است بسیار ساده یا بسیار پیچیده باشند.
یادگیری تقویتی (Reinforcement Learning) گونهای از روشهای یادگیری ماشین است که یک عامل یا Agent را قادر به یادگیری در محیطی تعاملی با استفاده از آزمون و خطاها و استفاده از بازخوردهای اعمال و تجربیات خود میسازد. در یادگیری تقویتی،عامل در یک حالت خاص با انجام یک اکت، در مقابل پاداش یا (Reward) دریافت میکند. در این نوع یادگیری ماشین،هدف نهایی عامل حداکثر کردن پاداش در درازمدت است.اگرچه هم یادگیری نظارت شده (Supervised Learning) و هم یادگیری تقویتی (Reinforcement Learning) از نگاشت بین ورودی و خروجی استفاده میکنند، اما در یادگیری رینفرسمنت بر خلاف یادگیری نظارت شده از پاداشها و تنبیهها به عنوان سیگنالهایی برای بهبود عملکرد نهایی سیستم استفاده می شود.بدین معنی که با انجام یک عمل تصادفی و گرفتن بازخورد از محیط سیستم می آموزد که چه رفتاری در راستای سود نهایی است و چه رفتاری در خلاف آن.
وظایف اپیزودیک
در این نوع از وظایف، یک نقطه آغازین و یک نقطه پایانی (حالت ترمینال) وجود دارد. این منجر به ایجاد یک اپیزود یعنی لیست حالتها، اعمال، پاداشها و حالتهای جدید میشود.
وظایف مستمر (غیر اپیزودیک)
چنین وظایفی برای همیشه ادامه پیدا میکنند (فاقد حالت ترمینال). در این شرایط، عامل باید بیاموزد که چگونه بهترین عمل را انتخاب کرده و به طور همزمان با محیط نیز تعامل کند. وظیفه عاملی که به طور خودکار به تجارت سهام میپردازد، نمونهای از وظایف مستمر است. برای این وظیفه، هیچ نقطه آغاز و حالت ترمینالی (نقطه پایان) وجود ندارد. عامل همواره به اجرا شدن ادامه میدهد تا کارشناس (کاربر انسانی) تصمیم به متوقف کردن آن بگیرد.
روش یادگیری مونت کارلو و روش یادگیری TD
دو راه برای یادگیری وجود دارد که در ادامه شرح داده شدهاند.
روش مونت کارلو
هنگامی که اپیزود به پایان میرسد (عامل به «حالت ترمینال» میرسد)، عامل به پاداش تجعمی کل نگاه میکند تا از نحوه عملکرد خود آگاه شود. در روش مونت کارلو، پاداشها تنها در پایان بازی دریافت میشوند. بنابراین، بازی جدید با یک دانش افزوده آغاز میشود. عامل در هر تکرار تصمیمات بهتری اتخاذ میکند
یادگیری تفاوت زمانی: یادگیری در هر گام زمانی
از سوی دیگر، در یادگیری TD، عامل منتظر پایان اپیزود برای به روز رسانی تخمین بیشینه پاداش آینده نمیماند. بلکه، تخمین مقدار V برای حالتهای غیر ترمینال St به ایجاد شده در هنگام وقوع تجربه، به روز رسانی میشود. این روش (0)TD یا TD یک گامی نام دارد (تابع ارزش پس از هر گام منفرد به روز رسانی میشود).
هرچند هدف عامل RL بیشینهسازی پاداش نهایی است. با این حال میتوان در یک تله متداول افتاد و آن جستجوی تنها نزدیکترین منابع پاداش است،اگر عامل مقدار کمی جستوجو کند، میتواند پاداش بزرگی پیدا کند. این همان چیزی است که از آن با عنوان «توازن جستوجو و استخراج» نام برده شده است. ناظر بیرونی باید قوانینی را تعیین کند تا به برقراری توازن و مدیریت آن کمک کند.این رویکرد مفاهیم زیر را ایجاد میکند:
جستوجو، یافتن اطلاعات بیشتر درباره محیط است.
استخراج، بهرهبرداری از اطلاعات شناخته شده برای بیشینهسازی پاداش است.
سه رویکرد به یادگیری تقویتی:
رویکرد ارزش محور
در رویکرد ارزش محور، هدف بهینهسازی تابع ارزش است. تابع ارزش، تابعی است که پاداش بیشینه آینده را مشخص میکند که عامل در هر حالت دریافت میکند. ارزش هر حالت برابر است با ارزش کل پاداشی که عامل میتواند انتظار داشته باشد در آینده با آغاز از آن حالت جمعآوری کند.
عامل از این تابع ارزش برای انتخاب آنکه کدام حالت در هر گام انتخاب شود، استفاده میکند. عامل حالتی با بیشترین ارزش را انتخاب میکند.
رویکرد سیاست محور
در یادگیری تقویتی سیاستمحور، قصد بهینهسازی تابع سیاست بدون استفاده از تابع ارزش است. سیاست چیزی است که رفتار عامل را در یک زمان داده شده، تعیین میکند. عامل یک تابع سیاست را میآموزد. این امر به او کمک میکند تا هر حالت را به بهترین عمل ممکن نگاشت کند.
دو دسته از سیاستها وجود دارند.
رویکرد مدل محور
در یادگیری تقویتی مدل محور، محیط مدل میشود. این یعنی مدلی از رفتار محیط ساخته میشود. مساله مهم در این رویکرد نیاز به مدل متفاوت برای ارائه هر محیط است.
تفاوت اصلی میان یادگیری تقویتی (Reinforcement Learning) با روش های دیگر یادگیری ماشین، در این است که در یادگیری تقویتی، هیچ گاه به عامل (Agent) گفته نمیشود که کار درست در هر وضعیت کدام است و فقط به وسیلهی معیاری، به عامل فهمانده می شود که یک عمل (Action) به چه میزان خوب و یا به چه میزان بد می باشد. این وظیفه عامل یادگیرنده (Learner) می باشد که با در دست داشتن این اطلاعات، یاد بگیرد که بهترین عمل در هر وضعیت کدام است. این موضوع، بخشی از نقاط قوت خاص یادگیری تقویتی است.
از این طریق، مسائل پیچیدهی تصمیمگیری در اغلب اوقات میتوانند با فراهم کردن کمترین میزان اطلاعات مورد نیاز برای حل مسأله، حل شوند. در بسیاری از حیوانات و همینطور انسان به عنوان گونه تکامل یافته تر، یادگیری تقویتی، تنها شیوهی یادگیری مورد استفاده است.لذت و درد مثالهای خوبی از پاداشها و تنبیه ها هستند که الگوهای رفتاری موجودات تکامل یافته را تشکیل میدهند. در یادگیری تقویتی، هدف اصلی از یادگیری، انجام دادن کاری و یا رسیدن به هدفی است، بدون آنکه عامل یادگیرنده، با اطلاعات مستقیم بیرونی تغذیه شود.
اجزای یادگیری تقویتی (Reinforcement Learning)
۱- سیاست (Policy)
Policy نحوه برخورد با هر عمل و نحوه تصمیم گیری در هر یک از شرایط مختلف را تعیین می نماید. در واقع Policy تعیین کننده شیوه رفتار Agent را در زمان داده بوده و عامل هوشمند را به حالت های بهتر رهنمون می سازد.
۲- تابع پاداش (Reward)
هدف را در تابع یادگیرنده تعیین می کند. این تابع هدفش این است که به ازای هر عمل عامل یک پاداش بدهد پس به هدف که نزدیک می شود پاداش بیشتر می شود. تابع پاداش مهم است اگر بد تعریف شود عامل دیر یاد می گیرد. Reward کوتاه مدت و value بلند مدت است یعنی ممکن است یک خانه پاداش نداشته باشد ولی ما را به هدف نزدیک تر کند پس value بالاتری دارد.
۳- تابع ارزش (Value Function)
نگاه بلند مدت دارد. برای هر حالت یک مقدار تعیین می کند که هر چه بیشتر باشد یعنی به هدف نزدیک تر شده ایم. مانند اینکه در یک بازی اجازه دهید حریف مهره شما را بزند در این حالت پاداش نمی گیرید ولی به حالت دیگری می روید که بهتر است این یعنی نگاه بلند مدت.
۴- مدل (Model)
مسئله یادگیری تقویتی، احتمالاتی (stochastic) است و State ها یا حالات آن non-deterministic می باشد. یعنی به ازای یک عمل می تواند به همه حالات برود ولی با یک احتمال. هر عمل یا action یک احتمال است و رفتن از یک حالت به حالت دیگر هم احتمال است. هدف یادگیرنده ماکزیمم کردن پاداش بلند مدت می باشد. در یک مسئله یادگیری تقویتی با عاملی روبرو هستیم که از طریق سعی و خطا با محیط تعامل کرده و یاد میگیرد تا عملی بهینه را برای رسیدن به هدف انتخاب نماید. یادگیری تقویتی از این رو مورد توجه است که راهی برای آموزش عامل ها برای انجام یک عمل از طریق پاداش و تنبیه است بدون اینکه لازم باشد نحوه انجام عمل را برای عامل مشخص نماید.
یادگیری تقویتی از دو جنبه با یادگیری با ناظر تفاوت دارد.
مثال های یادگیری بصورت زوج (ورودی/ خروجی) مطرح نمی شوند. بلکه بعد از اینکه عامل عملی را انجام داد پاداشی را دریافت می کند و به مرحله بعدی می رود. عامل هیچ گونه اطلاعی در مورد اینکه در هر حالت بهترین عمل چیست ندارد. بلکه این وظیفه عامل است که در طول زمان تجربه کافی در مورد حالت ها، عمل های ممکن، انتقال و پاداش جمع آوری نموده و عملکرد بهینه را یاد بگیرد. در یادگیری با نظارت، یادگیری از نمونه هایی انجام می شود که توسط یک ناظر خارجی آگاه فراهم شده است. در مسائل تعاملی معمولاً بدست آوردن مثال هایی از رفتار مورد انتظار عامل که هم صحیح باشد و هم نشان دهنده همه موقعیت هایی باشد که عامل یا همان ایجنت باید در آن عمل کند، عملی نیست.
کاربردهای یادگیری تقویتی
در حال حاضر یادگیری تقویتی یکی از جالبترین مباحث در حوزه هوش مصنوعی به حساب میآید، اما میتوان گفت که هنوز استفاده آن در کاربردهای تجاری محدود مانده است و بیشتر مقالههایی که در این باره منتشر میشوند، جنبه تئوری دارند و تنها چند نمونه کاربردی عملی گزارش شده است.
برخی از کاربردهای عملی یادگیری تقویتی در ادامه آمده است. هرچند لازم است بدانیم کاربردهای یادگیری تقویتی به این موارد محدود نمیشود:
بازی یکی از متداولترین کاربردهای یادگیری تقویتی است؛ چرا که میتواند عملکردی فرا انسانی در بازیهای زیادی از خودش نشان دهد. یکی مثال معروف از این بازیهای، بازی پکمن (Pac-Man) است. الگوریتم یادگیرنده بازی پکمن میتواند به چهار جهت حرکت کند؛ به غیر از مواردی که یک یا چند جهت توسط موانع مسدود شده باشد. براساس دادههای پیکسلی بازی، عامل میتواند برای هر یک واحد حرکت در مسیر این پاداشها را دریافت کند: ۰ برای فضای خالی، ۱ برای گویها، ۲ برای میوه، ۳ برای گویهای قدرتی، ۴ برای روحشدن، ۵ برای جمع کردن تمام گویها و به پایان رساندن مرحله، و یک ۵ امتیازی دیگری برای برخورد با یک روح از او کم میشود. عامل با بازی کردن به صورت تصادفی شروع میکند و بعد کمکم یاد میگیرد طوری بازی کند که به هدف نهایی، یعنی جمع کردن تمام گویها و به پایان رساندن مرحله نزدیک شود. بعد از مدتی، عامل حتی ممکن است تاکتیتکهایی مانند نگه داشتن گویهای قدرتی برای زمان مبادا و استفاده از آن برای دفاع از خود را یاد بگیرد.
یادگیری تقویتی را میتوان در هر موقعیتی که امکان تعریف یک پاداش مشخص وجود دارد، به کار برد. مثلا در مدیریت منابع سازمانی، الگوریتمهای یادگیری تقویتی میتوانند با این هدف به کار گرفته شوند که با استفاده از منابع محدود سعی کنند کارهای مختلف را به انجام برسانند؛ البته با در نظر گرفتن اینکه باید به هدف نهاییشان هم برسند. هدف نهایی در این شرایط صرفهجویی در زمان و مصرف منابع است.
در رباتیک هم یادگیری تقویتی توانسته در آزمونهای محدودی سربلند بیرون بیاید. این نوع از یادگیری ماشین میتوانند به رباتها کارهایی را یاد بدهد که یک انسان نمیتواند به راحتی آنها را نمایش و آموزش دهد. رباتها با این روش یاد میگیرند که بدون در اختیار داشتن فرمولاسیون خاصی، عملیات و کارهای جدید را یاد بگیرند.
از یادگیری تقویتی همچنین میتوان در حوزههایی مانند تحقیق در عملیات، تئوری اطلاعات، تئوری بازی، تئوری کنترل، بهینهسازی براساس شبیه سازی، سیستمهای چند عاملی، آمار و الگوریتمهای ژنتیک، بهره برد.
در بازارهای مالی هم، از یادگیری تقویتی برای اجرای استراتژیهای معاملاتی استفاده میشود.شاید مهمترین جذابیت این رویکرد در همین کاربرد باشد.پیشبینی بازارهای مالی و جایگزینی تصمیم گیری از انسان به ماشین،آن هم ماشینی که توانایی آموختن و کسب تجربه از اعمال خود است از بزرگترین دستاوردهای این تکنولوژی است.
معروفترین الگوریتمهای یادگیری تقویتی:
الگوریتم Q-learning
در Q-learning، الگوریتم بدون سیاست عمل میکند و به اصطلاح یک الگوریتم یادگیری تقویتی off-policy نامیده میشود. این الگوریتم تابع ارزش را یاد میگیرد؛ به این معنی که انجام عمل a در حالت s چقدر نتایج مثبت دارد. روند کار در الگوریتم Q-learning شامل مراحل زیر میشود:
۱- جدول Q یا Q-table ایجاد میشود. در این جدول، تمام حالتها، تمام عملهای ممکن و پاداشهای مورد انتظار آمده است.
۲- یک عمل انتخاب میشود.
۳- عمل انتخاب شده، انجام میشود.
۴- پاداش محاسبه میشود.
۵- جدول Q-table به روز میشود.
هدف نهایی از این الگوریتم بیشینه کردن مقدار Q است.
الگوریتم SARSA (State-Action-Reward-State-Action)
الگوریتم SARSA، یک الگوریتم سیاست محور محسوب میشود. در این الگوریتمها، عملی که در هر حالت انجام میشود و خود یادگیری بر اساس سیاست مشخصی است. تفاوت عمدهای که الگوریتم SARSA با الگوریتم Q-learning دارد این است که برای محاسبه پاداش حالتهای بعدی، نیازی به داشتن تمام Q-table نیست.
الگوریتم Deep Q Neural Network
همانطور که از اسمش پیداست، همان Q-learning است که از شبکههای عصبی عمیق استفاده میکند. لزوم استفاده از شبکههای عصبی هنگامی است که با محیطهای بزرگ با تعداد حالتهای زیاد سروکار داریم؛ در چنین حالتی، به روز کردن Q-table کار آسانی نخواهد بود. به همین خاطر به جای تعریف مقادیر ارزش برای هر حالت، با استفاده از شبکه عصبی مقدار ارزش را برای هر عمل و حالت تخمین میزنیم.
چالشهای استفاده از یادگیری تقویتی
با وجود پتانسیلهای یادگیری تقویتی، پیادهسازی آن میتواند دشوار باشد و به همین علت کاربردهای آن هنوز محدود مانده است. یکی از موانع پیادهسازی این نوع یادگیری ماشین، لزوم و تکیه این روش برای جستجو و کشف در محیط مورد نظر است.
به عنوان مثال، اگر بخواهیم رباتی را آموزش دهیم که در یک محیط فیزیکی حرکت کند، هر چه جلو میرود، با حالتهای جدیدی مواجه میشود که در برابر آنها باید عملهای مختلفی را باید انجام دهد. در دنیای واقعی، کار آسانی نیست که به طور پیوسته، بهترین عملها انتخاب و انجام شوند؛ چرا که محیط پیوسته در حال تغییر است.
یکی دیگر از مشکلاتی که سر راه یادگیری تقویتی وجود دارد، مدت زمان و منابع محاسباتیای است که لازم است تا اطمینان حاصل کنیم یادگیری به درستی انجام شده است. از طرفی، هرچه محیط آموزرشی بزرگتر باشد به زمان و منابع بیشتری برای فرآیند آموزش الگوریتم نیاز است.
از جدیدترین اخبار و اطلاعیه ها با خبر باشید