AlphaGo围棋论文中文翻译

Mastering the game of Go with deep neural networks and tree search

(使用深度神经网络与树搜索使计算机精通围棋)

David Silver1*, Aja Huang1*, Chris J. Maddison1, Arthur Guez1, Laurent Sifre1, George van den Driessche1,

Julian Schrittwieser1, Ioannis Antonoglou1, Veda Panneershelvam1, Marc Lanctot1, Sander Dieleman1, Dominik Grewe1,
John Nham2, Nal Kalchbrenner1, Ilya Sutskever2, Timothy Lillicrap1, Madeleine Leach1, Koray Kavukcuoglu1,
Thore Graepel1 & Demis Hassabis1
 

     因为围棋巨大的搜索空间和对棋盘位置和走子精确评估的困难,在很长时间里围棋被视作人工智能最具有挑战性的传统游戏。在这里我们将介绍一种使用“估值网络(value networks)”评估棋盘位置价值以及“策略网络(policy networks)”选择走子动作(Action)的新的电脑围棋算法。这些深度神经网络创造性的合并监督学习(通过人类专家棋手的棋谱学习)和强化学习(通过自我对弈的方式)来训练。没有任何超前搜索,这些神经网络已经通过自我对弈的方式模拟了成千上万的对局并使自己下围棋的水平达到了世界计算机围棋最好水平(相对于使用蒙特卡洛树搜索(Monte Carlo tree search)程序)。我们也将介绍一种新颖的算法,即通过合并蒙特卡洛树搜索和估值网络、策略网络来构建围棋程序。使用该算法,程序AlphaGo与其他围棋对弈达到了99.8%的胜率,以5:0的成绩击败欧洲围棋冠军(樊辉)。这是有史以来计算机程序第一次在全盘对弈中击败人类专业棋手,这个突破以前被认为需要十年以上的时间。

    所有完备信息的游戏都有一个最优的估值函数 ,在所有玩家完美的下子中,决定每个棋盘位置和状态的收益。这些游戏都可能通过在包含接近 ( b:搜索宽度, d: 搜索深度)种可能走子序列的搜索树中递归的计算最优估值函数来解决。但是计算复杂度高的游戏,象棋(b ≈ 35, d ≈ 80),尤其是围棋(b ≈ 250, d ≈ 150)详尽的搜索是不可能的,但是可以通过两个通用原则有效减少搜索空间。第一个原则,位置估计可能减少搜索的深度,即在状态 截断搜索,使用近似的估值函数替代 后子树的状态去预测在状态 的收益;这种方式可以在国际象棋,西洋棋,黑白棋游戏中达到超人一样的水平,但是因为围棋的计算复杂度,这种方法被认为很难在围棋中有效。第二条原则,在一个策略( | ) 上的采样走子减少搜索的宽度,策略( | ) 为在所有可能的位置 上走子的概率分布。如,蒙特卡洛展开(Monte Carlo rollouts)可以在策略上对所有玩家在长序列走子采样,不扩展分支搜索到最大化深度。在这样展开的节点上求平均可以获得位置的有效估计,这种方法可以取得超人的游戏能力,如:西洋双陆棋,拼字游戏,但是在围棋中只能达到弱业余水平。

    蒙特卡洛树搜索(MCTS)使用蒙特卡洛展开的方法估计搜索树中每个状态的价值。随着模拟的进行,搜索树变得越来越大,相关的值将变得越来越精确。通过选择较大值的子节点可以使选择走子的策略精度随模拟的进行提高。渐渐的,下棋的策略将会收敛到最优,估值函数也会收敛到最优。当今最强的围棋程序是建立在蒙特卡洛树搜索中通过预测人类专家棋手的走子策略来提高自己的。这些走子策略被用来窄化搜索到高概率走子以及在展开中采样走子。这种程序的实现已经达到了强业余水平。但是,前人的工作受限于基于线性的输入特征的浅策略和估值函数。

   最近,深度卷积网络已经在机器视觉领域达到了超过预期的效果,例如:图像分类,人脸识别,玩Atari游戏。他们使用多层神经元去构建图像更加的抽象的局部表达。我们也在围棋游戏中使用了一个相似的架构。我们用19 × 19的图片去表示围棋棋盘的盘面位置,用卷积层去构建出围棋位置的神经网络表示。我们使用这些网络有效减少了搜索树的深度和宽度,即通过估值网络去评估下棋的位置好坏,通过策略网络采样选择走子。

   我们使用流水线的方式分阶段通过机器学习训练神经网络(图1)。我们刚开始通过人类专家棋手的走子动作直接利用监督学习(SL)方式训练策略网络,这种方式可以提供直接的快速反馈以及高质量的梯度来快速有效的学习更新。和前人的工作相同,我们也训练了一个快速走子策略 ,它可以在 展开中快速采样。下一步,我们训练了一个强化学习式的策略网络(RL) 通过自我对弈优化最终游戏收益的方式提高监督策略网络的能力,这种调节可以使策略向游戏胜利的正确方向优化,而不是最大化预测精度。最后我们训练了一个估值网络 去预测自我对弈中游戏的胜利方。程序AlphaGo有效的结合了策略网络和估值网络以及蒙特卡洛树搜索。

图1 :神经网络训练流水线及架构

a.快速走子策略 和通过一个下棋位置的数据集训练监督策略网络去预测人类专家棋手的走子。强化学习式策略网络初始化为监督策略网络,然后通过和前面的策略网络以对弈的方式策略梯度学习并且最大化收益以提高策略的精度,新的对弈数据集将通过其网络的自我对弈产生。最后估值网络  使用网络自我对弈的数据集通过回归方式训练预测期望收益。

b.表示AlphaGo使用的网络架构原理图。策略网络使用棋盘位置作为输入,并与监督策略网络参数或强化策略网络参数 作用,在合法的走子 上输出走子的概率分布 ( |   )或者( |   )。估值网络也是使用卷积网络,其参数为,但是其输出为一个标量( ),该标量表示在位置预测的期望收益。

策略网络的监督学习

    训练的第一阶段,我们通过监督学习来预测专家棋手在围棋的走子。监督策略网络(  )交替的通过参数 以及非线性压缩函数,最后通过softmax层输出在合理走子 上的概率分布。策略网络的输入 仅仅简单表示为棋盘盘面状态。策略网络用随机采样的 State-Action (  )训练,并使用随机梯度上升法最大化似然函数:

                                               

我们在KGS围棋服务器上通过3000万个位置数据训练了一个13层的监督策略网络。这个网络在测试集上使用所有的输入特征的预测人类专家棋手走子动作精度为57.0%,只使用棋盘位置和历史走子记录作为输入时精度为55.7%,而其他研究团队提交的世界水平最好的精度为44.4%。精度略微的提高能使棋力提高不少;在搜索中更大的网络可以获得更高的精度但是会更慢。我们也使用了一个线性的softmax训练快速走子策略( |   ) ,但是训练精度更低,只有24.2%,但每一步只需用2微秒,而监督策略网络用了3毫秒。

策略网络的强化学习

  训练的第二阶段,训练旨在通过策略梯度的强化学习提高策略网络棋力。强化学习策略网络在结构上和监督网络是相同的,其参数被初始化为监督网络的参数,即:我们随机的选择先前迭代的策略网络和当前策略网络下棋。随机的从对抗池中选择对弈方训练才能使训练稳定并防止当前的策略过拟合。我们使用一个回报函数,在所有棋局的非终结时间步 < T 时其回报为零。而收益是棋局结束时的回报,在时间步 棋局结束时: +1标记赢棋,-1表示输棋。然后使用随机梯度上升更新每一个终结时间步的参数,最大化期望收益:

                                                     

    我们通过输出分布中选择走子来评估强化策略网络的表现。在相互对弈时强化策略网络相比于监督策略网络而言赢了超过80%的棋局。我们也测试对抗当前最强的开源围棋软件Pachi(一个复杂的蒙特卡洛树搜索程序,在KGS上排名业余2段,每走一步执行10万次模拟)。不使用搜索的情况下,强化策略网络在对抗Pachi中赢了85%的棋局。在比较中,先前顶级水平监督策略网络对抗Pachi 赢了11%的棋局,对抗轻量级的更弱的程序 Fuego 赢了12%的棋局。

估值网络的强化学习

    训练的最后阶段,关注于训练位置评估,估计所有玩家在状态 使用策略 获得收益的估值函数

                                                      

    理想情况下我们想知道在完美游戏下的最优估值函数;在实践中我们使用策略网络去估计作为强策略的估值函数,用其代替完美情况下的估值函数。我们使用估值网络去逼近估值函数,即:。这个估值网络和策略网络的架构相似,但是其输出值是一个预测标量而非概率分布。我们通过在数据(,)上回归的训练估值网络,训练使用梯度下降法,在预测值和对应的收益上最小化均方误差(MSE)

                                                     

    这种从一系列数据中预测整个棋局收益的幼稚(naive)实现将导致过拟合。过拟合是因为后继很多位置是强相关的及回归目标在整个棋局中是共享的,这和只有一个子的情况是不同的。当我们通过KGS的数据用这种方式训练的时候,估值网络记住了游戏的收益而不能在新位置泛化,训练的网络在测试集上的均方误差为0.37,在训练集的均方误差为0.19。为了减轻这个问题,我们在自我对弈中,从不同棋局中采样不同位置生成3000万个新的训练数据。其中每一局棋都是强化网络自我对弈直到游戏结束为止。在新生成的训练数据上的训练误差为0.226,测试误差为0.234,这两个数据表明只有极小的过拟合。图2b显示了估值网络对于位置的估计精度,对比于蒙特卡洛展开使用的快速走子策略,估值函数一致的变得更精确。使用强化策略网络的单一的估计也达到了蒙特卡洛展开的精度,但是减少了15000倍的运算量。

图2 策略网络及估值网络的强度和精度

 

图3 AlphaGo中的蒙特卡洛树搜索

             a,每次模拟选择具有最大走子动作值Q的边遍历搜索树,增加的奖励值依赖于该边存储的先验概率 P
            b,叶节点可能被扩展;新的节点只被策略网络处理一次,且其每一次走子动作的输出概率被存储为先验概率P。
            c,模拟的最后,叶节点被两种方式估计,即估值网络和用快速走子策略运行一个展开到游戏结束通过函数 计算胜利者

            d,走子动作值Q通过更新来跟踪所有在该动作下面子树的评估的平均值

 

用策略网络和估值网络搜索

    AlphaGo在蒙特卡洛树搜索算法中(通过超前搜索选择走子动作)结合了策略和估值网络,图3。搜索树的每个边 ( , ) 都存储了一个动作的值Q( , ),访问次数N( , )以及先验概率 P( , )。通过从根状态开始模拟(即,在整个游戏中从上向下遍历不备份)遍历整棵搜索树。在每个模拟的每一个时间步 ,从状态 中 选择一个走子动作

                                                        

   为了最大化走子动作的值加了一个奖励值:

                                                      

即:与先验概率成正比,随着重复访问增加而衰减以鼓励搜索。当遍历在步到达一个叶节点,这个节点有可能被扩展。叶节点位置只被监督策略网络执行一次,对于一个合理的下子,输出的概率将被存储为先验概率 P( , )=( | )。叶节点被两种不同的方式评估:第一个是估值网络评估,第二个是被快速走子策略在游戏终止 T 时的收益评估。这两个评估通过混合参数 合并为叶节点评估

                                                     

       在模拟的最后,所有遍历的边的动作值和访问次数被更新。每个边累积所有穿过这个边的访问次数和平均模拟估计

                                                    

                                                    

其中 是叶节点的第 次模拟。表示这个边是否在第 次模拟中被遍历。一旦搜索完成,算法从根位置(root position)选择访问次数最多的下子动作。

     很值得说,监督策略网络表现的比更强的强化策略网络好。大概因为人类棋手会选择不同的容许的下子,而强化策略网络只选择最优的下子。然而来源于强化策略网络的估值函数比来源于监督策略网络的估值函数表现更好。

    相对于传统的启发式搜索而言评估策略和估值网络需要几个数量级更多的计算要求。为了有效的结合蒙特卡洛树搜索和深度神经网络,AlphaGo在CPU上使用了异步的多线程搜索,在CPU上执行模拟,在GPU上并行的计算策略网络和估值网络。最终版本的AlphaGo使用40个搜索线程,48个CPU和8个GPU。我们也实现了一个分布式版本的AlphaGo,他可以利用多个机器,40个搜索线程,1202个CPU和176个GPU。后面的章节“方法”将会提供异步计算和分布式的蒙特卡洛树搜索的细节。

评估AlphaGo的棋力

    为了估计AlphaGo的棋力,我们在不同版本的AlphaGo间及其他的围棋程序间比赛,包括现在最强的商业程序Crazy Stone、Zen,最强的开源程序Pachi、Fuego。所有这些程序都基于高性能蒙特卡洛树搜索算法。额外的,我们也对比了开源程序GnuGo(一个当前用搜索算法的最高水平围棋程序,其能力超过了蒙特卡洛树搜索的程序)。所有的程序都要求每5秒内完成一次下子。

   这个比赛的显示出单机版的AlphaGo比前面的所有的围棋程序的段位排名更高,在495次游戏中赢得了494次(赢得99.8%的比赛)。为了加大挑战难度我们让四个子和其他程序比赛,AlphaGo分别赢得77%,86%,99%的游戏,分别和Crazy Stone,Zen 和Pachi在各自的比赛中。分布式版本的AlphaGo异常的强大,对比单机版的AlphaGo赢得的77%的棋局,完胜其他围棋程序。

  我们也评估了不同的AlphaGo只使用估值网络( = 0)或者快速走子策略( = 1)评估位置。即使没有快速走子策略 AlphaGo仍然超过了其他所有的围棋程序,这个表明有估值网络时,蒙特卡洛估计可能是可选的。然而混合估计( = 0.5)的AlphaGo表现最佳,赢了95%其他不同的AlphaGo。这个说明两个位置估计的机制是补充性的:估值网络用精确但速度比较慢的去逼近游戏的收益,然而展开方法可以通过稍弱但更快的策略 精确的评估游戏得分和游戏收益。图5显示了实际游戏同AlphaGo的估计。

    最后,我们评估了分布式版本的AlphaGo对抗樊辉(职业2段,2013,2014,2015欧洲围棋冠军)的比赛。在2015年10月5-9日AlphaGo和樊辉进行了一个正式的五番棋比赛,AlphaGo赢得了五盘所有的比赛。这是第一次计算机打败人类职业棋手,没有任何的让子,在整个比赛中完胜对手,以前被认为要至少10年以上的时间。

讨论、方法(见原文)

 

参考:Mastering the game of Go with deep neural networks and tree search

 

后记:

因为个人觉得这篇文章对于世界及国内的人工智能发展有比较大的意义,以及不是所有国内的从业者英文水平都很好,所以冒昧翻译。中文和英文有些词差异比较大,如果有问题请不吝指出。

 

  • 17
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对人工智能看法的论文范文参考全文共11页,当前为第1页。对人工智能看法的论文范文参考全文共11页,当前为第1页。对人工智能看法的论文范文参考 对人工智能看法的论文范文参考全文共11页,当前为第1页。 对人工智能看法的论文范文参考全文共11页,当前为第1页。 人工智能从其产生开始,就表现出强大的生命力,对人类产生巨大的影响。以下是店铺整理分享的对人工智能看法的论文的相关文章,欢迎阅读! 对人工智能看法的论文篇一:人工智能主导未来 2016年最重大的科技新闻里,头一条就是人工智能AlphaGo大战人类围棋顶尖高手李世石。一番鏖战,人类1:4输得一塌糊涂。天哪,人工智能时代真的就要来临了吗? 不只是围棋 击败李世石的AlphaGo是一种围棋人工智能,但按研发者的观点,它不仅仅能够应用于围棋领域,而是可以胜任多种不同的工作。 人工智能从20世纪70年代至今,已经发展了近半个世纪。这是一种依托于计算机的模拟人类思维的技术。AlphaGo在围棋中的胜出只是一个标志,意味着人工智能已经准备好了接受复杂的人类世界的挑战,并最终成为人类社会的一分子。 它已学会了学习 AlphaGo在与人类对弈的过程中,表现出了一项惊人的能力――学习。这是真正的人工智能,没有人知道人工智能学到了什么,以及能够学到多少。没错,就连开发者也不知道。AlphaGo可以通过与自己下棋来学习,每下一盘只需要0.2秒,这样一来,在很短的时间里,它就能研习几千万盘棋。 面对学习能力如此强大的人工智能,人类在纯智力领域败下阵来是不可避免的!更惊人的是,以AlphaGo为代表的新一代人工智能,属于更先进的"通用型人工智能",也就是说,AlphaGo今天在围棋界成为顶尖高手,明天也许就能在钓鱼大赛中夺魁! 人工智能还能干啥? 科学家预测,在不远的未来,一半以上的人类工作,都将被人工智能替代。在过去的半个多世纪里,工业制造和装配领域,已经成了机器人的天下,但这些机器人都是编程性机器人,只能按照程序设定对人工智能看法的论文范文参考全文共11页,当前为第2页。对人工智能看法的论文范文参考全文共11页,当前为第2页。做某一件事。人工智能型机器人将很快取代它们,成为工业生产中的多面手。它们不再只是机器,而是像产业工人一样――当然喽,不用领工资! 对人工智能看法的论文范文参考全文共11页,当前为第2页。 对人工智能看法的论文范文参考全文共11页,当前为第2页。 对了,现在已经有很多新闻媒体在采用机器人撰写新闻稿件了。连写文章这种事儿人工智能都能干,还有什么是它们办不到的吗? 扔掉驾照吧 你没看错,未来驾车已经不再是现代人必备技能了。有了人工智能,自动驾驶汽车很快就会涌向大街小巷。 实际上,以谷歌公司为首的多家科技巨头,已经在人工智能驾车技术中取得了突破性进展。谷歌、奔驰、特斯拉公司的无人驾驶汽车,都已经能顺顺溜溜地在高速公路上飞驰,而且绝对安全。 只不过,如果人工智能面对的是路况复杂、充满各种突发事件的城市街道,还稍微有点力不从心。这是人工智能下一步需要克服的技术难题――如何更像一个人那样思考? 人工智能大时代 科学家认为,目前的计算机技术可能是人工智能迎来爆发的最后障碍。更加复杂的计算和思维能力,需要下一代计算机技术――量子计算机来实现。量子计算机比传统计算机速度快得多,传统计算机需要几百年才能完成的运算,量子计算机可能只需要10秒! 当量子计算机技术成熟,人工智能将"进化"成和人类一样的"高等智慧生命体",到那时,人类将如何与它们平起平坐呢? 人工智能是威胁吗? 在经典科幻电影《终结者》中,未来的世界被人工智能把持,人类已经没有立足之地。人工智能成为一种新的生命形式,而它们认为,人类的存在会威胁它们的生存与发展,于是到处"捕杀"人类。 人工智能真的会成为人类的敌人吗? 哎呀,这个问题太难回答了。在飞机诞生之前,人类都憧憬着插上翅膀遨游天空,可谁又能想到飞机也可以扔下炸弹呢?事物都有两面性,与其惶惶不可终日,不如去努力做到最好。实际上,不论是癌症、气候变化、能源、染色体、还是财务系统,人类需要掌握的系统正变对人工智能看法的论文范文参考全文共11页,当前为第3页。对人工智能看法的论文范文参考全文共11页,当前为第3页。得越来越复杂,没有人工智能的辅助,科技将越来越难以实现突破。你看,围棋界就很欢迎AlphaGo的出现,因为那意味着人类棋手多了一种能力超群的棋伴。可以预见,人类围棋的水平也将因为人工智能而发展到一个崭新的高度。 对人工智能看法的论文范文参考全文共11页,当前为第3页。 对人工智能看法的论文范文参考全文共11页,当前为第3页。 对人工智能看法的论文篇二:人工智能的发展 一、人工智能的发展过程 人工智能(AI.Artificial Intelligence)经历了三次飞跃阶段:实现
AlphaGo 是一个由 DeepMind(英国一家人工智能研究公司,现为谷歌子公司)开发的围棋人工智能程序。它基于深度学习和强化学习等人工智能技术,通过自我对弈训练和大规模数据学习,取得了世界顶级围棋选手的水平。下面我将简要解读 AlphaGo 的代码。 首先,AlphaGo 的代码由多个模块组成。其中,核心模块是神经网络,它通过大量的训练对围棋局面进行评估和预测,帮助决策最佳的下棋动作。该神经网络采用了深度卷积神经网络(CNN)结构,由多个卷积层和全连接层组成。这些层次可以提取出不同抽象程度的特征,使得 AlphaGo 能够更好地理解和预测围棋局面。 其次,AlphaGo 通过蒙特卡洛树搜索算法来实现决策过程。这种算法可以在大规模搜索空间中找到最优的下棋策略。通过随机模拟多次局面与动作的对局结果,计算出每个动作的价值,并根据收益选择最佳的动作。这样,AlphaGo 可以在有限时间内评估出大量动作的价值,并选择下一步最优的动作。 此外,AlphaGo 的代码还包含了自我对弈和强化学习的训练模块。在自我对弈阶段,AlphaGo 会与自身多次进行对局,并通过经验积累优化神经网络。这个过程不断迭代,直到神经网络达到高水平的棋力。在强化学习阶段,AlphaGo 学习从人类专家对局记录中学习,逐渐提高自己的棋艺。 总之,AlphaGo 的代码结合了深度学习、强化学习和蒙特卡洛树搜索等技术。通过神经网络的评估和预测,以及蒙特卡洛树搜索的决策策略,AlphaGo 成功地实现了世界顶级水平的围棋运算能力。通过自我对弈和强化学习的训练,AlphaGo 不断提高自己的棋艺,成为围棋领域的顶尖选手。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值