AlphaZero使用了一种被称为蒙特卡洛树搜索MCTS的技术,这个技术为两个玩家随机移动以确定最佳的行动方案。AlphaZero使用深度学习来预测游戏位置的最佳分布,以优化使用MCTS的获胜机会。虽然AlphaZero不是第一个使用MCTS的工作,但是它没有任何内置的人工策略或者使用任何已有的游戏数据库。AlphaZero只学习了游戏的规则。这就让AlphaZero在国际象棋和围棋这两个运动中大放异彩,除了交替移动和固定大小的棋盘之外,这两个游戏在规则和目的上没有任何相似之处。DeepMind最近在MuZero上也有新动作。它甚至都没有得到完整的游戏规则,只得到了对棋盘位置的一些表示,和合法动作列表,以及对哪些位置是输是赢有了一些了解。也就是说,现在我们已经发展到了一个阶段,在这个阶段里,纯机器学习在国际象棋或者围棋这样的高复杂度的问题中都能轻松击败大多数的人类或者启发式算法。人类的先验知识只会画蛇添足、碍手碍脚。对于国际象棋和围棋这样的游戏,机器学习可以在P=NP无法满足的情况下取得成功。太不可思议了。【 旅行商|P vs. NP 五十年:AI正在解决不可解问题】可解释的人工智能
许多机器学习算法似乎已经能够达到不错的效果,但是我们不知道其中的原因。如果我们仔细的去看语音翻译或者图像识别的神经网络内部参数,很难理解它为什么会做出这样的动作或者处理。有人可能会问了,它有这个能力就好,我们为什么要关心?以下是几个原因:信任、公平性、安全性、因果关系。
- 信任:我们如何知道神经网络是否正常运行了?除了检查输入和输出之外,我们无法对其他中间的变量进行分析和理解。不同的应用程序具有不同的信任级别。如果Netflix推荐了一个很差的电影,那没什么问题,但是如果自动驾驶汽车推荐了一个让车撞墙的转弯操作,那事儿可就大了。
- 公平性:很多应用程序都是在训练集上进行学习的,训练集中的数据可能不是完全公平或者说没有偏见的。如果不理解程序,那我们可能无法纠正其中的偏差和歧视。种族歧视可是一个严重的话题呦。
- 安全性:如果我们使用机器学习来监控数据安全系统甚至安保系统,那么不可解释的机器学习模型可能无法让你知道他存在的漏洞是什么,尤其是当我们的对手具有适应性的时候。如果我们能够理解代码和网络的结构,就可以发现并且修复这些安全漏洞。当然,如果我们的敌人拥有代码,他们也有可能发现漏洞并针对其组织攻击。
- 因果关系:目前来说,我们最多可以检查机器学习算法是否只与我们想要的输出类型相关。但是理解代码能够帮助我们理解数据中的因果关系,从而造出更好的科学理论和医学成果。
如果P=NP,我们能得到更好的计算机程序吗?如果你有一个解决NP完全问题的快速算法,你就可以用它来找到匹配旅行商问题的最短路径,但是你不会知道为什么这种方法有效。另一方面,我们都希望能够得到可解释的算法,因为能够深入了解其属性。在研讨会中,我们都在研究可解释的人工智能,比如ACM Fairness Accountability and Trust会议等。虽然机器学习在过去的几十年间取得了令人瞩目的进展,但是这些系统远非完美。在大多数的应用中,它们还是会被人类碾压。我们将继续通过新的和优化的算法,收集更多的数据并研发更快的硬件来提高机器学习的能力。机器学习似乎确实有不少的局限。正如我们上面看到的,机器学习让我们无限逼近P=NP,但是永远无法达到这个程度。比如,机器学习在破解密码方面的进展很慢,我们稍后对其进行讨论。