AlphaGo 出 bug 了吗?

如果说前三盘的结果令各路专家们大跌眼镜的话,第四盘可能是让所有人都大跌眼镜了。AlphaGo 在优势的情况下,连出昏招,将大好局面拱手相让。

很多人问,是不是 AlphaGo 出 bug 了?事实上,深度学习是一个容错性非常好的系统,即便出了 bug,对结果的影响也不大。那么,问题到底在哪?

DeepMind 团队说,这是一个系统问题。我们来看看这个系统到底哪有问题?

一、AlphaGo 如何养成

DeepMind 团队曾对外介绍过,AlphaGo 的养成分以下四个步骤:

  1. 整理过去人类对弈的 80 多万盘棋局;
  2. 拿 1 的棋谱,训练一只狗狗,能够预测人类下一步会下在哪里;
  3. 拿 2 得到的狗狗,每天自己和自己下 100 万盘棋;
  4. 拿 1 和 3 的棋谱,训练一只狗狗,这就是 AlphaGo。

可以看出来,AlphaGo 是基于 1 亿 + 盘机器棋局和 80 万人类棋局训练出来的狗狗。

二、问题出在哪?

今天的问题,其实出在了 “教学方法” 上。

我们看到,训练 AlphaGo 所用的棋谱,只有 80 万是人类棋局。总数上亿的棋局是机器对弈。它下的每一步,都是将局面导向历史上(80 万盘人类棋局和 1 亿自己对弈的棋局)胜率最大的局面(或相似局面)。

问题恰恰出在这里,80 万和 1 亿,相差 100 多倍,那么 AlphaGo 选择的所谓胜率最大,一定是 “赢自己概率” 最大,而非 “赢人类” 概率最大。

这样的标准在顺风棋下尚且不容易出问题,一旦遇到逆风棋,它的选择标准就变成了,选择对手犯错概率最大的棋。而这个对手恰恰是它自己。

这就是为什么今天 AlphaGo 在逆境中下出一些匪夷所思的棋——作为 “业余中国象棋棋手” 的我都看出来的臭棋。

其实,AlphaGo 并不认为它们是臭棋。他认为,下这些棋,对手犯错的概率最大。唯一的问题是,它基于的统计主要是和自己对弈的棋局(超过 1 亿盘)。所以,它在下自己犯错概率最大的棋,而非人类犯错概率最大的棋(只有 80 万盘人类棋,在统计数据里被淹没了)。

更进一步,它非但没有戳中李世石的要害,还向人类暴露了自己的弱点——AlphaGo 在平时训练中就是这样打自己的——人类如果聪明的话,应该研究一下 AlphaGo 的怪招,AlphaGo 的每一次出招其实都在打向 AlphaGo 自己……

三、Bug 能修复吗?

AlphaGo 今天所犯的错误,究其原因,是教学方法的问题。我们基于机器对弈的棋局训练出来的狗狗,要被拉去与人对打,即便这只狗狗已经足够强大,其实它是别扭的。

解决这个问题,最重要的是要纠正 80 万对 1 亿的样本选择偏差(sample selection bias)。在经济学领域,sample selection bias 是 2000年 诺贝尔奖获奖成就。在人工智能领域,它指向了一个可能是 AI 的下一波浪潮——迁移学习(Transfer Learning)。迁移学习能够让 AI 拥有从一个领域学习知识,应用到另一个领域的能力。例如,人类学习数学,对学习物理是有帮助的。这一能力,是目前的深度学习所不具备的。

在迁移学习的框架下,我们可以基于机器对弈的棋局学习,从中去伪存真,把学到的知识应用到和人类的对弈中去。

无论如何,深度学习对我们的冲击已经如此之大了。那么,迁移学习呢?

本文文字及图片出自 36氪

你也许感兴趣的:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注