マルコフ決定過程 — 強化学習の世界の「設計図」
前回のバンディットには「状況」がありませんでした。現実では、行動すると状況そのものが変わり、次に取れる手も変わります。この連鎖を数学の言葉で書き下したものがマルコフ決定過程(MDP)。強化学習のほぼすべての問題は、この設計図の上に建っています。
1. 世界を「状態・行動・報酬」で書き写す
ある1日を考えます。あなたの調子(状態)は「元気」「疲れ」「ダウン」の3つ。各時刻に「働く」か「休む」か(行動)を選ぶと、報酬がもらえて、次の状態へ確率的に移ります。働けば成果(報酬)が出るけれど疲れやすく、ダウンしたまま働くと逆にマイナス — そんな世界です。
下のデモで実際にボタンを押して、状態 → 行動 → 報酬と次の状態、というサイクルを体感してください。矢印のラベルが遷移確率です。同じ状態で同じ行動をしても、行き先は毎回同じとは限りません。
| 状態 \ 行動 | 💼 働く の報酬 | 🛌 休む の報酬 |
|---|---|---|
| 😀 元気 | +3(絶好調の成果) | 0 |
| 😪 疲れ | +1(能率が落ちる) | 0 |
| 🤒 ダウン | −3(ミス連発) | 0 |
2. MDPの正体 — 5つ組とマルコフ性
いま遊んだ世界は、たった5つの部品で完全に記述できます。これがMDPの定義です。
- S(状態):世界の「いまの様子」の一覧。上のデモでは {元気, 疲れ, ダウン}。
- A(行動):エージェントが選べる手。{働く, 休む}。
- P(s′|s,a):状態 s で行動 a をしたとき、次に s′ へ移る確率。「元気で働く → 70%で疲れ」のような矢印のラベル。
- R(s,a):そのとき手に入る報酬。上の表そのもの。
3. 明日の100点より今日の90点 — 割引率 γ
報酬は未来にわたって延々と手に入ります。では「これから先の報酬の合計」をどう定義するか? 単純に足すと、無限に続くタスクでは合計が無限大に発散してしまい、方策の良し悪しを比べられません。そこで、1ステップ先の報酬は γ 倍、2ステップ先は γ2 倍…と未来を割り引いて足します。
下のデモは「+1 の報酬が10ステップ続く」ときの現在価値です。γ を動かして、エージェントの性格が「せっかち ⇔ 気長」に変わる様子を見てください。
γ を導入する理由は主に2つあります。
- 数学的な理由:無限に続く報酬和を有限に収束させ、比較可能にするため。
- モデル化としての理由:未来は不確かで、約束された報酬が本当にもらえるとは限らない。「1ステップ生き延びられる確率が γ」と読むこともできる。
4. 方策 π — 状態ごとの「戦略表」
エージェントの振る舞いは、各状態でどの行動を選ぶかの表で決まります。これが方策(policy)π です。確率的に選んでもよいので、一般には確率分布として書きます。
強化学習のゴールは、期待リターン Eπ[G] を最大にする方策を見つけること。世界が確率的なので、1回のリターンではなく「平均してどれだけ稼げるか」で方策を比べます。下のグリッドワールドで、性格の違う2つの方策を競走させてみましょう。
5. まとめ
- MDP = ⟨S, A, P, R, γ⟩:状態・行動・遷移確率・報酬・割引率の5点セットで「世界」を記述する。
- マルコフ性:次に起きることは「いまの状態と行動」だけで決まる。過去は状態に織り込み済み。
- 割引率 γ:未来の報酬を γt 倍で割り引く。無限和を収束させ、「せっかち度」を表現する。
- 方策 π(a|s):状態→行動の戦略表。期待リターンが最大の方策を探すのが強化学習の目的。