【李宏毅深度强化学习笔记】—8、Imitation Learning

  • Post author:
  • Post category:其他


原文链接:

https://blog.csdn.net/ACL_lihan/article/details/104111622


【李宏毅深度强化学习笔记】1、策略梯度方法(Policy Gradient)


【李宏毅深度强化学习笔记】2、Proximal Policy Optimization (PPO) 算法


【李宏毅深度强化学习笔记】3、Q-learning(Basic Idea)


【李宏毅深度强化学习笔记】4、Q-learning更高阶的算法


【李宏毅深度强化学习笔记】5、Q-learning用于连续动作 (NAF算法)


【李宏毅深度强化学习笔记】6、Actor-Critic、A2C、A3C、Pathwise Derivative Policy Gradient


【李宏毅深度强化学习笔记】7、Sparse Reward



【李宏毅深度强化学习笔记】8、Imitation Learning(本文)

——————————————————————————————————-

【李宏毅

深度强化学习

】视频地址:

https://www.bilibili.com/video/av63546968?p=8

课件地址:

http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS18.html

——————————————————————————————————-


上一篇笔记

讲了reward很稀疏的情况,但是在实际中,可能问题还会更进一步:很多场景是很难有一个明确的reward甚至没有reward。所以需要很厉害的agent或者直接由人来示范的资料,让agent跟着做。

本文会讲两个

Imitation Learning

的方法:

  1. Behavior Cloning
  2. Inverse Reinforcement Learning (IRL)

Behavior Cloning

Behavior Cloning其实和监督学习(supervised learning)是一样的。 以自动驾驶为例子,搜集很多的expert(假设是人类)驾驶资料,这些资料的状态s是开车的场景,动作a是在此场景下做出的动作。把这些资料输入到Neural Network中,使网络输出的动作能尽可能接近实际人类做出的动作,就完成任务。

但是这个过程中,

expert观察到state是有限的。比如

在实验中,让人去开车,都能顺利转弯,没有出现撞墙的情况。而这时让agent去开车,如果某一时间它没及时转弯导致处于快撞墙的state,由于缺少相应的训练资料导致agent不知道接下来怎么做。

所以这时需要引入

Dataset Aggregation稍微缓解

下这个问题。

  1. 让actor








    π


    1





    π1



  2. 设定一个Reward Function,这个Reward Function强制要求expert的累计得分一定要高于actor的累计得分。
  3. 有了Reward Function就可以使actor去更新出更强的actor。
  4. 当actor能在此时的Reward Function达到很高的reward时,修改Reward Function(还是要求expert的得分一定要高于actor),让actor根据新Reward Function去更新出更强的actor。
  5. 重复上述步骤。

Inverse Reinforcement Learning可以实现只用很少量的expert的示范资料,就训练出一个很理想的actor。

看了以上的步骤,可以想到,actor和reward function就对应类似于GAN的generator和discriminator。通过reward function的不断修改,使actor越来越接近expert的水平。