先记住一句话

强化学习让策略通过环境交互最大化轨迹回报:一个动作既影响即时 reward,也改变未来 state、未来数据和未来能获得的 reward。

定义 state/action写 transition/reward采 trajectory算 discounted return改进 policy独立评估
Agentaₜ∼π(.|sₜ)
EnvironmentP(sₜ₊₁|sₜ,aₜ)
Feedbackrₜ,sₜ₊₁,done
RL 的训练数据由当前 policy 产生;policy 改变后,未来访问到的 state distribution 也随之改变。

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, γ)
符号含义例子
Sstate space机器人位姿、速度、接触状态
Aaction space离散按钮或连续关节命令
P(s'|s,a)transition dynamics执行动作后下一个状态分布
Rreward 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 datapolicy 更新后采样分布也变化on-policy refresh、importance ratio、replay corrections

7. 一张算法坐标图

维度一端另一端
学什么value-based:Q-learning/DQNpolicy-based:REINFORCE/PPO
数据on-policy:主要用当前策略数据off-policy:可复用其他/旧策略数据
环境模型model-free:不显式预测 dynamicsmodel-based:学习/已知模型并规划或想象
动作discrete:可枚举 argmaxcontinuous:通常需要 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;后续文章沿用其符号。