2026-04-30·強化学習·⏱ 約 4 分
強化学習 入門 ─ 報酬で学ぶエージェントの仕組み
AlphaGo・ChatGPT の RLHF・自動運転 ─ 強化学習の基本概念(MDP・Q-learning・Policy Gradient)を、エージェントが迷路を解く例で直感的に。
強化学習(Reinforcement Learning, RL) は、教師あり学習・教師なし学習に並ぶ第 3 のパラダイム。AlphaGo、ChatGPT の RLHF、自動運転、ロボティクス など、最先端 AI で使われています。
強化学習の枠組み
エージェントが 状態 を観測 → 行動 を選択 → 環境が次の 状態 と報酬 を返す ─ これを繰り返して 累積報酬を最大化する方策 を学ぶ。
💡 ポイント
教師あり学習は『正解との差』を最小化、強化学習は『将来含む報酬』を最大化。報酬は遅延して得られることが多い(囲碁の勝ち負けは最後だけ)。
MDP(マルコフ決定過程)
RL の数学的枠組み。 の 5 要素で定式化:
- : 状態集合
- : 行動集合
- : 遷移確率
- : 報酬関数
- : 割引率(将来の重み)
Q-learning(価値ベース)
状態行動価値関数 を学習し、最大の Q を選ぶ方策に従う。
迷路を解く Q-learning(20 行)
import numpy as np
states, actions = 16, 4 # 4x4 グリッド, 上下左右
Q = np.zeros((states, actions))
alpha, gamma, eps = 0.1, 0.95, 0.2
for episode in range(1000):
s = 0
while s != states - 1: # ゴールまで
a = np.random.choice(actions) if np.random.rand() < eps else np.argmax(Q[s])
s_next, r = step(s, a) # 環境関数(別途定義)
Q[s, a] += alpha * (r + gamma * Q[s_next].max() - Q[s, a])
s = s_nextPolicy Gradient(方策ベース)
方策 をニューラルネットでパラメータ化し、勾配上昇で報酬期待値を最大化。
実用アルゴリズム
- DQN: Q-learning + ニューラルネット + 経験再生(Atari で有名)
- A2C / A3C: Actor-Critic の並列版
- PPO: 安定性に優れた方策勾配。RLHF の標準
- SAC: 連続制御で強い、エントロピー正則化
- MuZero: モデルベース RL、AlphaZero の後継
AI エンジニアでの使いどころ
- ChatGPT の RLHF: 人間フィードバックで LLM を最適化
- 推薦システム: ユーザー反応を報酬として方策学習
- 広告入札: マルチアームバンディットの応用
- ロボティクス: シミュレーション → 実機転送
- ゲーム AI: AlphaGo・StarCraft II・Dota 2
学習リソース
- [E 資格 教科書](/certs/e-shikaku/textbook) ─ 強化学習の章
- [ベイズ統計と頻度論](/blog/bayes-vs-frequentist)
- [線形代数を AI 視点で](/blog/linear-algebra-for-ai)
- [AI Engineer Roadmap](/roadmap)
Related Articles
関連記事
- 2026-04-30学習法データサイエンティストのキャリア ─ 年収・職種・転職の現実データサイエンティスト・MLエンジニア・AIエンジニアの違い、年収レンジ、転職の戦略、ポートフォリオの作り方。実際の求人から見えた 2026 年の市場動向。
- 2026-04-30実装OpenAI API 実装入門 ─ Chat / Embeddings / Function CallingOpenAI API を使ったプロダクション開発の基礎。Chat Completion・Embedding・Function Calling・ストリーミング・コスト管理まで実装パターンを網羅。
- 2026-04-30実装Vercel で AI アプリをデプロイする ─ Next.js + AI SDK 入門Vercel にデプロイする最短ルート。Next.js の AI SDK + AI Gateway で OpenAI/Claude を統合し、ストリーミングチャット UI を 1 時間で公開する手順。