در دنیای پرشتاب امروز، یادگیری ماشین دیگر تنها یک حوزه تخصصی برای دانشمندان و متخصصان نیست. این پدیدهی نوظهور، زندگی ما را از هر زاویهای تحت تأثیر قرار دادهاست. از هوش مصنوعی پشتیبانی کنندهی تشخیص تصویر در گوشیهای هوشمند گرفته تا الگوریتمهای پیشرفتهی توصیه محتوا در پلتفرمهای رسانه اجتماعی، یادگیری ماشین نقش کلیدی در شکل دادن به تجربیات روزمره ما ایفا می کند.
اما چگونه میتوانیم از این نیروی قدرتمند بهرهمند شویم؟ پاسخ در درک عمیقتر مفاهیم و فرآیندهای زیربنایی یادگیری ماشین نهفتهاست. هرچه شناخت ما از این حوزه پیچیده بیشتر شود، توانایی ما در کاربرد آن در زمینههای مختلف افزایش مییابد.
در مقالات قبلی هامیا ژورنال، در رابطه با انواع مدلهای یادگیری ماشین در ابتدا مقدمهای منتشر شد سپس به بررسی جامع سه مدل اصلی یادگیری ماشین پرداختیم: یادگیری تحت نظارت ، یادگیری بدون نظارت و یادگیری نیمه نظارتی که تلفیقی از دو روش یادگیری باناظر و بدون ناظر است. اکنون زمان آن رسیدهاست تا به یکی دیگر از مدلهای کلیدی در این حوزه بپردازیم یعنی یادگیری تقویتی (Reinforcement Learning).
یادگیری تقویتی، رویکردی منحصربفرد در حل مسائل پیچیده از طریق تقویت رفتارهای مطلوب و تنبیه رفتارهای نامطلوباست. با کاوش در اعماق این مدل جذاب، ما میتوانیم درک عمیقتری از چگونگی یادگیری و عملکرد سیستمهای هوشمند کسب کنیم تا هم از پیشرفت دنیای مدرن عقب نمانیم و هم با فهم هر چه بیشتر این علم نو ظهور، بتوانیم به کسب درآمد نیز برسیم.
یادگیری تقویتی چیست؟
یادگیری تقویتی (Reinforcement Learning) روشی از آموزش یادگیری ماشین میباشدکه بر اساس پاداش دادن به رفتارهای مطلوب و تنبیه رفتارهای نامطلوب بنا شدهاست. به طور کلی، یک عامل یادگیری تقویتی (همان موجودیتِ در حال آموزش) قادر است محیط اطراف خود را درک و تفسیر کند، اقداماتی انجام دهد و از طریق آزمون و خطا یاد بگیرد.
یادگیری تقویتی یکی از چندین رویکردیاست که توسعهدهندگان برای آموزش سیستمهای یادگیری ماشین استفاده میکنند. اهمیت این رویکرد اینست که به یک عامل ، چه یک ویژگی در یک بازی ویدیویی و چه یک ربات در یک محیط صنعتی، قدرت میدهد تا پیچیدگیهای محیطی را که برای آن ساخته شدهاست، بیاموزد. به مرور زمان، از طریق یک سیستم بازخورد که به طور معمول شامل پاداش و تنبیهاست، عامل از محیط خود یاد میگیرد و رفتارهای خود را بهینه سازی میکند.
یادگیری تقویتی چگونه کار میکند؟
در یادگیری تقویتی، توسعهدهندگان روشی برای پاداش دادن به رفتارهای مطلوب و تنبیه رفتارهای منفی طراحی میکنند. این روش به اقدام مورد نظر و هدف، مقادیر مثبت اختصاص میدهد تا عامل را به استفاده از آنها تشویق کند، در حالی که مقادیر منفی به رفتارهای نامطلوب اختصاص مییابند تا از آنها دلسرد شوند. این کار باعث برنامهریزی عامل (Agent) برای دستیابی به راهحل بهینه میشود، به گونهای که به دنبال پاداشهای کلی بلندمدت و حداکثری باشد.
این اهداف بلندمدت به جلوگیری از گیر افتادن عامل در اهداف کماهمیتتر کمک می کند. با گذشت زمان، عامل یاد میگیرد که از منفیها اجتناب کند و به دنبال مثبتها باشد. این روش یادگیری به عنوان راهی برای هدایت یادگیری ماشین بدون نظارت از طریق پاداش یا تقویت مثبت و جریمه یا تقویت منفی در هوش مصنوعی (AI) به کار گرفته شدهاست.

تاریخچه و سیر تکاملی هوش مصنوعی
فرآیند تصمیمگیری مارکوف (Markov decision process) به عنوان پایهای برای سیستمهای یادگیری تقویتی عمل میکند. در این فرایند، عامل در یک محیط خاص در وضعیتی مشخص قرار دارد؛ این عامل باید بهترین اقدام ممکن را از میان چندین اقدام بالقوه که میتواند در وضعیت فعلی خود انجام دهد، انتخاب کند. برخی از اقدامات برای ایجاد انگیزه، پاداشهایی ارائه میدهند. هنگامی که عامل به وضعیت بعدی خود میرود، اقدامات پاداشدهنده جدیدی برای آن در دسترس قرار میگیرد. در طول زمان، مجموع پاداش، حاصل جمع پاداشهاییست که عامل از اقدام انتخابی خود دریافت می کند. به طور کلی، مولفههای اصلی یک سیستم یادگیری تقویتی به صورت زیراست:
- عامل (Agent): یک نرم افزار یا سیستم هوشمند که تصمیمات را در محیط اتخاذ میکند.
- محیط (Environment): جایی که عامل در آن عمل میکند و وضعیتهای مختلف را تجربه می کند.
- حالات (States): نمایشی از وضعیت فعلی محیط.
- اقدامات (Actions): فعالیتهایی که عامل می تواند در هر حالت انجام دهد.
- پاداش (Reward): سیگنالی که محیط برای هر اقدام عامل ارسال میکند و نشان میدهد که آن اقدام چقدر خوب یا بد بودهاست.
- سیاست (Policy): رفتاری میباشدکه عامل در هر حالت باید انجام دهد. به عبارت دیگر، سیاست تعیین می کند که عامل در هر حالت خاص چه اقدامی را انتخاب کند.
- ارزش (Value): ارزیابی کمّی از میزان مطلوبیت یک حالت یا یک زوج حالت-اقدام میباشد. ارزش نشان میدهد که انتخاب یک سیاست خاص در آن حالت چقدر میتواند برای عامل سودمند باشد.

کاربردها و مثالهایی از یادگیری تقویتی
با اینکه یادگیری تقویتی توجه زیادی را در زمینه هوش مصنوعی به خود جلب کردهاست، پذیرش و کاربرد گسترده آن در دنیای واقعی همچنان محدوداست. با این حال، با وجود این نکته، مقالات تحقیقاتی زیادی در مورد کاربردهای نظری وجود دارد و برخی موارد استفاده موفق نیز به دست آمدهاست. کاربردهای کنونی شامل موارد زیر بوده اما به آنها محدود نمیشود:
1. بازیها و سرگرمیها:
- بازیهای ویدیویی: بهینه سازی استراتژیهای بازی و هوش مصنوعی بازیکنان.
- بازیهای تختهای: مثال معروف استفاده از یادگیری تقویتی در بازی شطرنج و گو.
2. رباتیک:
- کنترل حرکت و ناوبری: بهبود دقت و کارایی در حرکت رباتها در محیطهای مختلف.
- رباتهای صنعتی: بهینه سازی فرآیندهای تولید و مونتاژ.
3. کنترل فرآیندها:
- سیستمهای خودکار: مدیریت و کنترل سیستمهای پیچیده مانند شبکههای برق و پالایشگاهها.
- کنترل ترافیک: بهینه سازی جریان ترافیک و کاهش تراکم.
4. اقتصاد و مالی:
- تجارت به صورت الگوریتم: بهینه سازی استراتژیهای خرید و فروش در بازارهای مالی.
- مدیریت پورتفولیو: تخصیص بهینه داراییها بر اساس پیشبینیهای بازار.

5. بهینه سازی سیستمها:
- مدیریت زنجیره تأمین: بهبود فرآیندهای لجستیک و کاهش هزینهها.
- مدیریت منابع شبکههای کامپیوتری: بهینه سازی تخصیص منابع و ترافیک در شبکههای بزرگ.
6. بهداشت و درمان:
- تشخیص و درمان: بهینه سازی برنامههای درمانی و تشخیص بیماریها.
- مدیریت بیمارستان: بهینه سازی تخصیص منابع بیمارستانی و برنامهریزی جراحیها.
بازی، احتمالا رایجترین کاربرد یادگیری تقویتی بوده که می تواند در بازیهای متعددی به عملکردی فراتر از انسان دست یابد. یک مثال رایج شامل بازی پک-من (Pac-Man) است.

در این بازی، الگوریتم یادگیری توانایی حرکت در یکی از چهار جهت را دارد، مگر اینکه مسیر مسدود باشد. براساس دادههای پیکسلی، به عامل ( الگوریتم ) یک پاداش عددی برای نتیجه هر واحد از حرکت داده میشود: 0 برای فضاهای خالی، 1 برای دانههای کوچک، 2 برای میوهها، 3 برای دانههای بزرگ، 4 برای عامل (همان pac-man) پس از خوردن دانه بزرگ و 5 برای جمع آوری تمام دانهها و تکمیل سطح. همچنین 5 امتیاز منفی برای برخورد با شبح در نظر گرفته می شود. عامل از بازی تصادفی شروع می کند و با گذشت زمان و یادگیری، بازی پیچیدهتر میشود. هدفِ عامل ، جمع آوری تمام دانهها برای تکمیل سطح می باشد. با گذشت زمان، عامل میتواند تاکتیکهایی مانند ذخیره دانههای قدرتمند برای دفاع از خود را نیز یاد بگیرد.
یادگیری تقویتی می تواند در شرایطی عمل کند که در آن پاداش مشخصی قابل اِعمال باشد. در مدیریت منابع سازمانی، الگوریتم های تقویتی منابع محدود را به وظایف مختلف اختصاص میدهند، تا زمانی که یک هدف کلی وجود داشته باشد که سیستم در تلاش برای دستیابی به آنست. در این شرایط، هدف میتواند صرفهجویی در زمان یا حفظ منابع باشد.
یادگیری تقویتی در رباتیک، راه خود را به آزمایشهای محدودی باز کردهاست. این نوع یادگیری ماشین میتواند به رباتها توانایی یادگیری کارهایی را بدهد که یک معلم انسانی نمیتواند آنها را نشان دهد، مهارتهای آموخته شده را با یک کار جدید تطبیق دهد و حتی زمانی که فرمول تحلیلی در دسترس نیست به بهینه سازی دست یابد.
یادگیری تقویتی همچنین در تحقیق در عملیات، نظریه اطلاعات، نظریه بازیها، نظریه کنترل، بهینه سازی مبتنی بر شبیهسازی، سیستمهای چند عامل، هوش ازدحام، آمار، الگوریتم های ژنتیک و تلاشهای جاری برای اتوماسیون صنعتی به کار گرفته میشود.
مثال بسیار ساده و ملموسی از الگوریتم های یادگیری تقویتی
تصور کنید یک رباتِ کوچک در یک ساختمان با چندین اتاق و راهرو قرار دارد. هدف این ربات، یادگیری مسیر بهینه برای رسیدن از نقطه A به نقطه B در آن ساختماناست. در ابتدا، ربات به صورت تصادفی در ساختمان حرکت میکند. اگر به مقصد (نقطه B) برسد، پاداش مثبت (1+) و اگر به دیوار یا مانع برخورد کند، پاداش منفی (1-) میگیرد.
در چرخههای اولیه، ربات مسیرهای نامطلوب و بنبستها را انتخاب می کند و پاداشهای منفی دریافت میکند. اما به تدریج، با تجربه کسب شده از پاداشها، الگوریتم یادگیری تقویتی ربات میآموزد که چه مسیرهایی برای رسیدن به مقصد بهتر هستند. پس از چندین دوره، ربات قادر خواهد بود مسیر بهینه برای رسیدن از A به B را پیدا کند و پاداشهای مثبت دریافت کند. در این مثال، ربات از طریق تعامل با محیط (ساختمان) و دریافت پاداشها و تنبیهها، مهارت مسیریابی را فرا میگیرد
چالشهای به کارگیری یادگیری تقویتی
یادگیری تقویتی با وجود پتانسیل بالا، با برخی معایب نیز همراهاست. استقرار و گسترش آن می تواند دشوار باشد و همچنان در کاربردهایش محدودیتهایی وجود دارد. یکی از موانع استقرار این نوع یادگیری ماشین ، وابستگی آن به کاوش در محیطاست.
برای مثال، اگر شما رباتی را مستقر کنید که برای پیمایش یک محیط فیزیکی پیچیده به یادگیری تقویتی وابسته باشد، با حرکت خود به دنبال حالات جدید خواهد بود و اقدامات مختلفی را انجام خواهد داد. با این حال، با این نوع مسئلهی یادگیری تقویتی، به دلیل اینکه محیط دائما در حال تغییراست، اتخاذ مداوم بهترین اقدامات در یک محیط واقعی دشوار خواهد بود.
زمان مورد نیاز برای اطمینان از انجام صحیح یادگیری از طریق این روش میتواند سودمندی آن را محدود کند و بر منابع محاسباتی فشار زیادی وارد آورد. با پیچیدهتر شدن محیط آموزش، تقاضا برای زمان و منابع محاسباتی نیز افزایش مییابد.
یادگیری نظارت شده میتواند نتایج سریعتر و کارآمدتری را نسبت به یادگیری تقویتی برای شرکتها به ارمغان بیاورد، به شرطی که دادهی کافی در دسترس باشد، زیرا با منابع کمتری قابل اجراست.
الگوریتم های رایج یادگیری تقویتی
در حوزه یادگیری تقویتی، به جای اشاره به یک الگوریتم خاص، با چندین الگوریتم سروکار داریم که رویکردهای نسبتاً متفاوتی را در پیش میگیرند. این تفاوتها عمدتا به دلیل استراتژیهای مختلفی بوده که آنها برای کاوش در محیط خود به کار میگیرند:
- یادگیری SARSA (State-action-reward-state-action): این الگوریتم یادگیری تقویتی با دادن چیزی به نام “سیاست” به عامل شروع می شود. تعیین رویکرد مبتنی بر سیاست بهینه مستلزم بررسی احتمال منجر شدن اقدامات خاص به پاداش یا حالات مفید برای هدایت تصمیم گیری آن است.
- یادگیری کیو (Q-Learning): این رویکرد به یادگیری تقویتی، رویکردی مخالف را در پیش میگیرد. عامل ، هیچ سیاستی دریافت نمیکند و ارزش یک عمل را بر اساس کاوش در محیط خود میآموزد. این رویکرد مبتنی بر مدل نیست، بلکه خودمحورتر است. پیادهسازیهای دنیای واقعی یادگیری Q اغلب با استفاده از زبان برنامهنویسی پایتون نوشته میشوند.
- شبکههای کیو عمیق (Deep Q-networks): این الگوریتم ها علاوه بر تکنیکهای یادگیری تقویتی، از شبکههای عصبی نیز استفاده میکنند. آنها همچنین به عنوان یادگیری تقویتی عمیق شناخته میشوند و از رویکرد کاوش در محیط خود-هدایت شده یادگیری تقویتی استفاده میکنند. به عنوان بخشی از فرآیند یادگیری، این شبکهها اقدامات آینده را بر اساس نمونهای تصادفی از اقدامات مفید گذشته پایه ریزی میکنند.
- برنامهریزی دینامیک (Dynamic Programming): این روش ریاضی برای حل مسائل بهینه سازی در یادگیری تقویتی استفاده میشود. الگوریتم های خاص آن مانند Value Iteration و Policy Iteration وجود دارند که مستلزم داشتن مدل کامل از محیط هستند.
- شبکههای عصبی عمیق (Deep Neural Networks): با پیشرفتهای اخیر در یادگیری عمیق، استفاده از شبکههای عصبی برای تخمین تابع ارزش در یادگیری تقویتی بسیار رایج شدهاست. روشهایی مانند Deep Q-Networks (DQN) و Deep Deterministic Policy Gradient (DDPG) از این دسته هستند.
- یادگیری براساس مدل (Model-Based Learning): در این روش، عامل یک مدل داخلی از محیط را یاد میگیرد و سپس از آن برای پیشبینی و برنامهریزی استفاده می کند. الگوریتم های مانند Dyna-Q از این رویکرد استفاده میکنند.
- روشهای مونت کارلو (Monte Carlo Methods): این روشها برای حل مسائل با فضای حالت بزرگ و غیرقابل مدل سازی مفید هستند. آنها با نمونه گیری تصادفی از تجربیات عامل ، ارزش تابع را تخمین میزنند.
- روشهای گرادیان خطمشی Policy Gradient Methods: این الگوریتم ها سیاست را مستقیماً بهینه میکنند تا احتمال انتخاب اقدامات پرپاداش را افزایش دهند. Reinforce، PPO و A3C برخی از روشهای پرکاربرد Policy Gradient هستند.
- یادگیری تقویتی سلسله مراتبی (Hierarchical Reinforcement Learning): در این رویکرد، وظایف پیچیده به زیروظایف سادهتر تقسیم میشوند که برای هر کدام یک عامل جداگانه آموزش داده می شود. این امر یادگیری را تسریع میکند.
- یادگیری تقویتی چند عامل (Multi-Agent Reinforcement Learning): زمانی که چندین عامل باید در یک محیط با یکدیگر هماهنگ شوند، از این روشها استفاده میشود. مثالهایی مانند بازیهای رقابتی دو نفره وجود دارند.
- یادگیری تقویتی معکوس (Inverse Reinforcement Learning): در این روش، هدف استنباط تابع پاداشی است که رفتار یک عامل ماهر را توضیح میدهد، از طریق مشاهده رفتار آن عامل .
انتخاب روش مناسب به عواملی مانند ویژگی و پیچیدگی مسئله، مقیاس پذیری، کارایی و محدودیتهای محاسباتی و دسترسی به داده بستگی دارد. گاهی ترکیبی از چند روش نیز میتواند مفید باشد.
یادگیری تقویتی چه تفاوت و شباهتی با یادگیری تحت نظارت و بدون نظارت دارد؟
یادگیری تقویتی غالبا و در برخی منابع به عنوان شاخهای مستقل از یادگیری ماشین در نظر گرفته می شود. با این حال، شباهتهایی با سایر انواع یادگیری ماشین دارد که به چهار حوزه زیر تقسیم میشوند:
- یادگیری نظارت شده: در یادگیری نظارت شده، الگوریتم ها روی مجموعهای از دادههای برچسبگذاریشده آموزش داده میشوند. الگوریتم های یادگیری نظارت شده تنها میتوانند ویژگیهایی را بیاموزند که در مجموعه داده مشخص شدهاند. یک کاربرد رایج یادگیری نظارت شده، مدلهای تشخیص تصویر است. این مدلها مجموعهای از تصاویر برچسبگذاریشده را دریافت میکنند و یاد میگیرند تا ویژگیهای رایج اشکال از پیش تعریف شده را تشخیص دهند.
- یادگیری بدون نظارت : در یادگیری بدون نظارت ، توسعه دهندگان، الگوریتم ها را روی دادههای کاملاً بدون برچسب رها میکنند. این الگوریتم ها با دستهبندی مشاهدات خود در مورد ویژگیهای داده، بدون اینکه به آنها گفته شود به دنبال چه چیزی باشند، یاد میگیرند.
- یادگیری نیمه – نظارت شده: این روش رویکردی میانهرو را در پیش میگیرد. توسعهدهندگان، مجموعهای نسبتاً کوچک از دادههای آموزشی برچسبگذاریشده را همراه با حجم بزرگتری از دادههای بدون برچسب وارد میکنند. سپس به الگوریتم دستور داده میشود تا آموختههای خود را از دادههای برچسبگذاریشده به دادههای بدون برچسب تعمیم دهد و از کل مجموعه نتایج استخراج کند.
- یادگیری تقویتی: این روش رویکرد متفاوتی دارد و در محیطی با پارامترهای واضح که فعالیت سودمند و غیر سودمند را تعریف میکند و یک هدف نهایی و کلی برای دستیابی به آن را مشخص می کند، عامل را قرار میدهد.
مروری بر فناوری دیپ فیک، کاربردها و روشهای شناسایی آن
از طرف دیگر یادگیری تقویتی مشابه یادگیری نظارت شدهاست؛ زیرا توسعهدهندگان باید اهداف مشخصی را برای الگوریتم ها تعیین کنند و توابع پاداش و مجازات را تعریف کنند. این بدان معناست که سطح برنامهنویسیِ مورد نیاز، بیشتر از یادگیری بدون نظارت است. اما، پس از تنظیم این پارامترها، الگوریتم به تنهایی عمل می کند که آن را نسبت به الگوریتم های یادگیری نظارت شده خودکارتر میکند. به همین دلیل، مردم گاه به یادگیری تقویتی به عنوان شاخهای از یادگیری نیمه نظارت شده اشاره میکنند؛ با این حال، در واقع، بیشتر به عنوان نوع جداگانهای از یادگیری ماشین شناخته می شود.
آیندهی یادگیری تقویتی
پیشبینی میشود یادگیری تقویتی نقش مهمتری در آینده هوش مصنوعی ایفا کند. رویکردهای دیگر برای آموزش الگوریتم های یادگیری ماشین به حجم عظیمی از دادههای آموزشی از پیش موجود نیاز دارند. از سوی دیگر، عامل های یادگیری تقویتی به زمان نیاز دارند تا به تدریج از طریق تعامل با محیط خود نحوه عملکرد را بیاموزند. با وجود چالشها، انتظار میرود صنایع مختلف همچنان به کشف پتانسیل یادگیری تقویتی ادامه دهند.
یادگیری تقویتی در زمینههای مختلفی پیشرفتهای امیدوار کنندهای داشتهاست. برای نمونه، شرکتهای بازاریابی و تبلیغات از الگوریتم های آموزشدیده با این روش برای سیستمها و موتورهای توصیهی محتوا استفاده میکنند. همچنین، تولیدکنندگان از یادگیری تقویتی برای آموزش نسل بعدی سیستمهای رباتیک خود بهره میبرند.
دانشمندان در شرکت DeepMind، زیرمجموعه هوش مصنوعی گوگل (Alphabet)، پیشنهاد کردهاند که یادگیری تقویتی می تواند وضعیت فعلی هوش مصنوعی (که اغلب هوش مصنوعی باریک یا همان narrow AI نامیده می شود) را به شکل نهایی نظری آن، یعنی هوش مصنوعی عمومی (AGI) برساند. آنها بر این باورند که ماشین هایی که از طریق یادگیری تقویتی آموزش میبینند، در نهایت احساس (شعور) پیدا کرده و به طور مستقل از نظارت انسان عمل خواهند کرد.
اگر محتوای ما برایتان جذاب بود و چیزی از آن آموختید، لطفاً لحظهای وقت بگذارید و این چند خط را بخوانید:
ما گروهی کوچک و مستقل از دوستداران علم و فناوری هستیم که تنها با حمایتهای شما میتوانیم به راه خود ادامه دهیم. اگر محتوای ما را مفید یافتید و مایلید از ما حمایت کنید، سادهترین و مستقیمترین راه، کمک مالی از طریق لینک دونیت در پایین صفحه است.
اما اگر به هر دلیلی امکان حمایت مالی ندارید، همراهی شما به شکلهای دیگر هم برای ما ارزشمند است. با معرفی ما به دوستانتان، لایک، کامنت یا هر نوع تعامل دیگر، میتوانید در این مسیر کنار ما باشید و یاریمان کنید. ❤️