甜野猫|组合游戏系列4: AlphaGo Zero 强化学习算法原理深度分析( 三 )


甜野猫|组合游戏系列4: AlphaGo Zero 强化学习算法原理深度分析原则1: 通过Value Network减少搜索的深度Value Network 通过预测给定局面的value来直接预测最终结果 , 思想和上一期Minimax DP 策略中直接缓存当前局面的胜负状态一样 , 减少每次必须靠模拟到最后才能知道当前局面的输赢概率 , 或者需要多层树搜索才能知道输赢概率 。
甜野猫|组合游戏系列4: AlphaGo Zero 强化学习算法原理深度分析
甜野猫|组合游戏系列4: AlphaGo Zero 强化学习算法原理深度分析原则2: 通过Policy Network减少搜索的宽度搜索广度的减少是由Policy Network预估来达成的 , 将下一步搜索局限在高概率的动作上 , 大幅度提升原先MCTS新节点生成后冷启动的搜索宽度 。
甜野猫|组合游戏系列4: AlphaGo Zero 强化学习算法原理深度分析神经网络结构AlphaGo Zero 使用一个单一的深度神经网络来完成policy 和value的预测 。 具体实现方式是将policy network和value network合并成一个共享参数 的双头网络 。 其中z是真实游戏结局的效用 , 范围为[-1, 1]。
甜野猫|组合游戏系列4: AlphaGo Zero 强化学习算法原理深度分析
甜野猫|组合游戏系列4: AlphaGo Zero 强化学习算法原理深度分析Monte Carlo Tree Search (MCTS) 建立了棋局搜索树 , 节点的初始状态由神经网络输出的p和v值来估计 , 由此初始的动作策略和价值预判就会建立在高手的水平之上 。 模拟一局游戏之后向上回溯 , 会同步更新路径上节点的统计数值并生成更好的MCTS搜索策略。 进一步来看 , MCTS和神经网络互相形成了正循环 。 神经网络指导了未知节点的MCTS初始搜索策略 , 产生自我对弈游戏结局后 , 通过减小 和的 Loss, 最终又提高了神经网络对于局面的估计能力 。 神经网络value network的提升也是通过不断减小网络预测的结果和最终结果的差异来提升 。因此 , 具体神经网络的Loss函数由三部分组成 , value network的损失 , policy network的损失以及正则项 。
甜野猫|组合游戏系列4: AlphaGo Zero 强化学习算法原理深度分析【甜野猫|组合游戏系列4: AlphaGo Zero 强化学习算法原理深度分析】损失函数
AlphaGo Zero MCTS 具体过程
甜野猫|组合游戏系列4: AlphaGo Zero 强化学习算法原理深度分析AlphaGo Plays Games Against Itself
AlphaGo Zero的MCTS和传统MCTS都有相似的四个过程 , 但AlphaGo Zero的MCTS步骤相对更复杂 。首先 , 除了W/N统计指标之外 , AlphaGo Zero的MCTS保存了决策边 a|s 的Q(s,a):Action Value , 也就是Q-Learning中的Q值 , 其初始值由神经网络给出 。 此外 , Q 值也用于串联自底向上更新节点的Value值 。 具体说来 , 当某个新节点被Explore后 , 会将网络给出的Q值向上传递 , 并逐层更新父节点的Q值 。 当游戏结局产生时 , 也会向上更新所有父节点的Q值 。此外对于某一游戏局面s进行多次模拟 , 每次在局面s出发向下探索 , 每次探索在已知节点按Selection规则深入一步 , 直至达到未探索的局面或者游戏结束 , 产生Q值后向上回溯到最初局面s , 回溯过程中更新路径上的局面的统计值或者Q值 。 在多次模拟结束后根据Play的算法 , 决定局面s的下一步行动 。 尽管每次模拟探索可能会深入多层 , 但最终play阶段的算法规则仅决定给定局面s的下一层落子动作 。 多次向下探索的优势在于:


推荐阅读