强化学习实战路线
强化学习(RL)研究智能体如何通过与环境交互,根据奖励信号学习策略。与监督学习不同,动作会影响后续状态和未来可获得的奖励。
1. 核心概念
- Agent:决策主体。
- Environment:交互环境。
- State / Observation:状态或可观测信息。
- Action:动作。
- Reward:即时反馈。
- Policy:策略 。
- Return:未来奖励的折扣和。
- Value:状态或动作的长期价值。
马尔可夫决策过程(MDP)通常写作 。折扣回报:
Bellman 最优方程:
2. 算法学习顺序
- 多臂老虎机:探索与利用。
- 动态规划:Policy Evaluation、Policy Iteration、Value Iteration。
- Monte Carlo 与 Temporal Difference。
- SARSA 与 Q-Learning。
- DQN:经验回放、目标网络。
- Policy Gradient:直接优化策略。
- Actor-Critic、A2C、PPO。
- SAC、TD3 等连续控制方法。
- 离线强化学习、模仿学习和 RLHF 等扩展方向。
Q-Learning 更新:
3. 最小实验:FrozenLake Q-Learning
import gymnasium as gym
import numpy as np
env = gym.make("FrozenLake-v1", is_slippery=False)
q = np.zeros((env.observation_space.n, env.action_space.n))
rng = np.random.default_rng(42)
alpha, gamma = 0.1, 0.99
episodes, epsilon = 10_000, 0.2
for episode in range(episodes):
state, _ = env.reset(seed=episode)
done = False
while not done:
if rng.random() < epsilon:
action = env.action_space.sample()
else:
action = int(np.argmax(q[state]))
next_state, reward, terminated, truncated, _ = env.step(action)
target = reward + gamma * np.max(q[next_state]) * (not terminated)
q[state, action] += alpha * (target - q[state, action])
state = next_state
done = terminated or truncated
epsilon = max(0.02, epsilon * 0.9995)
print("Learned policy:", np.argmax(q, axis=1))
env.close()该示例使用确定性小地图帮助理解更新过程。正式实验应单独评估策略,区分训练回报与测试回报,并用多个随机种子报告均值和波动。
4. 评估与常见陷阱
- 多随机种子:RL 方差较大,不能只展示最好的一次运行。
- 样本效率:记录环境交互步数,而不仅是训练轮数。
- 稳定性:绘制学习曲线和置信区间。
- 奖励设计:检查奖励是否诱导投机行为。
- 终止状态:正确区分 terminated 与 truncated。
- 训练/评估:评估时关闭探索噪声或使用确定性策略(视算法而定)。
- 泛化:更换初始状态、环境参数和随机扰动进行测试。
5. 环境、课程与代码
- Gymnasium:标准 RL 环境接口。
- CleanRL:简洁、可读的算法实现。
- Stable-Baselines3:常用算法库。
- OpenAI Spinning Up:RL 概念与算法教学。
- Deep RL Course:实践课程。
- Minari:离线 RL 数据集工具。
6. 项目阶梯
- 多臂老虎机比较 epsilon-greedy、UCB 和 Thompson Sampling。
- FrozenLake 实现 Q-Learning 与 SARSA。
- CartPole 训练 DQN,并比较 Double DQN。
- 连续控制环境实现 PPO 或 SAC。
- 改变环境参数,评估策略鲁棒性和泛化。
- 写出奖励函数设计说明、学习曲线、计算预算和失败案例。
7. 论文阅读
- Playing Atari with Deep Reinforcement Learning:DQN。
- Human-level control through deep reinforcement learning:深度强化学习经典工作。
- Proximal Policy Optimization Algorithms:PPO。
- Soft Actor-Critic:最大熵强化学习。
- Decision Transformer:序列建模视角的决策学习。
推荐阅读
- Reinforcement Learning: An Introduction — Sutton、Barto:作者公开的第二版教材页面及 PDF。
- 结合 OpenAI Spinning Up 和 Hugging Face Deep RL Course 完成算法练习。
- 完整书单见 AI书籍与课程。