深入浅出Alpha Zero技术原理

本文深入剖析Alpha Zero技术,详细介绍了蒙特卡洛树搜索的概念,包括蒙特卡洛方法、博弈树与剪枝、蒙特卡洛树的建立过程。同时,探讨了带神经网络的蒙特卡洛树,如何利用神经网络选择策略,进行网络学习以及在实际应用中的使用过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

深入浅出Alpha Zero技术原理

1、蒙特卡洛树搜索

(1)蒙特卡洛方法

蒙特卡罗法也称统法模拟法、统计试验法。是把概率现象作为研究对象的数值模拟方法。

在这里插入图片描述

上图中,求中间曲线区域的面积。曲线区域的面积不易计算,而正方形面积易于计算。则可以进行随机地采样,将属于曲线内的点的数量记作 N a N_{a} Na,一共采样了N次。

则中间曲线区域的面积为:
S = S s q u a r e N a N S=S_{square} \frac{N_{a}}{N} S=SsquareNNa
S S S -曲线区域面积

S s q u a r e S_{square} Ssquare -正方形的面积

于是通过随机采样的方式计算出了曲线区域的面积,采样的次数越多,则越精确。

(2)博弈树和剪枝

大多数的博弈,可以当做一棵树。在树上找路径。围棋有3^(19x19)的可能,有些路径是死路,需要修剪掉。神经网络有记忆能力,由神经网络做剪枝,将需要的部分记忆下来。

(3)蒙特卡洛树

在这里插入图片描述

上图展示的是蒙特卡洛树的建立过程,选择路径、扩张、模拟、反向传播。

下面详细讲解蒙特卡洛树建立的过程。

首先开始一局围棋。此时的棋盘上没有一颗棋子,我们先建立一个节点。

在这里插入图片描述

此时该节点属于叶子节点。并且是蒙特卡洛树的初始状态。

于是我们需要扩展该节点。

也就是说,此时围棋中,是执黑手的一方下棋。现在我们看棋盘,有19X19个位子可供选择,于是可以拓展出361个子节点。见下图所示:

在这里插入图片描述

然后我们随机地选这一步棋,并走出这一步棋。比如下图所示这一步棋子:

在这里插入图片描述

然后我们就开始模拟这一步棋将会带来的结果。便是随机下棋,直到棋局终止,计算结果。

在这里插入图片描述

假定模拟下棋至终点的结果为胜。那么我们统计导致该结果所经过的节点。见下图:

在这里插入图片描述

其中,图中每个节点式中,分子代表获胜的次数,分母代表途经该节点的次数。

于是我们开始玩第二把围棋。我们从空棋盘下,走出一步,依旧走第一次下棋的那步棋。

在这里插入图片描述

然后发现该节点是叶子节点,于是要拓展。于是发现有如下位置可以下子,见绿色部分。

在这里插入图片描述

现在我们随机的选择一步棋下下去:

在这里插入图片描述

之后,我们模拟该步棋子的结果,随机地下至局终:

在这里插入图片描述

发现该棋局为败,于是我们更新抵达这一结果的所有节点。

在这里插入图片描述

同样的,在每个节点,分子代表获胜的次数,分母代表途经该节点的次数。

然后,再一次开始玩游戏。

在这里插入图片描述

下出如此的棋,并在走至节点A后,发现该节点是叶子节点,于是拓展一下,建立出绿色的可行棋的子节点。

然后选择一步棋,并下出来。之后随机地下至局终,得到该结果。

在这里插入图片描述

于是更新出抵达这一结果的路经的所有节点:

在这里插入图片描述

我们可以看到,如果持续这样的过程,只要经过很多很多步,则可以建立一个庞大的树结构,称之为蒙特卡洛树。每一个节点的比例,则代表的是该节点的胜率。只要建立这样的一棵树以后,在实际下棋的过程中,按照每一个节点的胜率,选择最大的一个即可。

2、带神经网络的蒙特卡洛树

然而这样的一个蒙特卡洛树并不容易建立,因为围棋中的最大变化次数为10^172种,即使部分的棋局不可能出现局面,也将是庞大的。以现在算力,计算至宇宙灭亡也是不可能完全建立这样的一棵蒙特卡洛树。其中最花费计算力的是,模拟过程,因为每下一次棋,都要模拟下棋至局终。

(1)选择策略

于是,我们建立一个神经网络,使用神经网络来给出该节点的胜负。并使用神经网络来选择节点,而非完全是随机选择节点。

在每一次选择节点的时候,选择

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值