Chuyển đến nội dung chính

レッスン 16: Capstone — 現実世界の問題に対する RL エージェントの構築

プロジェクトの概要: Game AI Agent、Robot Control、または Chatbot 用 RLHF の 3 つのプロジェクトから 1 つを選択します。設計から導入までのエンドツーエンドのパイプライン。

🧠 AI と ML — レッスン 15 レッスン 16: Capstone — RL エージェントの構築 現実世界の問題

強化学習: 基礎から高度まで

パート 4: RLHF、LLM の調整と生産

xdev.asia

はじめに

Capstone プロジェクトは、RL の知識をすべて実際のエンドツーエンドの問題に適用します。以下の 3 つのプロジェクトから 1 つをお選びください。


プロジェクト 1: ゲーム AI エージェント

説明

AI ゲーム エージェントを構築します — カスタム環境からデモが可能な訓練されたエージェントまで。

技術スタック

  • 体育館カスタム環境 (スネーク、フラッピーバード、テトリス)
  • DQNまたはPPOトレーニング
  • Optuna によるハイパーパラメータの最適化
  • Gradio を使用した Web デモ

ステップ

# 1. Build custom environment
class GameEnv(gym.Env):
    # Implement reset(), step(), render()
    pass

# 2. Train agent
from stable_baselines3 import PPO
model = PPO("MlpPolicy", GameEnv(), verbose=1)
model.learn(total_timesteps=1_000_000)

# 3. Evaluate
mean_reward, std = evaluate_policy(model, GameEnv(), n_eval_episodes=100)
print(f"Score: {mean_reward:.1f} +/- {std:.1f}")

# 4. Demo
import gradio as gr
def play_game(seed):
    env = GameEnv(render_mode="rgb_array")
    frames = record_episode(model, env, seed)
    return frames

プロジェクト 2: ロボット制御

説明

MuJoCo でロボットの移動エージェントを訓練します — 歩く、走る、または操作します。

技術スタック

  • MuJoCo (アリ、ヒューマノイド、またはカスタム ロボット)
  • ドメインのランダム化による SAC トレーニング
  • TensorBoard 分析
  • Sim-to-Real 転送解析

評価

# Compare algorithms
algorithms = {
    "PPO": PPO("MlpPolicy", env),
    "SAC": SAC("MlpPolicy", env),
    "TD3": TD3("MlpPolicy", env),
}

results = {}
for name, model in algorithms.items():
    model.learn(total_timesteps=1_000_000)
    mean_reward, _ = evaluate_policy(model, env, n_eval_episodes=50)
    results[name] = mean_reward

プロジェクト 3: RLHF / DPO チャットボット

説明

DPO または RLHF を使用して、小さな LLM を人間の好みに合わせます。

技術スタック

  • ベースモデル: SmolLM または Qwen2.5 (0.5B-1.5B)
  • SFT + DPO 用の TRL ライブラリ
  • 評価:MT-Bench、AlpacaEval
  • グラディオチャットインターフェース

パイプライン

# 1. SFT
sft_trainer = SFTTrainer(model, train_dataset=sft_data)
sft_trainer.train()

# 2. DPO
dpo_trainer = DPOTrainer(model, ref_model, train_dataset=pref_data)
dpo_trainer.train()

# 3. Evaluate
# - Perplexity
# - Win rate vs base model
# - Human evaluation

# 4. Deploy
import gradio as gr
demo = gr.ChatInterface(fn=generate_response)
demo.launch()

成果物

アイテム説明重量
コードクリーンで文書化された GitHub リポジトリ30%
トレーニングログTensorBoard の視覚化、学習曲線20%
レポートアーキテクチャの決定、結果分析、アブレーション30%
デモインタラクティブなデモ (Web アプリまたはビデオ)20%

概要

強化学習: 基本から上級まで シリーズの完了おめでとうございます。

学んだ知識

パート主な内容
1. プラットフォームMDP、DP、MC、TD、Q ラーニング
2.ディープRLDQN、ポリシー勾配、PPO、SAC
3. フレームワーク体育館、SB3、MuJoCo
4. 生産RLHF、DPO、マルチエージェント、展開

さらなる開発の方向性

  • 研究: arXiv で論文を読み、結果を再現します。
  • コンテスト: Kaggle RL、NeurIPS の課題
  • オープンソース: SB3、TRL、PettingZoo に貢献
  • 経歴: RL エンジニア、AI 安全研究者、ロボティクス エンジニア