与其他机器学习方法相比,比如监督式学习、迁移学习、甚至非监督式学习学习相比,深度强化学习方法极其需要大量数据,而且常常不稳定,从性能上来说可能不是最好的选择。 RL一直以来只成功地应用于那些可以根据需要生成大量模拟数据的领域,比如游戏和机器人。
尽管 RL 在解决业务用例方面存在局限性,但一些 AI 专家认为,这种方法是实现人工或超人类人工通用智能(Artificial General Intelligence,AGI)的最可行策略。 DeepMind 的AlphaStar战胜了顶级的职业星际争霸玩家,这表明我们可能正处于将深层强化学习应用于实时需求、异常复杂和信息不完整的现实世界问题的前沿。
过去的一年我们看到了一些进步,这些进步可以使强化学习更加适用于现实世界领域。 这包括提高数据效率和稳定性,多任务。
一些研究人员给出了可能是2018年强化学习领域最好的文章,具体如下:
1. Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor[1]
伯克利人工智能研究团队引入了Soft Actor-Critic(SAC) ,这是一种偏离策略的最大熵深度强化学习算法,actor的目标是最大化期望报酬,同时也最大化熵。 实验证实,随机的、熵最大化的强化学习算法在性能和样本效率上都取得了显著的提高。 此外,该方法具有稳定性和可扩展性。
本文的核心思想是什么?
介绍包含三个关键因素的soft actor-critic算法:
a.具有独立的策略和价值功能网络的actor-critic体系结构;
b.制定偏离策略构想,以便能够重用先前收集的数据以提高效率;
c.熵最大化和稳定性
关键成就是什么?
在较简单的任务中,表现与baseline方法相当,但在较具挑战性的任务中,表现明显优于baseline方法;展示了在学习速度、最终性能、样本效率、稳定性和可扩展性方面的实质性改进,作者提供了在 GitHub 上实现 TensorFlow 的方法[2],还有pytorch的实现方法[3]。
2. IMPALA: Scalable Distributed Deep-RL with Importance Weighted Actor-Learner Architectures[4]
在这项研究中,DeepMind 团队试图解决多任务处理问题,强化学习领域的重要挑战之一。 为此,他们开发了一种新的分布式agent,称为Importance WeightedActor-LearnerArchitecture (IMPALA)。 这个agent利用一个完全独立的actors and learners的拓扑结构,这些参与者和学习者通过合作获得跨不同领域的知识。 Impala 结合一种新的非策略校正方法 V-trace,优于以前的方法,在数据效率和稳定性方面显示了更好的结果。
本文的核心思想是什么?
开发一个快速且可扩展的策略梯度agent——IMPALA ,它受到 A3C 架构的启发,但有一些独特的特性:
Impala 的actor收集经验(状态、动作和奖励的序列) ,然后传递给一个计算梯度的中央学习者;
Impala 可以通过单个学习机或多个学习机执行它们之间的同步更新来实现;
学习和行动过程的分离促进了整个系统吞吐量的增加。
然而,acting与learning的分离也导致了actor的策略落后于学习者,为了弥补这种滞后,研究者引入了一种偏离策略actor-critic的修正方法,称之为 V-trace。
关键成就是什么?
在多任务设置(DMLab-30和 Atari-57)中的实验表明 IMPALA 结合了 V-trace 校正算法:
实现了25万帧率的异常高的数据吞吐率(比单机 A3C 快30倍) ;
比基于 A3C 的agent更稳定,数据效率高10倍;
在 DMLab-30上的人类标准化得分为49.4% ,而基于 A3C 的代理商的得分为23.8% 。
源代码可以在 GitHub 上找到[5]。
3. Temporal Difference Models: Model-Free Deep RL for Model-Based Control[6]
伯克利人工智能研究小组探索了将无模型算法和基于模型算法的优点结合起来的方法。他们引入了时态差分模型(TDMs) ,这是一组目标条件值函数,可以通过无模型学习训练并用于基于模型的控制。 在几个连续控制任务上的实验证实,TDMs 的性能和无模型算法一样好,但学习速度和基于模型的方法一样快。
本文的核心思想是什么?
无模型 RL 算法获得了最好的渐近性能,但效率不高,而基于模型的 RL 算法效率更高,但代价是更高的渐近偏差。
时间差异模型(Temporal Difference Models)结合了无模型和基于模型的强化学习的优点:
时间序列模型是一类目标条件值函数;
这个函数预测当一个agent试图分步到达目标状态时,它在时间步骤内离目标的距离;
因为 TDM 只是另一种 Q 函数,可以用无模型算法(例如,深度确定性策略梯度)来训练它。
关键成就是什么?
在五个模拟的连续控制任务和一个真实世界的机器人任务上进行的实验证实,TDMs 结合了无模型和基于模型算法的优点,他们实现了接近无模型算法的渐近性能,但像纯粹基于模型的方法一样快速学习。对于 TDMs 的 PyTorch 实现,看看 Vitchyr Pong 的 rlkit代码[3]。
4. Addressing Function Approximation Error in Actor-Critic Methods[7]
函数逼近误差导致的价值高估问题在具有离散行为空间的强化学习问题中得到了充分的研究,研究人员认为,高估偏差在actor-critic的环境中也存在。 为了解决这个问题,他们引入了带有修剪的双 Q 学习变量的Twin Delayed Deep Deterministic policy gradient 算法(TD3) ,延迟策略更新和目标策略平滑。 在 OpenAI gym 进行的七个连续控制任务的实验证实,这种方法的性能明显优于先前的方法。
本文的核心思想是什么?
高方差导致过高估计偏差,并引起策略更新的噪声梯度,导致降低学习速度和低性能。
为了解决高方差问题,研究人员引入了TD3算法 ,该算法基于Deep Deterministic Policy Gradient算法(DDPG) ,但包括几个重要的改进。
关键成就是什么?
介绍了一种有效的方法,以解决高方差和由此产生的过高估计偏差的actor-critic方法。
在 OpenAI gym 的七个连续控制任务上对该算法进行了评估,结果表明,该算法在很大程度上优于现有算法,TD3和 DDPG 的 PyTorch 实现可以在 GitHub 上获得[8]。
5. Learning by Playing – Solving Sparse Reward Tasks from Scratch[9]
Deepmind 团队介绍了一种新的强化学习算法,称为Scheduled Auxiliary Control(SAC-X) ,它的灵感来自于我们童年时代的玩耍阶段。 该方法的核心思想是,在从零开始学习一些复杂任务之前,agent 需要首先掌握一组基本的辅助任务。 在几个具有挑战性的机器人操作任务上的实验表明,SAC-X 算法能够以可靠和高效的方式从头学习复杂的任务。
本文的核心思想是什么?
引入一种新的学习范式,称为Scheduled Auxiliary Control(SAC-X) ,它利用了这样一种观点,即为了从头学习复杂的任务,agent必须首先学习并掌握一套基本技能:
除了主要任务奖励外,还有一系列辅助奖励用于处理辅助任务。 辅助任务鼓励agent控制自己的感官观察(如图像、本体感觉、触觉传感器)。
agent自己决定下一个目标是什么(辅助任务还是目标任务)。 这是通过一个调度模块决定的,该模块通过meta-learning算法进行学习,目标是最大限度地提高主要任务的进度。
学习是在非策略的情况下执行的,这样每个策略都可以从所有其他策略生成的数据中学习。
关键成就是什么?
通过几个具有挑战性的机器人任务的模拟实验以及真实机器人实验表明,该算法能够从头开始解决他得到的所有任务,它甚至可以直接在一个真正的机器人手臂从头学习;
学习过程是高效的,在 GitHub 上提供了 SAC-X RL 算法的 PyTorch 实现[10]。
6. Hierarchical Imitation and Reinforcement Learning[11]
本文提出了一种将模仿学习和强化学习相结合的分层指导框架来解决可以分为子任务的问题。 为了使expert的努力和成本最小化,研究人员提出了一种方法,即expert主要提供高层次的反馈(例如,子目标是否被正确定义) ,并且只在必要时(例如,子目标被正确定义但子策略失败)才深入子任务本身。 实验表明,层次指导框架学习速度远快于层次 RL;跟标准 IL比较,需要更少的expert反馈。
本文的核心思想是什么?
介绍一种算法框架,称为层次指导,它利用了潜在问题的层次结构:
expert用正确的宏观动作(子目标)标记高层次的轨迹;
如果正确选择了宏观操作并且子策略是正确的,expert只需验证这一点;
如果宏操作选择错误,expert不会研究相应的子策略;
如果宏操作选择正确,但子策略失败,则expert将子策略标记为错误,并显示正确的低层轨迹。
在 il / rl 混合模式下,通过模仿学习负责选择正确宏观行为的元控制器,通过强化学习学习子策略。
关键成就是什么?
在一个具有挑战性的maze域和 Montezuma’s Revenge 实验表明:
等级 IL 比标准 IL 需要更少的标签,但是与纯 RL 相比,这种适度的expert反馈促进了性能的显著提高。作者在 GitHub 上开源了分层模仿学习和强化学习的 TensorFlow实现[12]。
7. Unsupervised Predictive Memory in a Goal-Directed Agent[13]
在三维虚拟现实环境中,由于大量的信息被隐藏在agent的传感器之外,RL agent甚至在处理简单的任务时都会遇到困难。 为了解决部分可观测性的问题,DeepMind 团队引入了一种新的模型——内存、 RL 和推理网络(MERLIN)。 通过这个模型,研究人员提出了一种将记忆融入模型的新方法——他们建议通过一个预测性建模过程来引导记忆的形成。 实验表明,MERLIN 能够成功地解决来自心理学和神经科学行为研究的标准任务。
本文的核心思想是什么?
如果在任何一个给定的时间步骤中,主体能够同时访问其环境观察和与其当前状态相关的记忆,那么它就能够更好地解决有限可观察环境中的任务。
关键成就是什么?
证明了结合使用内存和预测建模可以提高 RL agent的性能,在一些任务中,它比专业的人工测试人员学习得更快,获得更高的性能。作者暂时没有提供实现代码,一些关于 MERLIN 实现的个人实验结果可以在 GitHub [14]上获得。
8. Data-Efficient Hierarchical Reinforcement Learning[15]
在这项研究中,Google brain团队寻求开发层次强化学习算法的方法,这种算法不需要标准 RL 算法之外的额外假设,并且相对较少数量的交互样本。 其关键思想是有两层策略,低层控制器监督目标,目标由高层控制器自动学习和提出。 为了提高效率,高级和低级的策略都是利用具有具体纠正的策略偏离经验来学习的。 实验结果表明,本文提出的方法在具有高抽样效率的同时,性能优于先前的技术。
本文的核心思想是什么?
引入一个称为 HIRO 的多级 HRL agent,它与其他 HRL 方法不同,因为它具有通用性和数据效率,与以前在目标设定模型中运作的工作不同,HIRO 方法直接使用状态作为目标。
关键成就是什么?
结合运动和基本物体相互作用的复杂任务实验表明,Hiro 方法可以学习推动物体并利用它们到达目标位置等复杂行为,只需几百万个样本,相当于几天的实时交互;在 GitHub 上可以找到这篇研究论文的开源代码[16]。
9. Visual Reinforcement Learning with Imagined Goals[17]
又是伯克利人工智能研究团队,该论文提出的算法可以在没有人类监督的情况下同时学习大量不同的任务。 关键的想法是,agent可以通过设定自己的目标,实践复杂的行为,以及学习周围的环境来准备解决不同的任务。 使用这些自主学习的技能,agent然后能够解决用户指定的用图像表示的任务。 实验结果表明,该方法能够有效地学习基于图像的复杂任务的策略,并且能够成功地应用于实际机器人操作技能的学习。
本文的核心思想是什么?
本文提出了一种基于目标的视觉任务解决框架,该框架不需要任何基本的真值状态或奖励函数;这种方法被称为带有想象目标的强化学习,训练一个由许多重要组成部分组成的生成模型。
关键成就是什么?
针对机器人任务集合的 RIG 算法在样本效率和性能方面与基于状态的”oracle”方法的结果非常接近,尽管 RIG 方法不具有对对象状态的访问。尽管直接从像素中学习,解决任务并不需要花费太多时间;完成一个目标位置的任务需要大约一个小时的实际机器人交互时间,完成物体推进的任务需要大约4.5个小时。该算法通过 Vitchyr Pong 的 rlkit 库实现[3],这些环境也可以在 GitHub [18]上公开使用。
10. Horizon: Facebook’s Open Source Applied Reinforcement Learning Platform[19]
Facebook 团队开放了应用强化学习端到端平台的资源,以推动 RL 从学术界向产业界过渡。 该平台建立在将行业适用性作为第一优先事项的原则之上,为自动和高效的数据预处理提供一条通道,允许在生产中使用灵活的模型,提供在发布前评估算法性能的机会。 经过 Horizon 训练的模特已经在 Facebook 上成功部署。
本文的核心思想是什么?
使用 Spark 管道将记录的数据转换为深层 RL 模型所需的格式的数据预处理;特征规范化——提取每个特征的元数据,并在训练和服务过程中自动对特征进行预处理;深度 RL 模型的实现,包括深度Q 网络、具有双Q 学习的深度 Q网络等。
关键成就是什么?
介绍了第一个开源的端到端平台,这个平台可以被公司用来应用强化学习技术来解决现实中的行业问题;举例说明使用 Horizon 训练的模型如何优于基于监督式学习的方法,并成功应用。第一个应用强化学习的开源平台可以在 Facebook 的 GitHub [20]资源库中找到。
参考
- ^https://arxiv.org/abs/1801.01290
- ^https://github.com/haarnoja/sac
- ^abchttps://github.com/vitchyr/rlkit
- ^https://arxiv.org/abs/1802.01561
- ^https://github.com/deepmind/scalable_agent
- ^https://arxiv.org/abs/1802.09081
- ^https://arxiv.org/abs/1802.09477
- ^https://github.com/sfujim/TD3
- ^https://arxiv.org/abs/1802.10567
- ^https://github.com/HugoCMU/pySACQ
- ^https://arxiv.org/abs/1803.00590
- ^https://github.com/hoangminhle/hierarchical_IL_RL
- ^https://arxiv.org/abs/1803.10760
- ^https://github.com/yosider/merlin
- ^https://arxiv.org/abs/1805.08296v4
- ^https://github.com/tensorflow/models/tree/master/research/efficient-hrl
- ^https://arxiv.org/abs/1807.04742v2
- ^https://github.com/vitchyr/multiworld
- ^https://arxiv.org/abs/1811.00260
- ^https://github.com/facebookresearch/Horizon