近日,DeepMind在Nature上公布了最新版AlphaGo论文,介绍了迄今为止最强的围棋AI:AlphaGoZero。AlphaGoZero不需要人类专家知识,只使用纯粹的深度强化学习技术和蒙特卡罗树搜索,经过3天自我对弈以100:0击败上一版本AlphaGo。AlphaGoZero证明了深度强化学习的强大能力,这一成果也势必将推动该领域的进一步发展。
深度强化学习和AlphaGo
在人工智能领域,感知和决策能力是衡量智能的关键指标。近几年深度学习和强化学习的发展使得直接从原始的数据中提取高水平特征进行感知决策变成可能。深度学习起源于人工神经网络。早期研究人员提出了多层感知机的概念,并且使用反向传播算法优化多层神经网络,但是由于受到梯度弥散或爆炸问题的困扰和硬件资源的限制,神经网络的研究一直没有取得突破性进展。随着计算资源的提升和相应算法的发展,深度学习在人工智能领域取得了一系列重大突破,包括语音识别、图像识别及检测、自然语言处理等。深度学习由于其强大的表征能力和泛化性能受到了越来越多研究人员的关注,相关技术在学术界和工业界都得到了广泛的研究。
强化学习是机器学习中的一个重要研究领域,它以试错的机制与环境进行交互,通过最大化累积奖赏来学习最优策略。强化学习的框架如图1所示。强化学习智能体在当前状态st下根据策略π来选择动作at。环境接收该动作并转移到下一状态st+1,智能体接收环境反馈回来的奖赏rt并根据策略选择下一步动作。强化学习不需要监督信号,在模型未知的环境中平衡探索和利用,其主要算法有Q学习,策略梯度等。Q学习是强化学习最重要的算法之一,其主要更新公式为:
其中α是学习率,γ是折扣因子,方括号内表示的是TD误差。强化学习由于其优秀的决策能力在人工智能领域也得到了广泛应用,代表工作TD-Gammon。
图1.强化学习框架图
在通用人工智能领域,感知和决策能力都是衡量一个智能体所蕴含智能的关键指标。早期成功的强化学习应用案例主要依赖于组合人工特征和价值函数来实现,随着深度学习的进展,直接从原始的高维数据中提取特征变成可能。深度学习具有较强的感知能力,但是缺乏一定的决策能力;而强化学习具有决策能力,对感知问题束手无策。因此,将两者结合起来,优势互补,能够为复杂系统的感知决策问题提供解决思路。图2是深度强化学习的框架图,从图中可以看到,DRL的框架包含两个基本模块:由深度学习组成的感知模块和由强化学习组成的决策模块。两个模块之前通过状态动作相互影响。
图2.深度强化学习框架
深度强化学习早期的主要思路是将神经网络用于复杂高维数据的特征提取,转化到低维特征空间便于强化学习处理。由于卷积神经网络对图像处理拥有天然的优势,将卷积神经网络与强化学习结合成了研究热点。2013年,DeepMind团队发表了一篇关于深度强化学习应用于Atari视频游戏的重量级论文,首次在复杂高维的状态空间下使用深度强化学习学会了游戏策略。该文章中提出的深度强化学习框架被称为深度Q网络(DeepQ Network:DQN)。2015年,DeepMind团队进一步完善了DQN算法,并将研究成果发表在Nature上。DQN将深度卷积神经网络和Q学习结合到一起,并集成了经验回放技术和目标Q网络。经验回放通过周期采样历史数据增加了数据的利用效率,同时减少了数据之间的相关性。DQN在大部分Atari视频游戏中实现了人类玩家的控制效果,是深度强化学习领域重要的开创性工作。
DQN的网络框架如图3所示。训练过程中,采取相邻的4帧游戏画面作为网络的输入,经过三个带有ReLU激活函数的卷积层和两个全连接层,输出当前状态下可选动作的Q值,实现了端到端的学习控制。DQN采用带有参数θ的卷积神经网络作为函数逼近器。在迭代次数为i时,损失函数为:
其中:
θ-代表的是目标Q网络的参数。目标Q网络经过固定迭代次数后更新一次。
图3.DQN网络结构图
DRL领域又一里程碑式的工作是由DeepMind在2016年初发表于Nature上的围棋AI:AlphaGo,如图4所示。AlphaGo的问世将深度强化学习的研究推向了新的高度。它创新性地结合深度强化学习和蒙特卡罗树搜索,通过策略网络选择落子位置降低搜索宽度,使用价值网络评估局面以减小搜索深度,这样搜索效率得到了大幅提升,胜率估算也更加精确。与此同时,AlphaGo使用强化学习的自我博弈来对策略网络进行学习,改善策略网络的性能,使用自我对弈和快速走子结合形成的棋谱数据进一步训练价值网络。最终的在线对弈时结合策略网络和价值网络的蒙特卡罗树搜索在当前局面下选择最终的落子位置。
图4. 围棋AI:AlphaGo
深度强化学习最新进展
随着AlphaGo的出现,深度强化学习领域的研究取得了一系列进展。作为真正意义上将深度学习和强化学习结合起来并实现了端到端学习决策的算法,DQN的出现引发了众多研究团队的关注。Schaul等提出一种带优先级经验回放的深度Q网络,该方法对经验数据进行优先次序的处理,增加重要历史数据的回放频率来提高学习效果,加速学习进程。DQN的另一个不足是它漫长的训练时间,为此Nair等提出了DQN的大规模分布式架构—Gorila,极大提高了学习速率。Guo等提出将蒙特卡罗树搜索与DQN结合,实现了Atari游戏的实时处理,游戏得分也普遍高于原始DQN得分。此外,Q学习由于学习过程中固有的估计误差,在大规模数据的情况下会对动作的值产生过高估计。Van等提出的双重DQN将两个Q学习方法运用到Q函数更新中,有效避免了过高估计,并且取得了更加稳定的学习策略。Wang等受优势学习的启发提出了竞争架构的深度强化学习算法,实验证明竞争架构的DQN能够取得更好的评估策略。探索和利用问题一直是强化学习中的主要问题,复杂环境中的高效探索对深度强化学习的学习结果有深远影响。Osband等提出一种引导深度Q网络,通过使用随机值函数让探索的效率和速率得到了显著的提升。
递归神经网络适合处理和时间序列相关的问题,强化学习与递归神经网络的结合也是深度强化学习的主要形式。Narasimhan等提出一种长短时记忆网络与强化学习结合的深度网络架构来处理文本游戏。这种方法能够将文本信息映射到向量空间从而获取游戏状态的语义信息。对于时间序列信息,深度Q网络的处理方法是加入经验回放机制。但是经验回放的记忆能力有限,每个决策点需要获取整个输入画面进行感知记忆。Hausknecht等将长短时记忆网络与深度Q网络结合,提出深度递归Q网络,在部分可观测马尔可夫决策过程中表现出了很好的鲁棒性,同时在缺失若干帧画面的情况下也能获得不错的实验结果。随着视觉注意力机制在目标跟踪和机器翻译等领域的成功,Sorokin等受此启发提出深度注意力递归Q网络。它能够选择性地重点关注相关信息区域,从而减少深度神经网络的参数数量和计算开销。
此后,研究人员在已有深度强化学习算法上做了进一步改进。Mnih等提出了深度强化学习的异步算法,通过CPU的多线程同时训练多个游戏,共享网络参数的同时也克服了训练数据的相关性,在多个CPU上训练极大提升了学习速率和算法性能。Jaderberg等提出UNREAL算法,在A3C的基础上学习多个辅助任务。UNREAL提升了深度强化学习的数据利用率,在Atari和三维游戏场景中都达到了更好的效果。作为DQN的一种变体,C51算法从分布式的角度分析深度强化学习,将Q(s,a)看做回报的近似分布而不是一个具体的近似期望值。与UNREAL算法相比,C51在Atari视频游戏上的平均性能表现要优于前者。参数噪声可以帮助算法更有效地探索周围的环境,加入参数噪声的训练方法将会让模型的效果大大提升,并且可以让我们更快地教会强化学习智能体执行任务。NoisyDQN在动作空间中借助噪声注入进行探索性行为,结果表明带有参数噪声的强化学习将比分别带有动作空间参数和进化策略的传统强化学习效率更高。以上的算法各自都可以提升深度强化学习性能的某个方面,因为它们都着力于解决不同的问题,而且都构建在同一个框架上,所以能够被整合起来。在DeepMind 最近发表的论文中,研究人员综合了主流深度强化学习方法,并提出了整合方案:Rainbow,如图5所示。通过实验结果,研究人员展示了整合后的表现,证明了这些算法很大程度上是互补的。最终,Rainbow在Atari2600 视频游戏基准测试平台的数据效率和最终结果上都达成了新的业界最佳水平。
图5Rainbow在Atari 游戏中与各类DQN 方法的性能对比
从DQN到Rainbow,深度强化学习作为一个新兴的研究领域,其理论和应用得到了逐渐完善。在大规模的任务中,深度强化学习智能体展示了卓越的进步。研究人员在基于值函数和基于策略梯度的深度强化学习算法方面都取得了一系列的研究成果。深度强化学习的研究一方面可以提升各种复杂场景中智能体的感知决策能力,另一方面,高效算法的应用落地也能为社会带来更多积极的影响,比如医疗、智能驾驶、推荐系统等。
从AlphaGo 到AlphaGo Zero
AlphaGo Zero的出现,再一次引发了各界对深度强化学习方法和围棋AI的关注与讨论。AlphaGoFan和AlphaGo Lee都采用了两个神经网络的结构,如图6所示。其中策略网络初始是基于人类专业棋手数据采用监督学习的方式进行训练,然后利用策略梯度强化学习方法进行能力提升。在训练过程中,深度神经网络与蒙特卡洛树搜索方法相结合形成树搜索模型,本质上是使用神经网络方法对树搜索空间的优化。
图6. AlphaGo的网络结构图
AlphaGo连续战胜李世石和柯洁,都表明了基于深度学习、强化学习和蒙特卡罗树搜索的方法能有效解决完全信息的博弈问题。
图7.AlphaGo与李世石和柯洁的对弈图
然而,AlphaGo Zero做了更进一步的升级和改进。AlphaGo Zero将策略网络和价值网络整合在一起,使用纯粹的深度强化学习方法进行端到端的自我对弈学习。AlphaGo Zero自学习训练过程如图8所示。
图8AlphaGo Zero自学习训练过程
AlphaGo Zero与之前的版本有很大不同。几个主要的不同点在于:
第一,神经网络权值完全随机初始化。不利用任何人类专家的经验或数据,神经网络的权值完全从随机初始化开始,进行随机策略选择,使用强化学习进行自我博弈和提升。
第二,无需先验知识。不再需要人为手工设计特征,而是仅利用棋盘上的黑白棋子的摆放情况,作为原始输入数据,将其输入到神经网络中,以此得到结果。
第三,神经网络结构复杂性降低。原先两个结构独立的策略网络和价值网络合为一体,合并成一个神经网络。在该神经网络中,从输入层到中间层是完全共享的,到最后的输出层部分被分离成了策略函数输出和价值函数输出。
第四,舍弃快速走子网络。不再使用快速走子网络进行随机模拟,而是完全将神经网络得到的结果替换随机模拟,从而在提升学习速率的同时,增强了神经网络估值的准确性。
第五,神经网络引入残差结构。神经网络采用基于残差网络结构的模块进行搭建,用了更深的神经网络进行特征表征提取。从而能在更加复杂的棋盘局面中进行学习。
第六,硬件资源需求更少。以前ELO最高的AlphaGo需要1920块CPU和280块GPU训练,AlphaGoLee则用了176块GPU和48块TPU,而现在,AlphaGoZero则使用了单机4块TPU便能完成训练任务,如图9所示。
第七,学习时间更短。AlphaGoZero仅用3天的时间便能达到AlphaGoLee的水平,21天后达到AlphaGoMaster的水平,棋力提升非常快如图10所示。
图9各个版本的AlphaGo所需硬件资源对比
图10AlphaGo Zero的棋力提升过程和与其他围棋AI的ELO比较
AlphaGoZero 的成功证明了在没有人类指导和经验的前提下,深度强化学习方法在围棋领域里仍然能够出色的完成指定的任务,甚至于比有人类经验知识指导时,完成的更加出色。在围棋下法上,AlphaGoZero比之前版本创造出了更多前所未见的下棋方式,为人类对围棋领域的认知打开了新的篇章。某种程度而言,AlphaGoZero展现了机器“机智过人”的一面。
目前来看,AlphaGo中神经网络的成功主要还是基于卷积神经网络,但是下围棋是一个动态持续的过程,因此引入递归神经网络是否能对AlphaGo的性能有所提升也是一个值得思考的问题。AlphaGoZero所蕴含的方法并非是石破天惊、复杂无比,相反这里面的很多方法都早已被前人提出及实现。但是以前,这些方法尤其是深度强化学习等方法,通常只能用来处理规模较小的问题,在大规模问题上常束手无策。AlphaGoZero的成功则刷新了人们对深度强化学习方法的认识,并对深度强化学习领域的研究更加充满期待。深度学习与强化学习的进一步结合相信会引发更多的思想浪潮。深度学习已经在许多重要的领域被证明可以取代人工提取特征得到更优结果。而深度学习在插上了强化学习的翅膀后更是如虎添翼,甚至于有可能颠覆传统人工智能领域,进一步巩固和提升机器学习在人工智能领域的地位。
总 结
AlphaGo之父DavidSilver认为,根据最新的实验结果,监督学习能产生当时性能最优的模型,而强化学习可以超越人类已有的知识得到更进一步的提升。只有监督学习确实可以达到令人惊叹的表现,但是强化学习才是超越人类水平的关键。AlphaGo的成功有力的证明了强化学习实现从无到有的强大学习能力,但是这并不意味着通用人工智能领域问题得到了解决。本质上,AlphaGoZero解决的仍是启发式搜索的问题,在搜索的基础上,使用深度强化学习训练出态势评估函数。
就目前而言,AlphaGo尚未展现出类似于在Atari视频游戏中那样普遍适用的泛化性能。因为虽然基于深度强化学习的蒙特卡罗树搜索在回合制游戏上已经取得了成功,但是由于搜索算法与生俱来的搜索时间与空间的开销,或许对回合制类游戏影响不大,但是对实时类游戏的影响却是巨大的,在如同星际争霸II这类实时游戏中,如何解决好时间开销与游戏连续性的矛盾则是一个值得深思的问题。目前为止,DeepMind团队在星际争霸II中使用深度强化学习方法所能达到的效果也与期望相去甚远。因此,通用人工智能问题的研究及解决仍然任重道远。
文章作者
邵 坤(博士,自动化所复杂系统管理与控制国家重点实验室)
唐振韬(博士,自动化所复杂系统管理与控制国家重点实验室)
赵冬斌(研究员,自动化所复杂系统管理与控制国家重点实验室)