AlphaGo背后这项核心技术,后来怎么样了?
导读:本文介绍AlphaGo背后的核心技术——深度强化学习。
作者:刘驰 王占健 戴子彭 等
来源:大数据DT(ID:hzdashuju)
01 强化学习
近年来,深度学习(Deep Learning, DL)作为机器学习的一个重要研究领域,得到了长足的发展,为强化学习(Reinforcement Learning, RL)提供了强有力的支撑,使RL能够解决以前难以处理的问题,例如学习直接从像素玩视频游戏。
深度强化学习(Deep Reinforcement Learning, DRL)是DL和RL相结合的产物,有望彻底改变人工智能领域。人工智能领域的一个主要目标是生成完全自主的智能体(agent),这些智能体通过与环境的相互作用来学习最优行为。
从可以感知和响应其所处环境的机器人到基于软件的与自然语言和多媒体进行交互的智能体,建立一个能够有效学习且实时响应的人工智能系统一直都是一项长期挑战。幸运的是,DRL的出现使我们朝着建立自主系统的目标迈出了更近的一步,因为DRL对自主系统有更高层次的理解。
当然,DRL算法还有许多其他方面的应用,比如机器人控制技术,允许我们直接从现实世界中的摄像机输入来学习对机器人进行控制和操作的策略。
02 强化学习简介
在讨论深度神经网络对RL的贡献之前,我们先来介绍一下RL的一般领域。
RL的本质是互动学习,即让智能体与其外界环境进行交互。智能体根据自己每次感知到的外界环境状态来选择相应的动作,以对环境进行响应,然后观测该动作所造成的结果(或好或坏,结果的评判来自某种特殊的奖励管控机制),并根据结果来调整自身动作选择机制,最终让智能体可以对外界环境达到最优的响应,从而获得最好的结果(智能体针对外界环境采取一系列动作后获得的最大奖赏值,也称为累积奖赏值、预期回报)。
所以,RL的目标是使智能体在与环境的交互过程中获得最大的累积奖赏值,从而学习到对自身动作的最优控制方法。这种试错学习的方法源于行为主义心理学,是RL的主要基础之一。另一个关键基础是最优控制,它提供了支撑该领域的数学形式,特别是DP。
为了便于对RL模型结构的理解,我们首先对RL模型中最关键的三个部分进行描述。
1. 状态(state)
如图1.2所示,状态其实就是智能体所处的外界环境信息,该图中描述的状态就是一个石板铺成的具有间隔的桥面。而环境状态的具体表现形式可以有很多种,例如多维数组、图像和视频等。
外界环境的状态需要能够准确地描述外界环境,尽可能将有效信息包括在内,通常越充足的信息越有利于算法的学习。状态要着重体现出外界环境的特征。
▲图1.2 外界环境状态示意图
2. 动作(action)或行动
如图1.3所示,动作就是智能体(多关节木头人)在感知到所处的外界环境状态后所要采取的行为,如跳跃、奔跑、转弯等,是对外界环境的一种反馈响应。当然,动作的表现形式既可以是离散的,也可以是连续的。
▲图1.3 智能体动作响应示意图
3. 奖励(reward)
智能体感知到外界环境并采取动作后所获得的奖赏值。奖赏值来源于根据实际场景定义的某种奖励机制,包括正向奖励和负向奖励。正向奖励会激励智能体趋向于学习该动作,负向奖励与之相反。
在图1.3中,当智能体从一块石板成功跨过障碍到达下一块石板上时,应该给予其相应的正向奖励,比如得分加1。当智能体未能成功跨过障碍(从石板上掉落)到达下一块石板时,应该给予其惩罚(负向奖励),比如得分减1。
在RL环境中,由机器学习算法控制的自主智能体在时间步t从其环境观察状态st。智能体通过在状态st中执行动作a来对环境进行响应。当智能体执行完动作时,环境和智能体将根据当前的状态和所选的动作转换到新的状态st+1。
状态是对环境的充分统计,包括智能体选取最优动作的所有必要信息,也可以包括智能体自身的一些部分(例如制动器和传感器的位置)。
最优的动作顺序由环境提供的奖励决定。每次环境转换到新状态时,它还会向智能体提供标量奖励rt+1作为反馈。智能体的目标是学习一种策略(控制策略)π: S→A,以使得预期回报(累积折扣奖励)最大化,其中S为外界环境状态的集合S={s1, s2, ... ,st, st+1, ...},A为动作的集合A={a1, a2, ... ,ak}。
给定状态,智能体根据策略返回要执行的动作,最优策略是最大化环境预期回报的任何策略。在这方面,RL旨在解决与最优控制相同的问题。
然而,与最优控制不同,RL中的挑战是智能体需要通过试错学习的方法来了解在环境中采取某种动作后所产生的结果,因此,智能体无法获得状态转换的动态模型。智能体与环境的每次交互都会产生相应的信息,然后利用这些信息来更新其自身的知识。这种感知–动作–学习循环如图1.4所示。
▲图1.4 感知-动作-学习循环结构
通过智能体与环境进行交互来感知环境、依靠策略选择动作,从而获得最大累积奖赏值。在时间t,智能体从环境感知状态st,然后使用其策略选择动作at。一旦执行了动作,环境就会转换到下一个状态,并提供下一个状态st+1和奖励rt+1作为新的反馈。
智能体以序列(st, at, st+1, rt+1)的形式使用状态转换的知识来学习和改进其策略。如果RL系统中的某种行为能够获得正的奖励,那么系统便会加强产生该动作的趋势,称之为正反馈;反之,系统便会减弱产生该动作的趋势,称之为负反馈。
在深度神经网络融入RL之前,虽然RL在过去取得了一定的进展,但是之前的RL方法缺乏可扩展性,并且在本质上仅限于维度相当低的问题。
存在这些限制的主要原因是之前的RL算法与其他算法具有相同的复杂性,比如,存储器复杂性、计算复杂性,以及在机器学习算法情况下的样本复杂性。因此,之前的RL算法只是适用于比较少的领域,例如,过程控制、调度管理和机器人控制等,并没有得到广泛的应用。
幸运的是,随着DL的兴起,深度神经网络为我们克服这些问题提供了新的工具。深度神经网络具有强大的函数逼近和表示学习特性,使我们解决高维、复杂场景下的RL问题成为可能。
03 深度强化学习简介
近年来,DL作为一大热点研究方向对机器学习的许多领域都产生了重大影响,大大提高了对象检测、语音识别和语言翻译等任务的技术水平。
DL最重要的一个特性是深度神经网络可以自动找到高维数据(例如图像、文本和音频)的低维表示(特征)。通过将归纳偏差制作成神经网络架构,特别是层次化表示,机器学习从业者在解决维度灾难方面取得了有效进展。DL方法擅长对事物的感知和表达,RL方法擅长学习解决问题的策略。
为了更好地发挥DL和RL的优势,谷歌人工智能研究团队DeepMind创造性地将具有强大感知力的DL方法和具有优秀决策力的RL方法相结合,在RL中使用DL算法定义了DRL领域。深度神经网络的引入让我们能够以更加具有创新性的方式来实现对自主智能体的开发。
DRL是DL领域中迅猛发展起来的一个分支,目的是解决计算机从感知到决策控制的问题,从而实现通用人工智能。以Google DeepMind为首,基于DRL的算法已经在视频、游戏、围棋、机器人等领域取得了突破性进展。
2015年,Google DeepMind在《自然》杂志上发表的“Human-level control through deep reinforcement learning”论文,使得DRL受到了广泛的关注。
2016年,DeepMind推出的AlphaGo围棋系统使用蒙特卡罗树搜索与DRL相结合的方法让计算机的围棋水平达到甚至超过了顶尖职业棋手,引起了世界性的轰动。借此案例,我们来简单了解一下蒙特卡罗树搜索和DRL的相关过程。如图1.5所示,蒙特卡罗树搜索的每个循环包括以下4个步骤。
选择:从根节点开始,选择连续的子节点向下至叶子节点。后面给出了一种选择子节点的方法,让游戏树向最优的方向扩展,这是蒙特卡罗树搜索的精华所在。
扩展:除非任意一方的输赢使得游戏在叶子节点结束,否则创建一个或多个子节点并选取其中一个子节点。
仿真:从选取的子节点开始,用随机策略进行游戏,又称为playout或者rollout。
反向传播(backpropagation):使用随机游戏的结果,更新从选择的子节点到根节点的路径上的节点信息。
每一个节点的内容代表胜利次数/游戏次数。
▲图1.5 蒙特卡罗树搜索过程
对于DRL来说,目前的算法都可以包含在actor-critic框架下。actor-critic属于TD学习方法,其用独立的内存结构来明确地表示独立于值函数的策略。
策略结构被称为actor,因为它用于选择动作;而估计值函数被称为critic,因为它评价actor所做的动作。对于actor-critic框架,我们会在后面章节详细讲解,现在我们重点探讨DRL,如图1.6所示。
▲图1.6 DRL的Actor-critic框架
把DRL的算法视为智能体的大脑,那么这个大脑包含两个部分:actor行动模块和critic评判模块。当然,这两个模块都是由深度神经网络构成的,也正是DRL中“深度”一词的由来。其中actor行动模块是大脑的动作执行机构,输入外部的环境状态s,然后输出动作a。
而critic评判模块则可被认为是大脑的价值观,根据历史信息及回馈r进行自我调整,然后对整个actor行动模块进行相关的更新指导。这种基于actor-critic框架的方法非常类似于人类自身的行为方式。
在actor-critic框架下,Google DeepMind相继提出了DQN、A3C和UNREAL等DRL算法,取得了非常不错的效果,大大推动了DRL的发展和应用。
2017年DeepMind又推出了更强大的围棋系统AlphaGo Zero,通过自我对弈,AlphaGo Zero不再受限于人类认知,在三天内以100比0的成绩战胜了AlphaGo Lee,花了21天达到AlphaGo Master的水平,用40天超越了所有的旧版本,与之前版本相比,其棋法更像人类。
如图1.7~图1.9所示,AlphaGo Zero在使用DRL算法学习到3小时的时候,就能够像人类围棋新手一样,不注重考虑长期战略,而只专注于尽可能多地吃掉对手的棋子。
▲图1.7 AlphaGo使用DRL算法学习3个小时成果示意图
▲图1.8 AlphaGo使用DRL算法学习19小时效果示意图
▲图1.9 AlphaGo使用DRL算法学习70小时效果示意图
然后,当其继续学习到19小时的时候,AlphaGo Zero就已经领悟到一些高级围棋策略的基础性知识,例如,生死、每一步的影响和棋盘布局等。最终当使用DRL算法学习70小时的时候,AlphaGo Zero的棋艺已经超过了人类顶级水平。
DRL算法由于能够基于深度神经网络实现从感知到决策控制的端到端自学习,因此具有非常广阔的应用前景,比如在机器人控制、自然语言处理和计算机视觉等领域都取得了一定的成功,它的发展也将进一步推动人工智能的革命。
图1.10展示了DRL的部分应用领域。
▲图1.10 DRL算法的部分应用领域
其中,图1.10a是DRL技术在电子游戏方面的应用,其利用DRL技术学习控制策略为游戏主体提供动作,在某些游戏方面其能力已经超过了人类顶级水平。
图1.10b是机器人足球比赛,利用机器人观察到的周边环境,通过DRL模型给出具体的动作指令,控制足球机器人之间的竞争和协作。
图1.10c是无人车领域,根据汽车传感器获得的环境信息,利用DRL技术对汽车的行为进行控制,比如加速、刹车和转向等。
图1.10d是无人机或无人机群,DRL控制模型可以控制每个无人机对环境的自身行为响应,也可以为无人机群的协作任务提供自主控制策略。
如今,DRL算法得到了更深层次的发展,可以分为基于值函数(value-based)的DRL、基于策略(policy-based)的DRL、基于模型(model-based)的DRL和基于分层(hierarchical-based)的DRL等。
更多精彩👇