先记住一句话
强化学习让策略通过环境交互最大化轨迹回报:一个动作既影响即时 reward,也改变未来 state、未来数据和未来能获得的 reward。
1. 最小交互循环
state / observation s_t
↓
policy π(a|s) → action a_t → environment
↓
reward r_t, next state s_{t+1}
一段 s₀,a₀,r₀,s₁,... 叫 trajectory/rollout/episode。机器人 action 可能是关节目标或力矩;游戏 action 是按键;LLM action 是下一个 token;图像 flow RL 中,一次 denoising transition 也可以被构造成 action。
2. MDP 的五元组
MDP = (S, A, P, R, γ)| 符号 | 含义 | 例子 |
|---|---|---|
S | state space | 机器人位姿、速度、接触状态 |
A | action space | 离散按钮或连续关节命令 |
P(s'|s,a) | transition dynamics | 执行动作后下一个状态分布 |
R | reward rule/distribution | 前进、能耗、跌倒、成功 |
γ | discount factor | 未来奖励相对当前的权重 |
Markov 假设要求当前 state 已包含预测未来所需的信息。相机图像或带延迟的传感器往往只是 observation,真实 state 不可完全见,此时更接近 POMDP;可用 history、RNN/belief state 或状态估计补足。
3. Policy 与 Return
策略 πθ(a|s) 可以是随机分布,也可以确定地输出动作。目标不是最大化一步 reward,而是期望累积回报:
G_t = r_t + γr_{t+1} + γ²r_{t+2} + ... J(θ)=E_{τ~πθ}[G₀]γ 越接近 1,远期影响越重要,估计方差和有效 horizon 也越大。episodic task 可在终止时自然截断;continuing task 还要明确平均回报或折扣目标。
4. Termination 与 Truncation
- termination:真正进入任务终止状态,如失败、成功、吸收状态;bootstrap 通常为 0。
- truncation:仅因 time limit、数据切片或机器重启停止;环境本身未终止,value target 通常仍应 bootstrap。
把所有 done 都当 terminal 会系统性低估 time-limit 附近的 value,是很多 RL 实现的隐蔽 bug。
5. Reward 是优化接口,不是评价报告
reward 告诉训练算法什么行为被强化;evaluation metric 衡量真正关心的结果。两者可以不同。例如机器人训练 reward 包含速度 tracking、姿态、能耗、动作平滑和跌倒 penalty,但最终评测还应独立报告成功率、能耗、碰撞和鲁棒性。
r = w_task r_task − w_energy‖τ·dq‖ − w_smooth‖a_t−a_{t−1}‖² − w_fail 1_fail权重改变等价于改变任务。dense shaping 能帮助学习,也可能创造捷径;稀疏成功 reward 更贴近目标,却让探索和 credit assignment 更困难。
6. RL 的三类核心困难
| 困难 | 问题 | 常见工具 |
|---|---|---|
| 探索 | 没有尝试过的行为,其回报未知 | 随机策略、entropy、ε-greedy、intrinsic reward |
| credit assignment | 终点 reward 应归功于哪些早期动作 | value/advantage、TD、GAE、stepwise reward |
| non-stationary data | policy 更新后采样分布也变化 | on-policy refresh、importance ratio、replay corrections |
7. 一张算法坐标图
| 维度 | 一端 | 另一端 |
|---|---|---|
| 学什么 | value-based:Q-learning/DQN | policy-based:REINFORCE/PPO |
| 数据 | on-policy:主要用当前策略数据 | off-policy:可复用其他/旧策略数据 |
| 环境模型 | model-free:不显式预测 dynamics | model-based:学习/已知模型并规划或想象 |
| 动作 | discrete:可枚举 argmax | continuous:通常需要 actor 或优化器 |
PPO 是 on-policy actor-critic;SAC 是 off-policy maximum-entropy actor-critic;GRPO 是 group-relative 的 online policy optimization;这些标签说明数据和更新逻辑,不表示某一个必然更先进。
8. 四个 MDP 与 return 手算
例 1:discounted return
从 t=0 起 rewards=[1,2,3],γ=0.9:G₀=1+0.9×2+0.9²×3=1+1.8+2.43=5.23。较远的 3 只贡献 2.43。
例 2:随机 transition 的期望
Action “前进”有 0.8 概率到 goal 得 +10,0.2 概率碰撞得 −5;一步 expected reward=0.8×10+0.2×(−5)=7,但风险指标可能仍不接受 20% 碰撞。
例 3:termination 与 truncation target
当前 r=1、γ=0.99、下一状态 value=4。若真正 terminal,target=1;若只是 time-limit truncation,仍应 bootstrap:1+0.99×4=4.96。把两者都置零会低估。
例 4:ε-greedy 的探索量
1000 次决策、ε=0.1,期望约 100 次随机 action、900 次 greedy action。若 4 个动作且随机均匀,非 greedy 动作合计约 75 次,而 greedy action 还会从随机分支得到约 25 次。
“reward 上升”不等于任务真的解决。策略可能利用 simulator bug、reward model 漏洞、episode length 或 reset 逻辑;必须用独立指标、视频/样本和分布外场景验证。
自测
1. 为什么 action 会改变训练数据分布?
action 改变未来 state;策略偏好某些 action 后,就更常访问对应状态并从那里采样。
2. γ=0 时策略在优化什么?
只看即时 reward,不关心动作对更远未来的影响。
3. time limit 到了为什么不一定把 bootstrap 设为 0?
time limit 是数据采集截断,不一定是环境的吸收终止;真实过程仍有未来回报。
一手资料
Sutton & Barto, Reinforcement Learning: An Introduction 系统定义 agent–environment、MDP、return 与 prediction/control;后续文章沿用其符号。