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

第 16 課:Capstone — 為現實問題建構 RL 代理

摘要項目:從 3 個項目中選擇一個:遊戲 AI 代理、機器人控製或聊天機器人的 RLHF。從設計到部署的端對端管道。

🧠 人工智慧與機器學習 — 第 15 課 第 16 課:Capstone — 建構 RL 代理 現實世界的問題

強化學習:從基礎到高級

第 4 部分:RLHF、LLM 調整和製作

亞洲開發網

簡介

Capstone 專案將所有 RL 知識應用於真正的端到端問題。從以下 3 個項目中選擇 1 個。


項目1:遊戲AI代理

描述

建立人工智慧遊戲代理程式——從自訂環境到經過培訓的可以演示的代理。

技術堆疊

  • 體育館自訂環境(蛇、Flappy Bird、俄羅斯方塊)
  • DQN 或 PPO 培训
  • 使用 Optuna 進行超參數優化
  • 帶有 Gradio 的網路演示

步骤

# 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 分析
  • 模擬到真實的傳輸分析

評價

# 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 使小型法學碩士與人們的偏好保持一致。

技術堆疊

  • 基本款: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%
演示互動式演示(網頁應用程式或影片)20%

總結

恭喜您完成強化學習:從基礎到進階系列!

###學到的知識

部分主要内容
1. 平台MDP、DP、MC、TD、Q 學習
2. 深度強化學習DQN、策略梯度、PPO、SAC
3. 框架體育館、SB3、MuJoCo
4. 生產RLHF、DPO、多重代理、部署

###進一步的發展方向

  • 研究:閱讀 arXiv 上的論文,重現結果
  • 競賽:Kaggle RL、NeurIPS 挑戰
  • 開源:為 SB3、TRL、PettingZoo 做出貢獻
  • 職業:強化學習工程師、人工智慧安全研究員、機器人工程師