很多人觉得电脑可以通过成百上千台机器自己和自己下棋学习提高,那岂不是每个月实力都会突飞猛进。其实不会的。当模型接近一个优化解之后,大量的数据输入也不会在有明显提高了。在对樊麾的时候,AlphaGo应该已经接近一个优化解了,之后的进步并不大。
为什么AlphaGo盘面领先的时候经常出臭棋?因为AlphaGo的目标是赢棋的几率,不是去寻找最优解。可为什么局部在计算量不大的情况下,它反而会下出既吃亏也不算简化局面的棋呢?因为AlphaGo很可能也动态的优化计算的时间。就是说,赢面大的时候,它大大减少了搜寻博弈树的广度和深度来节约时间,这样就可能很快找到一步过得去的棋,只要没有怎么降低胜率,它就不再继续找更好的招法了。
有人说李世石在明处,AlphaGo可能进行了针对性的学习。这是很不可能的。因为在机器学习里,为了让结果有意义,要尽量用不同的技术避免过拟合(overfitting)。否则,它面对实战中新的局面的应对能力只会变差。
据说,谷歌团队要把过去人类的棋从系统里删掉,全部依赖机器自己下棋来重新学习。这是怎么回事?了解一点机器学习的人都知道,学习过程很可能会停止在一个局部优化解上。AlphaGo从人类棋局开始学习,现在的棋也有很多人类棋的影子,即使它能打败所有人类棋手,有没有可能只是找到一个局部的优化解,就像下图里的local minimum?还有没有更好的全局最优解?这是非常有意思的事。到时,我们可能看到全然不同的围棋理念。