比AlphaGo Zero更强的AlphaZero来了!8小时解决一切棋类!

比AlphaGo Zero更强的AlphaZero来了!8小时解决一切棋类!

读过AlphaGo Zero论文的同学,可能都惊讶于它的方法的简单。另一方面,深度神经网络,是否能适用于国际象棋这样的与围棋存在诸多差异的棋类?MCTS(蒙特卡洛树搜索)能比得上alpha-beta搜索吗?许多研究者都曾对此表示怀疑。

但今天AlphaZero来了(arxiv.org/pdf/1712.0181),它破除了一切怀疑,通过使用与AlphaGo Zero一模一样的方法(同样是MCTS+深度网络,实际还做了一些简化),它从零开始训练:

  • 4小时就打败了国际象棋的最强程序Stockfish!
  • 2小时就打败了日本将棋的最强程序Elmo!
  • 8小时就打败了与李世石对战的AlphaGo v18!

在训练后,它面对Stockfish取得100盘不败的恐怖战绩,而且比之前的AlphaGo Zero也更为强大(根据论文后面的表格,训练34小时的AlphaZero胜过训练72小时的AlphaGo Zero)。

这令人震惊,因为此前大家都认为Stockfish已趋于完美,它的代码中有无数人类精心构造的算法技巧。

然而现在Stockfish就像一位武术大师,碰上了用枪的AlphaZero,被一枪毙命。

在reddit的国象版面的讨论中(Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm • r/chess),大家纷纷表示AlphaZero已经不是机器的棋了,是神仙棋,优美,富有策略性,弃子灵活坚决,更能深刻地谋划(maneuver),完全是在调戏Stockfish。

国际象棋的基本规则,大家应该都知道,可以看这个Youtube视频的分析:youtube.com/watch?

Stockfish作为传统AI的代表,有人类设计的评估函数,整天想着“怎样怎样可在多少步后吃对方的子”。

AlphaZero是“以德服人”,既然Stockfish贪吃就给Stockfish吃,没关系,AlphaZero有自己的想法:它直接让Stockfish的一堆子连家都出不了。Stockfish只能干瞪眼。

AlphaZero想怎么走就怎么走,Stockfish疲于奔命,四处救火。这一切,正如AlphaGo此前在围棋上所显示的惊人控制力。

很有趣的是,和围棋的情况一样,AlphaZero证明了许多人类开局是正确的。不过,AlphaZero不喜欢西西里防御。

训练过程极其简单粗暴。超参数,网络架构都不需要调整。无脑上算力,就能解决一切问题。

Stockfish和Elmo,每秒种需要搜索高达几千万个局面。

AlphaZero每秒种仅需搜索几万个局面,就将他们碾压。深度网络真是狂拽炫酷。

当然,训练AlphaZero所需的计算资源也是海量的。这次Deepmind直接说了,需要5000个TPU v1作为生成自对弈棋谱。

不过,随着硬件的发展,这样的计算资源会越来越普及。未来的AI会有多强大,确实值得思考。

个人一直认为MCTS+深度网络是非常强的组合,因为MCTS可为深度网络补充逻辑性。我预测,这个组合未来会在更多场合显示威力,例如有可能真正实现自动写代码,自动数学证明。

为什么说编程和数学,因为这两个领域和下棋一样,都有明确的规则和目标,有可模拟的环境。

(在此之前,深度学习的调参党和架构党估计会先被干掉...... 目前的很多灌水论文,电脑以后自己都可以写出来)

也许在5到20年内,我们会看到《Mastering Programming and Mathematics by General Reinforcement Learning》。然后许多人都要自谋出路了......

不过,听说Deepmind下一步会先将其用于蛋白质折叠,药物研发,这就会是一个直接为人类造福的领域(而不是直接抢人类的工作),所以大家也不用太紧张AI的威胁。

【如需转载本文,请先与本人联系,谢谢】

编辑于 2017-12-08

文章被以下专栏收录