یادگیری تقویتی چیست و چه کاربردهایی دارد؟
به گزارش نوای پرنده پارسی، یادگیری تقویتی (Reinforcement Learning) بخشی از یادگیری ماشین است که کوشش می نماید کارهایی انجام دهد تا دستاورد موقعیت های خاص به حداکثر برسد. هدف الگوریتم های یادگیری تقویتی این است که برترین کاری که می گردد در یک موقعیت خاص انجام داد را پیدا نمایند. این نوع یادگیری ماشین می تواند یاد بگیرد حتی در محیط های پیچیده و غیر مطمئن هم فرآیند یادگیری را انجام دهد و به اهدافش دست پیدا کند. این سیستم، درست مانند مغز انسان برای انتخاب های خوب پاداش می گیرد، برای انتخاب های بد جریمه می گردد و از هر انتخاب یاد می گیرد.
ساده ترین مدل ذهنی که می تواند به درک یادگیری تقویتی یاری کند یک بازی ویدیویی است. جالب است بدانید الگوریتم های یادگیری تقویتی در بازی های ویدیویی نقش برجسته ای دارند. در یک بازی ویدیویی معمولی شما عناصر زیر را دارید؛
- یک مأمور (بازیکن) که کارهای مختلفی انجام می دهد
- کارهایی که مأمور باید انجام دهد (حرکت در فضا به بالا، خرید یک وسیله یا هرچیز دیگری)
- پاداش مأمور (سکه، از بین رفتن دشمن و…)
- محیطی که مامور در آن قرار گرفته است (یک اتاق، یک نقشه و…)
- حالت خاصی که مأمور در حال حاضر در آنجاست (قسمت خاصی از اتاق، بخش مشخصی از نقشه مثلا کنار یک میدان)
- هدفی برای مأمور که به با دست یابی به آن به بیشترین پاداش ممکن می رسد
همین عناصر دقیقا سازندگان یادگیری تقویتی هم هستند (شاید یادگیری ماشین در حقیقت یک بازی است.) در یادگیری تقویتی ما یک مأمور را در به صورت مرحله به مرحله در یک محیط راهنمایی می کنیم و اگر کارش را در هر مرحله درست انجام دهد به او پاداش می دهیم. تا به حال اصطلاح فرآیند تصمیم گیری مارکوف (Markov Decision Process) را شنیده اید؟ این همان چیزی است که می تواند به خوبی این تنظیم دقیق را توصیف کند.
برای تصویرسازی بهتر یک موش را درون یک ماز تصور کنید؛
اگر خودتان داخل این ماز پر پیچ و خم باشید و هدفتان دستاورد بیشتر، یعنی جمع آوری میزان بیشتری آب و پنیر باشد محاسبه می کنید چطور به پاداش های بیشتری دسترسی خواهید داشت. برای مثال اگر سه پاداش در سمت راست شما و یک پاداش در سمت چپتان باشد چه می کنید؟ حتما به سمت راست خواهید رفت.
این شیوه ای است که یادگیری تقویتی با آن کار می نماید. در هر حالت همه اقدامات ممکن، در این حالت رفتن به چپ، راست، بالا یا پایین را محاسبه می نماید و عملی را انجام می دهد که برترین نتیجه را داشته باشد. اگر این فرآیند چند بار تکرار گردد موش دیگر باید برترین جهت را بشناسد.
اما دقیقا چطور تصمیم می گیرید برترین نتیجه کدام است؟
فرآیند تصمیم گیری در یادگیری تقویتی
دو روش عمده برای آموزش تصمیم گیری صحیح در محیط های یادگیری تقویتی وجود دارد؛
- یادگیری سیاست یا خط مشی
- Q-Learning / تابع ارزش (Value Function)
یادگیری سیاست (Policy Learning)
یادگیری سیاست یا خط مشی باید به اسم نوعی دستورالعمل کاملا مفصل در نظر گرفته گردد. خطی مشی دقیقا به مأمور می گوید در هر شرایط باید چه کاری انجام دهد. بخشی از سیاست ممکن است چنین چیزی باشد: اگر با دشمن روبه رو شدید و دشمن از شما قوی تر بود، عقب نشینی کنید اگر به سیاست ها به اسم یک تابع نگاه کنید تنها یک ورودی دارد؛ شرایط . اما دانستن اینکه باید از چه سیاستی بهره ببرید آسان نیست و احتیاج به دانش عمیق و کافی از تابع پیچیده ای دارد که نقشه را به سمت هدف پیش می برد.
تحقیقات جالبی درباره به کارگیری یادگیری عمیق برای یادگرفتن سیاست ها در سناریوهای یادگیری تقویتی اجرا شده است. Andrej Karpathy از یک شبکه عصبی استفاده نموده است تا بازی کلاسیک pong را به یک مأمور یاد بدهد. این چندان شگفت آور نیست چرا که میدانیم شبکه های عصبی در شرایط پیچیده هم عملکرد بسیار خوبی دارند.
Q-Learning - تابع ارزش
یکی دیگر از راه های راهنمایی مأموری که در نظر گرفتیم این است که به جای اینکه به او بگوییم در هر مرحله دقیقا چه کاری انجام دهد به او یک چارچوب کاری بدهیم تا تصمیماتش را خودش بگیرد. برخلاف روش یادگیری سیاست، Q-Learning دو ورودی دارد؛ شرایط و عمل(action). اگر در یک تقاطع قرار بگیرید Q-Learning ارزش انتظاری هر یک از کارهایی که مأمور شما می تواند انجام دهد به شما می گوید (به چپ برود، به راست برود و یا هرچیز دیگری).
یکی از چیزهایی که باید درباره Q-Learning بدانید این است که این روش تنها ارزش فوری انجام یک عمل در یک شرایط داده شده را تخمین نمی زند، بلکه ارزش های بالقوه ای که ممکن است بر اثر انجام کارهای فعلی ایجاد گردد را هم در نظر می گیرد.
برای کسانی که با امور اقتصادی شرکت ها آشنا هستند Q-Learning شبیه تحلیل تخفیف جریان نقدی (Discounted Cash Flow) است یعنی تمام ارزش بالقوه آینده را در هنگام معین ارزش فعلی یک عمل (دارایی) در نظر می گیرد. در حقیقت Q-Learning هم از یک فاکتور تخفیف یاری می گیرد تا نشان دهد پاداش ها در آینده ارزش کمتری از زمان حال دارند.
یادگیری خط مشی و Q-Learning دو روش اصلی برای راهنمایی مأمور در یادگیری تقویتی هستند اما در حال حاضر تعدادی رویکرد نو هم به یاری یادگیری عمیق به وجود آمده است که می تواند با این دو رویکرد ترکیب گردد یا راهکار خلاقانه دیگری به وجود بیاورد.
DeepMind مقاله ای درباره استفاده از شبکه های عصبی (که آن ها را Deep Q-networks نامگذاری نموده است) برای تقریب توابع Q-Learning منتشر کرد و به نتایج قابل توجهی هم رسید. چند سال بعد، یک روش پیشگام که به نام A3C شناخته می گردد دو دیدگاه یادگیری سیاست و Q-Learning را باهم ترکیب کرد.
اضافه کردن شبکه های عصبی به هر چیزی می تواند آن را پیچیده کند. به خاطر داشته باشید همه این روینمودهای یادگیری یک هدف ساده دارند؛ راهنمایی مؤثر مأمور شما در محیط و دستیابی به برترین پاداش، فقط همین.
کاربردهای یادگیری تقویتی
گرچه در طول دهه های گذشته مفاهیم از یادگیری تقویتی حمایت و پشتیبانی نموده اند اما متأسفانه تا به امروز کمتر از آن به صورت عملی استفاده شده است. چند علت برای این مسأله وجود دارد اما همه آن تابع یک چیز هستند؛
یادگیری تقویتی کوشش می نماید تا الگوریتم های دیگر را برای انجام وظایف خوش-تعریف به طور مؤثری تغییر دهد.
به همین علت هنگامی که محیط یادگیری ماشین نامشخص و پیچیده است برترین کار استفاده از یادگیری تقویتی است.
بیشترین کاربرد عملی یادگیری تقویتی در دهه های گذشته بازی های ویدیویی بوده است. الگوریتم های یادگیری تقویتی که با نام Cutting Edge شناخته می شوند نتایج مؤثری در بازی های مدرن و کلاسیک به دست آورده اند که توانسته است رقبای انسانی را به شکل قابل توجهی کنار بزند. بازی های ویدیویی مجموعه های پیچیده بسیار جذابی برای الگوریتم های یادگیری تقویتی هستند.
این نمودار در یکی از مقالات DeepMind منتشر شده است. برای بیش از نیمی از بازیهایی که امتحان شده اند بازیکن توانسته است معیارهای انسانی را اجرا کند و حتی سطح مهارتی دوبرابر بالاتر نشان داده است. البته برای برخی از بازی ها هم الگوریتم ها حتی به عملکرد انسانی نزدیک هم نبوده اند.
حوزه دیگری که یادگیری تقویتی موفقیت های عملی در آن به دست آورده اتوماسیون صنعتی و رباتیک است. ربات ها به سادگی می توانند مانند مأمور یا بازیکن در محیط در نظر گرفته شوند و یادگیری تقویتی نشان داده است یک راهکار عملی برای آموزش است.
گوگل به یاری یادگیری تقویتی توانسته است در کاهش هزینه های مراکز داده خود پیشرفت کند. آن ها از یادگیری تقویتی برای کاهش انرژی استفاده شده برای خنک نماینده ها و در نتیجه کل انرژی مصرفی استفاده نموده اند.
بهداشت و آموزش هم زمینه های دیگری هستند که یادگیری تقویتی در آن ها استفاده شده است. البته بیشتر کارهایی که تا این لحظه در این زمینه ها اجرا شده است تحقیقات دانشگاهی بوده اند. این روش یادگیری ماشین می تواند به انتخاب برترین درمان و برترین دارو برای بیماران یاری کند و مربی جذابی هم باشد. یادگیری ماشینی پیشرفت های جالبی در سال های گذشته داشته است.
چالش های کار با یادگیری تقویتی
هرچند یادگیری تقویتی پیشرفت های بسیار امیدوارنماینده ای داشته است اما کار با آن همچنان بسیار سخت است.
مسأله اول داده ها است. یادگیری تقویتی برای رسیدن به دقت کافی احتیاجمند حجم زیادی داده برای آموزش است در حالی که سایر الگوریتم ها سریع تر به این سطح از دقت می رسند. برای مثال RainbowDQN به 18 میلیون فریم از بازی های آتاری یا 83 ساعت بازی برای آموزش احتیاج دارد. انسان خیلی سریع تر می تواند این کار را انجام دهد.
چالش دیگری که در کار با یادگیری تقویتی وجود دارد مشکل دامنه اختصاصی است. یادگیری تقویتی یک الگوریتم عمومی است که از دیدگاه نظری باید بتواند برای تمام مسائل راهکار پیدا کند. اما همه این مسائل راهکار های خاصی دارند که بهتر از یادگیری تقویتی کار می نمایند مثلا بهینه سازی آنلاین جهت برای ربات های MuJuCo.
در آخر مهم ترین مسأله ای که درباره یادگیری تقویتی وجود دارد طراحی تابع پاداش است. اگر طراحان الگوریتم کسانی هستند که پاداش ها را معین می نمایند بنابراین نتایج مدل به شدت تحت تأثیر طراحان خواهد بود.
حتی زمانی که تابع پاداش به خوبی تنظیم شده باشد، باز هم یادگیری تقویتی این راه هوشمندانه را دارد که روش هایی شبیه به آنچه شما می خواهید را بیابد و به آن عمل کن که در عمل این موضوع یک مسأله جدی است. زیرا نتیجه این است که در حالت های بهینه موضعی گیر می افتیم و به روش ها و نتایج نوی که باید سیستم بتواند پس از یادگیری برسد، نخواهیم رسید.
انتظار می رود تحقیقات در حال اجرا بتوانند در طول زمان موانعی که سر راه یادگیری تقویتی وجود دارد را بردارند و امکان استفاده بهتر و بیشتر از این فناوری را فراهم نمایند.
منبع: دیجیکالا مگ