AlphaZero

摘要:
与AlphaGo相比,AlphaZero最大的区别在于它不使用专家样本进行训练。AlphaZero输入的国际象棋状态是什么。在每个时刻,国际象棋的状态由表示。在神经网络的指导下执行MCTS搜索。MCTS搜索计算出的概率决定了行为方式。b、 显示了AlphaZero神经网络的训练过程。

一图解密AlphaZero
初步认识AlphaGo Zero原理
AlphaGo Zero的核心特点可以表述为:
AlphaGo Zero概述
AlphaGo Zero 背后的强化学习算法
TOC

一图解密AlphaZero

https://blog.csdn.net/ikerpeng/article/details/81387170
AlphaGo Zero主要由三个部分组成:自我博弈(self-play),训练和评估。和AlphaGo 比较,AlphaZero最大的区别在于,并没有采用专家样本进行训练通过自己和自己玩的方式产生出训练样本,通过产生的样本进行训练;更新的网络和更新前的网络比赛进行评估

整个系统开始依照当前最好的网络参数进行自我博弈,那么假设进行了10000局的比赛,收集自我博弈过程中所得到的数据。这些数据当中包括:每一次的棋局状态以及在此状态下各个动作的概率(由蒙特卡罗搜索树得到);每一局的获胜得分以及所有棋局结束后的累积得分(胜利的+1分,失败得-1分,最后各自累加得分),得到的数据全部会被放到一个大小为 500000的数据存储当中;然后随机的从这个数据当中采样2048个样本,1000次迭代更新网络。更新之后对网络进行评估:采用当前被更新的网络和未更新的网络进行比赛400局,根据比赛的胜率来决定是否要接受当前更新的网络。如果被更新的网络获得了超过55%的胜率,那么接收该被更新的网络,否则不接受。

preview

AlphaZero的输入的棋局状态到底是什么。
如图所示,是一个大小为19X19X17的数据,表示的是17张大小为19X19(和棋盘的大小相等)的特征图。其中,8张属于白子,8张属于黑子,标记为1的地方表示有子,否则标记为0 。剩下的一张用全1或者是全0表示当前轮到 黑子还是白子了。构成的这个数据表示游戏的状态输入到网络当中进行训练。

初步认识AlphaGo Zero原理

https://zhuanlan.zhihu.com/p/35103060

AlphaGo Zero的核心特点可以表述为:

  1. 单个神经网络收集棋局特征,在末端分支输出策略和棋局终止时的奖励
  2. 自我对弈的强化学习的蒙特卡罗树搜索(MCTS)
  3. 探索与利用的结合(Q+U 置信区间上限)

AlphaGo Zero概述

针对描述当前棋盘的一个状态(位置) s ,执行一个由神经网络 f_{ heta} 指导的MCTS搜索,MCTS搜索输出每一步行为(在某个位置落子)的概率。MCTS搜索给出的概率通常会选择那些比由神经网络 f_{ heta}(s) 给出的执行某一行为的概率要更强大。从这个角度看,MCTS搜索可以被认为是一个强大的策略优化工具。

通过搜索来进行自我对弈——使用改善了的基于MCTS的策略来指导行为选择,然后使用棋局结果(哪一方获胜,用-1和1分别表示白方和黑方获胜)来作为标签数据——可以被认为是一个强大的策略评估工具。

Alpha Zero算法主体思想就是在策略迭代过程中重复使用上述两个工具:

  • 神经网络的参数得以更新,这样可以使得神经网络的输出 (p, v) = f_{ heta}(s)
  • 移动概率和获胜奖励更接近与经过改善了的搜索得到的概率以及通过自我对弈得到的棋局结果,后者用 (pi, z) 表示。

得到的新参数可以在下一次自我对弈的迭代过程中让搜索变得更加强大。(下图)
AlphaZero第7张

a. 程序自我对弈完成一个棋局产生一个状态序列 s_1,...,s_T ,在 T 时刻棋局结束,产生了获胜方,用 z 表示。在其中的每一个时刻 T ,棋局状态用 s_t 表示,会在神经网络 f_{ heta} 的引导下执行一次MCTS搜索 {alpha}_{ heta} ,通过MCTS搜索计算得到的概率 a_t sim {pi}_t 确定如何行为(在何处落子)

b. 展示的Alpha Zero里神经网络的训练过程。神经网络的输入是某时刻 t 的棋局状态 s_t 外加一些历史和额外信息,输出是一个行为概率向量 p_t 和一个标量 v_t ,前者表示的在当前棋局状态下采取每种可能落子方式的概率,后者则表示当前棋局状态下当前棋手(还是黑方?)最终获胜还是落败(分别用1和-1表示)。神经网络的训练目标就是要尽可能的缩小两方面的差距:一是搜索得到的概率向量 {pi}_t 和网络输出概率向量 p_t 差距,二是网络预测的当前棋手的最终结果 v_t 和最终游戏赢家(1, -1表示)的差距。网络训练得到的新参数会被用来知道下一轮迭代中自我对弈时的MCTS搜索。

AlphaGo Zero 背后的强化学习算法

https://zhuanlan.zhihu.com/p/30283981

免责声明:文章转载自《AlphaZero》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇『GoLang』反射OpenLayers 3 入门教程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

生存分析(survival analysis)

一、生存分析(survival analysis)的定义  生存分析:对一个或多个非负随机变量进行统计推断,研究生存现象和响应时间数据及其统计规律的一门学科。   生存分析:既考虑结果又考虑生存时间的一种统计方法,并可充分利用截尾数据所提供的不完全信息,对生存时间的分布特征进行描述,对影响生存时间的主要因素进行分析。  生存分析不同于其它多因素分析的主要区...

Data Mining | 二分类模型评估-ROC/AUC/K-S/GINI

目录 1 混淆矩阵衍生指标 1.1 ROC 1.2 AUC 1.3 K-S 1.4 GINI 1.5 小结 1 混淆矩阵衍生指标 上面提到的ACC、PPV、TPR、FPR等指标,都是对某一给定分类结果的评估,而绝大多数模型都能产生好多份分类结果(通过调整阈值),所以它们的评估是单一的、片面的,并不能全面地评估模型的效果。因此,需要引入新的评估指标...

神经网络(8)---如何求神经网络的参数:cost function的表达

两种分类问题: binary & multi-class 下面的是两种类型的分类问题(一种是binary classification,一种是multi-class classification) 如果是binary classification的分类问题,则output layer只有一个结点(1 output unit, SL =1),hΘ(...

位姿检索PoseRecognition:LSH算法.p稳定哈希

位姿检索使用了LSH方法,而不使用PNP方法,是有一定的来由的。主要的工作会转移到特征提取和检索的算法上面来,有得必有失。因此,放弃了解析的方法之后,又放弃了优化的方法,最后陷入了检索的汪洋大海。 0:转自wiki:http://en.wikipedia.org/wiki/Locality_sensitive_hashing 以下参考资料仅供参考:LS...

机器学习分类算法之朴素贝叶斯

一、概念 朴素贝叶斯模型(Naive Bayesian Model,NBM)是以条件概率为基础的分类器,是一种监督算法,常被用于文本分类和垃圾邮件过滤。贝叶斯理论解决的是逆向概率问题,即通过已经发生的已知的概率来推测未发生的事将会发生的概率。  二、计算 朴素贝叶斯各个事件发生的概率是彼此独立的,即m事件概率P(m)和n事件概率P(n)同时发生的概率为P(...

R语言代写之文本分析:主题建模LDA

原文:http://tecdat.cn/?p=3897 文本分析:主题建模 library(tidyverse) theme_set( theme_bw()) 目标 定义主题建模 解释Latent Dirichlet分配以及此过程的工作原理 演示如何使用LDA从一组已知主题中恢复主题结构 演示如何使用LDA从一组未知主题中恢复主题结构 确定为k 选择适...