Phase 09: Reinforcement Learning

MDPs، دولت ها، اقدامات و پاداش ها

یک فرآیند تصمیم گیری مارکوف پنج چیز است: حالت ها، اقدامات، انتقال ها، پاداش ها، تخفیف. همه چیز در RL Q-learning، PPO، DPO، GRPO برای این شکل بهینه سازی می شود. آن را یک بار یاد بگیرید، بقیه یادگیری تقویت را رایگان بخوانید.

Type: Learn

Languages: Python

Prerequisites: Phase 1 · 06 (Probability & Distributions), Phase 2 · 01 (ML Taxonomy)

Time: ~45 minutes

مشکل

شما یک ربات شطرنج یا یک برنامه ریز موجودی یا یک نماینده تجاری یا حلقه PPO که یک مدل استدلال را آموزش می دهد چهار حوزه مختلف، یک واقعیت شگفت انگیز: همه چهار به یک شی ریاضی سقوط می کنند.

آموزش تحت نظارت به شما می دهد(x, y)در این مرحله، شما می توانید به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به عنوان یک فرد به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به طور کامل به به به به طور کامل به طور کامل به به طور کامل به به به طور کامل به طور کامل به به طور کامل به به به به طور کامل به طور کامل به به به به طور کامل به به به به طور کامل به به به طور کامل به.

شما نمی توانید از این جریان یاد بگیرید تا زمانی که آن را رسمی کنید. "چه چیزی دیدم،" "چه کاری کردم،" "چه اتفاقی افتاد،" "چقدر خوب بود" هر یک باید به یک شی تبدیل شود که می توانید در مورد آن استدلال کنید. این رسمیت گیری یک فرآیند تصمیم گیری مارکوف است. هر الگوریتم RL در این مرحله، از جمله حلقه های RLHF و GRPO در پایان، بر روی این شکل بهینه سازی می کند.

مفهوم

!Markov decision process: states, actions, transitions, rewards, discount

The five objects.

  • States Sهمه چيزي که مامور بايد تصميم بگيره در گريد ورلد سلول در شطرنج بورد در ماجرا تحصيلي پنجره ي زمینه و هر خاطره
  • Actions Aانتخاب ها، حرکت بالا/ پایین/ چپ/ راست، حرکت بازی کنید، یک توکن بفرستید.
  • Transitions P(s' | s, a). به نظر می رسدsو اقدامaدر شطرنج، استوکاستیک در موجودی، تقریباً تعیین کننده در رمزگذاری LLM.
  • Rewards R(s, a, s'). سیگنال مقیاس. برنده = +1، ضرر = -1. درآمد - هزینه. اصطلاح نسبت احتمال ثبت در GRPO.
  • Discount γ ∈ [0, 1)چقدر پاداش آینده با حال مهمهγ = 0.99افق 100 قدم را می خرید.γ = 0.910 تا میخر

The Markov property P(s_{t+1} | s_t, a_t) = P(s_{t+1} | s_0, a_0, …, s_t, a_t)آینده فقط به وضعیت فعلی بستگی دارد. اگر اینگونه نباشد، نمایندگی دولت نامکمل است.

Policies and returns.یک سیاستπ(a | s)نقشه ها به توزیع عمل می پردازند.G_t = r_t + γ r_{t+1} + γ² r_{t+2} + …ارزش سود سود سود کم شده پاداش های آینده است.V^π(s) = E[G_t | s_t = s]عواقب انتظار می رود که از sدر چارچوب سیاستπ. ارزش قQ^π(s, a) = E[G_t | s_t = s, a_t = a]هر الگوریتم RL یکی از این دو را تخمین می زند، سپس بهبود می یابد πدر این صورت

The Bellman equations.معادلات نقطه ثابت که همه چیز در این مرحله استفاده می کند:

V^π(s) = Σ_a π(a|s) Σ_{s', r} P(s', r | s, a) [r + γ V^π(s')]

Q^π(s, a) = Σ_{s', r} P(s', r | s, a) [r + γ Σ_{a'} π(a'|s') Q^π(s', a')]

این تقسیم انتظار می رود به "جایز این مرحله" به همراه "قیمت تخفیف شده از جایی که فرود می روید" بازگردد. هر الگوریتم در مرحله 9 یا این معادله را به تقارب (برنامه سازی پویا) ، نمونه هایی از آن (مونت کارلو) ، یا یک مرحله (تفاوت زمانی) شروع می کند.

آن را بسازید

مرحله اول: یک MDP کوچک تعیین کننده

يک 4×4 GridWorld. مامور از سمت چپ بالا شروع ميکنه، ترمينال در سمت راست پايين، پاداش -1 در هر مرحله، اعمال{up, down, left, right}ببینcode/main.py. .

pythonGRID = 4
TERMINAL = (3, 3)
ACTIONS = {"up": (-1, 0), "down": (1, 0), "left": (0, -1), "right": (0, 1)}

def step(state, action):
    if state == TERMINAL:
        return state, 0.0, True
    dr, dc = ACTIONS[action]
    r, c = state
    nr = min(max(r + dr, 0), GRID - 1)
    nc = min(max(c + dc, 0), GRID - 1)
    return (nr, nc), -1.0, (nr, nc) == TERMINAL

پنج خط، اين کل محیط است. انتقال هاي تعیین کننده، مجازات قدم ثابت، جذب حالت پاياني.

مرحله دوم: سیاست را اجرا کنید

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

pythondef uniform_policy(state):
    return {a: 0.25 for a in ACTIONS}

def rollout(policy, max_steps=200):
    s, total, steps = (0, 0), 0.0, 0
    for _ in range(max_steps):
        a = sample(policy(s))
        s, r, done = step(s, a)
        total += r
        steps += 1
        if done:
            break
    return total, steps

سیاست تصادفی 1000 بار اجرا کنید. متوسط بازگشت حدود -60 تا -80 برای این صفحه 4 × 4 است. بازگشت مطلوب -6 (راه خط مستقیم به سمت راست) است. بسته شدن این شکاف همه چیز در مرحله 9.

مرحله سوم: محاسبهV^πدقیقا از طریق معادله بلمن

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

pythondef policy_evaluation(policy, gamma=0.99, tol=1e-6):
    V = {s: 0.0 for s in all_states()}
    while True:
        delta = 0.0
        for s in all_states():
            if s == TERMINAL:
                continue
            v = 0.0
            for a, pi_a in policy(s).items():
                s_next, r, _ = step(s, a)
                v += pi_a * (r + gamma * V[s_next])
            delta = max(delta, abs(v - V[s]))
            V[s] = v
        if delta < tol:
            return V

این ارزیابی سیاست تکراری است. این اولین الگوریتم در Sutton & Barto و پایه نظری هر روش RL است که بعد از آن انجام می شود.

مرحله چهارم:γیک پارامتر فوق العاده با معنی فیزیکی است

افق موثر تقریباً1 / (1 - γ).γ = 0.9→ 10 قدمγ = 0.99→ 100 قدمγ = 0.999→ 1000 قدم

خیلی کم و عامل به طور نزدیک رفتار می کند. بیش از حد بالا و اختصاص اعتبار می شود شور، زیرا بسیاری از مراحل اولیه مسئولیت پاداش آینده را به اشتراک می گذارند. LLM RLHF معمولا استفاده می کند γ = 1چون قسمت ها کوتاه و محدود هستند.0.95–0.99. بازی های استراتژی افق بلند استفاده می کنند0.999. .

دام ها

  • Non-Markovian state.اگر شما نیاز به سه مشاهدات اخیر برای تصمیم گیری دارید، "حال" فقط مشاهدات فعلی نیست. درست کنید: فریم های استیک (DQN در استیک های Atari 4) یا از حالت مکرر استفاده کنید (LSTM / GRU در مشاهدات).
  • Sparse rewards.پاداش های فقط برنده باعث می شود یادگیری در فضاهای بزرگ غیرممکن باشد. پاداش های شکل (سیگنال میانگین) یا بوتستراپ با تقلید (فاز 9 · 09).
  • Reward hacking.بهینه سازی پاداش پراکسی اغلب باعث ایجاد رفتار بیماری می شود. عامل مسابقه قایق OpenAI در دایره ها چرخش می کند و به جای پایان دادن به مسابقه، برای همیشه قدرت را جمع می کند. همیشه پاداش را از نتیجه هدف تعریف کنید، نه پراکسی.
  • Discount mis-spec. γ = 1در یک کار افق بی نهایت هر مقدار بی نهایت را می کند. همیشه با افق محدود یاγ < 1. .
  • Reward scale.پاداش {+100، -100} در مقابل {+1, -1} سیاست های مطلوب یکسان اما شدت گرادینت بسیار متفاوت را ارائه می دهد.[-1, 1]- قبل از اتصال به PPO/DQN

ازش استفاده کن

ستک 2026 هر خط لوله RL را به یک MDP کاهش می دهد قبل از لمس کردن کد:

SituationStateActionRewardγ
Control (locomotion, manipulation)Joint angles + velocitiesContinuous torquesTask-specific shaped0.99
Games (chess, Go, poker)Board + historyLegal moveWin=+1 / loss=-11.0 (finite)
Inventory / pricingStock + demandOrder qtyRevenue - cost0.95
RLHF for LLMsContext tokensNext tokenReward-model score at end1.0 (episode ~200 tokens)
GRPO for reasoningPrompt + partial responseNext tokenVerifier 0/1 at end1.0

پنج تاپل را قبل از نوشتن هر حلقه آموزشی بنویسید. اکثر گزارش های خطا "RL کار نمی کند" به یک فرمول MDP که بر روی کاغذ شکسته شده است، برمی گردد.

-باده

پس ازoutputs/skill-mdp-modeler.md:

markdown---
name: mdp-modeler
description: Given a task description, produce a Markov Decision Process spec and flag formulation risks before training.
version: 1.0.0
phase: 9
lesson: 1
tags: [rl, mdp, modeling]
---

Given a task (control / game / recommendation / LLM fine-tuning), output:

1. State. Exact feature vector or tensor spec. Justify Markov property.
2. Action. Discrete set or continuous range. Dimensionality.
3. Transition. Deterministic, stochastic-with-known-model, or sample-only.
4. Reward. Function and source. Sparse vs shaped. Terminal vs per-step.
5. Discount. Value and horizon justification.

Refuse to ship any MDP where the state is non-Markovian without explicit mention of frame-stacking or recurrent state. Refuse any reward that was not defined in terms of the target outcome. Flag any `γ ≥ 1.0` on an infinite-horizon task. Flag any reward range >100x the typical step reward as a likely gradient-explosion source.

تمرینات

  1. Easy.اجرای 4×4 GridWorld و انتشار سیاست تصادفی در code/main.py. 10 هزار قسمت اجرا کن . متوسط و ستد بازگشت را گزارش کن . با بازده مطلوب (-6) مقایسه کن
  2. Medium.فرار کنpolicy_evaluationباγ ∈ {0.5, 0.9, 0.99}برای سیاست تصادفی یکسره.Vتوضیح دهید چرا ارزش های حالت نزدیک ترمینال با افزایش سریعتر رشد می کنند.γ. .
  3. Hard.شبکه جهانی را به حالت استوکاستیک تبدیل کنید: هر عمل به سمت همسایه با احتمال حرکت می کند p = 0.1. دوباره بررسي سيستم يكيده رو انجام بدهV[start]بهتر میشه یا بدتر میشه؟

اصطلاحات کلیدی

TermWhat people sayWhat it actually means
MDP"Reinforcement learning setup"Tuple (S, A, P, R, γ) satisfying the Markov property.
State"What the agent sees"Sufficient statistic for future dynamics under the chosen policy class.
Policy"Agent's behavior"Conditional distribution π(a | s) or deterministic map s → a.
Return"Total reward"Discounted sum Σ γ^t r_t from the current step.
Value"How good a state is"Expected return under π starting from s.
Q-value"How good an action is"Expected return under π starting from s with first action a.
Bellman equation"Dynamic programming recursion"Fixed-point decomposition of value / Q into one-step reward plus discounted successor value.
Discount γ"Future vs present"Geometric weight on far-future reward; effective horizon ~1/(1-γ).

خواندن بیشتر

This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.

Browse the complete course catalog or open this lesson on GitHub.