原文链接:
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
【李宏毅深度强化学习笔记】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
的方法:
- Behavior Cloning
- Inverse Reinforcement Learning (IRL)
Behavior Cloning
Behavior Cloning其实和监督学习(supervised learning)是一样的。 以自动驾驶为例子,搜集很多的expert(假设是人类)驾驶资料,这些资料的状态s是开车的场景,动作a是在此场景下做出的动作。把这些资料输入到Neural Network中,使网络输出的动作能尽可能接近实际人类做出的动作,就完成任务。
但是这个过程中,
expert观察到state是有限的。比如
在实验中,让人去开车,都能顺利转弯,没有出现撞墙的情况。而这时让agent去开车,如果某一时间它没及时转弯导致处于快撞墙的state,由于缺少相应的训练资料导致agent不知道接下来怎么做。
所以这时需要引入
Dataset Aggregation稍微缓解
下这个问题。
-
让actor
π
1
π1
。 - 设定一个Reward Function,这个Reward Function强制要求expert的累计得分一定要高于actor的累计得分。
- 有了Reward Function就可以使actor去更新出更强的actor。
- 当actor能在此时的Reward Function达到很高的reward时,修改Reward Function(还是要求expert的得分一定要高于actor),让actor根据新Reward Function去更新出更强的actor。
- 重复上述步骤。
Inverse Reinforcement Learning可以实现只用很少量的expert的示范资料,就训练出一个很理想的actor。
看了以上的步骤,可以想到,actor和reward function就对应类似于GAN的generator和discriminator。通过reward function的不断修改,使actor越来越接近expert的水平。