导航
Learning to Navigate in Cites Without a Map, NIPS2018,DeepMind
本篇是DeepMind出品的关于导航任务的文章,通过给定一系列的goal来帮助agent达到最终的目的地。网络是LSTM额外还加入了上一次的action以及reward来作为policy和V的输入,还有当前地图上的多个goal的初始distance作为额外输入。在利用辅助task帮助这一块,本文把预测agent的转向角度作为辅助task。同时根据目标的距离设置了课程学习。
辅助任务
Reinforcement Learning With Unsupervised Auxiliary Tasks, 2016, DeepMind
本篇文章对于迷宫导航问题,除了利用A3C和LSTM把图像作为特征来学习policy之外,还加入了三类辅助任务。第一种实际上是辅助的control 任务,即额外利用Q-learning来帮助学习最大化像素change或者最大化特征activating,即影响了policy的inference。实验表明这比单单加入预测像素chnage的loss更有效。而且文章指出,如果把reconstruction输入作为辅助loss,仅仅是帮助初始学习加速,而这并不能利于探索,有可能会导致学习效果不好。第二种是加入根据前面几帧预测下一帧的即时reward,即单步V(s),这个的目的是为了克服reward sparsity。第三种除了on-policy的更新value函数之外,还把replay buffer里面的有reward的部分给个优先级,再来更新一次value函数,增加sample的利用率。
Deep Reinforcement Learning for Doom using Unsupervised Auxiliary Tasks, 2018, Greece
本篇文章是应用上一篇“Reinforcement Learning With Unsupervised Auxiliary Tasks”的辅助任务来帮助学习DooM游戏。即value函数replay,单步reward预测,利用n-step Q-learning来最大化像素change。
学习方法
Learning to Act by Predicting the Future, 2017, Intel labs
本篇文章是类似于monte carlo方法的监督学习。直接把未来n步跟当前帧的measurement差值当作监督信号,然后用当前帧的observation,action,goal当作输入来监督学习。在VizDoom游戏中,此方法打败了DQN,A3C等方法,赢得了2016年的冠军。
Universal Value Function Approximators, ICML2015, DeepMind
本篇文章是把value函数不单单只考虑s作为输入,还考虑了不同的goal作为输入。这样一来可以做transfer learning。有几种不同的组合这两个输入的方式。第一种是直接concate再过FC。第二种是先做FC再concate,可以考虑共享底层参数。此外对于第二种方法,还可以额外的通过matrix factorisation来先得到s和g的各自的embedding,再用此embedding来约束网络中的s和g的特征表示。
探索
Curiosity-driven Exploration by Self-supervised Prediction, ICML2017, Berkeley
此篇文章提出了curiosity来帮助克服reward sparsity的问题。主要思想是用当前s和a来预测下一个s‘,把预测的loss当成reward来学习,同时为了得到提取s的合适方式,再加入一个任务:用s和s‘来预测a,从而得到提取s的网络结构。
Exploration by Random Network Distillation, 2018, OpenAI
此篇文章是基于上一篇“Curiosity-driven Exploration by Self-supervised Prediction”的改进版本。本篇文章说明其实我们要的只是说当前的s和a我们有没有见到过,即我们要的是一个记录table。所以文章单单通过给出一个初始化好的网络d,然后用另外一个网络来预测网络d的输出。相比上一篇文章,此方法的好处是可以避免“noisy-TV”的问题,因为我们的target是确定性的。
ViZDoom比赛
ViZDoom Competitions: Playing Doom fom Pixels, 2018, Poland
此文章总结了2016和2017年举办的两届Visual Doom AI比赛的结果。首先说明了为什么选择VizDoom而不是DeepMind Lab或者Project Malmo。2016年前几名的方法分别是:F1,结合A3C和课程学习;IntelAct,类似DQN但是实际上是监督学习,预测几帧之后的measurement,同时还加入了辅助任务;Arnold,DRQN并分成了两个阶段,导航和对战。2017年前几名的方法是:Marvin,先用人类数据pre-train,然后用A3C来跟内置的bot self-play;Axon,先用人类数据pretrain,再从小的任务上学习基本的导航或者开火操作,再来跟F1对战;YanShi,结合了SLAM,MCTS,
Inverse RL
Algorithms for inverse reinforcement learning, ICML2000, Andrew Ng
此篇文章提出了inverse RL的概念
Apprenticeship Learning via Inverse Reinforcement Learning, ICML2004, Andrew Ng
此文章在上一篇文章“Algorithms for inverse reinforcement learning”的基础上提出了学徒学习概念,基于假设reward是feature的线性组合。此方法循环着更新reward的参数和policy直到policy和expert的差值小于阈值。
Relative Entropy Inverse Reinforcement Learning, AISTATS2011, Tubingen
如果用Apprenticeship Learning来求解对应的reward,可能我们可以找到很多满足其条件的reward。2008年有人提出了maximum entropy IRL方法,也就是在满足Apprenticeship Learning条件的基础上额外找到的policy应该是最小化policy和demo的entropy。但是之前的方法包括maximum entropy IRL都是在环境已知的情况下求解,这篇文章想找到一个model-free的方法。在maximum entropy IRL求解的过程中,对于需要用到环境的地方使用importance sampling以及任意的一个policy来近似求解。
Maximum Entropy Deep Inverse Reinforcement Learning, 2016, Oxford
本篇文章是把神经网络应用在maximum entropy IRL的cost函数中,从而增加其表达能力。Maximum entropy IRL论文中的方法是线性表示,而本篇文章中直接推导在求cost的参数的时候,实际上可以表示成先对cost求导,再用cost对其参数进行求导。而maximum entropy IRL中推导出对cost求导实际上就是demo跟policy的visitation counts的区别。而这个可以在polynomial-time内利用动态规划求得,但是需要用到对环境建模。
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 IRL作为更新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情况效果更好。
Learning from Demonstration
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里面的数据去重。
Learning from Demonstrations for Shaping through Inverse Reinforcement Leanring, AAMAS2016, University
相比上面一篇利用demo库来计算势能reward方式,本篇利用了“Relative Entropy Inverse Reinforcement Learning“中的方法来根据demo得到线性的reward函数计算势能reward。并且提出了两种方式:一种是根据state作为输入得到的inverse reward来直接计算势能reward;另外一种是考虑到受时间以及action的影响,动态得根据另外的Q函数来更新势能reward。
实验结果相比HAT和上一篇SBS方法都有明显提高。在简单的任务maze上static的方法要好,在复杂的任务mario上,dynamic的方法更好。
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问题。
Deep Q-Learning from Demonstrations, AAAI18,DeepMind
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值更高的时候加入。
Reinforcement Learning from Imperfect Demonstratins, PMLR2018, UC Berkeley
本篇文章相比“Deep Q-Learning from Demonstrations”利用了maximum entropy policy learning的思想来限制未出现在demo中的action的Q值从而让学习到的policy最大可能的跟demo相近。
Reward设计
Policy invariance under reward transformations: Theory and application to reward shaping, ICML1999, Andrew Ng
本篇文章给出了在什么条件下设计的reward不会改变原本的问题:形如即可,也就是势能增量。但是本人认为有个大前提是trajecotry的结束只能是达到了目标而不是有步数等的限制,否则上面不成立。
Potential-Based Shaping and Q-Value Initialization are Equivalent, JAIR2003, University of California
本篇文章证明了对于上一篇文章“Policy invariance under reward transformations: Theory and application to reward shaping”的reward shaping方法,在现有的各类advantage-based算法中等价于让Q值初始化为对应的值。