专栏名称: 机器之心
专业的人工智能媒体和产业服务平台
目录
相关文章推荐
51好读  ›  专栏  ›  机器之心

专题 | 深度强化学习综述:从AlphaGo背后的力量到学习资源分享(附论文)

机器之心  · 公众号  · AI  · 2017-01-28 14:11

正文

选自arXiv

作者:Yuxi Li

编译:Xavier Massa、侯韵楚、吴攀



摘要


本论文将概述最近在深度强化学习(Deep Reinforcement Learning)方面喜人的进展。本文将从深度学习及强化学习的背景知识开始,包括了对实验平台的介绍。接着我们会介绍深度 Q 网络(Deep Q-Network,DQN)及其拓展、异步方法(asynchronous methods)、策略优化(policy optimization)、奖励(reward)及规划(planning)。在这之后,我会讨论注意和记忆(attention and memory)机制、非监督学习及学习去学习。随后,会讨论强化学习的各种应用,包括在游戏(特别是 AlphaGo)、机器人、口语对话系统(聊天机器人)、机器翻译、文本序列预测、神经架构设计、个性化网络服务、医疗、金融及音乐生成等方面的应用。我们会提到一些未覆盖到的主题/论文。在列举强化学习相关资源之后,我们将会以讨论结束论文。


1 导语


强化学习(RL)实际上是关于序列决策的一种工具,它能够解决包括科学研究、工程文理等学科的一系列问题(Sutton and Barto, 2017)。


增强学习及神经网络的结合可以追溯到 1990 年代(Tesauro, 1994; Bertsekas and Tsitsiklis, 1996; Schmidhuber, 2015)。而在最近深度学习的突破性进展之下(LeCun et al., 2015; Goodfellow et al., 2016),得益于大数据的普及、计算能力的提升及新的算法技术,我们正见证着强化学习的复兴(Krakovsky, 2016),特别是强化学习及深度学习的结合(也就是深度强化学习(deep RL))。


我们已见证了诸多突破性进展——深度 Q 网络(Mnih et al., 2015)、AlphaGo(Silver et al., 2016)及可微分神经计算机(Graves et al., 2016)。还有一些全新的架构及应用,包括异步方法(Mnih et al., 2016)、对抗网络架构(Dueling Network Architectures,Wang et al., 2016a)、价值迭代网络(value iteration networks,Tamar et al., 2016)、用于机器翻译的双学习(dual learning for machine translation,He et al., 2016a)、口语对话系统(spoken dialogue systems,Su et al., 2016b)、信息提取(information extraction,Narasimhan et al., 2016)、 引导性策略搜索(guided policy search,Levine et al., 2016a)、 生成对抗模仿学习(generative adversarial imitation learning,Ho and Ermon,2016)、非监督的强化及辅助学习(unsupervised reinforcement and auxiliary learning,Jaderberg et al., 2017)及神经架构设计(neural architecture design,Zoph and Le, 2017)等等。在这篇概述中,我们主要关注近几年的工作成果,当然也只能覆盖不完全的、一小部分成果。


我们将给读者一系列的参考资料以帮助其进一步学习:


强化学习(Sutton and Barto, 2017; Szepesvari, 2010; Bertsekas, 2012; Powell, 2011; Bertsekas and Tsitsiklis, 1996; Puterman, 2005; Littman, 2015; Kaelbling et al., 1996)

深度学习(LeCun et al., 2015; Goodfellow et al., 2016; Bengio, 2009; Deng and Dong, 2014)

机器学习(Jordan and Mitchell, 2015; Hastie et al., 2009;Bishop,2011;Murphy,2012;Jamesetal.,2013)

实用机器学习建议(Domingos,2012;Zinkevich,2017)

人工智能(Russell and Norvig, 2009)

神经网络中的深度学习(Schmidhuber,2015)

自然语言处理(Hirschberg and Manning,2015;Deng and Liu, 2017)

机器人学(Kober et al., 2013)

迁移学习(Taylor and Stone、2009;Panand Yang,2010;Weiss et al., 2016)

半监督学习(Zhu and Goldberg,2009)

贝叶斯强化学习(Ghavamzadeh et al., 2015)

口语对话系统(Hinton et al., 2012;He and Deng,2013;Young et al., 2013)

人工智能安全(Amodei et al., 2016; Garcia and Fernandez,2015)

蒙特卡洛搜索(MCTS)(Browne et al., 2012;Gelly et al., 2012)

多代理强化学习(Shoham et al., 2003;Busoniu et al., 2008)

博弈论(Leyton-Brown and Shoham,2008)等等。


我们将会在 23 节中列举强化学习资源。在 goo.gl/KoXIQC 及 goo.gl/1Q1lzg 参见强化学习的应用。


该概述的大纲如下:第二节,深度学习及强化学习的背景知识及对测试平台的介绍;第三节,对深度 Q 网络及其拓展的介绍;第四节,异步放法的介绍;第五节,策略优化;第六节,奖励;第七节,规划;第八节,注意和记忆机制,特别是对可微分神经计算机(DNC)的介绍;第九节,非监督学习;第十节;学习去学习(learning to learn);第十一节,游戏/博弈,包括棋类游戏、视频游戏及非完美信息博弈;第十二节,AlphaGo;第十三届,机器人学;第十四节,对话系统(聊天机器人);第十五节,机器翻译;第十六节,文字序列预测;第十七届,神经架构设计;第十八节,个性化网络服务;第十九节,医疗;第二十节,金融;第二十一节,音乐生成;第二十二节,一个未回顾论文/话题的待办清单;第二十四节,讨论。


特别地,我们将在 23 节中列举一系列关于强化学习的资源,包括图书、在线课程、教程、会议、期刊、研讨会乃至博客等。如果非要选择唯一一个推荐的强化学习的资源,那么应该是 Sutton 教授的强化学习书(RL Book,Sutton and Barto,2017,第二版正在编辑中)。它覆盖了强化学习的基础知识,并介绍了它最新的进展,包括深度 Q 网络、AlphaGo、梯度策略方法(Policy Gradient Methods)及在心理学与神经科方面的进展。对深度学习而言,则可以选择 Goodfellow 等人的书(2016)。


2 背景知识


在这一节中,我们将会简要介绍在深度学习(Sutton and Barto,2017)与深度学习(Goodfellow et al., 2016)方面的基础知识与概念。


2.1 深度学习

2.2 强化学习

2.3 测试平台


  • 街机学习环境(Arcade Learning Environment,ALE,Bellemare et al., 2013)是一个由 2600 个 Atari 游戏构成的用于研发及评估 AI 的框架。

  • DeepMind 团队则发布了它的第一人称视角 3D 游戏平台 DeepMind Lab(Beattie et al., 2016)。DeepMind 及暴雪会合作以发布星际争霸 2 的人工智能研究环境(goo.gl/Ptiwfg)。

  • OpenAI Gym(https://gym.openai.com/)是一个用于开发强化学习算法的工具包。它由一系列环境构成,包括了 Atari 游戏及模拟的机器人构成,以及一个用于比较及复现结果的网站。

  • OpenAI Universe(https://universe.openai.com/)被用于将任一程序转换到一个 Gym 环境。Universe 已经集成了许多的环境,包括 Atari 游戏、flash 游戏、如 Mini World of Bit Sand 这样的浏览器任务。最近,侠盗猎车手 5(GTA5)也已经被加入到 Universe 中来帮助模拟自动驾驶车辆。

  • FAIR TorchCraft(Synnaeve et al., 2016)是一个为如星际争霸这样实时战略类(RTS)游戏开发的库。

  • ViZDoom 是一个基于《毁灭战士(Doom)》游戏的为研究视觉强化学习的研究平台。

  • TORCS 是一个赛车比赛驾驶模拟器(Bernhard Wymann et al., 2014)。

  • MuJoCO(Multi-Joint dynamics with Contact)是一个物理引擎,参见:http://www.mujoco.org/

  • Duan et al., 2016 为连续控制任务给出了一个跑分平台,开源代码参见:https://github.com/openai/rllab

  • Nogueira and Cho(2016)展示了 WebNav 挑战,来测试维基百科链接导航。


3 深度 Q 网络(DEEP Q-NETWORK)



算法 1:深度 Q 网络,截取自 Mnih et al. (2015)


3.1 双重 DQN(DOUBLE DQN)

3.2 优先经验回放(PRIORITIZED EXPERIENCE REPLAY)

3.3 对抗架构(DUELING ARCHITECTURE)

3.4 更多拓展


4 异步方法



算法 2:A3C,每个 actor-learner 线程,来自 Mnih et al. (2016)


5 策略优化


策略通常是随机的。然而在 2014 年,Silver et al. (2014) 引入确定性策略梯度(DPG)来有效估计策略梯度。Lillicrap et al. (2016) 用深度神经网络扩展了 DPG。同时我们介绍了几份近期成果,包括引导策略搜索(Guided Policy Search,Levine et al.,2016a)、信赖域策略优化(Trust Region Policy Optimization,Schulman et al.,2015)、基准测试结果(Duan et al., 2016)以及策略梯度与 Q 学习(O'Donoghue et al., 2017)。


5.1 确定性策略梯度

5.2 深度确定性策略梯度

5.3 引导策略搜索

5.4 信赖域策略优化

5.5 基准测试结果


Duan et al. (2016) 提出了连续控制任务的基准,包括了一些经典任务(如车柱)、具有极大状态与动作空间的任务(如 3D 人形运动)、部分观察任务、层次结构任务,并实施了许多算法,包括批处理算法:REINFORCE 算法、截断性自然策略梯度(TNPG)、奖励加权回归(RWR)、相对熵策略搜索(REPS)、信赖域策略优化(TRPO)、交叉熵方法(CEM)、自适应协方差矩阵进化策略(CMA-ES); 也包括在线算法:深度确定性策略梯度(DDPG);还有批处理算法的重复性变体。开源地址:https://github.com/openai/rllab


Duan et al.(2016) 比较了各种算法,并表明 DDPG、TRPO 和截断性自然策略梯度(TNPG)(Schulman et al., 2015) 在训练深度神经网络策略中颇有成效,但分层任务(hierarchical tasks)也还需要更好的算法。


5.6 结合策略梯度与 Q-Learning


6 奖励


逆向强化学习(IRL/inverse reinforcement learning)是给定观察最佳行为来确定奖励函数的问题(Ngand Russell,2000)。在激励学习或学徒制学习中,代理学习使用来自专家的轨迹样本并从其演示中执行任务,代理学习没有强化信号,在训练时也没有来自专家的额外数据;模仿学习的两种主要方法是行为克隆和逆向强化学习;行为克隆被制定为监督学习问题,将状态行动对(state-action pairs)从专家轨迹(expert trajectories)映射到策略中(Ho and Ermon,2016)。


6.1 生成对抗网络

6.2 生成对抗式模仿学习


7 规划


Tamar et al. (2016) 提出了价值迭代网络(VIN),即一个用于近似价值迭代算法的完全可微分的 CNN 规划模块,它可用于学习规划,例如强化学习中的策略。与传统的规划相反,VIN 是无模型的,其中的奖励和转移概率是要学习的神经网络的一部分,从而避免系统识别的问题。VIN 可以通过反向传播进行端到端训练,它也可以在一组不同的任务中泛化:VIN 可以泛化在一组不同的任务:简单的网格世界(gridworlds)、火星车导航、连续控制和用于维基百科链接导航的 WebNav Challenge(Nogueira and Cho, 2016)。价值迭代网络及决斗网络(Wang et al.,2016b)的一个优点便是它们能为强化学习问题设计新型深度神经网络架构。欲访问有关 VIN 的博客,请点击 goo.gl/Dr8gKL。


8 注意和记忆


注意(attention)和记忆(memory)是两个重要的机制,在许多情况下它们一起发挥作用。


Mnih et al. (2014) 引入循环注意模型(RAM/ recurrent attention model)来关注图像或视频的区域或位置的选定序列,用于图像分类和对象检测。作者使用 RL 方法特别是 REINFORCE 算法来训练模型,以克服模型不可微分的问题,并对图像分类任务和动态视觉控制问题进行实验。Xu et al. (2015) 整合了图像字幕的注意,用 REINFORCE 算法训练硬版本的注意机制,并在 Flickr8k、Flickr30k 和 MSCOCO 数据集上展示了注意的有效性。注意机制也应用到了 NLP 中,如 Bahdanau et al. (2015; 2017),以及应用外部记忆的可微分神经计算机中(Graves et al., 2016)。


Graves et al.(2016) 提出了可微分神经计算机(DNC),其中神经网络可以从外部存储器读取与写入,使 DNC 可以解决复杂的结构化的问题,而没有读写存储器的神经网络却不能解决。DNC 将内存分配干扰最小化,并实现了长期存储。类似于常规计算机,在 DNC 中,神经网络是控制器,外部存储器是随机存取存储器;并且 DNC 用存储来表示并操纵复杂的数据结构。不同的是,DNC 使用梯度下降来学习端对端的表示和操纵,而梯度下降的数据是目标导向的。当使用有监督学习来训练时,DNC 可以解决合成问题来用于自然语言的推理;它可以解决交通网络中两个站点之间的最短路径定位问题和家庭树中的关系推理问题。当使用强化学习来训练时,DNC 可以解决一个使用被符号序列指定的变动性目标的移动块拼图。DNC 优于正常神经网络,如 LSTM 或 DNC 的前身神经图灵机(Graves et al., 2014),若碰到更困难的问题,LSTM 可能会失败。虽然这些实验是相对小规模的,我们仍期望看到 DNC 的进一步改进和应用。


欲查阅 Deepmind 对于 DNC 的描述,请点击 goo.gl/58mgoX。欲查阅注意与/或记忆的更多信息,如 Ba et al. (2014); Eslami et al. (2016); Gregor et al. (2015); Jaderberg et al. (2015); Oquab et al.(2015);Yang et al.(2015);Zagoruyko and Komodakis(2017);Zaremba and Sutskever(2015); Weston et al. (2015); Sukhbaatar et al. (2015); Ba et al. (2016); Danihelka et al. (2016); Kaiser and Bengio (2016),请参阅 goo.gl/ArW2nE 和 goo.gl/UukROv,这是有关注意与记忆的博客。


9 无监督学习


Jaderberget al.(2017) 提出了无监督的强化辅助学习(UNREAL),通过共享一个共同的表征(representation),并在通常的累积奖励之外最大化伪奖励功能,从而提高学习效率。UNREAL 通过学习大量的可能训练信号而受益,特别是当外部奖励信号很少被观察到时。UNREAL 由 RNN-LSTM 基本代理,像素控制,奖励预测和值函数重放组成。基本代理(base agent)使用 A3C 进行在策略(on-policy)训练。观察、奖励和动作的经验存储于答复缓冲器(reply buffer)内,以供辅助任务使用。辅助策略使用基础 CNN、LSTM 以及解卷积网络(deconvolutional network)来使输入图像中不同区域的像素强度的变化最大化。奖励预测模块通过观察最后三个帧来预测下一帧中的短期外在奖励,以解决奖励稀疏性的问题。值函数重放则会进一步训练值函数。UNREAL 改善了 A3C 在 Atari 游戏上的表现,并在 3D Labyrinth 游戏中表现出色。欲访问Deepmind有关 UNREAL 的官方博客,请点击 goo.gl/zhqBGy。


我们将在第 13 节讨论使用类似的无监督辅助学习的机器人导航以及生成式对抗网络(GAN),并在第 6 节讨论近期的无监督学习框架。也请参阅Sutton et al.(2011) , 一个用于以无监督感觉运动学习互动来学习知识的可扩展实时架构 Horde.



10 学习去学习(LEARNING TO LEARN)


学习去学习与迁移学习、多任务学习或表征学习相关,是形成实现强大人工智能的核心要素之一(Lake et al., 2016)。学习去学习也与元学习(meta learning)和一次性学习(one-shot learning)有关。


Duan et al. (2017) 和 Wang et al. (2016a) 提出通过学习一个灵活的 RNN 模型来处理一系列 RL 任务,从而能够提高样本效率,能够从几个样本中学到新任务,并且可以从先验知识中获益。此代理使用 RNN 建模,并输入了观察、奖励、行动和终止标志;它使用 RL,Duan et al.(2017)提出的 TRPO 和 Wang 等(2016a)的 A3C 算法来训练 RNN 的权重,并且在使用特定 RL 算法解决的多个问题中表现相似。Duan 等在 2017 年使用多臂赌博机、表 MDP 和视觉导航进行了实验,并指出对于较大型的问题,需要更好的 RL 算法来训练 RNN。Wang et al.(2016a)对独立臂赌博机、依赖臂赌博机、持续性臂和 MDP 进行了实验。未来的工作方向之一便是提高可扩展性。


Li 和 Malik 在 2017 年建议通过将特定的优化算法表示为策略,将收敛速度表示为奖励,以引导策略搜索(Levine et al.,2016a)来使无约束连续性优化算法自动化。







请到「今天看啥」查看全文