深度强化学习算法的未来——样本效率研究
摘要强化学习由于其能自动适应环境而成为实现智能体的重要工具。在深度学习模型的加持下,强化学习可以在复杂任务(比如玩像素游戏)中表现出巨大潜力。然而目前的强化学习方法都需要大量的交互数据,这对于现实生活中的应用来说是无法承受的代价。在这篇文章中,我们讨论几种可能的方法来减少强化学习的样本代价,从探索(exploration)、优化(optimization)、环境建模(environment modeling)、经验迁移(experience transfer)、抽象(abstraction)五个角度来阐述。同时也讨论了在实际应用中的一些挑战,希望能对未来的研究有所启发。
简介
在生活中做决策是普遍性的行为,并且做决策也是智能体的关键性特征。实际上,对一个长期目标对决策需要有远见(the intelligence of long-term vision)和极少贪心(less greedy behaviors)的行为,并且如果是在一个陌生的环境中做决定,则需要智能体足够适应环境。Sutton在书中这样描述强化学习:强化学习研究如何在未知环境里为一个长期目标做决策的问题,因此这也是AI的研究核心。
图1智能体与环境交互
智能体通过和环境交互来探索未知区域,并从探索数据中学习策略,通常探索数据包含:环境状态变化、探索动作以及奖励信号,并通过奖励评价策略的质量(评价标准为最大化总奖励)。
这种基于探索的思想几乎用于所有的强化学习算法。从策略建模的角度来说,这些算法可被分为值函数估计算法和策略搜索算法。值函数估计算法通过估计值函数来从当前状态和动作近似表达长期奖励,而策略直接从值函数中得出。策略搜索算法直接学习策略模型。最近的一些工作更多的集中于结合值函数来学习策略模型(例如我们熟知的actor-critic算法),从而继承二者的优点。
最近几十年强化学习取得了一些成功,比如AlphaGo打败人类棋手,玩Atari游戏比人类厉害。但是这些成功都局限于数字世界,在现实生活中应用强化学习仍存在很多障碍。一个显而易见的局限性在于当前的强化学习算法具有很低的样本效率,因此需要和环境进行大量交互,但这些大量交互对于现实世界来说通常意味着付出高昂的代价。即使是在复杂的数字环境中,例如玩完整的《星际争霸》游戏,极低的样本效率也阻碍RL学习好的策略。
图2AlphaGo与李世石对决
图3智能体玩Atari游戏
就本文了解,可能有多个原因局限着样本效率。本文并不是做综述,而是分享和讨论几种可以缓和这种局限性的方法:考虑探索学习的过程中,如何高效探索环境和怎样更好地优化策略;考虑环境,怎么学习环境模型;考虑多个环境,怎样在环境间重用和迁移经验;并且更重要地,怎样抽象状态和动作。本文在每一节讨论这些问题,并且本文还讨论了在实际应用中可能不太被注意到的和需要更多关注的问题。
探索
在一个未知环境中,agent需要遍历每一个未访问的状态从而得到更好的轨迹数据。agent不能严格按照当前的策略执行,因为这是从以前的数据中学到的,也会导致遵循以前的路径。探索策略通常被用来鼓励偏离以前的路线。基础的探索方法例如-greedy和Gibbs都给输出动作注入一些随机性,即动作空间噪声,因此执行每个动作并因此访问每个状态的概率都非零。但动作空间噪声带来的问题在于生成的策略可能会在参数空间中远离当前策略或超出参数空间范围,这会给策略更新带来困难。
参数空间噪声
随机地探索参数空间(即参数空间噪声)可能有利于策略更新,Plappert等人2018年提出了参数空间噪声比动作空间噪声更加有效。Fortunato等人2018年提出了另一种可以作为动作空间噪声和参数空间噪声之间的中间方法用来得到回报。噪声网络向策略网络(尤其位于输出层附近的)添加了随机神经网络从而产生随机动作。
好奇心驱动的探索
上述的策略虽然可用但都是盲目搜索。agent可能会多次尝试使用错误的路径,因为它并不清楚该路径是否曾经被探索过,这可能是因为当前的RL算法需要大量样本的主要原因(碰运气)。
Singh等人2004年的研究表明好奇心驱使的探索比随机探索更加有效。agent记录每个状态和动作的访问次数,根据计数来将内部奖励添加到环境奖励中从而估计agent访问较少访问的状态。这种方法十几年前已经被提出了,但所用的状态空间和动作空间都是很小并且离散的。对于高维的状态空间,实现好奇心驱使策略的一个主要障碍是知道以前是否曾访问过一个状态。
Pathak等人2017年提出了内在好奇心模块(ICM,Intrinsic Curiosity Module)来克服这个障碍,它使用状态预测错误作为确定状态是否已访问的度量。同时,它利用自我监督来学习状态的低维表示。但是,内在奖励通常是延迟反馈来驱使agent学习,可能需要直接鼓励探索的机制的帮助。
优化
当经过探索后从环境中收集了一些交互数据,学习步从数据中更新模型的策略或值函数。目前,神经网络(NN)可能是作为模型的最佳选择,然而找到一个合适的NN并不是那么明确的事情。
考虑策略搜索方法,直接目标是最大化预期的长期回报,这个目标可被表示为对当前状态和动作分布的整合奖励,其中分布由策略决定。不同于固定样本的监督学习方法,RL为了达到优化目标,首先需要从策略中生成样本。一旦策略更新了,分布也会改变,并且更新后的策略必须生成新的样本。因此,优化面对的是非静态的环境,并且目标不是在当前样本上达到最佳目标值,因此有必要进行探索以找到更好的样本。
从样本中优化
主流的模型更新方法通常依赖于目标或替代目标的梯度,例如TNPG和TRPO方法,然而这些方法都只考虑来自样本的策略更新,而不涉及探索的问题。与此同时,还有另一种优化方法——从样本中优化,也称为无导数优化,它们各有优点。
无导数优化算法都具有相同的结构。根据搜索空间的一些随机样本进行初始化,从而在这些观测值的先前样本中学习了一个潜在的更好样本的区域。然后,他们从该区域生成新样本,并重复此采样和学习迭代。代表性的算法包括进化算法、贝叶斯优化等。
将无导数优化方法应用于RL的一种直接的方法是将搜索空间定义为策略参数并将目标函数作为长期奖励回报。然后,无导数优化方法尝试对不同的策略参数进行采样,并学习下一次迭代的采样位置。
无导数优化方法涉及搜索过程中的探索,因此它们可以与RL结合并承担RL的探索职责,Whiteson于2012年的工作和Pet于2018年的工作都表明这种方法在某些任务上表现的很好。
但是无导数优化方法也有局限性,例如收敛速度慢、难以扩展、噪声敏感并且没有理论保证。但这个方向上的最新进展对这些问题进行了一定的研究,包括有理论基础的无导数优化方法、高维搜索空间的扩展方法和噪声处理方法,混合优化方法。
另外一种克服无导数优化方法局限性的方案是将其余基于梯度的方法结合起来。Jaderberg等人于2017年的工作借用了无导数方法的总体思路来维护模型的样本集,而模型优化仍采用基于梯度的方法。
随机梯度郎之万动力学(Langevin dynamics)最近引起了很多关注。它也可以看作是一种混合方法,因为Langevin动力学等效于一种随机采样。但是,关于两种优化方法的混合仍然研究甚少。混合优化是一个有趣且有希望的方向,因为它既可以克服基于梯度的方法的贪婪特性,又可以克服无导数方法收敛缓慢的问题。
建立环境模型
尽管无模型的RL算法已占据了很大的研究量,但只要有地构建环境模型,基于模型的算法就可以更加有效。
一个环境模型包含状态转换函数(告诉当采取一个动作后状态应该怎么变化)、奖励函数(用来说明一个状态转换应该被如何奖励),故构建环境模型学习是监督型学习。
从某些采样路径中,可以提取转换数据集,方法是将时刻t的状态与动作一起构成输入,将t+1时刻处的状态构成输出。一旦建立了环境模型,该模型的规划就不包含现实世界的样本,因此将是提升样本效率非常理想的方法。然而,这种监督型的学习方法仅在离散或较小的状态空间中有效,而在大型/高维情况下作用甚微。
结合有模型和无模型
由于难以准确学习环境模型,因此出现了一种趋势——即agent不完全依赖于学习的环境模型来获得策略,而是从不准确的模型中提取指导信息。
Tamar等人2016年提出的值迭代网络采样规划结构化网络来实现值迭代,同时环境迭代和值迭代一起被学习,然后将值迭代的规划结构作为策略输入的增强特性。
Weber等人2018年提出了包含想象力模块的想象力增强型agent,想象力模块可以学习环境模型,并且模块的转出路径被编码为策略输入的增强特性。
Pong等人于2018年的工作没有学习环境的状态转换,而是学习了可以预测到目标距离的Q函数,这一方法可作为指导学习的及时奖励。显然地,这些涉及环境模型学习的方法可以从无模型方法中获得显着改进,从而大大改善了现状。但对随机环境进行建模依旧非常困难,并且这些环境建模方法只能在受限环境中使用,无法泛化。
手动构建环境
在许多应用中,已经手动构建了环境模型,也就是模拟器,例如飞机和机器人设计的模拟器。这些模拟器可以用较小的代价训练强化学习。但对于更复杂的应用时就很难手动构建模拟器,例如涉及买卖双方的在线零售系统就很难用粗糙的行为模型来模拟。
Shi等人于2018年基于GAN提出了一种多智能体模仿学习方法,可以从经验数据中重建人的策略,研究表明该方法可以学习得到一个叫虚拟淘宝的模拟器,该模拟器可以紧密模仿淘宝环境中的客户行为。
这项工作进一步说明了在经验数据足够的情况下,对抗学习可能具有真实模拟物理世界的能力。但这种方法将环境模型学习与策略学习分开,如果结合在一起的话,模型可能更加通用和强大。
经验迁移
人类不会做每项工作都从头做起,而是从很多任务中不断学习并积累经验。前一个任务中积累的经验可以加速在未来任务的学习进程。
类似地,一个智能体可以在之前的经验可用的前提下从一个任务中高效学习。这也是迁移强化学习的子领域,同样也被研究了几十年。所提出的方法都是下面几个方面:迁移样本,迁移表现,迁移技能或选择(这与抽象相关)。
最近的进展包含快速启动模型,Finn等人提出的MAML学习一种平均模型,但可以更新并用于不同任务,因此,该模型可以适当地更新为特定任务;同时,学习一个快速启动模型必须假设任务是窄分布(narrow distribution)。
适应任务的另外一种方式是感知环境,Peng等人提出采用LSTM网络来从交互中自动推断环境参数,Yu等人提出通过执行一些经过粗略训练的策略来探索环境来获取环境参数,在他们的实验中,有5个探测样本足以在新环境中找到良好的策略。
通过感知环境,策略学习任务被简化为仅需要少量样本的环境识别任务。但是所有这些方法仅在有限的情况下生效,目前仍然缺乏通用的迁移强化学习方法。
抽象
本文认为抽象是样本利用率问题的核心问题。通常状态空间的抽象可以提升到具有较小维度的更高级别的状态空间中,一旦这是可行的,则抽象层空间中的探索和环境建模都将变得更加高效。然而抽象是AI领域一直长期存在的问题,并且目前的研究尚欠。
分层强化学习
RL中抽象的一个特殊方向是分层强化学习(HRL),它已经发展了几十年。早期的工作包括Sutton等人通过选择进行学习,其中选择是动作的一种抽象,并由进入条件、退出条件和选择子策略来定义。
分层抽象机(HAMs)预定义了自动机是子策略,MaxQ框架通过分解子目标来学习。虽然有关自动学习层次结构的研究,但缺乏通用方法,并且层次方法严重依赖于作为先验知识给出的层次结构。
最近的研究可能会减少对手工层次结构的需求。SNN4HRL利用信息论来自动训练子策略,但仍然需要领域知识来设计内在奖励。之后的高层策略学习如何利用子策略来完成任务。选项-评价(Option-Critic)算法采用了选项(option),但没有预先的定义。使用策略梯度方法可以训练选项和训练高层策略选择选项。
FeUdal网络采用了经理(高层策略)和工人(低层策略)结构,高层策略通过给低层策略发信号来指导底层策略的行为,这样就没有明确定义的子目标或子政策。
HRL可以从层次结构中受益,因为高层策略的训练时间更短(trained with a shorter horizon),因此效率更高。然而,如何缩短训练时间还不清楚,大多数方法都迫使高层策略只在每个固定步骤中执行,同时高层策略也不能及时更新子策略。
此外,HRL可能不适合只解决一个任务。在多任务和迁移学习场景中,子策略可能被更多地定义为可以跨任务重用的策略段。并且值得关注的是,关于多级层次结构的研究很少。
符号神经网络
需要注意的是,在策略模型内部尽管常用的神经网络(NN)能够从原始输入抽象为某些概念级别,例如识别图像中的目标。但它们却不能在抽象层次上执行,一旦可以执行,策略模型便可强大到学习内部状态/动作的抽象。
值得注意的是,最近的一组研究致力于努力扩展这种NN的能力,Graves等人通过模拟记忆单元使得NN具有记忆能力,Hu等人和Evans等人给神经网络嵌入逻辑组件作为可微部分。
然而,由于当前神经网络模型中无法进行递归,推理路径必须提前扩展,这使得模型太大而无法存储。
Dai等人在神经网络中集成了完整的Prolog系统,以便网络可以使用高效的离散搜索树执行一阶逻辑推论,他们证明,从代数方程图片学习的新模型可以正确理解代数规则,因此在较长的方程上具有很强的泛化性能。故此可以设想,当神经网络模型可以用一阶逻辑推理能力进行通用抽象时,就有可能对环境进行有效建模,并可以跨任务传递其高级推理。
应用面对的挑战
除了上述讨论的问题外,真实世界的应用也会给RL带来新的挑战。第一个挑战可能是非技术性的:
认识到某应用问题是一个RL问题。
就推荐系统而言,它已经为许多公司带来大量收益,而直到最近(Hu等人2018)才将推荐系统认为是一个RL问题,这是认识RL潜在价值的关键性的一步。
动态环境
在实际的推荐系统应用中,对于推荐系统而言其环境的主要组成部分用户是不断变化的,因此环境在传统的RL算法假设中是动态的。
Chen等人确定了动态环境可能导致的两个因素:高方差和假的奖励,并采用两个技巧来减弱这些影响,然而怎样根本上改进学习算法使其能够在动态环境中推断其行为的真实结果仍然是一个以待解决的问题。
巨大的动作空间
一个大规模的推荐系统通常有大量条目,比如有成千上万的条目需要被推荐。推荐的每一项通常被定义为一个动作,然而,经典的算法通常需要对每一个离散动作做充足的探索,这就需要很多样本。
Dulac-Arnold等人2016年提出学习嵌入动作空间,其中每个点都可以映射到离散动作,同时,条目通常有它们的描述特征和类别,这些信息可以使用相似性函数将条目组织在层次树中,这可能对学习很有用,并且可能与HRL相关。
总结
文章从多个角度讨论了强化学习的样本效率问题。本文并不是综述性的文章,而是讨论了几个代表性的工作,也有一些工作涉及样本效率但未包含于本文中,例如奖励函数设计和模仿学习。
强化学习是一个快速成长的领域,新的方法和研究正生机勃勃,然而前沿的研究仍离强化学习的最终目标相去甚远,但新方法和新成果的研究仍有望将人工智能带入下一个“春天”。
本文为俞扬教授的论文Towards Sample Efficient Reinforcement Learning阅读笔记。
题目:Towards Sample Efficient Reinforcement Learning
作者:YangYu
单位:National Key Laboratory for Novel Software Technology, Nanjing University, Nanjing
会议:IJCAI 2018
页:
[1]