机器学习:李宏毅深度强化学习笔记(五)Imitation Learning

https://blog.csdn.net/cindy_1102/article/details/88051963

为什么要模仿学习 Imitation Learning

(也称为 learning by demonstration, apprenticeship learning)
在某些情况下:

  1. 机器也可以和环境进行互动,但是不能明显的得到reward
  2. 在某些任务中很难定义reward
  3. 人为涉及的奖励可能会得到不受控制的行为

因此需要 imitation learning: 让一个专家来示范应该如何解决问题,而机器则试着去模仿专家

行为克隆

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

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

Dataset Aggregation:

  1. 通过行为克隆得到一个 actor π1\pi_1π1​
  2. 使用 π1\pi_1π1​ 和环境进行互动
  3. 让专家对观察对象作标签 π1\pi_1π1​
  4. 使用新的数据来训练 π2\pi_2π2​

缺点:
agent可能会复制专家所有的动作,包括一些无关的动作。如果机器只有有限的学习能力,可能会导致它复制到错误的行为。
有些行为必须被复制,但有些可以被忽略,但监督学习对所有的误差都平等处理。
在监督学习中,我们希望训练数据和测试数据有相同的分布,但是在行为克隆中,训练数据来自于专家的分布,而测试数据来自于actor,因为专家的 π\piπ 和actor的是不一样的,生成的state也是不一样的,分布可能会不相同,因此引入 IRL

Inverse Reinforcement Learning (IRL)

在这里插入图片描述

在前面介绍过的RL中:环境和reward是用来生成一个actor的,但是在IRL中,没有reward function,而是用一个专家来和环境做互动并学到一个reward function,然后这个reward function才会被用来训练actor。

生成的reward可能会很简单,但也可能会导致复杂的policy
在这里插入图片描述

  1. 专家和actor都会生成对应的 trajectory.
  2. 生成的reward function需要满足专家的累积reward总是比actor的大
  3. 使用reward function来训练一个新的actor替换原来旧的actor
  4. 重复上述步骤.

这里的模型和GAN十分相似,actor就是generator,reward function就是discriminator。

(假设:专家永远是最棒的)

在这里插入图片描述

发布了88 篇原创文章 · 获赞 5 · 访问量 7937

猜你喜欢

转载自blog.csdn.net/bornfree5511/article/details/104296400
今日推荐