谷歌总结深度强化学习,人工智能代理表现已达人类水平

引言:谷歌 DeepMind 在最近的一篇博客文章中指出,该团队在结合了深度强化学习、DQN 算法、A3C 算法等方法后,改进了自己的人工智能代理。这个代理在玩 Atari 游戏时的表现已经达到甚至高于人类水平。

人类很擅长解决各种非常具有挑战性的问题,从低难度的电机控制到高难度的认知任务。在 DeepMind,我们的目标就是创造一个能够在能力和普遍性达到人类水平的人工代理。像人类一样,我们的代理会自我学习以成功地作出能够得到最优长期回报的策略。这是应用试错法的一种学习范式,它有一个奖励和惩罚机制,也被称作强化学习(Reinforcement Learning,简称 RL)。同样和人类一样,我们的代理能直接从视觉这样的原始输入中学习知识,而不需要任何人工设计的功能或域启发(domain heuristics)方法。这种方法是由深度学习中的神经网络得来的。在 DeepMind,我们最先完成了这些方法的结合,总结出了深度强化学习方法,创造出了第一个在很多有挑战性的领域实现了人类表现水平的人工智能代理。


我们的代理必须不断地进行价值判断以选择好的动作而非糟糕的动作。代理做判断所用的知识来源于一个 Q 网络,它能让代理估算出作出某种行动后能得到的回报。两年前我们就已经介绍了深度强化学习的第一个广泛成功的算法,其中的关键想法就是利用深度神经网络来表征 Q 网络,然后训练这个 Q 网络预测总体奖励。之前因为学习过程不稳定,我们结合强化学习和神经网络的尝试都失败了。为了解决这种不稳定性,我们的深度 Q 网络(DQN)算法将代理的所有经验都储存起来,然后反复随机取样和重放这些经验以提供多样化的去相关训练数据。我们应用 DQN 来玩 Atari 2600 主机游戏,在每一个时间步骤,代理都会观察屏幕上原始像素和对应于游戏分数的奖励信号,然后选择游戏杆的方向来控制游戏。我们训练了为 50 个不同的 Atari 游戏训练了不同的 DQN 代理,没有用到任何游戏规则的先验知识,这一成果发表在《自然》杂志上。


image.jpg

令人惊奇的是,DQN 在这 50 个游戏中的几乎一半的游戏中都达到了人类水平的表现,超过了之前的任何方法。任何感兴趣亲自尝试的人都可以免费下载到 DQN 算法的源代码和 Atari 2600 模拟器。



随后我们继续在很多方面改进了 DQN 算法:进一步稳定学习动态;优化重放体验;标准化、聚合和重新调整输出。将这些改进结合到一起,我们在 Atari 游戏中的平均得分上实现了 300% 的提升;现在我们在几乎所有 Atari 游戏中都达到了人类水平。我们甚至还训练了一个神经网络来学习多个 Atari 游戏。我们还建立了一个大规模分布式深度强化学习系统 Gorila,它能利用谷歌云平台将训练时间缩短一个数量级;这个系统已被应用在了谷歌内部的推荐系统中。


然而,深度 Q 网络只是解决深度强化学习的一个办法。我们最近推出了一个基于异步强化学习(Asynchronous RL)的更加实用和有效的方法。这种方法利用标准 CPU 的多线程功能,这个方法可以让我们的代理的多个实例并行运行,并使用同一个模型。这为经验重放提供了一种可行的替代方案,因为并行也能让数据多样化和去相关。我们的异步评估-决策算法 A3C 结合了深度 Q 网络和深度策略网络来选择动作。它达到迄今为止最优的效果,它使用的训练时间是 DQN 的一小部分,资源消耗也比 Gorila 少得多。通过构建内部激励和暂时抽象规划的全新方法,我们也在 Montezuma’s Revenge 这样的著名难玩的 Atari 游戏中取到了一些突破性的成就 。


尽管 Atari 游戏表现出了非常广泛的多样性,但它们受限于基于 2D Sprite 的视频游戏。我们最近引入了 Labyrinth:一种有挑战性的 3D 导航和解密环境的套件。再次重申,该代理只能从其实时的视场中观察基于像素的输入,并且必须弄清楚地图,才能发现和利用奖励。


image-1.jpg

令人惊讶的是,A3C 算法在许多 Labyrinth 任务中实现了人类水平的表现。另一种基于情节记忆(episodic memory)的方法也被证明是成功的。Labyrinth 也将在未来几个月内放出源代码。



我们已经为机器人控制和运动这样的连续控制问题开发出了一些深度强化学习方法。我们的确定性策略梯度算法(DPG:Deterministic Policy Gradients )提供了 DQN(深度 Q 网络)的连续的模拟,利用了 Q 网络的可微性(differentiability)来解决范围广泛的连续控制问题。异步强化学习也在这些领域有很好的表现,而且当使用分层控制策略进行强化时,还能解决蚂蚁足球和 54 维人形障碍滑雪等有挑战性的问题,且不需要任何关于其中的动力学的知识。



围棋是最有挑战性的经典游戏。尽管人们已经在这上面努力了几十年,但之前的方法也都只能实现业余水平的表现。我们开发一种可以通过自我对弈同时从价值网络(预测胜负)和策略网络(选择动作)中学习的深度强化学习算法。我们的程序 AlphaGo 是这些神经网络和当前最先进的树搜索的结合。在 2015 年 10 月,AlphaGo 成为了第一个击败职业人类棋手的程序。2016 年 3 月,AlphaGo 在一场约有 2 亿观众观看的比赛中以 4:1 的成绩击败了李世石(最近十年来最强的棋手,拥有不可思议的 18 个世界冠军头衔)。


image-2.jpg

另外,我们还开发了一种深度强化学习的博弈论方法,其最终成为了一位抬头限制德州扑克的超人级玩家。


从 Atari 到 Labyrinth,从通过操作的运动到扑克甚至围棋,我们的深度强化学习代理已经在多种非常具有挑战性的任务中取得了显著的进展。我们的目标是继续提升我们的代理的能力,并在医疗等重要的应用中使用它们以给社会带来积极的影响。

产业深度学习谷歌