یادگیری تقویتی یکی از گرایشهای یادگیری ماشینی است که از روانشناسی رفتارگرایی الهام میگیرد. این روش بر رفتارهایی تمرکز دارد که ماشین باید برای بیشینه کردن پاداشش انجام دهد. این مسئله، با توجه به گستردگیاش، درزمینههای گوناگونی بررسی میشود. مانند: نظریه بازیها، نظریه کنترل، تحقیق در عملیات، نظریه اطلاعات، سامانه چندعامله، هوش ازدحامی، آمار، الگوریتم ژنتیک، بهینهسازی بر مبنای شبیهسازی. در مبحث تحقیق در عملیات و در ادبیات کنترل، حوزهای که در آن روش یادگیری تقویتی مطالعه میشود برنامهنویسی تخمینی پویای خوانده میشود. این مسئله در تئوری کنترل بهینه نیز مطالعه شده است. البته دغدغه اصلی بیشتر مطالعات در این زمینه، اثبات وجود پاسخ بهینه و یافتن ویژگیهای آن است و به دنبال جزئیات یادگیری یا تخمین نیست. یادگیری تقویتی در اقتصاد و نظریه بازیها بیشتر به بررسی تعادلهای ایجادشده تحت عقلانیت محدود میپردازد.
در یادگیری ماشینی با توجه به اینکه بسیاری از الگوریتمهای یادگیری تقویتی از تکنیکهای برنامهنویسی پویا استفاده میکنند معمولاً مسئله تحت عنوان یک فرایند تصمیمگیری مارکف مدل میشود. تفاوت اصلی بین روشهای سنتی و الگوریتمهای یادگیری تقویتی این است که در یادگیری تقویتی نیازی به داشتن اطلاعات راجع به فرایند تصمیمگیری ندارد و اینکه این روش روی فرایندهای مارکف بسیار بزرگی کار میکند که روشهای سنتی در آنجا ناکارآمدند.
یادگیری تقویتی با یادگیری با نظارت معمول دو تفاوت عمده دارد، نخست اینکه در آن زوجهای صحیح ورودی و خروجی در کار نیست و رفتارهای ناکارآمد نیز از بیرون اصلاح نمیشوند، و دیگر آنکه تمرکز زیادی روی کارایی زنده وجود دارد که نیازمند پیدا کردن یک تعادل مناسب بین اکتشاف چیزهای جدید و بهرهبرداری از دانش اندوخته شده دارد. این سبک-سنگین کردن بین بهرهبرداری و اکتشاف در یادگیری تقویتی برای فرایندهای مارکف متناهی تقریباً بهطور کامل در مسئله راهزن چند دست بررسیشده.
آموزش تقویت چیست؟
یادگیری تقویتی بهعنوان روشی یادگیری ماشینی تعریفشده است که مربوط به چگونگی انجام اقدامات نرمافزاری در یک محیط است. تقویت یادگیری بخشی از روش یادگیری عمیق است که به شما کمک میکند تا بخشی از پاداش تجمعی را به حداکثر برسانید. این روش یادگیری شبکه عصبی به شما کمک میکند تا یاد بگیرید چگونه در بسیاری از مراحل به یک هدف پیچیده دست پیدا کنید یا یک بعد خاص را به حداکثر برسانید. در اینجا برخی از اصطلاحات مهم مورداستفاده در تقویت هوش مصنوعی وجود دارد:
نماینده: اینیک نهاد فرض شده است که برای به دست آوردن پاداش در یک محیط اقدام میکند.
محیط: سناریویی که یک نماینده باید با آن روبرو شود.
پاداش: بازپرداخت فوری که هنگام انجام کار یا کار خاصی به یک عامل داده میشود.
حالت: محیط به وضعیت فعلی که توسط محیط برگشته اشاره دارد.
سیاست: اینیک استراتژی است که توسط نماینده اعمال میشود تا تصمیم بعدی را بر اساس وضعیت فعلی تصمیم بگیرد.
مقدار: در مقایسه با پاداش کوتاهمدت انتظار میرود که بلندمدت با تخفیف ارائه شود.
تابع ارزش: مقدار یک حالت را تعیین میکند که مقدار کل پاداش است. اینیک عامل است که انتظار میرود از همان حالت شروع شود.
مدل محیط: این رفتار محیط را تقلید میکند. به شما کمک میکند تا نتیجهگیری کنید و همچنین نحوه رفتار محیط را تعیین کنید.
روشهای مبتنی بر مدل: روشی برای حل مشکلات یادگیری تقویتکننده است که از روشهای مبتنی بر مدل استفاده میکند.
مقدار عمل: مقدار عمل کاملاً شبیه به مقدار است. تنها تفاوت این دو در این است که یک پارامتر اضافی را بهعنوان یک عمل فعلی در نظر میگیرد.
یادگیری تقویتی چگونه کار میکند؟
بیایید چند مثال ساده را ببینیم که به شما کمک میکند مکانیسم یادگیری تقویت را نشان دهید.
سناریوی آموزش ترفندهای جدید به گربه خود را در نظر بگیرید ازآنجاکه گربه انگلیسی یا هر زبان انسانی دیگری را نمیفهمد، نمیتوانیم مستقیماً به او بگوییم که چهکاری باید انجام دهد. در عوض، ما یک استراتژی متفاوت را دنبال میکنیم. ما یک وضعیت را تقلید میکنیم و گربه سعی میکند به طرق مختلف پاسخ دهد. اگر پاسخ گربه روش موردنظر باشد ما به او ماهی میدهیم. اکنون هر زمان که گربه در معرض همان وضعیت قرار گیرد گربه نیز با انتظار و اشتیاق بیشتری اقدام به انتظار مشابه دریافت پاداش (غذا) میکند. این مانند یادگیری گربه است که از "چهکاری انجام میشود" از تجربیات مثبت میگیرد. گربه همچنین یاد میگیرد که وقتی باتجربههای منفی روبرو میشویم چهکاری انجام ندهیم. در این مورد گربه شما عاملی است که در معرض محیط قرار میگیرد. در این صورت خانه شما است. مثالی از حالت میتواند نشستن گربه شما باشد و شما کلمه خاصی را برای راه رفتن گربه به کار میبرید. نماینده ما با انجام یک عمل عملیاتی از یک "حالت" به "حالت" دیگر واکنش نشان میدهد. گربه شما از حالت نشسته به پیادهروی میرود. واکنش یک عامل یک عمل است و خطمشی یک روش برای انتخاب عملی است که در یک حالت انتظار میرود تا نتایج بهتری داشته باشد. پس از انتقال در عوض ممکن است پاداش یا مجازاتی دریافت کنند.
الگوریتمهای یادگیری تقویت
سه روش برای اجرای الگوریتم یادگیری تقویت وجود دارد.
مبتنی بر ارزش:
در یک روش یادگیری تقویتی مبتنی بر ارزش باید سعی کنید یک تابع ارزش V (ها) را به حداکثر برسانید. در این روش، نماینده انتظار بازگشت طولانیمدت کشورهای فعلی تحت سیاست π را دارد.
مبتنی بر سیاست:
در یک روش یادگیری تقویتی مبتنی بر سیاست سعی میکنیم چنین سیاستی را ارائه دهیم که عملکرد انجامشده در هر حالت به شما کمک کند حداکثر پاداش را در آینده کسب کند.
دو نوع روش مبتنی بر سیاست عبارتاند از:
جبرگرایانه: برای هر حالتی همان عملکرد توسط سیاست π تولید میشود.
تصادفی: هر عملی احتمال خاصی دارد که با شرایط تصادفی تعیین میشود.
مبتنی بر مدل:
در این روش یادگیری تقویتی اطلاعات شما باید برای هر محیط یک مدل مجازی ایجاد کند. عامل یاد میگیرد که در آن محیط خاص انجام دهد.
خصوصیات یادگیری تقویت
در اینجا ویژگیهای مهم یادگیری تقویت وجود دارد
· هیچ سرپرستی وجود ندارد، فقط یک سیگنال پاداش وجود دارد
· تصمیمگیری متوالی وجود دارد
· زمان نقش مهمی در مشکلات تقویت دارد
· بازخورد همیشه با تأخیر انجام میشود
· نماینده دادههای بعدی را که دریافت میکند اقدامات را تعیین مینماید.
انواع یادگیری تقویتی
دو نوع روش یادگیری تقویتکننده عبارتاند از:
مثبت:
این بهعنوان یک واقعه تعریف میشود که به دلیل رفتار خاصی رخ میدهد. قدرت و فراوانی رفتار را افزایش میدهد و بر عملکردی که توسط عامل انجام میشود تأثیر مثبت میگذارد. این نوع تقویتکننده به شما کمک میکند تا حداکثر عملکرد و حفظ تغییرات را برای مدت طولانیتری حفظ کنید. بااینحال تقویت بیشازحد ممکن است منجر به بهینهسازی بیشازحد حالت شود که میتواند نتایج را تحت تأثیر قرار دهد.
منفی:
تقویت منفی بهعنوان تقویت رفتارهایی تعریف میشود که به دلیل یک وضعیت منفی که باید متوقفشده یا از آن جلوگیری میشود، رخ میدهد. به شما کمک میکند حداقل عملکرد را تعیین کنید. بااینحال، اشکال این روش این است که بهاندازه کافی برای برآورده کردن حداقل رفتار ارائه میدهد.
یادگیری مدلهای تقویت
در یادگیری تقویت دو مدل یادگیری مهم وجود دارد:
فرایند تصمیمگیری مارکوف
از پارامترهای زیر برای به دست آوردن راهحل استفاده میشود:
مجموعه اقدامات- A
مجموعهای از حالتها -S
پاداش- R
خطمشی ارزش- V
روش ریاضی برای نقشهبرداری از یک راهحل در تقویت یادگیری، بهعنوان یک فرآیند تصمیمگیری مارکوف بازسازیشده است.
Q- یادگیری
یادگیری Q روشی مبتنی بر ارزش برای تهیه اطلاعات برای اطلاعرسانی است که یک عامل باید انجام دهد.
آموزش تقویت در مقابل یادگیری تحت نظارت
پارامترهای یادگیری تقویت یادگیری نظارتشده
یادگیری تقویت سبک تصمیمگیری به شما کمک میکند تصمیمات خود را بهصورت متوالی بگیرید. در این روش در مورد ورودی دادهشده در ابتدا تصمیمگیری میشود. درزمینه تعامل با محیط رویدادههای نمونه دادهشده کار میکند.
وابستگی به تصمیمگیری درروش یادگیری تقویتی تصمیم یادگیری بستگی دارد. بنابراین باید به تمام تصمیمات وابسته برچسب بزنیم. نظارت بر تصمیمگیری مستقل از یکدیگر بنابراین برچسبها برای هر تصمیمگیری میشود.
به بهترین وجهی پشتیبانی میکند و در هوش مصنوعی جایی که تعامل انسانی رایج است بهتر کار میکند. بیشتر با سیستم نرمافزاری تعاملی یا برنامههای کاربردی کار میکند.
برنامههای آموزش تقویت
در اینجا برنامههای آموزش تقویت وجود دارد:
رباتیک برای اتوماسیون صنعتی.
برنامهریزی استراتژی تجارت
یادگیری ماشین و پردازش دادهها
کنترل هواپیما و کنترل حرکت ربات
چرا باید از آموزش تقویت استفاده کرد؟
در اینجا دلایل اصلی استفاده از آموزش تقویت وجود دارد:
· این به شما کمک میکند تا دریابید کدام وضعیت به یک عمل نیاز دارد
· به شما کمک میکند تا دریابید که کدام عملکرد بالاترین پاداش را برای مدت طولانیتر کسب میکند.
· آموزش تقویت همچنین یک عملکرد پاداش را برای عامل یادگیری فراهم میکند.
· همچنین به آن اجازه میدهد تا بهترین روش برای به دست آوردن پاداشهای بزرگ را دریابد.
چه زمانی نباید از یادگیری تقویتی استفاده کرد؟
· وقتی داده کافی دارید تا با یک روش یادگیری نظارتشده مشکل را حل کنید
· شما باید به یاد داشته باشید که یادگیری تقویتی محاسبات بسیار سنگین و زمانبر است. بهویژه هنگامیکه فضای عمل بزرگ است.
چالشهای یادگیری تقویت
در اینجا چالشهای عمدهای که هنگام انجام کسب درآمد تقویت با آن روبرو خواهید شد:
· طراحی ویژگی / پاداش که باید بسیار درگیر باشد
· پارامترها ممکن است سرعت یادگیری را تحت تأثیر قرار دهند.
· محیطهای واقعگرایانه میتوانند قابلیت مشاهده جزئی داشته باشند.
· تقویت بیشازحد ممکن است منجر بهاضافه بار ایالات شود که میتواند نتایج را کاهش دهد.
· محیطهای واقعگرایانه میتوانند منفی باشند
یک مدل ابتدایی یادگیری تقویتی از:
· {\}یک مجموعه از حالات مختلف مسئله.}
· یک مجموعه از تصمیمات قابل اتخاذ.
· قوانینی برای گذار از حالات مختلف به یکدیگر.
· قوانینی برای میزان پاداش به ازای هر تغییر وضعیت.
· قوانینی برای توصیف آنچه ماشین میتواند مشاهده کند.
معمولاً مقدار پاداش به آخرین گذار مربوط است. در بسیاری از کارها ماشین میتواند وضعیت فعلی مسئله را نیز بهطور کامل (یا ناقص) مشاهده کند. گاهی نیز مجموعه فعالیتهای ممکن محدود است (مثلاً اینکه ماشین نتواند بیشتر از مقدار پولی که دارد خرج کند)
هدف ماشین هم طبیعتاً این است که بیشترین پاداش ممکن را کسب کند. ماشین میتواند هر تصمیماتش را بهصورت تابعی از روند تغییر بازی تا وضعیت حاضر یا حتی بهصورت تصادفی انتخاب کند.
نکته مهمی که در اینجا وجود دارد این است که یادگیری تقویتی برای مسائلی که در آنها بیشترین سود در کوتاهمدت تضمینکننده بیشترین سود در درازمدت نیست بسیار مناسب است. دلیل وجود این برتری درروش یادگیری تقویتی نیز این است که ماشین در هر مرحله لزوماً بهترین راه را انتخاب نمیکند و درنهایت هم سعی دارد مجموع پاداش. این روش به شکل موفقیتآمیزی بر روی مسائل مختلفی نظیر: کنترل رباتها، برنامهریزی آسانسورها، مخابرات، تخته نرد و غیره استفادهشده است.
دو عامل مهم هستند که باعث برتری این روش میشوند:
استفاده از نمونهها برای بهینهسازی کارایی
استفاده از تخمین توابع برای تعامل با محیطهای پیچیده
جستجوی جامع
روش جستجوی جامع از دو مرحله زیر تشکیلشده است:
مشکل اصلی این روش این است که تعداد حالات ممکن است بسیار زیاد یا حتی نامتناهی باشد؛ و دیگر اینکه ممکن است خروجیها بسیار متنوع باشند که این حالت نیازمند نمونهبرداری بسیار گستردهای برای تخمین خروجی نهایی هر رویکرد است.
نظریه
نظریه برای فرایندهای مارکف کوچک و محدود کامل است؛ و هر دو رفتار تقریبی و نمونهبرداری محدود بیشتر الگوریتمها بهخوبی فهمیده شده است. همانطور که پیشتر گفته شد، الگوریتمهایی شناختهشدهای که بهصورت اثباتشده کارایی بالایی دارند وجود دارند. اما برای فرایندهای مارکف بزرگ همچنان کار لازم است. تقریباً الگوریتمی برای اکتشاف کردن بهینه وجود ندارد. اگرچه کرانهای محدودی برای زمان اجرای برخی الگوریتمها در سالهای اخیر بهدستآمده، اما به نظر میرسد که این کرانها فعلاً ضعیف هستند و بدین ترتیب کار بیشتری لازم است تا بتوانیم برتریهای نسبی این الگوریتمها و محدودیتهایشان لازم است.
یادگیری تقویتی تقلیدی
در یادگیری تقویتی معکوس، هیچ تابع پاداشی وجود ندارد. در عوض، ماشین با مشاهده یک رفتار که معمولاً به رفتار بهینه نزدیک است سعی میکند آن را تقلید کند. اگر ماشینی که از روش یادگیری معکوس استفاده میکند از دنبال کردن رفتاری که باید مشاهده کند منحرف شود، معمولاً مدتی طول میکشد تا بتواند ثبات رفتار خود را حفظ کند. خیلی وقتها بهتر است که رفتار ایده آل چندین بار با ایرادات کوچک به ماشین نشان داده شود. در یادگیری شاگردی یک ماشین فرض میکند که موجود متخصصی که در حال انجام دادن یک رفتار است سعی میکند یک تابع پاداش را بیشینه کند، و هدف ماشین این است که بهگونهای این تابع پاداش را کشف کند.
یادگیری تفاوت زمانی
یادگیری تفاوت زمانی یک روش پیشبینی است. این روش بهصورت عمده برای حل مسائل یادگیری تقویتی مورداستفاده بود است. "روش تفاوت زمانی ترکیبی از ایدههای مونت کارلو و برنامهریزی پویا است. این روش مشابه روش مونت کارلو است چراکه یادگیری در آن با استفاده از نمونهبرداری از محیط با توجه به یک یا چند سیاست خاص انجام میشود. روش تفاوت زمانی به این دلیل به تکنیکهای برنامهریزی پویا شباهت دارد که این روش تخمین کنونی را بر اساس تخمینهای یادگیری شده (فرایندی که به خود راه اندازه معروف است) به دست میآورد. الگوریتم یادگیری تفاوت زمانی به مدل یادگیری تفاوت زمانی در حیوانات نیز مرتبط است.
بهعنوان یک روش پیشبینی، یادگیری تفاوت زمانی این واقعیت را در نظر میگیرد که پیشبینیهای آینده نیز معمولاً از جهاتی دارای همبستگی هستند. در روشهای یادگیری مبتنی بر پیشبینی نظارتی، مأمور تنها از مقادیر دقیقاً مشاهدهشده یاد میگیرد: یک پیشبینی انجام میشود و زمانی که مشاهده ممکن باشد، پیشبینی به تطابق بهتری با مشاهده خواهد رسید.
مقایسه کلی با روشهای دیگر یادگیری تقویتی
تصویری کلی از روشهای یادگیری تقویتی
تمامی روشهای یادگیری تقویتی دارای ایدهای یکسان هستند. اول، هدف تمام آنها تخمین تابع ارزش است. دوم، تمامی آنها با نگهداری مقادیر در عبور از حالتهای مختلف ممکن یا واقعی عمل میکنند. سوم، تمامی آنها یک راهبرد برای پیمایش کلی سیاست دارند، به این معنی که آنها یک تابع ارزش تقریبی و یک سیاست تقریبی را نگه میدارند و پیوسته هرکدام از آنها را بر مبنای دیگری بهبود میبخشند.
دو بعد مهم در روشهای یادگیری تقویتی در شکل روبرو مشاهده میشود. این ابعاد با نوع نگهداری که برای بهبود تابع ارزش استفادهشده است، مرتبط هستند. بعد عمودی نشاندهنده این است که نگهداری آیا در نمونههاست (بر اساس گذر از نمونهها) یا نگهداری کامل است (بر اساس توزیع گذرهای ممکن). نگهداریهای کامل نیازمند یک مدل هستند حالآنکه نگهداریهای نمونهای میتوانند بدون مدل نیز عمل کنند. بعد افقی به عمق این نگهداریها یعنی درجه خود نگهداری مرتبط است. سهگوشه از چهارگوشه اشارهشده از روشهای مهم در تخمین ارزشها هستند: برنامهریزی پویا، یادگیری تفاوت زمانی و الگوریتم مونت کارلو.
کیو-یادگیری تکنیک یادگیری تقویتی است که با یادگیری یک تابع اقدام/مقدار، سیاست مشخصی را برای انجام حرکات مختلف در وضعیتهای مختلف دنبال میکند. یکی از نقاط قوت این روش، توانایی یادگیری تابع مذکور بدون داشتن مدل معینی از محیط است. اخیراً در این روش اصلاحی بانام کیو-یادگیری تأخیری انجامشده که بهبود قابلتوجهی ایجاد نموده است. درروش اخیر یادگیری PAC با فرایندههای تصمیم مارکوف ترکیبشدهاند.
تأثیر متغیرها بر الگوریتم
نرخ یادگیری
این نرخ تعیین میکند که تا چه میزان اطلاعات بهدستآمده جدید بر اطلاعات قدیمی ترجیح داده شود. مقدار صفر باعث میشود عامل چیزی یاد نگیرد و مقدار یک باعث میشود عامل فقط اطلاعات جدید را ملاک قرار دهد.
عامل تخفیف
عامل تخفیف اهمیت پاداشهای آینده را تعیین میکند. مقدار صفر باعث میشود عامل ماهیت فرصتطلبانه گرفته و فقط پاداشهای فعلی را مدنظر قرار میدهد. درحالیکه مقدار یک عامل را ترغیب میکند برای یک دوره زمانی طولانی برای پاداش تقلا کند.