要使Agent有人的智慧有两种手段:
强化学习(Reinforcement Learning)
模仿学习(Imitation Learning)
模仿学习,又称Learning by demonstration/apprenticeship(学徒) learning。为何会出现模仿学习呢?
与环境互动,却难以明确reward的数值
一些任务难以定义reward
人工设定的reward可能导致agent一些不可控的行为(撞死人)
模仿学习的方法:
此时BC等效于监督学习,在确定的状态 s i s_i si下要输出 a i a_i ai逼近专家的经验值 a i ^ \hat{a_i} ai^。而这会出现以下问题:
第一种问题可以使用Dataset Aggression的方法进行解决。具体做法是:面对错误的数据,不进行在线修改(即单步修正),专家对错误数据给出标签,在回合结束后,本轮训练数据成为新的训练数据。
传统的RL可表达为下图1:
IRL可表达为下图1:
通过专家的引入,反学习出奖励函数,以此学习最优的actor(agent的policy)。并且由于奖励函数更容易建模,而简单的奖励函数有时可以促成复杂的策略。IRL具体的操作流程如下图1:
可以看出IRL与GAN有很大的相似之处,我们简单来列举下相似点1。
IRL | GAN |
---|---|
Actor | Generator |
Reward Function | Discriminator |
第一人称视角,手把手教导;第三人称视角,看着学。
以往的句子生成模型均是使用极大似然(maximum likelihood),缺乏创造性,使用IRL技术的SeqGAN则是更好的一种方法。