除了DQN/A3C,还有哪些高级强化学习成果

2018 年 10 月 28 日 论智
除了DQN/A3C,还有哪些高级强化学习成果
来源:Medium
编译:Bing


强化学习中很多重要的难题都围绕着两个问题:我们应该如何高效地与环境互动?如何从经验中高效学习?在这篇文章中,我想对最近的深度强化学习研究做一些调查,找到解决这两个问题的方法,其中主要会讲到三部分:

  • 分层强化学习

  • 记忆和预测建模

  • 有模型和无模型方法的结合

首先我们快速回顾下DQN和A3C这两种方法,之后会深入到最近的几篇论文中,看看它们在这一领域做出了怎样的贡献。

回顾DQN和A3C/A2C

DeepMind的深度Q网络(DQN)是深度学习应用到强化学习中实现的第一个重大突破,它利用一个神经网络学习Q函数,来玩经典雅达利游戏,例如《乓》和《打砖块》,模型可以直接将原始的像素输入转化成动作。

从算法上来说,DQN直接依赖经典的Q学习技术。在Q学习中,动作对的Q值,或者说“质量”,是根据基于经验的迭代更新来估计的。从本质上说,在每个状态采取的行动,我们都能利用接收到的实时奖励和新状态的价值来更新原始状态动作对的价值估计。

除此之外,DeepMind的A3C(Asynchronous Advantage Actor Critic)和OpenAI的变体A2C,对actor-critic方法来说都是非常成功的深度学习方法。

Actor-critic方法结合了策略梯度方法和学习价值函数。只用DQN,我们只能得到学习价值函数(Q函数),我们跟随的“策略”也只是简单的在每一步将Q值达到最大的动作。有了A3C和其他actor-critic方法,我们学习两种不同的函数:策略(或者“演员”)和价值(或者“评委”)。基于当前估计的优点,策略会调整动作的概率,价值函数也会更新基于经验和奖励的优势。策略如下:

可以看到,降至网络学习了一个基准状态值V(si;θv),有了它我们可以将目前的奖励估计R和得到的优点相比较,策略网络会根据这些优点用经典强化算法调整对数几率。

A3C之所以这么受欢迎,主要原因是它结构的平行和不同步性,具体结构不是本文重点讨论的内容,感兴趣的读者可以查看DeepMind的IMPALA论文。

DQN和A3C/A2C都是强大的基准智能体,但遇到复杂问题时,它们并不那么好用,比如可能观察补全或者在动作和奖励信号之间有延迟。所以,强化学习领域的研究者们一直致力于解决这些问题。

分层强化学习

分层强化学习是强化学习方法的一种,它从策略的多个图层中学习,每一层都负责控制不同时间下的动作。策略的最下一层负责输出环境动作,上面几层可以完成其他抽象的目标。

为什么这种方法如此受欢迎呢?首先,从认知角度来看,长久以来的研究都表示,人类和动物的行为都是有组织的。例如,当我们想做饭的时候,我会把这一任务分成好几部分完成:洗菜、切菜、烧水煮面等等。我还可以把其中的某一小任务进行替换,比如把煮面换成蒸米饭,也能完成做好一顿饭的总任务。这就说明现实世界中的任务内部是有结构的。

从技术层面来说,分层强化学习能帮助解决上述提到的第二个问题,即如何从经验中高效地学习,解决方法就是通过长期信用分配和稀疏奖励信号。在分层强化学习中,由于低层次的策略是从高层次策略分布的任务所得到的内部奖励学习的,即使奖励稀疏,也可以学到其中的小任务。另外,高层次策略生成的时间抽象可以让我们的模型处理信用分配。

说到具体工作原理,实施分层强化学习的方法有很多。最近,谷歌大脑团队的一篇论文就采取了一种简易方法,他们的模型称为HIRO。

核心思想如下:我们有两个策略层,高层策略训练的目的是为了让环境奖励R实现最大化。每一步后,高层策略都会对新动作进行采样。低层策略训练的目的是为了采取环境行动,生成与给定的目标状态相似的状态。

训练低层策略时,HIRO用的是深度确定性策略梯度(DDPG)的变体,它的内部奖励是将目前得到的观察和目标观察之间的距离进行参数化:

DDPG是另一种开创新的深度强化学习算法,它将DQN的思想扩展到了持续动作空间中。他也是另一种actor-critic方法,使用策略梯度来优化策略。

不过,HIRO绝不是唯一的分层强化学习方法。FeUdal网络出现的时间更早,它将经过学习的“目标”表示作为输入,而不是原始状态的观察。另外还有很多方法需要一定程度的手动操作或领域知识,这就限制了其泛化能力。我个人比较喜欢的最近的一项研究成果是基于人口的训练(PBT),其中他们将内部奖励看作额外的超参数,PBT在训练时人口“增长”的过程中对这些超参数进行优化。

如今,分层强化学习是非常火热的研究对象,虽然它的核心是非常直观的,但它可扩展、多任务并行、能解决强化学习中的许多基础性问题。

存储和注意力

现在让我们谈谈另外能解决长期信用分配和稀疏奖励信号问题的方法。通俗点说,我们想知道智能体如何能擅长记忆。

深度学习中的记忆总是非常有趣,科学家们经历了千辛万苦,也很难找到一种结构能打败经过良好调校的LSTM。但是,人类的记忆机制可不像LSTM。当我们从家开车去超市时,回想的都是原来走过几百次的路线记忆,而不是怎么从伦敦的一个城市到另一个城市的路线。所以说,我们的记忆是根据情景可查询的,它取决于我们在哪里、在干什么,我们的大脑知道哪部分记忆对现在有用。

在深度学习中,Neural Turing Machine是外部、关键信息存储方面论文的标杆,这也是我最喜欢的论文之一,它提出通过向量值“读取”和“写入”特定位置,利用可区分的外部存储器对神经网络进行增强。如果把它用在强化学习上会怎样?这就是最近的MERLIN结构的思想。

MERLIN有两个组成部分:基于记忆的预测器(MBP)和一个策略网络。MBP负责将观察压缩成有用的、低维的“状态变量”,将它们直接储存在关键的记忆矩阵中。

整个过程如下:对输入观察进行编码,并将其输入到MLP中,输出结果被添加到先验分布中,生成后验分布。接着,后验分布经过采样,生成一个状态变量zt。接着,zt输入到MBP的LSTM网络中,输出结果用来更新先验,并且进行读取或书写。最后,策略网络运用z_t和读取输出生成一个动作。

关键细节在与,为了保证状态表示时有用的,MBP同样经过训练需要预测当前状态下的奖励,所以学习到的表示和目前的任务要相关。

不过,MERLIN并不是唯一使用外部存储器的深度强化学习网络,早在2016年,研究者就在一个记忆Q网络中运用了这一方法,来解决Minecraft中的迷宫问题。不过这种将存储用作预测模型的方法有一些神经科学上的阻碍。

MERLIN的基于存储的预测器对所有观察进行编码,将它们与内部先验结合,生成一个“状态变量”,可以捕捉到一些表示,并将这些状态存储到长期记忆中,让智能体在未来可以做出相应的动作。

智能体、世界模型和想象力

在传统强化学习中,我们可以做无模型学习,也可以做基于模型的学习。在无模型的强化学习中,我们学着将原始环境观察直接映射到某个值或动作上。在基于模型的强化学习中,我们首先会学习一个基于原始观察的过渡模型,然后用这个模型来选择动作。

能在模型上进行计划比单纯的试错法更高效,但是,学习一个好的模型通常很困难,所以早期很多深度强化学习的成功都是无模型的(例如DQN和A3C)。

这就表示,无模型和有模型的强化学习之间的界线很模糊。现在,一种新的“Imagination-augmented Agents”算法出现了,将这两种方法结合了起来。

在Imagination-Augmented Agents(I2A)中,最终策略是一个无模型模块和有模型模块并存的函数。有模型的模块可以看做智能体对环境的“想象”,其中包含了智能体内部想象的活动轨迹。但是,关键是有模型模块在终点处有一个编码器,它可以聚集想象轨迹,并将它们进行编译,让智能体在必要的时候忽略那些想象。所以,当智能体发现它的内部模型在进行无用或不精确的想象时,它可以学习忽略模型,用无模型部分继续工作。

I2A的工作流程

和A3C以及MERLIN类似,该策略也是通过一个标准策略梯度损失进行训练,如下:

I2A之所以如此受欢迎的原因之一是,在某些情况下,这也是我们在现实中处理情况的方法。我们总是根据所处的环境下,目前的精神想法对未来做计划和预测,但我们知道,我们的精神模型可能不完全准确,尤其是当我们来到一个陌生环境中时。在这种情况下,我们就会进行试错法,就像无模型方法一样,但同时我们还会利用这一段新体验对内在精神环境进行更新。

除此之外,还有很多研究结合了有模型和无模型两种方法,例如伯克利的Temporal Difference Model等,这些研究论文都有着相同目标,即达到像无模型方法一样的性能,同时具有和基于模型方法相同的高效采样率。

结语

深度强化学习模型非常难以训练,但是正是因为这样的难度,我们想到了如此多种的解决方案。这篇文章只是对深度强化学习的不完全调查,除了本文提到了方法,还有很多针对深度强化学习的解决方案。但是希望文中所提到的关于记忆、分层和想象的方法对该领域中所遇到的挑战和瓶颈有所帮助。最后,Happy RL hacking!

原文地址:towardsdatascience.com/advanced-reinforcement-learning-6d769f529eb3

登录查看更多
12

相关内容

强化学习(RL)是机器学习的一个领域,与软件代理应如何在环境中采取行动以最大化累积奖励的概念有关。除了监督学习和非监督学习外,强化学习是三种基本的机器学习范式之一。 强化学习与监督学习的不同之处在于,不需要呈现带标签的输入/输出对,也不需要显式纠正次优动作。相反,重点是在探索(未知领域)和利用(当前知识)之间找到平衡。 该环境通常以马尔可夫决策过程(MDP)的形式陈述,因为针对这种情况的许多强化学习算法都使用动态编程技术。经典动态规划方法和强化学习算法之间的主要区别在于,后者不假设MDP的确切数学模型,并且针对无法采用精确方法的大型MDP。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等

【简介】随着深度表示学习的发展,强化学习(RL)已经成为了一个强大的学习框架,其可以在高维度空间中学习复杂的规则。这篇综述总结了深度强化学习(DRL)算法,提供了采用强化学习的自动驾驶任务的分类方法,重点介绍了算法上的关键挑战和在现实世界中将强化学习部署在自动驾驶方面的作用,以及最终评估,测试和加强强化学习和模仿学习健壮性的现有解决方案。

论文链接: https://arxiv.org/abs/2002.00444

介绍:

自动驾驶(AD)系统由多个感知级任务组成,由于采用了深度学习架构,这些任务现在已经达到了很高的精度。除了感知任务之外,自主驾驶系统还包含多个其他任务,传统的监督学习方法已经不再适用。首先,当对agent行为的预测发生变化时,从自动驾驶agent所处的环境中接收到的未来传感器观察到的结果,例如获取市区最佳驾驶速度的任务。其次,监督信号(如碰撞时间(TTC),相对于agent最佳轨迹的侧向误差)表示agent的动态变化以及环境中的不确定性。这些问题都需要定义随机损失函数来使其最大化。最后,agent需要学习当前环境新的配置参数,预测其所处的环境中每一时刻的最优决策。这表明在观察agent和其所处环境的情况下,一个高维度的空间能够给出大量唯一的配置参数。在这些场景中,我们的目标是解决一个连续决策的问题。在这篇综述中,我们将介绍强化学习的概念,强化学习是一种很有前景的解决方案和任务分类方法,特别是在驱动策略、预测感知、路径规划以及低层控制器设计等领域。我们还重点回顾了强化学习在自动驾驶领域当中各种现实的应用。最后,我们通过阐述应用当前诸如模仿学习和Q学习等强化学习算法时所面临的算力挑战和风险来激励使用者对强化学习作出改进。

章节目录:

section2: 介绍一个典型的自动驾驶系统及其各个组件。

section3: 对深度强化学习进行介绍,并简要讨论关键概念。

section4: 探讨在强化学习基本框架上对其进行更深层次,更加复杂的扩展。

section5: 对强化学习用于自动驾驶领域的所面临的问题提供一个概述。

section6: 介绍将强化学习部署到真实世界自动驾驶系统中所面临的挑战。

section7: 总结

成为VIP会员查看完整内容
0
81

指南简介

最近神经网络在计算机视觉、机器翻译和时间序列预测等问题上得到了重大突破,但它们也可以与强化学习算法相结合,创造出像AlphaGo这样令人震惊的东西。强化学习指的是面向目标的算法,它学习如何获得复杂的目标(目标)或在许多步骤中沿着特定的维度最大化;例如,在许多动作中最大化在游戏中赢得的分数。他们可以从一块白板开始,在适当的条件下,他们可以达到超人的表现。就像一个被鞭打和糖果激励的孩子,当他们做出错误的决定时,这些算法会受到惩罚,当他们做出正确的决定时,这些算法会得到奖励——这就是强化。包含深度学习的强化算法可以在围棋游戏中击败世界冠军,也可以在玩许多阿塔里电子游戏的人类专家。虽然这听起来微不足道,但与他们之前的成就相比,这是一个巨大的进步,目前的技术正在迅速进步。强化学习解决了将即时行为与其产生的延迟回报关联起来的难题。与人类一样,强化学习算法有时需要等待一段时间才能看到决策的成果。它们在延迟返回的环境中运行,在这种环境中,很难理解在许多时间步骤中哪些操作会导致哪些结果。强化学习算法可以期望在更模糊、真实的环境中执行得越来越好,同时可以从任意数量的可能动作中进行选择,而不是从视频游戏的有限选项中进行选择。也就是说,随着时间的推移,我们期望它们对实现现实世界中的目标是有价值的。Skymind将深度强化学习应用于真实世界用例的模拟,以帮助企业优化他们如何建立工厂、员工呼叫中心、建立仓库和供应链以及管理流量。

内容目录

  • 强化学习定义
  • 强化学习的领域选择
  • 状态-行为对&报酬的复概率分布
  • 机器学习与时间的关系
  • 神经网络与深度强化学习
  • 模拟与深度强化学习
  • 脚注
成为VIP会员查看完整内容
A Beginner's Guide to Deep Reinforcement Learning _ Pathmind.pdf
0
102
小贴士
相关资讯
DeepMind:用PopArt进行多任务深度强化学习
论智
22+阅读 · 2018年9月14日
一文了解强化学习
AI100
10+阅读 · 2018年8月20日
【干货】强化学习介绍
专知
9+阅读 · 2018年6月24日
强化学习——蒙特卡洛方法介绍
论智
5+阅读 · 2018年6月3日
【强化学习】强化学习/增强学习/再励学习介绍
产业智能官
9+阅读 · 2018年2月23日
【强化学习】如何开启强化学习的大门?
产业智能官
13+阅读 · 2017年9月10日
【强化学习】强化学习+深度学习=人工智能
产业智能官
40+阅读 · 2017年8月11日
相关VIP内容
专知会员服务
108+阅读 · 2020年5月22日
专知会员服务
81+阅读 · 2020年2月8日
专知会员服务
100+阅读 · 2020年2月1日
专知会员服务
146+阅读 · 2020年1月23日
专知会员服务
45+阅读 · 2020年1月16日
【强化学习】深度强化学习初学者指南
专知会员服务
102+阅读 · 2019年12月14日
相关论文
Liang Yao,Chengsheng Mao,Yuan Luo
14+阅读 · 2019年9月7日
Fréderic Godin,Anjishnu Kumar,Arpit Mittal
5+阅读 · 2019年4月3日
Risk-Aware Active Inverse Reinforcement Learning
Daniel S. Brown,Yuchen Cui,Scott Niekum
4+阅读 · 2019年1月8日
Learn What Not to Learn: Action Elimination with Deep Reinforcement Learning
Tom Zahavy,Matan Haroush,Nadav Merlis,Daniel J. Mankowitz,Shie Mannor
4+阅读 · 2018年9月6日
Antoine J. -P. Tixier
10+阅读 · 2018年8月30日
Video Summarisation by Classification with Deep Reinforcement Learning
Kaiyang Zhou,Tao Xiang,Andrea Cavallaro
4+阅读 · 2018年7月9日
Relational recurrent neural networks
Adam Santoro,Ryan Faulkner,David Raposo,Jack Rae,Mike Chrzanowski,Theophane Weber,Daan Wierstra,Oriol Vinyals,Razvan Pascanu,Timothy Lillicrap
8+阅读 · 2018年6月28日
Shikun Liu,Edward Johns,Andrew J. Davison
16+阅读 · 2018年3月28日
Tao Shen,Tianyi Zhou,Guodong Long,Jing Jiang,Sen Wang,Chengqi Zhang
16+阅读 · 2018年1月31日
Jonas Gehring,Michael Auli,David Grangier,Denis Yarats,Yann N. Dauphin
3+阅读 · 2017年7月25日
Top