یادگیری تقویتی (Reinforcement Learning) در کسب و کار – آموزش کاربردی


«یادگیری تقویتی» (Reinforcement Learning) یک الگوریتم پیچیده برای نگاشت موجودیتهای مشاهده و اندازهگیری شده به مجموعهای از اعمال (Actions) در حالی است که بهینهسازی برای پاداشهای بلند مدت و کوتاه مدت (که توسط محیط به عامل داده میشوند) اتفاق میافتد. یادگیری تقویتی با ظهور «آلفاگو» (AlphaGo)، سیستم هوش مصنوعی که توسط «دیپمایند» (DeepMind) ساخته شده بود تا بازی «گو» (Go) را انجام دهد، برجسته شد. از آن زمان تاکنون، شرکتهای گوناگون زمان، انرژی و پژوهشهای قابل توجهی را به این مبحث اختصاص دادهاند و همین امر موجب شده تا یادگیری تقویتی به یکی از مباحث داغ روز در حوزه یادگیری ماشین مبدل شود.
همانطور که پیشتر بیان شد، اکثر کسبوکارها در تلاش برای یافتن بررسیهای موردی در حوزه یادگیری تقویتی یا راههایی جهت ادغام آن با کسبوکار خود هستند و البته این امر با توجه به تواناییهای این مبحث مساله تعجب برانگیزی نیست. این در حالی است که تاکنون، یادگیری تقویتی تنها در حیطههای فاقد خطر و مشاهده شدهای که شبیهسازی آنها آسان محسوب میشود مورد مطالعه قرار گرفته و این یعنی صنایعی مانند مالی، بهداشت و درمان، بیمه و مشاوران فنی نسبت به در خطر انداختن پول خود برای بهرهمندی از کاربردهای این حوزه رغبتی ندارند. علاوه بر این، جنبه «فاکتورهای خطر» در یادگیری تقویتی فشار زیادی را روی سیستمها قرار میدهد.
«اندرو وو» (Andrew Ng)، همبنیانگذار و عضو هیئت مدیره «کورسِرا» (Coursera) میگوید: «یادگیری تقویتی، نوعی از یادگیری ماشین است که ولع آن برای دریافت داده حتی از یادگیری نظارت شده (supervised learning) نیز بیشتر است. تامین میزان کافی داده برای الگوریتمهای یادگیری تقویتی واقعا امری دشوار است. بنابراین، تلاشهای بیشتری برای ترجمه این زمینه در کسبوکار و عمل مورد نیاز است». با در نظر داشتن این دیدگاه نسبتا بدبینانه، مطالعه این مطلب که به شکل عمیقتری به جنبههای فنی یادگیری تقویتی پرداخته توصیه میشود.
یادگیری تقویتی یک الگوریتم پیچیده برای نگاشت موجودیتهای مشاهده و اندازهگیری شده به مجموعهای از اعمال (Actions) در حالی است که پاداشهای کوتاه مدت یا بلند مدت بهینه میشوند. عامل یادگیری تقویتی (RL agent) با محیط تعامل میکند و در تلاش است تا سیاستهایی را فرا بگیرد که منجر به دنبالهای از تصمیمات یا اعمالی شوند که به کسب پاداش میانجامد. در حقیقت، یادگیری تقویتی در برگیرنده پاداشهای فوری و تاخیری همگام با به پیش بردن تعاملهای خود با عامل است.
مدل یادگیری تقویتی شامل یک عامل است که یک عمل را به اقدامی که به ایجاد تغییر در محیط منجر میشود استنتاج کرده و اهمیت آن عمل با استفاده از یک تابع پاداش (reward function) منعکس میشود. این پاداش برای عامل بهینه شده و بازخورد آن به عامل داده میشود بنابراین میتواند بهترین اقدام بعدی که باید انجام شود را ارزیابی کند. سیستم از عمل پیشین میآموزد که با فراخوانی بهترین اقدام در شرایط مشابهی قرار میگیرد.
از نقطه نظر ریاضی، میتوان به یادگیری تقویتی به عنوان یک مدل حالت و مشخصا «فرآیندهای تصمیمگیری مارکوف» (MDP | Markov Decision Process) کاملا قابل مشاهده نگاه کرد. برای درک نظریه احتمالات نهفته در پس MDP، نیاز به دانستن «خاصیت مارکوف» (Markov property) که در ادامه بیان شده است.
آینده، مستقل از گذشته به شرط حال حاضر است.
خاصیت مارکوف در موقعیتهایی مورد استفاده قرار میگیرد که احتمال خروجیهای گوناگون به حالتهای گذشته وابسته نیست. بنابراین، تنها نیاز به حالت کنونی است. برخی از افراد از اصطلاح «فاقد حافظه» (memoryless) برای تشریح این خاصیت استفاده میکنند. در شرایطی که نیاز به حالتهای پیشین برای اطلاعرسانی نتایج است، فرآیند تصمیمگیری مارکوف پاسخگو نیست. محیطِ مدل یک ماشین حالت متناهی تصادفی با اقداماتی است که توسط عامل به عنوان ورودی آن انجام میشود و پاداشها/بازخوردها از محیط به عامل به عنوان خروجی ارسال میشوند.
تابع پاداش کلی شامل پاداشهای فوری و تاخیری است. «پاداش فوری» (immediate reward)، تاثیر کمّی عمل در محیط حالت است. «پاداش تاخیری» (delayed reward)، اثر عمل در حالات آینده محیط است. پاداش تاخیری برای استفاده از (discount factor (γ محاسبه میشود که در آن پارامتر 0< γ <1 است. یک مقدار بالاتر برای تابع تنزیل، سیستم را به سمت پاداشهای دورتر هدایت میکند، در حالی که مقادیر پایینتر سیستم را به سمت پاداشهای فوری هدایت میکنند. (X(t ارائهای از حالت محیط در زمان t است. (A(t اقدام انجام شده توسط عامل در زمان t است.
تابع تغییر حالت (State transition function): تابعی است که تغییر حالت از یک حالت به دیگری را در محیط به عنوان نتیجه اعمال انجام شده توسط عامل به دست میدهد.
عامل نیز به عنوان یک ماشین حالت متناهی تصادفی است که پاداش ارسال شده از محیط ورودی آن و عمل ارسال شده توسط آن به محیط برای گام بعدی خروجی محسوب میشود. (S(t حالت کنونی عامل در زمان t پس از دریافت بازخورد از محیط که در زمان t-1 پس از عمل (A(t اعمال شده، و نشان دهنده سیاستی محسوب میشود که با استفاده از یادگیری مدل بر اساس بهینهسازی پاداش کلی ساخته شده است.
تابع تغییر حالت: این تابع از یک حالت به حالت دیگر در عامل، به عنوان نتیجه پاداشهای داده شده توسط محیط تعریف میشود.
تابع سیاست (Policy function): تابع سیاست/خروجی عامل، برای انجام عمل برمبنای بهینهسازی تابع پاداش تعریف میشود.
هدف عامل پیدا کردن سیاست (P(pi است که پاداش کلی مورد انتظار (امید ریاضی) را در نظر گرفتن عامل تنزیل بیشینه میکند.
عامل آموزش دیده با MDP تلاش میکند تا مجموع پاداشهای موردانتظار از حالت کنونی را دریافت کند. بنابراین، تابع ارزش بهینه باید به دست آورده شود. «معادله بلمن» (Bellman Equation) برای تابع ارزش مورد استفاده قرار میگیرد، که به پاداش کنونی و ارزش تنزیل یافته ارزش حالت بعدی تجزیه شده است.
اگر نوشته بالا برای شما مفید بوده، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- آموزش یادگیری تقویتی با متلب
- مجموعه آموزشهای آمار، احتمالات و دادهکاوی
- مجموعه آموزشهای مهندسی کنترل
- مجموعه آموزشهای مهندسی برق
- مجموعه آموزشهای هوش محاسباتی
^^