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

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

1.1 智能体&奖励

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

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

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

        IRL 假设我们可以把人类专家的策略\pi^*(a|s)作为一个黑盒调用。

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

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

         

        因为 \pi^*(a|s) 与奖励函数 R^*(s_t,a_t) 密切相关,所以可以用某些技巧从 \pi^*(a|s) 反推出  R^*(s_t,a_t)

2 IRL的基本思想

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

         

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

 

3 从黑盒策略\pi^*(a|s)反推隐式奖励R^*(s_t,a_t)

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

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

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

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

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

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

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

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

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

 

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

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

 

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UQI-LIUWJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值