作者:Yuxi Li

《深度强化学习》手稿开放了!

一年前,机器之心发布了加拿大阿尔伯塔大学计算机系博士 Yuxi Li 的深度强化学习综述论文,该论文概述了在深度强化学习(Deep Reinforcement Learning)方面喜人的进展。而这本刚上线的《深度强化学习》手稿对前面的版本《深度强化学习综述》做了大规模的改进;从一年多前的 70 页扩充到现在的 150 页。本文对此手稿进行了介绍。

深度强化学习》希望帮助初学者了解深度强化学习,也希望为教授、研究人员、学生、工程师、管理人员、投资者等广大读者提供一份深度强化学习参考资料。

她在描绘深度强化学习领域大方向的同时兼顾了许多技术细节。她在历史背景中讨论最新进展。她努力回答了下面三个问题:1)为什么用深度学习?2)最前沿的发展有哪些?3)有什么问题及解决方案?手稿中难免有不足乃至错误之处,真诚欢迎宝贵建议和意见。

这个博客收集了很多深度强化学习的资料: https://medium.com/@yuxili/resources-for-deep-reinforcement-learning-a5fdf2dc730f.

深度强化学习》讨论了六个核心元素 (core elements): 值函数 (value function)、策略 (policy)、奖赏 (reward)、模型 (model)、探索与利用 (exploration vs. exploitation)、以及表征 (representation); 

六个重要机制 (important mechanisms):注意力与存储机制 (attention and memory)、无监督学习 (unsupervised learning)、层次强化学习 (hierarchical RL)、多智能体强化学习 (multi-agent RL)、关系强化学习 (relational RL)、和元学习 (learning to learn); 

以及十二个应用场景 (applications):游戏 (games)、机器人学 (robotics)、自然语言处理 (natural language processing, NLP)、计算机视觉 (computer vision)、金融 (finance)、商务管理 (business management)、医疗 (healthcare)、教育 (education)、能源 (energy)、交通 (transportation)、计算机系统 (computer systems)、以及科学、工程和艺术 (science, engineering, and art).

深度强化学习最近取得了世人瞩目的成绩,比如,应用于雅达利游戏 (Atari games) 上的 DQN 算法吹响了这波深度强化学习前进的号角;在计算机围棋 (AlphaGo/AlphaGo Zero) 和德州扑克 (DeepStack) 上面取得了人工智能里程碑级别的成就。深度强化学习有很多新颖的算法被研发出来,比如,DQN、 A3C、TRPO、PPO、DDPG、Trust-PCL、GPS、UNREAL, 等等。

深度强化学习也被应用于很多很广的方向,比如,夺旗游戏 (Capture the Flag)、刀塔 (Dota 2)、星际争霸 (StarCraft II)、机器人学、动画人物模拟、智能对话、神经元网络结构设计、机器学习自动化、数据中心降温系统、推荐系统、数据扩充、模型压缩、组合优化、程序合成、定理证明、医学成像、音乐合成、化学逆合成,等等。

这个博客收集了很多强化学习的应用场景: https://medium.com/@yuxili/rl-applications-73ef685c07eb

什么情况下强化学习会有帮助?答案是:如果一个问题可以被描述成或转化成序贯决策 (sequential decision making) 问题,可以构造出强化学习需要用的状态 (state)、动作 (action)、可能还有奖赏 (reward) 等元素的时候。有时候一个问题可以用强化学习解决,但这个问题从表面上看可能不像强化学习问题。笼统地说,如果一个问题中包含人工设计的某种「策略」,那么强化学习就有可能发挥作用,自动化并且优化这些策略。创造性会在核心元素、重要机制、应用场景等方面进一步向前推动深度强化学习的发展。

深度强化学习虽然已经取得了很多傲人的成绩,但是,她也有很多问题亟需解决,比如成绩分配 (credit assignment), 稀疏奖赏 (sparse reward), 采样效率 (sample efficiency), 不稳定性 (instability), 发散性 (divergence), 可解释性 (interpretability), 安全性 (safety),等等;甚至可复制性 (reproducibility) 仍然是一个问题。

深度强化学习》提出了六个研究方向,同时作为挑战和机遇。应该提到的是,在这些方向,已经有了一些进展,比如,Dopamine、TStarBots、 unsupervised video object segmentation for deep RL、generative query network、neural-symbolic learning, universal planning networks, causal InfoGAN, meta-gradient RL, 等等。(这些进展的参考资料请参阅英文原版,见文末。) 这些方向的发展,会大幅度促进强化学习乃至人工智能的发展。

  1. 系统地比较深度强化学习算法

  2. 「解决」多智能体问题

  3. 基于实体 (entities) 学习,而不只是基于原始数据学习

  4. 强化学习设计最优的表征形式

  5. 自动化强化学习 (AutoRL)

  6. 研发强化学习杀手级应用

希望强化学习可以与人工智能深度结合,在端到端 (end-to-end) 的学习方式中加入更多智能去完成从原始输入到决策的设计工作、加入知识、加入常识、以更高效、更容易理解的方式去学习、同时避免犯显然的错误;而不是像以前深度学习那样以黑盒子的方式学习。

深度学习强化学习分别于 2013 年和 2017 年被《麻省理工学院科技评论》评选为十项突破性技术之一;她们会在通向强人工智能的道路上发挥关键作用。David Silver 提出了一个假设:人工智能=强化学习+深度学习深度学习强化学习都会进一步繁荣发展。深度学习正在经历爆炸性的大发展。而现在正是培育、教育、引领强化学习市场的大好时机。

深度学习在这次第三波人工智能的蓬勃发展中,会发挥越来越深远的影响;我们也在深度学习的很多成就中看到了她的作用。强化学习提供更通用的学习和决策模式;她会深远影响深度学习机器学习、乃至人工智能的进一步发展。

强化学习时代马上就来。让我们做好准备!

欢迎阅读本文的英文版,Introducing Deep Reinforcement Learning, https://medium.com/@yuxili/deeprl-6c8c48b6489b; 里面包含了大量的超链接。欢迎下载阅读《深度强化学习》,Deep Reinforcement Learning, arXiv 地址:https://arxiv.org/abs/1810.06339

入门深度强化学习强化学习
8
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

深度强化学习技术

强化学习(Reinforcement Learning)是主体(agent)通过与周围环境的交互来进行学习。强化学习主体(RL agent)每采取一次动作(action)就会得到一个相应的数值奖励(numerical reward),这个奖励表示此次动作的好坏。通过与环境的交互,综合考虑过去的经验(exploitation)和未知的探索(exploration),强化学习主体通过试错的方式(trial and error)学会如何采取下一步的动作,而无需人类显性地告诉它该采取哪个动作。强化学习主体的目标是学习通过执行一系列的动作来最大化累积的奖励(accumulated reward)。 一般来说,真实世界中的强化学习问题包括巨大的状态空间(state spaces)和动作空间(action spaces),传统的强化学习方法会受限于维数灾难(curse of dimensionality)。借助于深度学习中的神经网络,强化学习主体可以直接从原始输入数据(如游戏图像)中提取和学习特征知识,然后根据提取出的特征信息再利用传统的强化学习算法(如TD Learning,SARSA,Q-Learnin)学习控制策略(如游戏策略),而无需人工提取或启发式学习特征。这种结合了深度学习的强化学习方法称为深度强化学习。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

阿尔法围棋技术

阿尔法围棋是于2014年开始由英国伦敦Google DeepMind公司开发的人工智能围棋程序。AlphaGo是第一个打败人类职业棋手的计算机程序,也是第一个打败围棋世界冠军的计算机程序,可以说是历史上最强的棋手。 技术上来说,AlphaGo的算法结合了机器学习(machine learning)和树搜索(tree search)技术,并使用了大量的人类、电脑的对弈来进行训练。AlphaGo使用蒙特卡洛树搜索(MCTS:Monte-Carlo Tree Search),以价值网络(value network)和策略网络(policy network)为指导,其中价值网络用于预测游戏的胜利者,策略网络用于选择下一步行动。价值网络和策略网络都是使用深度神经网络技术实现的,神经网络的输入是经过预处理的围棋面板的描述(description of Go board)。

元学习技术

元学习是机器学习的一个子领域,是将自动学习算法应用于机器学习实验的元数据上。现在的 AI 系统可以通过大量时间和经验从头学习一项复杂技能。但是,我们如果想使智能体掌握多种技能、适应多种环境,则不应该从头开始在每一个环境中训练每一项技能,而是需要智能体通过对以往经验的再利用来学习如何学习多项新任务,因此我们不应该独立地训练每一个新任务。这种学习如何学习的方法,又叫元学习(meta-learning),是通往可持续学习多项新任务的多面智能体的必经之路。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

机器人技术技术

机器人学(Robotics)研究的是「机器人的设计、制造、运作和应用,以及控制它们的计算机系统、传感反馈和信息处理」 [25] 。 机器人可以分成两大类:固定机器人和移动机器人。固定机器人通常被用于工业生产(比如用于装配线)。常见的移动机器人应用有货运机器人、空中机器人和自动载具。机器人需要不同部件和系统的协作才能实现最优的作业。其中在硬件上包含传感器、反应器和控制器;另外还有能够实现感知能力的软件,比如定位、地图测绘和目标识别。之前章节中提及的技术都可以在机器人上得到应用和集成,这也是人工智能领域最早的终极目标之一。

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

强人工智能技术

强人工智能或通用人工智能(Strong AI或者 Artificial General Intelligence)是具备与人类同等智慧、或超越人类的人工智能,能表现正常人类所具有的所有智能行为。强人工智能是人工智能研究的主要目标之一,同时也是科幻小说和未来学家所讨论的主要议题。相对的,弱人工智能(applied AI,narrow AI,weak AI)只处理特定的问题。弱人工智能不需要具有人类完整的认知能力,甚至是完全不具有人类所拥有的感官认知能力,只要设计得看起来像有智慧就可以了。由于过去的智能程式多是弱人工智能,发现这个具有领域的局限性,人们一度觉得强人工智能是不可能的。而强人工智能也指通用人工智能(artificial general intelligence,AGI),或具备执行一般智慧行为的能力。强人工智能通常把人工智能和意识、感性、知识和自觉等人类的特征互相连结。

神经元技术

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

信息生成对抗网络技术

GAN的一个变种

推荐文章
暂无评论
暂无评论~