Imitation Learning 与 Inverse RL
从专家行为直接模仿,或反推出潜在奖励。
学习目标
- 区分模仿动作与推断奖励,并认识状态偏移和奖励不可辨识。
- 独立复核“同一最优动作可以由不同奖励解释”的输入、计算和解释。
- 行为克隆直接拟合动作,不要求唯一恢复奖励。
为什么重要
区分模仿动作与推断奖励,并认识状态偏移和奖励不可辨识。
学习前需要掌握
背景与问题
专家驾驶记录可以直接教网络在给定图像下输出方向盘角度,也可以用于推断专家重视的行驶目标。前者容易实现,后者更接近解释动机,但仅凭行为通常无法唯一确定真实奖励。
概念定义
行为克隆用专家状态动作做监督学习,拟合专家策略。逆强化学习从示范行为推断能解释示范的奖励或成本,再通过规划或强化学习得到策略。模仿学习是更宽的目标范畴,既可直接学策略,也可经过奖励建模。
直观理解
照着厨师每一步手势学是行为克隆;推测厨师在平衡味道、速度和成本,再按这些目标自己做,是逆强化学习。相同手势可能来自不同目标,因此推测不唯一。
核心原理
行为克隆只在专家访问分布上训练。小动作偏差可能让学习者进入专家没来过的状态,继续犯错并累积偏移;DAgger 类方法通过学习者访问状态再询问专家来缓解,但需要额外交互与标注。
逆强化学习中,许多奖励函数可以使同一策略最优,常数平移和势函数变换也可能保留行为。因而奖励解释依赖先验、函数类与理性假设,不能称为从示范恢复了唯一真实意图。
数据没有奖励时可做模仿,但普通离线价值学习还需要奖励或可计算评分。专家数据可能不覆盖错误恢复动作,部署前要专门验证偏离示范后的恢复与约束。
数学表达
行为克隆的监督目标
这是直接模仿专家动作的目标;逆强化学习另外推断奖励,两者不应混为一个损失。
变量含义
D_E专家状态动作示范πθ学习者动作分布a专家在状态 s 的动作
计算步骤
- 1两套奖励中 A 都严格优于 B。
- 2仅看到专家选 A,无法区分奖励差是 1 还是 20。
- 3更多状态与示范可以增加约束,但仍需假设与正则。
代码对应位置
示例 1同一最优动作可以由不同奖励解释:两套不同奖励均解释动作 A;示范并不唯一确定奖励尺度或偏好强度。
变量解释
| 变量 | 含义 |
|---|---|
D_E | 专家状态动作示范 |
πθ | 学习者动作分布 |
a | 专家在状态 s 的动作 |
完整数值示例
同一最优动作可以由不同奖励解释
已知条件
- 一个单步环境只有动作 A、B。
- 候选奖励一为 [2,1],候选奖励二为 [20,0];专家选择 A。
计算步骤
- 两套奖励中 A 都严格优于 B。
- 仅看到专家选 A,无法区分奖励差是 1 还是 20。
- 更多状态与示范可以增加约束,但仍需假设与正则。
计算结果
两套不同奖励均解释动作 A;示范并不唯一确定奖励尺度或偏好强度。
处理前后对比
- 行为克隆直接拟合动作,不要求唯一恢复奖励。
- 逆强化学习的奖励解释需说明可辨识假设。
计算与实现步骤
- 收集专家轨迹
- 选择 BC/IRL
- 训练
- 处理分布偏移
代码实现
示例 1
同一最优动作可以由不同奖励解释
example_01.py用途:两套不同奖励均解释动作 A;示范并不唯一确定奖励尺度或偏好强度。
candidate_rewards = [(2.0, 1.0), (20.0, 0.0)]
for rewards in candidate_rewards:
best = max(range(2), key=rewards.__getitem__)
print(f"rewards={rewards}, expert_action={'AB'[best]}")代码解析
解析始终位于完整代码下方,并按实际代码段逐项对应。
输入数据与任务
两套不同奖励均解释动作 A;示范并不唯一确定奖励尺度或偏好强度。
Step 1 · 1–4 行
输出中间参数、形状或最终指标,用于核对代码是否符合预期。
candidate_rewards = [(2.0, 1.0), (20.0, 0.0)]
for rewards in candidate_rewards:
best = max(range(2), key=rewards.__getitem__)
print(f"rewards={rewards}, expert_action={'AB'[best]}")预期输出或运行结果
rewards=(2.0, 1.0), expert_action=A rewards=(20.0, 0.0), expert_action=A
常见错误 · 3 条
- 用专家分布上的动作准确率代表闭环控制可靠。
- 声称示范唯一确定了人的真实奖励。
- 没有奖励却直接套用需要 TD target 的离线 RL。
实际应用
- 序贯决策
- 控制与资源分配
常见错误
- 用专家分布上的动作准确率代表闭环控制可靠。
- 声称示范唯一确定了人的真实奖励。
- 没有奖励却直接套用需要 TD target 的离线 RL。
扩展内容说明
本页数值均为解释机制的构造案例,不能解读为真实训练或基准性能。定义和适用条件参见 Ross 等:A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning。
算法属性与数据边界
失败模式、风险与性能
失败模式
- 用专家分布上的动作准确率代表闭环控制可靠。
- 声称示范唯一确定了人的真实奖励。
- 没有奖励却直接套用需要 TD target 的离线 RL。
风险
- 奖励函数与真实目标不一致会诱发奖励黑客。
- 部署策略的行动权限必须由环境和应用层约束。
性能考虑
- 样本效率、墙钟时间和显存占用需要分别报告。
- 应使用多个随机种子、置信区间和固定评测策略。
常见问题
没有环境奖励还能学习策略吗?
可以从示范做行为克隆,或在额外假设下推断奖励;但这不意味着可以无条件恢复最优策略或唯一真实目标。
网页是否会训练模型?
不会。所有图表使用固定种子或解析公式在浏览器本地计算,不执行页面中的示例代码。
推荐学习资料
参考库不会生成虚假资源或无效外部链接。