模仿学习:逆向强化学习(Inverse Reinforcement Learning, IRL)

Posted UQI-LIUWJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模仿学习:逆向强化学习(Inverse Reinforcement Learning, IRL)相关的知识,希望对你有一定的参考价值。

1 逆向强化学习的基本设定

1.1 智能体&奖励

IRL 假设智能体可以与环境交互,环境会根据智能体的动作更新状态,但是不会给出奖励。

        这种设定非常符合物理世界的实际情况。         ——>比如人类驾驶汽车,与物理环境交互,根据观测做出决策,得到上面公式中轨迹,轨迹中没有奖励。         是不是汽车驾驶问题中没有奖励呢?         ——>其实是有奖励的。避免碰撞、遵守交通规则、尽快到达目的地,这些操作背后都有 隐含的奖励,只是环境不会直接把奖励告诉我们而已。把奖励看做的函数,记作

1.2 人类专家的策略是一个黑盒

        IRL 假设我们可以把人类专家的策略作为一个黑盒调用。

        黑盒的意思是我们不知道策略的解析表达式,但是可以使用黑盒策略控制智能体与环境交互,生成 轨迹。

        IRL 假设人类学习策略 的方式与强化学习相同,都是最大化回报(累计奖励)的期望

         

        因为 与奖励函数 密切相关,所以可以用某些技巧从 反推出 

2 IRL的基本思想

        IRL 的目的是学到一个策略网络 π ( a | s ; θ ) ,模仿人类专家的黑箱策略

         

        IRL 首先从 中学习其隐含的奖励函数 ,然后利用这个奖励函数做强化学习,得到策略网络的参数 θ         我们用神经网络 R ( s, a ; ρ ) 来近似奖励函数 。神经网络 R 的输入是 s a ,输出是实数;我们需要学习它的参数 ρ

 

3 从黑盒策略反推隐式奖励

        这是走格子的游戏,动作空间是A = , , , 。 两个表格表示两局游戏的状态,蓝色的箭头表示人类黑盒策略 π 做出的决策。         

        通过上面两条轨迹,我们可以大致得到以下的结论:

  • 到达绿色格子有正奖励 r + ,原因是智能体尽量通过绿色格子。到达绿色格子的奖

    励只能被收集一次,否则智能体会反复回到绿色格子.

  • 到达红色格子有负奖励 r- ,因为智能体尽量避开红色格子。
    • 由于左图中智能体穿 越两个红色格子去收集绿色奖励,说明 r + 2 r-
    • 由于右图中智能体没有穿越四 个红格子去收集绿色奖励,而是穿越一个红格子,说明 r + 3 r-  。(- r- ≥-4 r- + r+)
  • 到达终点有正奖励 r ,因为智能体会尽力走到终点。由于右图中的智能体穿过红色 格子,说明 r > r- 
  • 智能体尽量走最短路,说明每走一步,有一个负奖励   r 。但是 r 比较小,否则智能体不会绕路去收集绿色奖励。
  • 从这两条轨迹中,我们只能大致推断出这几个奖励之间的关系,但是不同推断出他们的实际具体大小
    • ——>因为把这些奖励同时乘以一个常量c,最终学出来的策略和不乘上这个常量c的策略是一样的
    • ——>最优策略对应的奖励函数不唯一

具体如何学习ρ的方法,挖一个坑,后续再补

4 用奖励函数训练策略网络

假设我们已经学到了奖励函数 R ( s, a ; ρ ) ,那么就可以用它来训练一个策略网络 用策略网络 控制智能体与环境交互,得到一条轨迹

此时我们可以用学到的奖励函数 R(s, a; ρ)来计算时刻t对应的奖励:

 

有了这个之后,我们就可以使用REINFORCE, actor-critic 之类的方法来训练奖励函数了。

REINFORCE和 actor-critic的详细内容可见强化学习笔记:policy learning_UQI-LIUWJ的博客-CSDN博客

 

开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系

以上是关于模仿学习:逆向强化学习(Inverse Reinforcement Learning, IRL)的主要内容,如果未能解决你的问题,请参考以下文章

模仿学习与强化学习的结合(原理讲解与ML-Agents实现)

深度强化学习之:模仿学习(imitation learning)

DQN 强化学习

低数据体制下的模仿学习

论文精读:Generative Adversarial Imitation Learning(生成对抗模仿学习)

论文精读:Generative Adversarial Imitation Learning(生成对抗模仿学习)