RL-Ch8-Imitation Learning
要使Agent有人的智慧有两种手段:
强化学习(Reinforcement Learning)
模仿学习(Imitation Learning)
模仿学习,又称Learning by demonstration/apprenticeship(学徒) learning。为何会出现模仿学习呢?
与环境互动,却难以明确reward的数值
一些任务难以定义reward
人工设定的reward可能导致agent一些不可控的行为(撞死人)
模仿学习的方法:
- Behaviour Cloning
- Inverse Reinforcement Learning(IRL)
Behaviour Cloning
此时BC等效于监督学习,在确定的状态$s_i$下要输出$a_i$逼近专家的经验值$\hat{a_i}$。而这会出现以下问题:
- 面对突发情况,无应变能力。最后训练出来的agent在面对未采样过的状态s’时,则难以给出针对性的动作a。
- 对被模仿者的行为,将完全仿照。而这其中一部分是重要的,一部分是次要的,记忆存储单元容量有限,可能产生无效学习的现象。
第一种问题可以使用Dataset Aggression的方法进行解决。具体做法是:面对错误的数据,不进行在线修改(即单步修正),专家对错误数据给出标签,在回合结束后,本轮训练数据成为新的训练数据。
- Mismatch。监督学习中,训练数据与测试数据符合同分布,而在behaviour cloning中,训练时使用的策略是专家的$\hat{\pi}$,使用的数据是(s,a);而测试时使用的时actor的$\pi^$,使用的数据是(s’,a’)。若$\hat{\pi}=\pi^$,则采样到的(s’,a’)与(s,a)属于同分布,反之,则s’与s的分布可能会不一样,监督学习也就无从谈起了。
Inverse Reinforcement Learning(IRL)
传统的RL可表达为下图^1:

IRL可表达为下图^1:

通过专家的引入,反学习出奖励函数,以此学习最优的actor(agent的policy)。并且由于奖励函数更容易建模,而简单的奖励函数有时可以促成复杂的策略。IRL具体的操作流程如下图^1:

IRL vs. GAN
可以看出IRL与GAN有很大的相似之处,我们简单来列举下相似点^1。
IRL | GAN |
---|---|
Actor | Generator |
Reward Function | Discriminator |
![]() |
![]() |
新的研究热点
Third Person Imitation Learning
第一人称视角,手把手教导;第三人称视角,看着学。
Sentence Generation
以往的句子生成模型均是使用极大似然(maximum likelihood),缺乏创造性,使用IRL技术的SeqGAN则是更好的一种方法。