模仿学习:逆向强化学习(Inverse Reinforcement Learning, IRL)
Posted UQI-LIUWJ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模仿学习:逆向强化学习(Inverse Reinforcement Learning, IRL)相关的知识,希望对你有一定的参考价值。
1 逆向强化学习的基本设定
1.1 智能体&奖励
IRL 假设智能体可以与环境交互,环境会根据智能体的动作更新状态,但是不会给出奖励。
这种设定非常符合物理世界的实际情况。 ——>比如人类驾驶汽车,与物理环境交互,根据观测做出决策,得到上面公式中轨迹,轨迹中没有奖励。 是不是汽车驾驶问题中没有奖励呢? ——>其实是有奖励的。避免碰撞、遵守交通规则、尽快到达目的地,这些操作背后都有 隐含的奖励,只是环境不会直接把奖励告诉我们而已。把奖励看做![](https://image.cha138.com/20220601/3132ff4eab6a440a820041e79276754c.jpg)
![](https://image.cha138.com/20220601/bad85ff97adc495da6750d39616888af.jpg)
1.2 人类专家的策略是一个黑盒
IRL 假设我们可以把人类专家的策略作为一个黑盒调用。
黑盒的意思是我们不知道策略的解析表达式,但是可以使用黑盒策略控制智能体与环境交互,生成 轨迹。
IRL 假设人类学习策略 的方式与强化学习相同,都是最大化回报(累计奖励)的期望
因为
![](https://image.cha138.com/20220601/23372e095c734e179c87c9afbfb8e700.jpg)
![](https://image.cha138.com/20220601/bad85ff97adc495da6750d39616888af.jpg)
![](https://image.cha138.com/20220601/23372e095c734e179c87c9afbfb8e700.jpg)
![](https://image.cha138.com/20220601/bad85ff97adc495da6750d39616888af.jpg)
2 IRL的基本思想
IRL 的目的是学到一个策略网络 π ( a | s ; θ ) ,模仿人类专家的黑箱策略![](https://image.cha138.com/20220601/23372e095c734e179c87c9afbfb8e700.jpg)
![](https://image.cha138.com/20220601/9a2fa5c6071147a7b07cbbbeaefc8401.jpg)
IRL 首先从
![](https://image.cha138.com/20220601/23372e095c734e179c87c9afbfb8e700.jpg)
![](https://image.cha138.com/20220601/bad85ff97adc495da6750d39616888af.jpg)
![](https://image.cha138.com/20220601/bad85ff97adc495da6750d39616888af.jpg)
3 从黑盒策略
反推隐式奖励![](https://image.cha138.com/20220601/bad85ff97adc495da6750d39616888af.jpg)
这是走格子的游戏,动作空间是A
=
上
,
下
,
左
,
右
。 两个表格表示两局游戏的状态,蓝色的箭头表示人类黑盒策略 π
⋆ 做出的决策。
![](https://image.cha138.com/20220601/50c570c512584b7eaa9c14788101666c.jpg)
通过上面两条轨迹,我们可以大致得到以下的结论:
-
到达绿色格子有正奖励
r
+
,原因是智能体尽量通过绿色格子。到达绿色格子的奖
励只能被收集一次,否则智能体会反复回到绿色格子.
-
到达红色格子有负奖励
r-
,因为智能体尽量避开红色格子。
- 由于左图中智能体穿 越两个红色格子去收集绿色奖励,说明 r + ≳ 2 r- 。
- 由于右图中智能体没有穿越四 个红格子去收集绿色奖励,而是穿越一个红格子,说明 r + ≲ 3 r- 。(- r- ≥-4 r- + r+)
- 到达终点有正奖励 r ∗ ,因为智能体会尽力走到终点。由于右图中的智能体穿过红色 格子,说明 r ∗ > r- 。
- 智能体尽量走最短路,说明每走一步,有一个负奖励 r → 。但是 r → 比较小,否则智能体不会绕路去收集绿色奖励。
-
从这两条轨迹中,我们只能大致推断出这几个奖励之间的关系,但是不同推断出他们的实际具体大小
- ——>因为把这些奖励同时乘以一个常量c,最终学出来的策略和不乘上这个常量c的策略是一样的
- ——>最优策略对应的奖励函数不唯一
具体如何学习ρ的方法,挖一个坑,后续再补
4 用奖励函数训练策略网络
假设我们已经学到了奖励函数 R ( s, a ; ρ ) ,那么就可以用它来训练一个策略网络 用策略网络![](https://image.cha138.com/20220601/fba705d4e80a4f8486c71d48568f91c5.jpg)
此时我们可以用学到的奖励函数 R(s, a; ρ)来计算时刻t对应的奖励:
有了这个之后,我们就可以使用REINFORCE, actor-critic 之类的方法来训练奖励函数了。
REINFORCE和 actor-critic的详细内容可见强化学习笔记:policy learning_UQI-LIUWJ的博客-CSDN博客
![](https://image.cha138.com/20220601/8165c9eb8cac4a58a3c8759e50bef624.jpg)
![](https://image.cha138.com/20220601/7e91a5ffa9f949b183a05fc49840c66a.jpg)
以上是关于模仿学习:逆向强化学习(Inverse Reinforcement Learning, IRL)的主要内容,如果未能解决你的问题,请参考以下文章
模仿学习与强化学习的结合(原理讲解与ML-Agents实现)
深度强化学习之:模仿学习(imitation learning)