AlphaGo 的棋局,与人工智能有关,与人生无关
把它们放到 KGS 上比赛,darkforest 能到 1k-1d 的水平,darkforest1 能到 2d 的水平,darkforest2 能到 3d 的水平【注:KGS 的 3d 应该到不了实际的业余 3 段】,下面是具体的情况。 因此作者认为加入 3 步预测的训练是有效的。 MCTS+DCNN tree Policy: 走法首先通过 DCNN 排序,然后按顺序选择,除非累计的概率超过 0.8 或者超过一定次数的 top 走法。Expansion 使用的 UCT 算法。 Default Policy:参考的 Pachi 的 tree policy,有 3*3 的 pattern,对手打吃的点(opponent atari point),点眼的检测(detection of nakade points)等。 这个版本的软件叫 darkforest3,在 KGS 上能到 5d 的水平。 弱点 DCNN 预测的 top3/5 的走法可能不包含局部战役的一个关键点,所以它的局部作战能力还比较弱。 对于一些打劫点即使没用,DCNN 还是会给高分。 当局面不好的情况下,它会越走越差(这是 MCTS 的弱点,因为没有好的走法,模拟出来都是输棋,一些比较顽强的抵抗的走法不能走出来)。 从上面的分析可以看出:DCNN 给出的走法大局观还是不错的,这正是传统的方法很难解决的问题。局部的作战更多靠计算, MCTS 会有帮助。但是我个人觉得 MCTS 搜索到结束,没有必要。一个局部的计算也许可以用传统的 alpha-beta 搜索来解决,比如征子的计算,要看 6 线有没有对手的棋子,另外即使有对手的棋子,也要看位置的高低,这样的计算 DCNN 是没法解决的,需要靠计算。 AlphaGo 终于轮到主角上阵了,您可能不耐烦了。不过有了前面的基础,理解 AlphaGo 就容易多了,这里我们主要分析 AlphaGo 的创新点。 Policy Network & Value Network 上图是 AlphaGo 所使用的两个网络以及训练过程。和之前的工作比,除了 Policy Network 之外,AlphaGo 多了一个 Value Network。 Policy Network 我们通过之前的介绍以及了解到了,它的作用是 tree Policy 时候的 Node Selection。(rollout 阶段不能使用 Policy Network,因为 DCNN 的计算速度相对于 Simulation 来说太慢,所以 AlphaGo 又训练了一个简单的 Rollout Policy,它基于一些 local 的 pattern 之类的 feature 训练了一个线性的 softmax)。 那么 Value Network 又是做什么用的呢?这个 Value Network 就是我们之前说的很多工作都“回避”的问题——给一个局面打分,就是之前在象棋和 minimax 部分讨论的局面的估值函数,只不过 AlphaGo 是使用深度强化学习 (deep reinforcment learning) 学习出来,而不是像 Deep Blue 或者其它象棋程序那样是人工提取的 feature 甚至手工调整权重(当然 Deep Blue 是很多年前的工作了,现在也有用深度强化学习来搞国际象棋的,比如这篇论文《Giraffe: Using Deep Reinforcement Learning to Play Chess》)。 前面在讨论 Tian 等人的工作时我们也分析过了,光用 Move Prediction 的软件大局观还不错,但是局部的战术就比较差,因为局部的战术更多靠计算,人类也是这样。围棋由于估值函数比较困难,所以大都是用 MCTS 搜索到游戏结束。但是 MCTS 如果盲目搜索(使用随机的 default policy 去 rollout/playout)肯定不好,使用各种领域知识来缩小 rollout 的范围就非常重要。前面我们也看到,传统的 MCTS 只能到 2d 的水平,而用 DCNN 的 tree policy 的 MCTS 就能到 5d 的水平(如果 default policy 如果能用 DCNN 指导肯定更好,可惜 DCNN 的速度太慢)。 (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |