阿尔法新狗横空出世,人工智能真的可以反人类了吗?
2017年5月,AlphaGo 3:0战胜了世界围棋第一人柯洁。柯洁泪洒赛场。
5个月过后,AlphaGo Zero来了。它不再需要人类提供数据甚至棋谱,可以“自学成才”,短短三天时间完成了近5百万盘的自我博弈。从一个不知道围棋是什么的机器,到独立发现游戏规则,又创造了新的围棋策略,最终在技能上超越人类,并以100:0的战绩击败了此前所有版本的AlphaGo。
可以说AlphaGo Zero已经逐渐摆脱了对人类的模仿,并且在自我学习和新技能探索的道路上越来越轻车熟路。
AlphaGo Zero究竟是如何炼成的?人工智能给人类带来的究竟是惊喜还是惊恐?听听其研发者和国内顶级大咖是怎么说的。
开发者详解AlphaGo Zero
David Silver是AlphaGo团队负责人,也是上一代AlphaGo的主要作者。
Julian Schrittwieser是这次新一代AlphaGo的三位并列主要作者之一,而且非常年轻。2013年,Schrittwieser本科毕业于奥地利的维也纳技术大学,同年9月,Schrittwieser加入DeepMind。
David Silver和Julian Schrittwieser,做客知名网站reddit,展开一场超级问答AMA(Ask Me Anything)。
提问:深度强化学习本来就是出了名的不稳、容易遗忘,请问你们是如何让Zero的训练如此稳定的?
David Silver:AlphaGo Zero所用的算法,与策略梯度、Q-learning之类的传统(无模型)算法完全不同。通过使用AlphaGo搜索,我们大大改进了策略和自我对弈结果,然后用简单的基于梯度的更新来训练下一个策略和价值网络。
这似乎比渐进的、基于梯度的策略改进要稳定得多,梯度策略可能会忘记之前的优化。
提问:为什么这次AlphaGo Zero就训练了40天?训练3个月会怎么样?
David Silver:我想这是一个人力和资源优先级的问题。如果我们训练了3个月,我想你还会好奇训练6个月会发生什么。
提问:看完论文我有个疑问,输入维度那么高好像完全没必要,AlphaGo的residual block输入维度为什么是19×19×17?我不太理解为什么每个玩家要用8个二值特征plane。
David Silver:实际上,不是只有8 planes这一种选择,用其他形式的表示可能也没问题,但我们用了观察值的堆叠历史,有三个原因:
第一,这和其他领域,比如说玩雅达利游戏时的常见输入表示一致;
第二,我们需要一些历史记录来呈现ko;
第三,历史可以用来记录对手最近在哪落过子,这些信息可以当作一种注意力机制来用,比如说集中在对手认为重要的位置上,第17个plane记录的是我自己在用什么颜色,因为有贴目规则,这个信息也很重要。
提问:你们发了AlphaGo论文之后,网友们说里边的算法实现起来不难,但很难达到你们那个训练量;在计算机下象棋的圈子里,开发者们也没少复制其他程序的算法。你认为算法和数据哪个更重要?
Julian Schrittwieser:我认为还是算法更重要,比较一下新AlphaGo Zero和之前论文中的版本,新版效率有多高就知道了。另外,我认为我们在数据效率方面还能有更多提升。
提问:据说和柯洁对战的AlphaGo,计算力的消耗只有对战李世乭版本的十分之一。这中间做了怎样的优化,能简单说是AlphaGo的算法比之前提高了10倍吗?
Julian Schrittwieser:主要是因为改进了价值/策略网络,训练和架构都变得更好了,不同的网络架构之间的对比如下图所示:
提问:你们为什么一开始选择用人类对局数据来训练AlphaGo,而不是通过自我对弈来从0开始?还是当时也尝试了但效果不好呢?为什么会这样?我想知道,两年前设计一个完全自学的AlphaGo瓶颈在哪?
David Silver:创造一个完全自学成才的系统,一直是强化学习中的一个开放式问题。我们一开始尝试的方法,以及在文献综述部分提到的很多其他方法,都非常不稳定。我们做了很多实验,最终发现,AlphaGo Zero的算法是最有效率的,好像攻克了这个特定的问题。
提问:为什么在刚开始训练的时候也要每局下1600步?这时候应该都是随机的噪声吧……先快速下很多盘随机局,然后在网络训练得更好的时候,再进行更深的搜索不是更好吗?
Julian Schrittwieser:一开始少下几步可能也行,但在整个试验中保持统一是一种比较简明的做法。
提问:在输入特征上,用delta featurization可行吗?
Julian Schrittwieser:神经网络实在是很擅长用不同方式来表示同样的信息,所以,是的,我认为用delta featurization应该也行。
提问:你们有没有想过用生成对抗网络(GAN)?
David Silver:在某种意义上,AlphaGo的自我对弈训练已经有了对抗:每次迭代都试图找到上一代版本的“反策略”。(来源/量子位)
李开复:AlphaGo Zero出现
不应掀起人工智能威胁论
一方面,AlphaGo Zero的自主学习带来的技术革新并非适用于所有人工智能领域。围棋是一种对弈游戏,是信息透明,有明确结构,而且可用规则穷举的。对弈之外,AlphaGo Zero的技术可能在其他领域应用,比如新材料开发,新药的化学结构探索等,但这也需要时间验证。而且语音识别、图像识别、自然语音理解、无人驾驶等领域,数据是无法穷举,也很难完全无中生有。AlphaGo Zero的技术可以降低数据需求(比如说WayMo的数据模拟),但是依然需要大量的数据。
另一方面,AlphaGo Zero里面并没有新的巨大的理论突破。它使用的Tabula Rosa learning(白板学习,不用人类知识),是以前的围棋系统Crazy Stone最先使用的。
AlphaGo Zero的工程和算法确实非常厉害。但千万不要对此产生误解,认为人工智能是万能的,所有人工智能都可以无需人类经验从零学习,得出人工智能威胁论。AlphaGo Zero证明了AI 在快速发展,也验证了英美的科研能力,让我们看到在有些领域可以不用人类知识、人类数据、人类引导就做出顶级的突破。但是,AlphaGo Zero只能在单一简单领域应用,更不具有自主思考、设定目标、创意、自我意识。即便聪明如AlphaGo Zero,也是在人类给下目标,做好数字优化而已。这项结果并没有推进所谓“奇点”理论。(文/李开复,创新工场董事长兼首席执行官)
李家劲:AlphaGo Zero采用了
更简洁、漂亮的算法
AlphaGo Zero使用了强化学习技术(Reinforcement Learning),大幅提升了棋力。AlphaGo Zero通过自我对弈提升棋艺,从不依赖任何人类的监督或对局数据,不局限于人类围棋知识。强化学习技术简单来讲是强化学习使用一套奖励机制,让AI从中学习到能够获得最大回报的策略。
AlphaGo Zero的强化学习包含两个部分,即蒙特卡洛树搜索算法与神经网络算法,神经网络算法给出落子方案,蒙特卡洛树搜索算法为AlphaGo Zero提供弈棋策略和改进工具。
DeepMind团队希望能够通过AlphaGo项目获得对围棋更深的认识。AlphaGo Zero不再囿于人类现有的围棋理论,即使不用人类数据和更少的计算资源,也能够取得长足进步。我们可以用这些技术进展解决现实问题,增进人类认知,改善每个人的生活。(文/李家劲,加州大学洛杉矶分校博士研究生、《知识分子》特约撰稿人)
刘锋:战胜AlphaGo Zero,
方法很简单
彻底战胜AlphaGo Zero的方法有很多,最简单的方法是“把围棋的胜负规则定为谁占的空多,谁输,如果没有程序员帮助AlphaGo Zero调整,它会永远输下去,除非一次闪电导致的BUG,就像在机器猫故事里,让机器猫最早活过来的那种闪电”。
如同我们在论文"人工智能智商评测与智能等级“中探讨的那样:
关于AlphaGo是否具备创新创造性问题,我们认为它依然是依托人工支持的大数据训练形成的策略模型,同时在比赛中结合比赛对手的落点数据,根据其内部的运算规则,来不断形成自己的落点数据,这些落点数据最终形成比赛数据集合。AlphaGo根据围棋规则与对手的比赛数据集合进行计算和比较,判断输赢,整个过程完全在人类设定的规则下运行,无法体现其自身的创造性。
即使AlphaGo形成的落点数据集合很可能是人类历史上没有出现过的,也不能说明AlphaGo具备了独立的创新创造功能。例如,我们用计算机程序实现下述过程:从1万到100万的自然数中随机选取两个数进行相乘,记录相乘结果,重复此过程361次,即使得出的自然数集合很大,并且可能是人类历史上没有出现过的,我们也不能认定该计算机程序具有创新创造性。
如果AlphaGo在没有人类协助更改程序的情况下,能够自动理解比赛规则的任意变化,并主动更改内部设置,自动改变自己的训练模型,用于实战比赛,战胜对手,那么在这种情况下,我们才可能认为AlphaGo具备创新性。但从人工智能的发展过程看,AlphaGo还完全无法实现这一点。即使在很远的未来,也很难实现。正如一位专家的那样,更优秀的AlphaGo也是人类更优秀的一把刀。
如果说AlphaGo战胜了人类,倒不如是这个公式的成立:
程序员 + AlphaGo > 顶级围棋选手(文/刘锋,计算机博士,互联网进化论作者)
往 期 回 顾