فصل نوزدهم: یادگیری تقویتی

black-swan-theory

یادگیری تقویتی (RL) یکی از پارادایم‌های اصلی یادگیری ماشین است که در آن یک عامل (agent) از طریق تعامل با محیط، اقداماتی را انجام می‌دهد تا پاداش‌های دریافتی را به حداکثر برساند. این فصل به بررسی مفاهیم پایه، روش‌های کلاسیک و پیشرفته در یادگیری تقویتی می‌پردازد.

 

1. مقدمه‌ای بر یادگیری تقویتی

یادگیری تقویتی یک چارچوب تصمیم‌گیری متوالی است که در آن عامل با انجام اقدامات در محیط، به حالت‌های جدید منتقل می‌شود و پاداش دریافت می‌کند. هدف اصلی، یادگیری یک سیاست (policy) است که بازده مورد انتظار (expected return) را به حداکثر برساند.

1.1. کاربردهای یادگیری تقویتی

  • بازی‌های ویدیویی: کنترل شخصیت‌های بازی برای کسب امتیاز بیشتر.

  • رباتیک: یادگیری حرکات ربات برای انجام وظایف خاص.

  • مالی: مدیریت پرتفوی سرمایه‌گذاری برای حداکثر کردن سود.

1.2. چالش‌های یادگیری تقویتی

۱. پاداش‌های کم‌یاب (Sparse Rewards): پاداش ممکن است تنها پس از دنباله‌ای طولانی از اقدامات دریافت شود.
۲. تخصیص اعتبار موقت (Temporal Credit Assignment): تشخیص اینکه کدام اقدامات منجر به پاداش شده‌اند.
۳. معمای اکتشاف و بهره‌برداری (Exploration vs. Exploitation): تعادل بین کشف اقدامات جدید و استفاده از دانش موجود.

 

2. فرآیندهای تصمیم‌گیری مارکوف (MDPs)

یادگیری تقویتی معمولاً در چارچوب فرآیندهای تصمیم‌گیری مارکوف (Markov Decision Processes – MDPs) مدل‌سازی می‌شود. یک MDP شامل موارد زیر است:

  • حالت‌ها (States): وضعیت‌های ممکن محیط.

  • اقدامات (Actions): انتخاب‌های ممکن عامل.

  • تابع انتقال (Transition Function): احتمال حرکت از یک حالت به حالت دیگر با انجام یک عمل.

  • تابع پاداش (Reward Function): پاداش دریافتی پس از انجام یک عمل در یک حالت خاص.

2.1. ویژگی مارکوف

ویژگی مارکوف بیان می‌کند که حالت آینده فقط به حالت فعلی و عمل فعلی بستگی دارد و مستقل از تاریخچه گذشته است:

Pr(st+1st,at)=Pr(st+1st,at,st1,at1,)Pr(s_{t+1} \mid s_t, a_t) = Pr(s_{t+1} \mid s_t, a_t, s_{t-1}, a_{t-1}, \dots)

2.2. بازده (Return)

بازده مجموع پاداش‌های آینده با ضریب تخفیف است:

Gt=k=0γkrt+k+1G_t = \sum_{k=0}^{\infty} \gamma^k r_{t+k+1}

که در آن γ[0,1)\gamma \in [0, 1) ضریب تخفیف است و اهمیت پاداش‌های آینده را مشخص می‌کند.

 

3. سیاست‌ها و توابع مقدار

3.1. سیاست (Policy)

سیاست یک تابع (تصادفی یا قطعی) است که مشخص می‌کند عامل در هر حالت چه عملی را انجام دهد:

π(as)=Pr(at=ast=s)\pi(a \mid s) = Pr(a_t = a \mid s_t = s)

3.2. تابع مقدار حالت (State-Value Function)

مقدار مورد انتظار بازده زمانی که عامل از حالت ss شروع کند و از سیاست π\pi پیروی کند:

vπ(s)=Eπ[Gtst=s]v_\pi(s) = \mathbb{E}_\pi[G_t \mid s_t = s]

3.3. تابع مقدار عمل (Action-Value Function)

مقدار مورد انتظار بازده زمانی که عامل در حالت ss عمل aa را انجام دهد و سپس از سیاست π\pi پیروی کند:

qπ(s,a)=Eπ[Gtst=s,at=a]q_\pi(s, a) = \mathbb{E}_\pi[G_t \mid s_t = s, a_t = a]

3.4. معادلات بلمن (Bellman Equations)

این معادلات روابط بازگشتی بین مقادیر حالت‌ها و اقدامات را بیان می‌کنند:

vπ(s)=aπ(as)[r(s,a)+γsPr(ss,a)vπ(s)]v_\pi(s) = \sum_a \pi(a \mid s) \left[ r(s, a) + \gamma \sum_{s’} Pr(s’ \mid s, a) v_\pi(s’) \right] qπ(s,a)=r(s,a)+γsPr(ss,a)vπ(s)q_\pi(s, a) = r(s, a) + \gamma \sum_{s’} Pr(s’ \mid s, a) v_\pi(s’)

 

4. روش‌های یادگیری تقویتی

4.1. برنامه‌نویسی پویا (Dynamic Programming)

در این روش، توابع مقدار با استفاده از معادلات بلمن به‌صورت تکراری محاسبه می‌شوند. دو الگوریتم اصلی عبارتند از:

  • تکرار ارزش (Value Iteration): به‌روزرسانی مستقیم مقادیر حالت‌ها.

  • تکرار سیاست (Policy Iteration): تناوب بین ارزیابی سیاست و بهبود سیاست.

4.2. روش‌های مونت کارلو (Monte Carlo Methods)

در این روش‌ها، مقادیر حالت‌ها و اقدامات از طریق میانگین‌گیری بازده‌های مشاهده‌شده در مسیرهای مختلف تخمین زده می‌شوند. این روش‌ها برای محیط‌هایی مناسب هستند که مدل انتقال حالت نامعلوم است.

4.3. روش‌های تفاوت زمانی (Temporal Difference – TD)

این روش‌ها ترکیبی از برنامه‌نویسی پویا و مونت کارلو هستند و مقادیر را به‌صورت افزایشی به‌روز می‌کنند. دو الگوریتم معروف:

  • SARSA: یک روش مبتنی بر سیاست که از معادله زیر استفاده می‌کند:

q(st,at)q(st,at)+α[rt+1+γq(st+1,at+1)q(st,at)]q(s_t, a_t) \leftarrow q(s_t, a_t) + \alpha \left[ r_{t+1} + \gamma q(s_{t+1}, a_{t+1}) – q(s_t, a_t) \right]

  • Q-Learning: یک روش خارج از سیاست که مقدار عمل را به‌صورت زیر به‌روز می‌کند:

q(st,at)q(st,at)+α[rt+1+γmaxaq(st+1,a)q(st,at)]q(s_t, a_t) \leftarrow q(s_t, a_t) + \alpha \left[ r_{t+1} + \gamma \max_a q(s_{t+1}, a) – q(s_t, a_t) \right]

 

5. یادگیری تقویتی عمیق

با افزایش پیچیدگی محیط‌ها، استفاده از جدول برای ذخیره مقادیر حالت‌ها و اقدامات غیرعملی می‌شود. در اینجا از شبکه‌های عصبی برای تقریب توابع مقدار یا سیاست استفاده می‌شود.

5.1. Deep Q-Networks (DQN)

این روش از یک شبکه عصبی برای تخمین تابع مقدار عمل استفاده می‌کند. دو تکنیک کلیدی برای بهبود پایداری آموزش:

۱. بافر بازپخش تجربه (Experience Replay): ذخیره تجربیات گذشته و نمونه‌برداری تصادفی از آن‌ها برای کاهش همبستگی بین نمونه‌ها.
۲. شبکه هدف (Target Network): استفاده از یک شبکه جداگانه برای محاسبه مقادیر هدف، که به‌صورت دوره‌ای به‌روز می‌شود.

5.2. روش‌های گرادیان سیاست (Policy Gradient Methods)

در این روش‌ها، سیاست مستقیماً با بهینه‌سازی بازده مورد انتظار یادگیری می‌شود. الگوریتم‌های معروف:

  • REINFORCE: یک روش مونت کارلو که گرادیان سیاست را با استفاده از بازده کل مسیر محاسبه می‌کند.

  • بازیگر-منتقد (Actor-Critic): ترکیبی از روش‌های گرادیان سیاست و یادگیری مقدار، که در آن:

    • بازیگر (Actor): سیاست را به‌روز می‌کند.

    • منتقد (Critic): تابع مقدار را تخمین می‌زند و به عنوان پایه برای کاهش واریانس استفاده می‌شود.

 

6. یادگیری تقویتی آفلاین (Offline RL)

در این روش، عامل از داده‌های تاریخی جمع‌آوری‌شده توسط یک سیاست دیگر یاد می‌گیرد، بدون اینکه با محیط تعامل داشته باشد. این روش برای محیط‌هایی که تعامل با آن‌ها پرهزینه یا خطرناک است، مناسب است.

ترانسفورماتور تصمیم (Decision Transformer)

این روش یادگیری تقویتی را به عنوان یک مسئله پیش‌بینی دنباله مدل می‌کند. ورودی شامل دنباله‌ای از حالت‌ها، اقدامات و پاداش‌ها است و خروجی اقدام بعدی را پیش‌بینی می‌کند.

 

7. نتیجه‌گیری

یادگیری تقویتی یک چارچوب قدرتمند برای حل مسائل تصمیم‌گیری متوالی است. از روش‌های کلاسیک مانند برنامه‌نویسی پویا و مونت کارلو تا روش‌های پیشرفته مانند DQN و بازیگر-منتقد، این حوزه همچنان در حال توسعه است. با ظهور یادگیری عمیق، کاربردهای RL در بازی‌ها، رباتیک و مالی گسترش یافته‌اند. چالش‌های آینده شامل بهبود نمونه‌برداری، کاهش واریانس و توسعه روش‌های کارآمد برای محیط‌های پیچیده است.

این فصل پایه‌های نظری و عملی لازم برای درک و پیاده‌سازی یادگیری تقویتی را ارائه می‌دهد و راه را برای مطالعه پیشرفته‌تر در این زمینه هموار می‌کند.