2020李宏毅学习笔记——72 RL Advanced Version8.Imitation Learning

为什么要模仿学习 Imitation Learning
(也称为 learning by demonstration, apprenticeship learning)
在某些情况下:

机器也可以和环境进行互动,但是不能明显的得到reward
在某些任务中很难定义reward
人为涉及的奖励可能会得到不受控制的行为
因此需要 imitation learning: 让一个专家来示范应该如何解决问题,而机器则试着去模仿专家

行为克隆
这个方法可以看做是一个监督学习,在这个方法中,actor需要学习在某些特定的state下尽可能像专家一样行动

然而,专家只能进行有限的采样,因此需要引入Dataset Aggregation(让专家处于机器所处的state中)

Dataset Aggregation:
通过行为克隆得到一个 actor π1
使用 π1 和环境进行互动
让专家对观察对象作标签 π1
使用新的数据来训练 π2
缺点:
agent可能会复制专家所有的动作,包括一些无关的动作。如果机器只有有限的学习能力,可能会导致它复制到错误的行为。
有些行为必须被复制,但有些可以被忽略,但监督学习对所有的误差都平等处理。
在监督学习中,我们希望训练数据和测试数据有相同的分布,但是在行为克隆中,训练数据来自于专家的分布,而测试数据来自于actor,因为专家的 π 和actor的是不一样的,生成的state也是不一样的,分布可能会不相同,因此引入 IRL
Inverse Reinforcement Learning (IRL)在这里插入图片描述
在前面介绍过的RL中:环境和reward是用来生成一个actor的,但是在IRL中,没有reward function,而是用一个专家来和环境做互动并学到一个reward function,然后这个reward function才会被用来训练actor。

生成的reward可能会很简单,但也可能会导致复杂的policy
在这里插入图片描述
专家和actor都会生成对应的 trajectory.
生成的reward function需要满足专家的累积reward总是比actor的大
使用reward function来训练一个新的actor替换原来旧的actor
重复上述步骤.
这里的模型和GAN十分相似,actor就是generator,reward function就是discriminator。
(假设:专家永远是最棒的)
在这里插入图片描述