AlphaGo的基本原理_第1页
AlphaGo的基本原理_第2页
AlphaGo的基本原理_第3页
AlphaGo的基本原理_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、alphago的基本原理alphago的基本原理 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(alphago的基本原理)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为alphago的基本原理的全部内容。alphago的基本原理 全世界只有3.14 % 的人关注了数据与算法之美继 alphago于2015年8月以50战胜

2、三届欧洲冠军樊麾、2016年3月以41击败世界顶级棋手李世石后,今年1月,alphgo的升级版本master横扫各路高手,取得60比0的惊人战绩.20 年前ibm深蓝(deep blue)计算机击败国际象棋冠军卡斯帕罗夫的情景还历历在目,短短2年时间,人工智能在围棋领域又创造了人机对抗历史上的新里程碑。根据谷歌deepmind团队发表的论文,我们可以窥探到alphago的基本设计思路.任何完全信息博弈都无非是一种搜索.搜索的复杂度取决于搜索空间的宽度(每步的选择多寡)和深度(博弈的步数)。对于围棋,宽度约为250,深度约为150。alphago用价值网络(value network)消减深度,

3、用策略网络(policy network)消减宽度,从而极大地缩小了搜索范围。所谓价值网络,是用一个“价值数来评估当前的棋局。如果我们把棋局上所有棋子的位置总和称为一个“状态”,每个状态可能允许若干不同的后续状态。所有可能状态的前后次序关系就构成了所谓的搜索树。一个暴力的搜索算法会遍历这个搜索树的每一个子树.但是,其实有些状态是较容易判断输赢的,也就是评估其“价值”。我们把这些状态用价值表示,就可以据此省略了对它所有后续状态的探索,即利用价值网络削减搜索深度。所谓策略,是指在给定棋局,评估每一种应对可能的胜率,从而根据当前盘面状态来选择走棋策略。在数学上,就是估计一个在各个合法位置上下子获胜的

4、可能的概率分布。因为有些下法的获胜概率很低,可忽略,所以用策略评估就可以消减搜索树的宽度。 更通俗地说,所谓“价值就是能看懂棋局,一眼就能判断某给定棋局是不是能赢,这是个偏宏观的评估.所谓的“策略”,是指在每一步博弈时,各种选择的取舍,这是个偏微观的评估。alphago利用模拟棋手、强化自我的方法,在宏观(价值评估)和微观(策略评估)两个方面提高了探索的效率。在具体算法上,alphago用深度卷积神经网络(cnn)来训练价值网络和策略网络。棋盘规模是(1919),棋盘每个位置编码48种经验特征.把这些特征输入模型进行训练,经过层层卷积,更多隐含特征会被利用。基于类似的卷积神经网络结构,alph

5、ago先做策略学习(学习如何下子),再做价值学习(学习评估局面)。策略学习也分为两步。第一步是有监督学习,即“打谱”,学习既往的人类棋谱。第二步是强化学习,即“左右互搏”,通过程序的自我博弈来发现能提高胜率的策略(见图1). 图 1 策略网络和价值网络的训练过程先说“打谱”(有监督学习).alphago学习了kgs网站上3000万个落子位置。它先随机选择落子位置,利用既往的棋谱来“训练”,试图预测人类最可能在什么位置落子.如果仅用落子历史和位置信息,alphago的预测成功率是55.7。如果加上其他特征,预测成功率可以进一步提高到57。在数学上,打谱是用一种梯度下降算法训练模型。给定一个棋局和

6、一个落子方式,为了计算人类棋手会有多大概率采用这种下法,alphago用一个13层的卷积网络来训练这个概率的评估。这也是神经网络应用的经典做法,即基于梯度下降来逼近一个函数的学习,这里函数就是棋手如何落子的概率。 再说“左右互搏”(强化学习)。这是在打谱的基础上,让不同下法的程序之间相互博弈。强化学习的策略网络和有监督学习(打谱)的网络结构一样,也同样利用梯度下降的学习方法.区别在于用一个“回报”(赢棋是1,输棋是-1)来奖励那些会导致最终获胜的策略. 价值网络的学习和策略网络类似,也用类似结构的卷积神经网络。区别在于网络的输出不是一个落子的概率分布,而是一个可能获胜的数值(即“价值”).这个

7、训练是一种回归(regression),即调整网络的权重来逼近每一种棋局真实的输赢预测. 如果只是简单地让程序之间自由博弈,可能会导致过拟合:对训练的数据(棋谱)效果很好,但是对于没见过的棋局效果欠佳。这是因为一盘棋内不同的棋局之间是有依赖关系的,而价值函数并不考虑这些关系。解决方法是用来自不同对弈过程的棋局的落子位置进行训练,避免来自同一棋局的状态之间的“信息污染”(相关性)。有了策略网络和价值网络,就可以进行策略的搜索了。alphago使用了“蒙特卡洛树搜索”(mcts)算法。所谓搜索,就是给定一个棋局,确定下一步的落子位置。这分为“往下搜”和“往回看”两个环节。在“往下搜”的环节,对给定的棋局,程序选择最可能获胜的落子位置,然后如此类推,直到搜索树上能分出结果的“叶子节点。在“往回看”的环节,一个棋局各种不同的演化可能性被综合评估,用于更新搜索树对棋局的评估.为了提高训练效率,alphago利用图形处理器(gpu)运行深度学习算法(训练价值网络和策略网络),利用cpu运行树搜索算法。因为gpu适合做大吞吐量、低逻辑判断的工作,适合深度学习这种数据量大而逻辑简单的算法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论