强化学习基本实操

🤖 强化学习入门:Stable-Baselines3 与常见环境使用教程

强化学习(Reinforcement Learning, RL)是近年来人工智能领域的热门方向,而 Stable-Baselines3 是目前最常用、最友好的 RL 库之一。本文带你快速上手,从安装到训练智能体,并尝试不同环境。


🚀 一、安装 Stable-Baselines3

  1. 创建虚拟环境(推荐)

    bash 复制代码
    conda create -n rl python=3.10 -y
    conda activate rl
  2. 安装 stable-baselines3 与 gym

    bash 复制代码
    pip install stable-baselines3[extra] gym
  3. 验证安装

    👉 截图示例:在 Python 中 import stable_baselines3 成功运行

    python 复制代码
    import stable_baselines3
    print(stable_baselines3.__version__)

🏞️ 二、认识常见强化学习环境

Stable-Baselines3 常配合 GymGymnasium 使用,这些环境相当于游戏场景,智能体通过和环境交互学习。

  1. 经典控制任务(CartPole、MountainCar)

    • 适合入门 ✅
    • 简单二维环境,快速收敛。
    python 复制代码
    import gym
    
    env = gym.make("CartPole-v1")
    obs = env.reset()
    env.render()  # 👉 截图示例:小车 + 杆子平衡画面
  2. Atari 游戏环境(Pong、Breakout)

    • 难度更高,常用于研究论文。

    • 需安装:

      bash 复制代码
      pip install ale-py
      pip install autorom[accept-rom-license]

    👉 截图示例:Pong 游戏画面

  3. MuJoCo 物理仿真(机器人控制)

    • 常见环境:HalfCheetah-v4, Ant-v4

    • 需额外安装:

      bash 复制代码
      pip install mujoco gym[mujoco]

    👉 截图示例:机器人四足行走画面


🧠 三、Stable-Baselines3 算法使用

Stable-Baselines3 提供了常见强化学习算法的实现,比如:

  • PPO(Proximal Policy Optimization)
  • DQN(Deep Q-Network)
  • A2C(Advantage Actor Critic)
  • SAC(Soft Actor-Critic)

示例 1:用 PPO 训练 CartPole

python 复制代码
import gym
from stable_baselines3 import PPO

# 创建环境
env = gym.make("CartPole-v1")

# 定义模型
model = PPO("MlpPolicy", env, verbose=1)

# 训练 1 万步
model.learn(total_timesteps=10000)

# 保存模型
model.save("ppo_cartpole")

# 测试模型
obs = env.reset()
for _ in range(1000):
    action, _ = model.predict(obs)
    obs, reward, done, info = env.step(action)
    env.render()
    if done:
        obs = env.reset()

👉 截图示例:训练日志(loss、reward 变化)

👉 截图示例:小车学会平衡的画面


示例 2:用 DQN 玩 Atari 游戏 Pong

python 复制代码
import gym
from stable_baselines3 import DQN

env = gym.make("ALE/Pong-v5")

model = DQN("CnnPolicy", env, verbose=1)
model.learn(total_timesteps=100000)

obs = env.reset()
for _ in range(10000):
    action, _ = model.predict(obs)
    obs, reward, done, info = env.step(action)
    env.render()
    if done:
        obs = env.reset()

👉 截图示例:Pong 游戏中智能体逐渐学会接球


📊 四、结果可视化

  1. tensorboard 日志查看

    bash 复制代码
    pip install tensorboard
    tensorboard --logdir logs/

    👉 截图示例:TensorBoard reward 曲线图

  2. Matplotlib 绘制 Reward 曲线

    👉 适合自定义实验报告。


❗ 五、常见问题

  1. 环境找不到

    • 提示 gym.error.UnregisteredEnv
    • 解决:确认安装了依赖,比如 pip install gym[atari]
  2. 渲染失败

    • Windows 用户需安装:

      bash 复制代码
      pip install pyglet==1.5.27
  3. 训练太慢

    • 尝试减少 total_timesteps 或使用 n_envs 并行环境。

✅ 总结

本文带你完成了:

  • Stable-Baselines3 安装 ✔️
  • 熟悉常见环境(CartPole / Atari / MuJoCo) ✔️
  • 使用 PPO、DQN 训练智能体 ✔️
  • 可视化结果 ✔️

Recommendation: 入门可以先从 CartPole-v1 开始,再尝试 Atari 和 MuJoCo。
Next step: 尝试修改神经网络结构或超参数,比较训练效果差异。


相关推荐
CoovallyAIHub2 天前
语音AI Agent编排框架!Pipecat斩获10K+ Star,60+集成开箱即用,亚秒级对话延迟接近真人反应速度!
深度学习·算法·计算机视觉
CoovallyAIHub3 天前
Moonshine:比 Whisper 快 100 倍的端侧语音识别神器,Star 6.6K!
深度学习·算法·计算机视觉
CoovallyAIHub3 天前
速度暴涨10倍、成本暴降6倍!Mercury 2用扩散取代自回归,重新定义LLM推理速度
深度学习·算法·计算机视觉
CoovallyAIHub3 天前
OpenClaw一脚踩碎传统CV?机器终于不再只是看世界
深度学习·算法·计算机视觉
CoovallyAIHub3 天前
仅凭单目相机实现3D锥桶定位?UNet-RKNet破解自动驾驶锥桶检测难题
深度学习·算法·计算机视觉
Baihai_IDP4 天前
回头看 RLHF、PPO、DPO、GRPO 与 RLVR 的发展路径
人工智能·llm·强化学习
CoovallyAIHub8 天前
仿生学突破:SILD模型如何让无人机在电力线迷宫中发现“隐形威胁”
深度学习·算法·计算机视觉
CoovallyAIHub8 天前
从春晚机器人到零样本革命:YOLO26-Pose姿态估计实战指南
深度学习·算法·计算机视觉
CoovallyAIHub8 天前
Le-DETR:省80%预训练数据,这个实时检测Transformer刷新SOTA|Georgia Tech & 北交大
深度学习·算法·计算机视觉
CoovallyAIHub8 天前
强化学习凭什么比监督学习更聪明?RL的“聪明”并非来自算法,而是因为它学会了“挑食”
深度学习·算法·计算机视觉