AlphaZero登上Science封面-听铁哥浅析阿尔法元(3)
Nature图: 深度卷积网络计算概率
深度卷积网络擅长整体对图像信息进行编码, 我们可以把这个巨大的残差网络所作的事情看成白日梦者对未来的总体规划。 多层卷积本身的天性决定它擅长从这种19*19的格子图像总结出意思来,强化学习的信息一旦可以训练网络,就会产生意想不到的效果。而之后MCTS蒙特卡罗树则对这种初步的结论进行实践修正。
在这里回顾一下蒙特卡洛树是怎么工作的,说到蒙特卡洛, 这是大名鼎鼎的随机抽样方法。所谓树,大家一定可以想到决策树,树的节点是某一刻的状态,而枝杈代表一个决策(行为),而这里的蒙特卡洛树即生成整个决策树的过程,通过大量的实验(犹如蒙特卡洛抽样的过程)得到每个决策行为取胜的概率。
决策树从一个状态s出发,每个分支代表一个可能行为(a),而且有一个代表最终赢率的分数与之对应,我们选择分数最高的那个行为继续展开(下一次行动),得到新的状态,用相同的规则行动,直到游戏结束, 最终赢的走法加一分, 输的走法减一分,依次往复模拟无数次后,就会得到从s出发不同决策赢得比赛的概率。 这个过程酷似进化选择算法, 就是让那些有优势的选择有更高的繁殖子代概率, 最终胜出。虽说这仅仅是阿尔法元的一小步,却包含了著名的Q-learning和马尔科夫决策树的思想。
我们来看每一步决策神经网络和蒙特卡洛树是怎么结合的:决策分为搜索阶段和行为阶段。假定现在我处在状态s,在搜索阶段神经网络对我所能做的所有行为(a)进行根据对未来的猜测进行预判,生成赢棋的概率v和策略向量p(s,a)。 当然这个预判开始很不靠谱, 蒙特卡洛树在此基础通过无数次模拟实践展开来(注意均是在状态s上),来实践出靠谱的策略向量pi(s,a)。
有了神经网络的帮助,蒙特卡罗树展开不是瞎展开, 也不是从零开始,每一个树的新分支上,我们都通过神经网络给它一个是正确步骤的先验概率(P)和初始的赢率(V),代表走它通向胜利的概率。在神经网络助攻下,蒙特卡洛树可以更快的更新策略向量(每个行为选择的概率)。此时搜索阶段结束, 我们从这个策略向量里通过抽样得到我们最终进行的行为,是为行为阶段。 这下一步棋还真不容易啊!