《人工智能控制技术》 课件 chap9-五子棋对弈案例_第1页
《人工智能控制技术》 课件 chap9-五子棋对弈案例_第2页
《人工智能控制技术》 课件 chap9-五子棋对弈案例_第3页
《人工智能控制技术》 课件 chap9-五子棋对弈案例_第4页
《人工智能控制技术》 课件 chap9-五子棋对弈案例_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

《人工智能控制技术》五子棋自动对弈实例五子棋自动对弈实现原理2016年3月,AlphaGo与围棋世界冠军、职业九段棋手李世石进行围棋人机大战,以4比1的总比分获胜,在当时引起了轩然大波。2017年10月,谷歌公布了新版围棋程序AlphaGoZero。与击败李世石的AlphaGo不同的是,AlphaGoZero

在训练过程中没有使用任何人类棋谱,一切从零开始。训练了72小时后,它就以100比0的成绩完胜前辈AlphaGo。与AlphaGo不同的是,AlphaGoZero

将分离的策略网络和价值网络组合在一个策略-价值网络中,五子棋自动对弈也采用这种方法实现。下面将从策略-价值网络的输入与输出以及内部结构等方面对其进行介绍。五子棋自动对弈实现原理

棋盘输入与输出五子棋自动对弈实现原理

策略-价值网络模型结构五子棋自动对弈实现原理

Convolitionalblock五子棋自动对弈实现原理为了提升网络的特征提取能力并防止出现梯度消失问题,在卷积层下面堆叠着19个或39个Residualblock,如图所示,每个Residualblock由2个组成类似于Convolutionalblock的子模块构成,唯一不同的就是在第二个子模块的非线性激活之前加上了跳连接,使输入与批归一化模块的输出相加再输入ReLU函数,最终输出19×19×256的特征图像。Residualblock五子棋自动对弈实现原理从最后一个残差块输出的特征图像作为Policyhead的输入,经过Policyhead内部的卷积层、批归一化层和全连接层的处理之后,得到维度为19×19+1=362的移动概率向量p。实际上为了计算误差的方便,全连接层后会有一个log_softmax,得到对数概率log(p),如图所示。Policyhead五子棋自动对弈实现原理最后一个残差块的输出还会输入Valuehead中,与Policyhead不同的是,Valuehead里面有两个全连接层:第一个全连接层将输入映射为256维的向量,第二个全连接层再将256维的向量变为标量,最后经过tanh函数将这个标量压缩到[-1,1]区间,得到v,如图所示。Valuehead五子棋自动对弈实现原理

蒙特卡洛树收索蒙特卡洛树收索在棋盘上要穷举出所有走法是不太现实的一件事,所以本五子棋实例都使用了蒙特卡洛树搜索(MCTS)算法。如下图所示,蒙特卡洛树搜索包含四个步骤,分别是:选择、拓展与评估、反向传播和演绎。蒙特卡洛树搜索选择步骤

选择步骤

拓展与评价步骤

反向传播步骤在拓展与评估步骤中得到了叶节点对应的玩家的获胜概率v,所谓的反向传播,就是指将这个v传播到从根节点到叶节点这一路的所有节点上(不包含叶节点),可以使用递归做到这一点。由于这些节点的当前玩家一直在切换,所以将-v传入递归函数。至此完成一次搜索。演绎步骤

五子棋自对弈训练五子棋自对弈训练过程本例在实验时总共自对弈了4400局,使用自对弈来生成用于训练的数据,其中每一局的过程都是相同的。五子棋自对弈训练过程

五子棋自对弈训练过程4.根据最后的赢家计算出z_list

中的每一个元素,计算规则为:赢家与每一个动作的当玩家相同则为1,不同为-1,平局为0。由于五子棋具有旋转不变性和镜像对称性,所以将做了旋转变换和水平镜像变换的各个(feature_planes_list,pi_list,z_list)添加到self-play数据集中,其中feature_planes_list

中的各feature_planes

在训练过程中将作为策略-价值网络的输入,pi_list和z_list

的各元素将作为标签;5.结束一局自对弈。五子棋自对弈训练过程

五子棋自对弈训练过程每当完成一次策略-价值网络的训练之后,就可以接着进行一局自对弈以产生新的数据,然后再进行一次训练,就这样一直循环下去。随着训练次数的增加,学习率会逐渐减小,具体变化如表所示:学习率变化表五子棋自对弈训练过程五子棋中自对弈数据是由最新的策略-价值网络产生的。虽然不使用历史最优模型来产生数据,但是会定期让当前模型和历史最优模型进行对比,如果当前模型的胜率超过55%,就将历史最优模型更新为当前模型。五子棋在对弈的过程中可以明显感受到它的水平在一直提高,自对弈到3000局的时候就已经有正常人的水平了。五子棋自对弈训练过程通过右图以看出没有任何训练的五子棋自对弈还什么都不会,只会乱走,刚开局的时候还很喜欢挑边沿走棋,最后黑方和白方都是靠运气赢得了比赛。训练0次的棋谱五子棋自对弈训练过程右图是训练了800次的棋谱,可以看到训练了800次之后,五子棋对弈程序已经初步可以知道规则,开局时往中间走,而且在对方快连成五颗的情况下也知道要去堵。但如图9-9第二张棋谱所示,在白方4、6、8已经连成3颗时,黑方还不会去堵。而且在已经连成4颗棋子的情况下,白方居然没有绝杀黑方,而是下了12这手棋。因此此时的五子棋自动对弈还只会下前几手。训练800次的棋谱五子棋自对弈训练过程右图是训练4400次的结果,可以看到训练到4400局之后,五子棋已经掌握了开局和攻守的诀窍。一开始双方就挨得很近,试图阻止对方连成3颗。在黑方的5、7、9连成3颗时,白方也及时堵住。在白方8、14、10连成3颗时,黑方暂时没有理他,而是在左下角下了15,与自己的1、3、13连成了4颗,企图先下手为

温馨提示

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

评论

0/150

提交评论