در دنیای یادگیری ماشینی، یادگیری تقویتی یکی از روشهای یادگیری عمیق است.
در یادگیری عمیق، از طریق ساختار سلسله مراتبی، شبکههای عصبی مصنوعی ساخته شده توسط انسان تقلید میشود.
یادگیری تقویتی (RL) یک پارادایم یادگیری ماشینی است که نیازی به برچسب گذاری دادههای خام ندارد؛ به همان صورتی که معمولاً در یادگیری ماشین لازم است.
یادگیری تقویتی به تعیین این که آیا یک الگوریتم پاسخ درستی ارائه میدهد یا پاداشی که نشان خواهد داد، تصمیم خوبی بوده یا خیر، کمک میکند.
این نوع یادگیری بر اساس تعاملات بین یک سیستم هوش مصنوعی و محیط آن است.
در این مقاله به بررسی یادگیری تقویتی، نحوه کارکرد، انواع، کاربردهای یادگیری تقویتی و مزایا و چالشهای یادگیری تقویتی خواهیم پرداخت.
1# یادگیری تقویتی چیست؟
یادگیری تقویتی یا RL که مخفف عبارت reinforcement learning است، یک تکنیک یادگیری ماشینی (ML) است که نرم افزار را به منظور تصمیم گیری برای دستیابی به بهینهترین نتایج آموزش میدهد.
این فرآیند، یادگیری آزمون و خطا را تقلید کرده که انسانها برای رسیدن به اهداف خود از آن استفاده میکنند.
اقدامات نرم افزاری که در جهت هدف کاربر کار میکنند، تقویت میشوند، در حالی که اقداماتی که هدف را در اولویت قرار نمیدهند، نادیده گرفته میشوند.
الگوریتمهای یادگیری تقویتی، هنگام پردازش دادهها از الگوی پاداش و تنبیه استفاده میکنند.
آنها از بازخورد هر عمل یاد گرفته و بهترین مسیرهای پردازش را برای دستیابی به نتایج نهایی کشف میکنند.
بهترین استراتژی کلی ممکن است به فداکاریهای کوتاه مدت نیاز داشته باشد، بنابراین بهترین رویکردی که آنها کشف میکنند، ممکن است شامل برخی مجازاتها یا عقب نشینی در مسیر باشد.
یادگیری تقویتی یک روش قدرتمند برای کمک به سیستمهای هوش مصنوعی برای دستیابی به نتایج بهینه در محیط های دیده نشده است.
1-1# عناصر آن
عناصر و اجزای یادگیری تقویتی عبارت اند از:
- خط مشی: رفتار عامل را در یک زمان معین تعریف میکند.
- تابع پاداش: هدف مسئله یادگیری تقویتی را با ارائه بازخورد مشخص میکند.
- تابع ارزش: پاداشهای بلند مدت را تخمین میزند.
- مدل محیط: به پیش بینی وضعیتهای آینده و پاداشهای برنامه ریزی کمک میکند.
2# نحوه کارکرد یادگیری تقویتی
فرآیند یادگیری الگوریتمها در یادگیری تقویتی مشابه یادگیری تقویتی حیوانی و انسانی در حوزه روانشناسی رفتاری است.
به عنوان مثال، کودک ممکن است متوجه شود که وقتی به خواهر یا برادرش کمک کرده یا مکانی را تمیز میکند، تحسین والدین را دریافت میکند؛ اما وقتی اسباب بازیها را پرتاب کرده یا فریاد میزند، واکنشهای منفی دریافت خواهد کرد.
به زودی، کودک میآموزد که کدام ترکیب از فعالیتها منجر به پاداش نهایی میشود.
یک الگوریتم یادگیری تقویتی یک فرآیند یادگیری مشابه را تقلید میکند.
فعالیتهای مختلفی را برای یادگیری ارزشهای منفی و مثبت مرتبط برای دستیابی به نتیجه پاداش امتحان میکند.
در یادگیری تقویتی، چند مفهوم کلیدی وجود دارد که عبارت اند از:
- محیط، فضای مشکل تطبیقی با ویژگیهایی مانند متغیرها، مقادیر مرزی، قوانین و اقدامات معتبر است.
- اقدام مرحلهای است که عامل RL برای پیمایش محیط انجام میدهد.
- پاداش ارزش مثبت، منفی یا صفر دارد.
- پاداش تجمعی مجموع تمام پاداشها یا ارزش نهایی است.
یادگیری تقویتی بر اساس فرآیند تصمیم گیری مارکوف (MDP)، مدل سازی ریاضی تصمیم گیری است که از مراحل زمانی گسسته استفاده میکند.
MDP شامل 5 عنصر اصلی است:
- مجموعهای از حالات
- مجموعهای از اقدامات
- تابع انتقال حالت
- تابع پاداش
- یک ضریب تخفیف
در هر مرحله، عامل، اقدام جدیدی انجام میدهد که به یک وضعیت محیطی جدید میانجامد.
به گونهای مشابه، وضعیت فعلی به دنباله اقدامات قبلی نسبت داده میشود.
از طریق آزمون و خطا در حرکت در محیط، عامل، مجموعهای از قوانین یا خط مشیهای if-then میسازد.
خط مشیها به آن کمک میکنند تصمیم بگیرند که کدام اقدام بعدی را برای پاداش انباشته بهینه انجام دهد.
عامل، همچنین باید بین کاوش بیشتر محیط برای یادگیری پاداشهای جدید حالت – اقدام یا انتخاب اقدامات شناخته شده با پاداش بالا از یک وضعیت خاص، یکی را انتخاب کند.
به این مبادله اکتشاف و بهره برداری میگویند.
3# انواع الگوریتم های یادگیری تقویتی
الگوریتمهای مختلفی در یادگیری تقویتی مورد استفاده قرار میگیرند، مانند:
- یادگیری Q
- روشهای گرادیان خط مشی
- روشهای مونت کارلو
- یادگیری تفاوت زمانی Deep RL
کاربرد شبکههای عصبی عمیق برای تقویت یادگیری است.
یکی از نمونههای الگوریتم یادگیری تقویتی عمیق، بهینه سازی خط مشی منطقه اعتماد (TRPO) است.
همه این الگوریتمها را میتوان به دو دسته کلی دسته بندی کرد که در ادامه به بررسی هر یک خواهیم پرداخت.
توجه: Deep RL ترکیبی از یادگیری تقویتی و یادگیری عمیق است که از شبکههای عصبی برای تخمین توابع ارزش و خط مشی استفاده میکند.
1-3# RL مبتنی بر مدل
RL مبتنی بر مدل معمولاً زمانی استفاده میشود که محیط ها به خوبی تعریف شده و بدون تغییر هستند و آزمایش محیط در دنیای واقعی دشوار است.
عامل، ابتدا یک نمایش داخلی (مدل) از محیط میسازد؛ از فرآیند زیر برای ساخت این مدل استفاده میکند:
- اقداماتی را در محیط انجام میدهد و وضعیت جدید و ارزش پاداش را یادداشت میکند.
- این انتقال عمل به حالت را با ارزش پاداش مرتبط میکند.
هنگامی که مدل کامل شد، عامل، توالی عمل را بر اساس احتمال پاداشهای تجمعی بهینه شبیه سازی میکند.
سپس مقادیر بیشتری را به خود توالی عمل اختصاص میدهد.
بنابراین، عامل برای دستیابی به هدف نهایی مطلوب، استراتژیهای مختلفی را در محیط ایجاد میکند.
به عنوان مثال، رباتی را در نظر بگیرید که یاد میگیرد در یک ساختمان جدید برای رسیدن به یک اتاق خاص حرکت کند.
در ابتدا، ربات آزادانه کاوش کرده و یک مدل داخلی از ساختمان میسازد.
برای مثال، ممکن است متوجه شود که پس از 10 متر جلو رفتن از ورودی اصلی با آسانسور رو به رو میشود.
هنگامی که نقشه را میسازد، میتواند مجموعهای از دنبالههای کوتاهترین مسیر را بین مکانهای مختلفی که اغلب در ساختمان بازدید میکند، بسازد.
2-3# RL بدون مدل
RL بدون مدل، زمانی که محیط بزرگ، پیچیده بوده و به راحتی قابل توصیف نیست، بهتر است استفاده شود.
همچنین زمانی که محیط ناشناخته و در حال تغییر بوده، ایده آل خواهد بود و آزمایش مبتنی بر محیط با جنبههای منفی قابل توجهی همراه نیست.
عامل یک مدل داخلی از محیط و پویایی آن نمیسازد؛ در عوض، از رویکرد آزمون و خطا در محیط استفاده میکند.
برای توسعه یک خط مشی، جفتهای حالت – عمل و توالی جفتهای اقدام – حالت را امتیاز میدهد و یادداشت میکند.
به عنوان مثال، یک خودروی خودران را در نظر بگیرید که باید در ترافیک شهر حرکت کند.
جادهها، الگوهای ترافیکی، رفتار عابر پیاده و عوامل بی شمار دیگر میتوانند محیط را بسیار پویا و پیچیده کنند.
تیمهای هوش مصنوعی در مراحل اولیه خودرو را در یک محیط شبیه سازی شده آموزش میدهند.
خودرو بر اساس وضعیت فعلی خود اقداماتی را انجام داده و پاداش یا جریمه دریافت میکند.
با گذشت زمان، با رانندگی میلیونها مایل در سناریوهای مجازی مختلف، وسیله نقلیه میآموزد که کدام اقدامات برای هر مکان بهترین هستند، بدون این که به صورت صریح کل دینامیک ترافیک را مدل سازی کند.
هنگامی که خودرو در دنیای واقعی معرفی میشود، از خط مشی آموخته شده استفاده کرده؛ اما همچنان با دادههای جدید آن را اصلاح میکند.
4# کاربرد یادگیری تقویتی
در این بخش، برخی از کاربردهای واقعی یادگیری تقویتی را بررسی خواهیم کرد.
1-4# کاربرد در خودروهای خودران
در خودروهای خودران، جنبههای مختلفی مانند محدودیت سرعت در مکانهای مختلف، مناطق قابل رانندگی، جلوگیری از تصادف وجود دارد.
برخی از وظایف رانندگی خودران که در آن یادگیری تقویتی میتواند اعمال شود، شامل موارد زیر است:
- بهینه سازی مسیر
- برنامه ریزی حرکت
- مسیریابی پویا
- بهینه سازی کنترل کننده
- و سیاستهای یادگیری مبتنی بر سناریو برای بزرگراهها
به عنوان مثال، با یادگیری سیاستهای پارک خودکار میتوان به پارکینگ دست یافت.
تغییر خط را میتوان با استفاده از Q-Learning به دست آورد، در حالی که سبقت را میتوان با یادگیری سیاست سبقت در حالی که از تصادف اجتناب کرد و پس از آن سرعت ثابتی را حفظ کرد، اجرا کرد.
AWS DeepRacer یک ماشین مسابقهای خودران است که برای آزمایش یادگیری تقویتی در یک مسیر فیزیکی طراحی شده است.
از دوربینها برای تجسم باند و یک مدل یادگیری تقویتی برای کنترل دریچه گاز و جهت استفاده میکند.
2-4# کاربرد در تجارت و امور مالی
مدلهای سری زمانی نظارت شده را میتوان برای پیش بینی فروش آتی و همچنین پیش بینی قیمت سهام استفاده کرد.
با این حال، این مدلها اقدامی را که باید در یک قیمت سهام خاص انجام شود، تعیین نمیکنند.
یک عامل یادگیری تقویتی میتواند در مورد چنین کاری تصمیم بگیرد؛ نگهداری، خرید یا فروش.
مدل RL با استفاده از استانداردهای معیار بازار ارزیابی میشود تا از عملکرد بهینه آن اطمینان لازم به دست آید.
این اتوماسیون بر خلاف روشهای قبلی که در آن تحلیلگران مجبور بودند، تک تک تصمیمها را بگیرند، یکپارچگی را در فرآیند به دنبال دارد.
برای مثال IBM دارای یک پلتفرم مبتنی بر یادگیری تقویتی پیچیده است که توانایی انجام معاملات مالی را دارد.
تابع پاداش را بر اساس زیان یا سود هر تراکنش مالی محاسبه میکند.
3-4# کاربرد در مراقبتهای بهداشتی
در مراقبتهای بهداشتی، بیماران میتوانند از سیاستهای آموخته شده از سیستمهای یادگیری تقویتی، درمان مورد نیاز را دریافت کنند.
یادگیری تقویتی قادر است، سیاستهای بهینه را با استفاده از تجربیات قبلی بدون نیاز به اطلاعات قبلی در مورد مدل ریاضی سیستمهای بیولوژیکی بیابد که این رویکرد را نسبت به سایر سیستمهای مبتنی بر کنترل در مراقبتهای بهداشتی کاربردیتر کند.
یادگیری تقویتی در مراقبتهای بهداشتی به عنوان رژیمهای درمانی پویا (DTRs) در بیماریهای مزمن یا مراقبتهای ویژه، تشخیص پزشکی خودکار و سایر حوزههای عمومی طبقه بندی میشود.
در DTRs ورودی مجموعهای از مشاهدات بالینی و ارزیابیهای یک بیمار است.
خروجیها، گزینههای درمانی برای هر مرحله هستند.
این موارد شبیه حالتهای یادگیری تقویتی هستند.
استفاده از RL در DTR ها سودمند است؛ زیرا قادر به تعیین تصمیمات وابسته به زمان برای بهترین درمان برای بیمار در یک زمان خاص است.
استفاده از RL در مراقبتهای بهداشتی همچنین با فاکتورگیری اثرات تأخیری درمانها، باعث بهبود نتایج بلند مدت میشود.
یادگیری تقویتی همچنین برای کشف و تولید DTRs بهینه برای بیماریهای مزمن استفاده شده است.
4-4# کاربرد در مهندسی
در مرز مهندسی، فیس بوک یک پلتفرم یادگیری تقویتی منبع باز توسعه داده است.
این پلتفرم از یادگیری تقویتی برای بهینه سازی سیستمهای تولید در مقیاس بزرگ استفاده میکند.
فیس بوک از Horizon به صورت داخلی استفاده کرده است:
- برای شخصی سازی پیشنهادات
- ارائه اعلانهای معنادارتر به کاربران
- بهینه سازی کیفیت پخش ویدئو
Horizon همچنین شامل گردش کار برای موارد زیر است:
- محیط های شبیه سازی شده
- یک پلتفرم توزیع شده برای پیش پردازش دادهها
- آموزش و صادرات مدل در تولید
یک مثال کلاسیک از یادگیری تقویتی در نمایش ویدئو، ارائه یک ویدئو با نرخ بیت کم یا بالا بر اساس وضعیت بافرهای ویدئویی و تخمینهای سایر سیستمهای یادگیری ماشینی است.
Horizon قادر به رسیدگی به نگرانیهای مشابه تولید است مانند:
- استقرار در مقیاس
- عادی سازی ویژگی
- یادگیری توزیع شده
- سرویس دهی و مدیریت مجموعه دادهها با دادههایی با ابعاد بالا و هزاران نوع ویژگی
5-4# کاربرد در بخشهای خبری
تنظیمات برگزیده کاربر میتواند اغلب تغییر کند، بنابراین بخشهای خبری به کاربران بر اساس بررسیها و پسندها میتواند به سرعت منسوخ شود.
با یادگیری تقویتی، سیستم RL میتواند رفتارهای بازگشتی خواننده را ردیابی کند.
ساخت چنین سیستمی شامل به دست آوردن ویژگیهای زیر است:
- خبری
- خواننده
- زمینه
- و اخبار خواننده
ویژگیهای اخبار شامل محتوا، عنوان و ناشر است؛ اما محدود به آن نمیشود.
ویژگیهای Reader به نحوه تعامل خواننده با محتوا اشاره دارد، مثلاً کلیکها و اشتراک گذاریها.
همچنین ویژگیهای زمینه شامل جنبههای خبری مانند زمان بندی و تازگی اخبار است.
سپس بر اساس این رفتارهای کاربر یک پاداش تعریف میشود.
6-4# کاربرد در بازی
AlphaGo Zero با استفاده از یادگیری تقویتی توانست بازی Go را از ابتدا با بازی مقابل خودش یاد بگیرد.
پس از 40 روز خودآموزی، Alpha Go Zero توانست از نسخه Alpha Go معروف به Master که شماره یک جهان را Ke Jie شکست داده بود، پیشی بگیرد و تنها از سنگهای سیاه و سفید از تخته به عنوان ویژگیهای ورودی و یک شبکه عصبی منفرد استفاده کرد.
یک جستجوی درختی ساده که به شبکه عصبی تکی تکیه میکند، برای ارزیابی حرکات موقعیتها و نمونه برداری از حرکتها، از مونت کارلو استفاده میشود.
7-4# کاربرد در بازاریابی و تبلیغات
رسیدگی به تعداد زیادی از تبلیغ کنندگان با استفاده از روش خوشه بندی انجام میشود و به هر خوشه یک عامل مناقصه استراتژیک اختصاص مییابد.
برای ایجاد تعادل بین رقابت و همکاری بین تبلیغ کنندگان، یک مناقصه چند عامله هماهنگ توزیع شده (DCMAB) پیشنهاد خواهد شد.
در بازاریابی، توانایی هدف گیری دقیق یک فرد بسیار حیاتی بوده و به این دلیل است که اهداف درست به وضوح منجر به بازده سرمایه گذاری بالایی میشود.
مطالعه صورت گرفته در این بخش بر اساس Taobao بزرگترین پلتفرم تجارت الکترونیک در چین است.
روش پیشنهادی از جدیدترین رویکردهای یادگیری تقویتی تک عاملی بهتر عمل میکند.
8-4# کاربرد در دستکاری رباتیک
استفاده از یادگیری عمیق و یادگیری تقویتی میتواند رباتهایی را آموزش دهد که توانایی گرفتن اشیای مختلف، حتی آنهایی که در طول آموزش دیده نمیشوند را داشته باشند.
به عنوان مثال، این امر میتواند در ساخت محصولات در خط مونتاژ استفاده شود.
این امر با ترکیب بهینه سازی توزیع شده در مقیاس بزرگ و نوعی از یادگیری عمیق Q به نام QT – Opt به دست میآید.
پشتیبانی از QT – Opt برای فضاهای کنش مداوم، آن را برای مشکلات روباتیک مناسب میکند.
یک مدل ابتدا به صورت آفلاین آموزش داده شده و سپس روی ربات واقعی مستقر و تنظیم میشود.
هوش مصنوعی گوگل این رویکرد را برای درک رباتیک به کار برد که در آن 7 ربات دنیای واقعی به مدت 800 ساعت ربات در یک دوره 4 ماهه دویدند.
5# مزایا و چالشهای یادگیری تقویتی
در این بخش از مقاله به بررسی مزایا و چالشهایی که برای یادگیری تقویتی وجود دارد، خواهیم پرداخت.
1-5# مزایا
استفاده از یادگیری تقویتی (RL) مزایای زیادی دارد که عبارت اند از:
- اکسل در محیط های پیچیده: الگوریتمهای یادگیری تقویتی را میتوان در محیطهای پیچیده با قوانین و وابستگیهای فراوان استفاده کرد.
در همان محیط، یک انسان ممکن است، نتواند، بهترین مسیر را تعیین کند، حتی با دانش برتر از محیط. در عوض، الگوریتمهای یادگیری تقویتی بدون مدل به سرعت با محیط های دائماً در حال تغییر سازگار شده و استراتژیهای جدیدی برای بهینه سازی نتایج پیدا میکنند. - نیاز کمتر به تعامل انسانی: در الگوریتمهای سنتی ML، انسانها باید جفتهای داده را برای هدایت الگوریتم برچسب گذاری کنند.
وقتی از الگوریتم یادگیری تقویتی استفاده میشود، این کار ضروری نیست و خود یادگیرنده خواهد بود.
در عین حال، مکانیسمهایی را برای یکپارچه سازی بازخورد انسانی ارائه داده که به سیستمهایی اجازه میدهد با ترجیحات، تخصص و اصلاحات انسانی سازگار شوند. - بهینه سازی برای اهداف بلند مدت: یادگیری تقویتی، ذاتاً در به حداکثر رساندن پاداش بلندمدت تمرکز دارد که آن را برای سناریوهایی که در آن اقدامات عواقب طولانی مدت دارند، مناسب میسازد.
به ویژه برای موقعیتهای دنیای واقعی که بازخورد بلافاصله برای هر مرحله در دسترس نیست، بسیار مناسب است؛ زیرا میتواند از پاداشهای تأخیری درس بگیرد.
به عنوان مثال، تصمیم گیری در مورد مصرف یا ذخیره انرژی ممکن است عواقب بلندمدتی داشته باشد.
یادگیری تقویتی را میتوان برای بهینه سازی بهرهوری انرژی و هزینه طولانی مدت استفاده کرد.
با معماریهای مناسب، عوامل یادگیری تقویتی همچنین میتوانند استراتژیهای آموخته شده خود را در بین وظایف مشابه؛ اما نه یکسان تعمیم دهند.
2-5# چالشها
در حالی که برنامههای یادگیری تقویتی میتوانند به صورتی بالقوه دنیا را تغییر دهند، ممکن است به کارگیری این الگوریتمها آسان نباشد.
در این بخش به بررسی چالشهایی که در یادگیری تقویتی با آن مواجه هستیم، خواهیم پرداخت که عبارت اند از:
- عملی بودن: آزمایش با سیستمهای پاداش و تنبیه در دنیای واقعی ممکن است، عملی نباشد.
به عنوان مثال، آزمایش یک پهپاد در دنیای واقعی بدون آزمایش در یک شبیه ساز، منجر به ایجاد تعداد قابل توجهی از هواپیماهای شکسته میشود.
محیط های دنیای واقعی اغلب، به شکل قابل توجهی و با هشدار محدود تغییر میکنند که این امر میتواند کارآمدی الگوریتم را در عمل دشوارتر کند. - تفسیر پذیری: مانند هر رشتهای از علم، علم داده نیز به تحقیقات و یافتههای قطعی برای ایجاد استانداردها و رویهها نگاه میکند.
دانشمندان داده ترجیح میدهند که بدانند، چگونه به یک نتیجه خاص برای اثبات پذیری و تکرار رسیده است.
با الگوریتمهای پیچیده یادگیری تقویتی، دلایلی که چرا دنباله ای از مراحل خاص برداشته شدهاند، ممکن است دشوار باشد.
کدام اقدامات در یک دنباله منجر به نتیجه نهایی بهینه شد؟
استنباط این موضوع میتواند دشوار باشد که باعث ایجاد چالشهای اجرایی خواهد شد.
نظرتون درباره این مقاله چیه؟
ما رو راهنمایی کنید تا اون رو کامل تر کنیم و نواقصش رو رفع کنیم.
توی بخش دیدگاه ها منتظر پیشنهادهای فوق العاده شما هستیم.