AlphaGo Zero算法讲解

本文深入解析AlphaGoZero算法,介绍其如何通过自我对弈提升棋力,而非依赖人类棋谱。文章详细阐述MCTS搜索原理及在AlphaGoZero中的应用,包括选择、扩展、仿真和回溯四个阶段。此外,还探讨了AlphaGoZero的神经网络结构及其在自我对弈学习、神经网络训练和网络评估三个阶段的作用。

   本篇博客讲解AlphaGo Zero算法。它对比于AlphaGo的改进在于它并不是学习人类棋谱。学习人类棋谱有一定的局限,第一就是人类下棋有局限,创新比较少;第二就是人类的棋谱少。AlphaGo Zero算法通过自我对弈完成棋力提高,可以克服以上两点。在学习AlphaGo Zero之前需要先学习MCTS搜索。

MCTS搜索

首先看下公式:
score =   w i n i + c ln ⁡ N i n i \text{score = }\ \frac{w_i}{n_i}+c\sqrt{\frac{\ln N_i}{n_i}} score =  niwi+cnilnNi
   其中, w i w_i wi i i i节点的胜利次数, n i n_i ni i i i节点的模拟次数, N i N_i Ni是所有模拟次数, c c c 是探索常数,理论值为 2 \sqrt{2} 2
比如对于下面的棋局,对于根节点来说,有3个选择,第一个选择7胜3负,第二个选择3胜5负,第三个选择0胜3负。
见下图,如Selection,白色为白子走,黑色为黑棋走; 11 / 21 11/21 11/21表示走此棋根据经验21局11胜。对于此节点来说,有3个选择,第一个选择7胜3负,第二个选择3胜5负,第三个选择0胜3负。
在这里插入图片描述
根据公式算出score,设 C = 10 C=10 C=10
第一个节点:
s c o r e ( 7 , 10 ) = 7 / 10 + C ⋅ log ⁡ ( 21 ) 10 ≈ 6.2 score(7,10) =7/10 + C \cdot \sqrt{\frac{\log(21)}{10}} \approx 6.2 score(7,10)=7/10+C10log(21) 6.2
第二个节点:
s c o r e ( 3 , 8 ) = 3 / 8 + C ⋅ log ⁡ ( 21 ) 8 score(3,8) = 3/8 + C \cdot \sqrt{\frac{\log(21)}{8}} score(3,8)=3/8+C

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值