AI・機械学習
初級

Reinforcement Learning(リインフォースメントラーニング)

Reinforcement Learningは、人工知能・機械学習分野における重要な概念・技術です。

0 回閲覧
0 いいね
2026/4/25 更新
関連タグ
AI
機械学習
初心者向け

Reinforcement Learning(強化学習)

概要

Reinforcement Learning(強化学習、RL)は、エージェントが環境と相互作用しながら、報酬を最大化するような行動を学習する機械学習パラダイムです。教師あり学習のように明示的な正解ラベルはなく、行動の結果として得られる報酬を通じて最適な戦略(方策)を獲得します。ゲーム AI、ロボット制御、自動運転、推薦システム、LLM の RLHF など幅広く応用されています。

基本概念

エージェントと環境

  • Agent(エージェント): 学習する主体
  • Environment(環境): エージェントが相互作用する世界
  • State(状態): 環境の現在の状況
  • Action(行動): エージェントの選択肢
  • Reward(報酬): 行動の結果として得られる数値

学習の流れ

  1. 観測: エージェントが状態 s_t を観測
  2. 行動選択: 方策 π に基づいて行動 a_t を選択
  3. 実行: 環境で a_t を実行
  4. 報酬取得: r_t と次状態 s_{t+1} を獲得
  5. 更新: 経験から方策または価値関数を更新
  6. 反復: 目標達成まで繰り返し

主要な用語

Policy(方策)

状態から行動への対応付け:π(a|s)

Value Function(価値関数)

  • V(s): 状態価値、その状態の良さ
  • Q(s, a): 行動価値、状態 s で行動 a を取る価値

Reward Signal(報酬信号)

  • 即時報酬: r_t
  • 累積報酬: G_t = Σ γ^k × r_{t+k}
  • γ(割引率): 将来報酬の減衰(0〜1)

Exploration vs Exploitation

  • 探索: 新しい行動を試す
  • 活用: 既知の良い行動を選ぶ
  • ε-greedy: 確率 ε で探索、1-ε で活用

主要なアルゴリズム

1. 値ベース(Value-based)

Q-Learning

Q(s,a) ← Q(s,a) + α[r + γ × max Q(s',a') - Q(s,a)]
  • Off-policy: 挙動方策と学習方策が異なる
  • 代表例: Watkins の Q-Learning(1989)

SARSA

Q(s,a) ← Q(s,a) + α[r + γ × Q(s',a') - Q(s,a)]
  • On-policy: 実際の行動を使用
  • 安全性: Q-Learning より保守的

DQN(Deep Q-Network)

  • DeepMind、2013: Nature 論文
  • 革新: Atari ゲーム人間超え
  • 技術: CNN + Q-Learning + Experience Replay + Target Network

2. 方策ベース(Policy-based)

REINFORCE

  • 方策勾配定理: 方策を直接最適化
  • 高分散: サンプル効率が悪い
  • 改善: Baseline の追加

Policy Gradient

∇θ J(θ) = E[∇θ log π(a|s,θ) × G_t]

PPO(Proximal Policy Optimization)

  • OpenAI、2017: 現在の主流
  • 安定性: クリッピングで大きな更新を抑制
  • 実装容易: 広範に採用

TRPO(Trust Region Policy Optimization)

  • 制約最適化: KL ダイバージェンスで制限
  • 保守的: 安定するが計算重い

3. Actor-Critic

方策と価値関数を同時学習:

  • A2C: Advantage Actor-Critic
  • A3C: Asynchronous(並列)
  • DDPG: 連続行動空間
  • SAC(Soft Actor-Critic): エントロピー正則化

深層強化学習(Deep RL)

ニューラルネットを関数近似器として使用:

  • DQN: 2013、Atari ゲーム
  • AlphaGo: 2016、囲碁で世界チャンピオン勝利
  • AlphaZero: 2017、ゼロから自己対戦で学習
  • MuZero: 2020、モデルベース RL
  • Dreamer: 2021、世界モデル

主要な応用

ゲーム

  • Atari: DQN、Rainbow
  • 囲碁: AlphaGo、AlphaZero
  • チェス: AlphaZero
  • StarCraft II: AlphaStar
  • Dota 2: OpenAI Five
  • Minecraft: DreamerV3

ロボット制御

  • 歩行: 二足歩行、四足歩行
  • 器用な操作: Rubik's Cube(OpenAI)
  • 倉庫ロボット: 在庫管理

自動運転

  • ドライビングポリシー: Waymo、Tesla
  • シミュレーション学習: CARLA
  • Sim-to-Real: 実環境への転移

推薦システム

  • コンテンツ推薦: YouTube、Netflix
  • 広告最適化: Google、Facebook
  • 動的価格設定: Amazon

金融

  • アルゴリズム取引: 高頻度取引
  • ポートフォリオ最適化
  • リスク管理

自然言語処理

  • RLHF: ChatGPT、Claude、Gemini の学習
  • 対話システム
  • 機械翻訳

RLHF(Reinforcement Learning from Human Feedback)

現代の LLM の学習で重要:

手順

  1. Pre-training: 大規模コーパスで言語モデル学習
  2. SFT(Supervised Fine-Tuning): デモ例で教師あり学習
  3. Reward Model: 人間の選好から報酬モデル学習
  4. PPO: 報酬モデルで方策最適化

効果

  • 指示従順: ユーザーの意図に沿う
  • 安全性: 有害な応答を抑制
  • スタイル: 丁寧、簡潔、正確

主要なライブラリ

Python

  • Stable-Baselines3: 実装が豊富、初心者向け
  • Ray RLlib: 大規模分散学習
  • CleanRL: 教育的、シンプル
  • Tianshou: PyTorch ベース、高速
  • PFRL: PreferredAI、日本製

環境シミュレータ

  • Gym / Gymnasium: 標準インターフェース
  • MuJoCo: 物理シミュレーション
  • Isaac Gym: GPU ベース、NVIDIA
  • DeepMind Control: 連続制御
  • Unity ML-Agents: ゲーム環境

実装例(Stable-Baselines3)

import gymnasium as gym
from stable_baselines3 import PPO

# 環境作成
env = gym.make('CartPole-v1')

# モデル作成
model = PPO('MlpPolicy', env, verbose=1)

# 学習
model.learn(total_timesteps=100000)

# 評価
obs, _ = env.reset()
for _ in range(1000):
    action, _ = model.predict(obs, deterministic=True)
    obs, reward, terminated, truncated, _ = env.step(action)
    if terminated or truncated:
        obs, _ = env.reset()

課題と限界

1. サンプル効率

  • 必要データ: 数百万〜数十億ステップ
  • 対策: Model-based RL、Offline RL

2. 報酬設計

  • Reward Shaping: 良い報酬の設計が困難
  • Sparse Reward: まれにしか得られない報酬
  • Reward Hacking: 意図しない最適化

3. 安全性

  • 探索リスク: 実環境で危険な行動
  • Safe RL: 制約付き強化学習

4. 汎化

  • オーバーフィット: 特定環境に特化
  • Domain Randomization: 多様な環境で学習

自作 PC での強化学習

必要なスペック

用途CPUGPUメモリ
小規模(CartPole 等)Ryzen 5GTX 166016GB
中規模(Atari 等)Ryzen 7RTX 307032GB
大規模(MuJoCo)Ryzen 9RTX 409064GB
分散学習ThreadripperRTX 4090 × 2+128GB

関連用語

  • MDP(Markov Decision Process)
  • Value Function、Q-Learning
  • Policy Gradient、PPO、SAC
  • DQN、AlphaGo、AlphaZero
  • RLHF、DPO(Direct Preference Optimization)
この記事について
カテゴリーAI・機械学習
難易度初級
作成日2025/7/11