其他分享
首页 > 其他分享> > 【深度强化学习】GAIL 与 IRL 的理解

【深度强化学习】GAIL 与 IRL 的理解

作者:互联网

GAIL 与 IRL 的理解

Inverse Reinforcement Learning

逆强化学习,顾名思义,就是与强化学习的过程反着走。

Reinforcement Learning

强化学习的过程一般如下:

  1. 首先我们有一个可以互动的环境;
  2. 然后我们定义/设置一个奖励函数;
  3. Actor 通过不断与环境互动,来最大化奖励函数,找到一个最优的 actor。
    在这里插入图片描述

Inverse Reinforcement Learning

逆强化学习的思想与强化学习相反。我们现在不知道奖励函数是什么(不知道如何设置奖励函数),但有专家数据。我们假设 **专家的示例是唯一最优的!**因此,我们需要从专家的示例中学习到奖励函数,然后再通过强化学习方法最大化这个学到的奖励函数,最终得到最优的 actor。
在这里插入图片描述

具体框架如下:

  1. 首先我们有专家策略 π ^ \hat{\pi} π^ 的数据 { τ ^ 1 , τ ^ 2 , ⋯   , τ ^ N } \left\{\hat{\tau}_{1}, \hat{\tau}_{2}, \cdots, \hat{\tau}_{N}\right\} {τ^1​,τ^2​,⋯,τ^N​};
  2. 然后我们设置一个 actor,也去与环境交互,得到 { τ 1 , τ 2 , ⋯   , τ N } \left\{\tau_{1}, \tau_{2}, \cdots, \tau_{N}\right\} {τ1​,τ2​,⋯,τN​};
  3. 然后根据 1 和 2 反推出 Reward Function R R R;根据原则:The expert is always the best.
  4. 然后,我们去最大化这个奖励函数 R R R(使用强化学习方法),学出一个新的 actor,这个 actor 再去交互,返回步骤 2。
    在这里插入图片描述

Generative Adversarial Imitation Learning

GAIL 的思想就是将 GAN 运用在了 IRL 上。

Generative Adversarial Network

GAN 的思想就是我们训练一个生成器 G G G,它从一个普通的分布逐渐生成与现有数据分布相似的分布。
在这里插入图片描述

Generative Adversarial Imitation Learning

同样,我们希望我们的 actor 能够模仿专家。换句话说,就是 actor 产生的轨迹,与专家产生的轨迹越相似越好。

这里的 “相似” 指的是轨迹的分布相似!
在这里插入图片描述

具体过程如下图所示,跟我们上面讨论的 IRL 的图很像。Actor 就对应了这里的 Generator,Reward Function 就对应了这里的 Discriminator。
在这里插入图片描述

Discriminator 的训练

在判别器中,我们需要对每个轨迹打分,具体方法是可以将对轨迹的打分拆解为对 state-action 的打分,即 d ( s , a ) d(s,a) d(s,a)。然后在结合起来作为整个轨迹的打分。

训练目标是希望专家的得分更高,而 actor 的得分更低。
在这里插入图片描述

Generator 的训练

生成器的目标是使得 actor 的得分不断增大。理论上可以直接对 actor 的参数进行梯度上升的方法,来提升 D ( τ i ) D(\tau_i) D(τi​) 的得分。但实际上不能这样计算,按照 policy gradient 的 trick,可展开为右边的式子。
在这里插入图片描述

Algorithm

整个算法的流程大致如下:
在这里插入图片描述

Reference

  1. PPT:https://speech.ee.ntu.edu.tw/~tlkagk/courses/MLDS_2017/Lecture/IRL%20(v3).pdf
  2. Video:https://www.youtube.com/watch?v=rOho-2oJFeA

标签:tau,GAIL,actor,学习,奖励,IRL,Learning,深度,强化
来源: https://blog.csdn.net/weixin_41960890/article/details/123644185