田渊栋:第四局AlphaGo败招的分析

第四局李世石的78手L11挖被大家誉为“神之一手”,在DarkForest的策略网络输出里排第31位,而J11靠排第10位。因此我觉得可能是AlphaGo没有算到这一步。如果对方下了一手机器没算到的棋,则蒙特卡罗搜索树会清空,然后重新开始搜索,不应该会太快做出结论。李喆六段告诉我K10这一手是秒下,那有可能是时间管理子系统在搜索树清空时有程序上的漏洞,因此过早地将搜索结果返回了。这个比较容易修正。

另一种可能是,AlphaGo的估值网络出了问题。因为估值网络的权重是0.5,而不管快速走子花了多少步,它的权值也是0.5。对于一个局面,估值网络只得到一个数,而从这个局面往下走子,走多后会得到很多个数,统计上应该更为重要,但是AlphaGo不是这样想的,直接对半加权了。所以如果估值网络对某个局面得到的结果不对,则会极大地影响对该局面的胜率估计。注意这里得到很多个数的原因是按照文章,叶结点在积累了一定盘数后(40)才展开,而不是第一次访问就展开,以提高DCNN的效率。DarkForest没有用到估值网络,在L11的挖之后正确地返回了L12和L10这两个应手,据李喆六段说,都是正确的应手,这间接支持了这个推断。

那为什么估值网络会出问题呢?可能是用于训练估值网络的自学习(Self-Play)的样本分布有盲点。为了提高样本生成速度,AlphaGo的自学习样本是通过用两个纯粹的DCNN互搏来生成的(完全没有搜索),而DCNN下出来的棋因为是纯模式识别,一个大问题是死活不正确,经常是在死棋里面下子。如果黑白两方都犯了死活不分的毛病,然后一方比如说白侥幸胜了,那估值网络就会认为方才白的死棋局面是好的。这样估值网络就会染上同样毛病,在中盘复杂的对杀局面中判断失误。若是这种情况就不好处理,AlphaGo下一局可能还会有同样的问题。

关于DCNN+MCTS打劫,在DarkForest上主要表现在碰到有劫可提的情况时,DCNN经常会以非常高的概率(0.8以上)返回提劫这一手。可能的原因是,劫点是作为单独的特征输入的,所以DCNN学习到了它和输出(提劫)的强关联性。这样在MCTS搜索时会强烈偏向这一手。这在很多情况下是正确的,但有时劫很小可以不予理会,或者碰到两个或者多个劫需要放弃一个,那“遇劫必提”的偏向性就会给搜索带来麻烦。有时连环劫电脑反复提就是这个原因。AlphaGo可能会有这个问题,或者是反向的问题(比如说提劫概率很小),这样在下棋时大家就会感觉到它在避免开劫。

镜像链接:谷歌镜像 | 亚马逊镜像

分类: 科技 标签:
  1. Mobile Guest
    2016年3月14日07:48 | #1

    故意输的吧?听说如果5比0完爆了人类。系统就直接退役了。

  2. Win
    2016年3月14日09:47 | #2

    李世石通过前面三局的摸索找到了机器狗的软肋,在布局阶段故意示弱,关键时刻放出胜负手,让狗狗掉进布下的陷阱。第五局估计石头用天元开局,一举搞懵狗狗。

  1. 本文目前尚无任何 trackbacks 和 pingbacks.