Applying Expert Data into RL

方法一:先用expert数据(s,a)监督训练pre-train policy网络,再继续RL训练。但是需要expert数据量够大, 不然容易陷入过拟合影响初始的exploit。

Mastering the game of Go with deep neural networks and tree search, Nature2016, DeepMind

AlphaGo的论文,先利用大量的人类数据来做pre-train。

ViZDoom Competitions: Playing Doom fom Pixels, 2018, Poland

此文章总结了2016和2017年举办的两届Visual Doom AI比赛的结果。2017年前几名并且利用人类数据的方法有:Marvin,先用人类数据pre-train,然后用A3C来跟内置的bot self-play;Axon,先用人类数据pretrain,再从小的任务上学习基本的导航或者开火操作,再来跟F1对战学习。

方法二:在训练RL的时候同时利用expert数据(s,a)来监督训练policy网络,并逐渐衰减其权重

Imitation Learning with Concurrent Actions in 3D Games, 2018, Sweden

本篇文章是关于如何利用expert数据来做imitation learning从而帮助RL学习,同时考虑了输出是multi-action的情况。文章解释传统的先用expert数据来pre-train policy或者value函数,再进行自我学习的方式效果并没有保证,反而因为数据量不够导致过拟合到expert数据,除非数据量够大。所以本篇文字从用另外一个方式利用expert数据:作为RL的一个regularize,即在训练RL的同时也用expert数据来监督训练RL网络。而如果value网络也用expert数据监督训练,会造成效果下降和不稳定,所以文章只用它来训练policy网络。同时为了防止过拟合,加入高斯噪声和dropout。并且此IL loss的权重是线性衰减的。

实验表明single-action相比multi-action探索的更慢,但是后面会超过,由于后者会有credit assignment问题。

方法三:把expert数据(s,a,r,s')加入到DQN的replay buffer里面,同时加入imitation learning的loss。

Deep Q-Learning from Demonstrations, AAAI18,https://danieltakeshi.github.io/2019/04/30/il-and-rl/

deepmind的一篇文章,结合了imitation learning跟DQN一起学习。这里直接把expert data放进他们的replay buffer里面,然后在开始的时候只用expert data来训练Q,后面再按照一定比例把expert data跟explored data一起训练。其中对于expert data,额外加入了一个监督的loss,即保证expert data的action的Q值最大,但同时加了个ground,保证未见到的其他action不会被propagate掉。但是这个方法由于还要用expert data来训练DQN,所以需要expert data的形式是(s,a,r,s')而不单单是现有的(s,a)就可以了。另外还加入了n-step的Q loss可以让expert data利用率更高。

Overcoming Exploration in Reinforcement Learning with Demonstrations, ICRA2018

跟上一篇类似,这篇文章根据DDPG算法把expert data加入到replay buffer里面。最主要的不同点就是监督loss换成了action距离的square loss,同时只有在expert action比actor预测出来的action Q值更高的时候加入。

方法四:把expert数据(s,a)构建一个数据库,然后根据RL产的(s,a)对跟这个库里面数据的相似度构建势能dense reward。

Reinforcement Learning from Demonstration through Shaping, IJCAI2015, Brussel

此文章考虑了如果demon不是最优,或者cover不全面的情况下,如何利用demon来帮助RL训练。文章假设sparse reward也是已知的,那么要解决的就是如何利用demo来作为bias加速收敛。基本思想就是如果(s,a)出现在了demo里面,那么”Policy invariance under reward transformations: Theory and application to reward shaping”中的则有高的势能,否则是低势能。文章用multi-variate Guassian来衡量(s,a)对的相似度:如果两个(s,a)对中的action不一样,则相似度是0,否则利用多维高斯来计算s和s’的差距。一个(s,a)对的势能是它跟demo中的其他对的距离最大值。

实验跟HAT,一个利用demo来学习policy从而初始化Q函数的方法,相比较。HAT在domo数据很少的情况下并不能帮助RL收敛的更快,反而会影响收敛效果。相比起来,本文章的方法在domo数据很少的时候效果都会很好。但是如果demo数据足够大,那么本文章的效果并不能超过HAT或者imitation learning,原因是本文章利用demo的方法是locally,对噪音比较敏感。

文章还建议可以利用k-d tree来查找(s,a)对的距离,并且可以对demo里面的数据去重。

方法五:Inverse RL,利用expert数据构建reward从而帮助RL训练

Guided Cost Learning: Deep Inverse Optimal Control via Policy Optimization, ICML2016, Berkeley 

本篇文章相比Apprenticeship Learning或者一般的inverse RL增加了两个方面的拓展:cost表示形式不再单单是线性的,而是用神经网络;另外,把cost learning跟policy optimization放在一起进行,用sample的数据同时更新这两部分,而不是像之前一样先根据现有的cost求得opimal policy再来更新cost。文章是把maximum entropy RL作为更新policy的方法。为了regularize复杂的cost网络,文章加入两种term,一个是让trajectory的cost变化rate不要太variant,一个是trajecotry的cost变化量不要太大。

Generative Adversarial Imitation Learning, 2016, Stanford

GAIL,形如GAN的方式来利用expert数据的分布监督训练RL产的(s,a)对。是目前最流行的inverse RL方法。也是跟GCL一样是根据maximum causal entropy RL开始,加入了对cost函数的regulaze,然后证明了实际上我们要学习的最优的policy的形式跟这个regulize有关。另外也证明了Apprenticeship Learning也对应着特定的regulize。结合Apprenticeship Learning的regulize和constant regulize的优劣,文章给出了另外一种regulaze,而其等价于GAN的形式。

另外我们这边做过实验,可以把GAIL构建的reward当做现有的sparse reward的补充,也可以帮助实验加速收敛

Imitating Driver Behavior with Generative Adversarial Networks, 2017, Stanford

利用GAIL来学习自动驾驶,并且加入GRU到policy结构中。实验效果超过imitation learning。文章说如果把之前的action作为输入给进去,效果会变差。

Learning Robust Rewards with Adversarial Inverse Reinforcement Learning, 2018, Berkeley 

文章是GAIL算法的延伸,针对环境transfer情况效果更好。

你可能感兴趣的:(Applying Expert Data into RL)