AlphaGo-Nature: Mastering the game of Go with deep neural networks and tree search


现代人工智能课程大作业让分析一下 这篇论文,正好整理到博客上。

Introduction

首先介绍了一下之前破解各种游戏所采用的搜索空间剪枝的原则。以及Monte Carlo tree search (MCTS),在围棋上达到了较强的业余选手水平,但是离人类顶尖职业选手还是有不少差距。

本文将围棋19x19的棋盘位置作为一个19x19 image送入CNN。使用神经网络对搜索树进行剪枝,并且结合RL中的 value-based & policy-based network:
在这里插入图片描述

首先训练一个 supervised learning (SL) policy network学习人类专家的下棋方式,以及一个fast rollout policy network,用于在MCTS的rollouts中快速地选择策略;再者,训练一个reinforcement learning (RL) policy network 来提升SL policy network 的表现,不仅仅再是模仿人类的下棋方式(最大化棋盘位置概率作为优化目标),而是以在自我对抗中获取胜利作为最终目标;最后训练了一个value network来评估当前局面下的胜者。AlphaGo高效地将policy and value networks结合到MCTS中。

SL policy networks

SL是一个CNN,输入s是当前棋盘状态,最后通过softmax给出每个合法下法的概率。训练时,对于随机采样的state-action pairs (s, a)使用SGD,来优化一个最大似然目标(当前状态s下的下法a概率最大)。
在这里插入图片描述
搭建了一个13-layer policy network,经过人类高手三千万步围棋走法的训练后,SL policy network模拟人类落子的准确率已经达到了57%。同时通过提取一些pattern features,训练了一个响应速度更快,但模拟准确率只有24%的网络。

RL policy networks

第二步旨在通过RL来提升policy network的性能表现。
因此,RL policy net与SL policy net结构相同,参数初始化亦与训练后的SL保持一致:
在这里插入图片描述
采用self-play方式,对战双方分别是当前的policy net VS a randomly selected previous iteration of the policy network,这样可以防止对某个policy过拟合。
对于reward,最终胜利是+1,输掉是-1。
优化目标是一个最终的期望结果:(涉及到强化学习的训练方式,回头有空补一补)
在这里插入图片描述
RL policy networks训练后能有80%的击败之前的SL network,85%的概率击败目前最强的围棋开源程序Pachi(业余二段的水平,那不和我差不多嘛哈哈哈)。而SL policy network只有11%的概率可以击败Pachi

Reinforcement learning of value networks

最后一步,训练了一个判断整个局面的value networks。希望它基于当前状态s,两个players使用同一policy,可以预测出一方获胜的期望概率。
在这里插入图片描述
首先,这个value function是基于当前最强policy的:
在这里插入图片描述
结构与之前的两个policy network很相似,只是输出一个结果而不是概率分布:
在这里插入图片描述
如果仅用有限的人类棋谱来学习判断整个局面,每个棋局需要训练很多次,但是同一个棋局里的盘面状态是很相似的,这样学效果不行。于是作者采用self-play,基于同一个policy,对战了三千万局,并对每个棋局进行一次采样,得到了30M个state-outcome pairs (s, z)用以直接进行回归训练 。s是当前棋局状态,z是最终的结果。
在这里插入图片描述
在这里插入图片描述
这样value function可以在任意state,瞬间看穿最终结局。这种方式显然比采用policy network一步步模拟+剪枝搜索,得到最终结果,效率要高得多。实验证明,该value function效果也能和Monte Carlo rollouts+RL policy 媲美,且效率提升15000倍!
在这里插入图片描述

Searching with policy and value networks

之前的几个模块,结合MCTS算法,就能构成惊艳世界的AlphaGo了~
这个博客这一段总结的不错:
在这里插入图片描述
MCTS是采用 lookahead search 方式挑选action
(RL我多少还有点基础,MCTS没了解过,所以这部分如何搜索的理解的不透彻,以后可以去看看细节,这个博客简单介绍了下,也可以看看)

搜索评估时,同时使用两种方式:
在这里插入图片描述

搜索时,使用SL,因为模拟人类的走法花样更多。RL的走法当前看是single best move。(这里有点奇怪,SL走法花样是有可能的,RL按照这里意思是长远来说不一定最优?可是他在RL训练时,是以赢棋为目标的啊……)
总之,只考虑接下来的一步,RL有优势;但是在MCTS搜素中,SL可以探索出更优的解。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值