随着李世石投子认输,谷歌的阿尔法围棋(AlphaGo)被韩国棋院破例授予围棋名誉职业九段。至2016年3月15日,这场“人机大赛”第五局落幕,AlphaGo以4∶1战胜雄霸棋坛十多年的韩国职业九段李世石。
AlphaGo在前三局取得连胜,至第四局被人类棋手的“神奇一手”打乱阵脚,输掉一局。第五局种,AlphaGo执白,双方都耗尽各自两小时常规时间,李世石用掉两次读秒。直到比赛收官阶段,双方一直处于胶着状态,评论员认为他们旗鼓相当、交替领先。AlphaGo开局形势并不占优,但之后逐渐减小差距,最终险胜。
AlphaGo代表人工智能(Artificial Intelligence,AI)赢下人类顶尖棋手,让普遍看好李世石5∶0横扫机器的围棋界,从失落中看到AI超越人类的学习与计算能力,开始考虑是否重新审视延续千年的围棋理论;而希望AI五番棋全胜的科技界,则看到了能独自对弈的机器,在人类的围追堵截下也会程序“短路”,下出俗手。
通过人机对战,谷歌第一次让全球的视野聚焦于人工智能。仅在比赛期间,国内就有多家公司相继推出或宣布研发人工智能围棋程序,科技界也在为人工智能配备更好的软、硬件寻求解决方案,让装载上千个CPU的AlphaGo们变得便宜易得,进入寻常百姓家。可是,要实现人工神经网络学习能力的迁移,科学界还有很长的路要走。
技术集合出新高度
3月12日,韩国棋手李世石与谷歌围棋系统AlphaGo对战第三盘。
中国围棋职业九段罗洗河在北京的家中,通过网络直播观看“人机大战”。不同于其他围棋高手,罗洗河会留意AlphaGo程序上的失误。他曾写过多年的围棋电脑程序,但仍对AlphaGo决策系统与学习能力感到震惊。
在罗洗河看来,AlphaGo与人类棋手对弈时,双方下的是不同的两盘棋。棋手下的围棋是在构思、构图,在进攻或者防守;但对于电脑来说,它只有一种势力范围的概念,在具体的接触战中,是靠有限穷举来决定步法。
AlphaGo的开发者,谷歌旗下的DeepMind公司CEO戴密斯在赛前发布会上称,AlphaGo的决策系统依赖于自身的价值网络与策略网络:前者评估棋盘位置,后者选择下棋步法。
AlphaGo在练习时是自己和自己下棋,它的神经网络通过一种新的方法训练,会结合与人类比赛中学到的技艺。
在学习中,AlphaGo“吸收”了超过3000万种来自围棋专家的步法,又通过自我对弈,逐渐学会了如何识别围棋的格局阵法,找出提高夺冠机会的移动步法。
戴密斯接受《财经》记者采访时表示,AlphaGo前后共有18个不同的系统版本,而与李世石对战的系统是第18版本。“我们一直让装载了不同版本的AlphaGo进行对战,场面很有意思,你绝对不会看到一个重复的动作。”
除了《自然》杂志1月底刊发的封面文章,与赛前发布会上的程序介绍,DeepMind没有透露更多有关AlphaGo的技术细节。
Facebook人工智能组研究员田渊栋在“知乎”上发文分析,AlphaGo的两个网络是13层的人工神经网络,其结构与谷歌图片搜索引擎识别图片的结构相似。“这些层能够做分类和逻辑推理,经过过滤,13个连接的神经网络层产生对它们看到的局面进行判断。”
在中国科学院自动化研究所复杂系统管理与控制国家重点实验室主任王飞跃看来,AlphaGo采用的分布式计算、深度学习、人工神经网络、蒙特卡罗树搜索技术,都是已有的技术,谷歌将其组合起来达到了惊人效果,“从论文中就能看到,其实并没有新‘发明’”。
王飞跃赛前预测不管谁输谁赢,五番棋都将是5∶0,最终4∶1的结果让他对AlphaGo“刮目相看”,“19年前超级电脑‘深蓝’战胜国际象棋世界冠军卡斯帕罗夫,更像是应用数学赢了,而这次,实实在在是人工智能赢了。”
同样是人工打造的“深蓝”,由开发者从国际象棋大师那里获得信息、提炼出特定的规则,本质上是由人教会这个机器去下棋,这更像是一种死记硬背的填鸭式的学习方式。王飞跃分析,放在围棋中,“深蓝”的常规计算方法就不会奏效了。DeepMind已经找到了发展人工智能的最佳路径,谷歌研发团队应该能很快从技术上找到进一步优化AlphaGo的解决方案。
模仿人脑不容易
“诞生”于1956年的人工智能,已走过一个甲子,经历过多次高潮和低谷。这次让其火遍全球,接近应用的是深度学习。
上世纪五六十年代,人工智能刚提出时比现在还火,可是人类始终找不到有效训练它的方法。“深度学习出来之后成了燎原之势,人工智能借此取得各种各样的进展。”中科院计算技术研究所研究员史忠植说。
2006年,加拿大多伦多大学教授、机器学习领域的泰斗Geoffrey Hinton,在《科学》杂志发表文章论证了两个观点:多隐层的神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类;深度神经网络在训练上的难度,可以通过“逐层初始化”来有效克服。
这就是训练机器的思路,被称为深度学习,即借鉴生物的多层神经网络处理模式所发展起来的智能处理技术,是最接近人类大脑的智能学习方法。
2013年,《麻省理工技术评论》把“深度学习”列入年度十大技术突破之一。
深度学习,显然是更好的算法,能够处理未标记的数据,其抽象特征的能力与大脑的学习过程相似。今天,机器学习算法的改进,至少可以分析更多种类的数据,包括结构化、半结构化与非结构化数据。
在深度学习技术出现之前,过去采取的方法是程序员耗费巨大的精力编写程序,输入机器然后执行预定的功能,而现在有了深度学习技术以后,人类只需要编写让机器深度学习的程序,机器就能够实现在庞大的数据积累过程中通过学习来实现智能化操作,并且其水平可以在数据增加的过程中不断得到提升。
深度学习在维基百科中被定义为“一组针对具有多层输入结构模型而设计的机器学习算法”。其中,具有多层输入结构的模型主要指深层神经网络,即包含多个隐藏层的人工神经网络。
可见机器的深度学习,主要依赖于模仿人类大脑的人工神经网络,该网络用硅结合计算机模拟人类大脑的神经网络,核心元器件是CPU(中央处理器)与GPU(图形处理器)。与拥有6层的人脑神经网络相比,用于深度学习的人工神经网络常常把层数做的非常多。AlphaGo的神经网络有13层,微软研发的一款人工智能更是拥有152层之多的神经网络。
人脑中有上千亿的神经细胞,这些神经细胞的形状就像变压器和它外部的电线,是由细胞体以及其外部纤维组成的。它们通过纤维互相连接,传递信息,而连接神经细胞的突触数量不计其数。
中科院计算技术研究所研究员陈云霁接受《财经》记者采访时分析,目前人工神经网络中神经元的数量最大也只能达到千万级别,“与人脑相比,AlphaGo的‘脑’只相当于人脑的一小块而已”。
对于计算机,别说上千亿的神经细胞,即便是相当于千万级规模神经细胞的网络,一般的机器也处理不过来。谷歌公司研发了谷歌大脑,为了训练它识别一个猫脸,用1.6万个CPU核跑了7天才得以实现。
陈云霁表示,如果要用通用CPU去做出一个人脑规模的神经网络来,需要约1600万个CPU核,“你会发现每分钟都有一个坏掉,就算你雇佣工人坏一个换一个,也换不过来”。
谷歌公布的数据显示,与李世石对战的单机版AlphaGo,配备有176个GPU和1202个CPU,占用一个机房并配备大功率的空调,还有一群专家进行系统维护。
尽管如此,爱学习、不会疲劳、不看对手脸色的AlphaGo,也“马失前蹄”了。第四盘比赛中,李世石在第78手的“神奇一挖”,让机器“慌了神”,连续下出近20手让职业棋手匪夷所思的棋。
中科院计算技术研究所副研究员陈天石分析,AlphaGo的失误与处理器有正相关的关系。“计算机的运算能力有限,当运算碰到瓶颈时,机器就会采用比较弱的决策机制来下棋,导致一连串失误发生。如果底层处理器更强大一些,硬件能力翻倍,就可以避免上述问题。”
他将人工神经网络中的硬件与软件比作碗与水,“只有碗够大才能装足够多的水”,如果人工智能的硬件够强大,就能执行更为复杂的运算,有更强的深度学习能力。
未来的人工智能要实现突破,就需要配备更加高级的人工神经网络,这就要求软件不断升级。同时CPU与GPU处理速度要加快上百倍、上千倍,体积要更小、易用性要更高。
2014年,陈云霁、陈天石课题组在国际上提出了首个深度学习处理器架构——寒武纪,并研发出寒武纪的指令集DianNaoYu。DianNaoYu指令直接面对大规模神经细胞和突触的处理,一条指令即可完成一组神经细胞的处理,并对神经细胞和突触数据在芯片上的传输提供了一系列专门的支持。模拟实验表明,采用DianNaoYu指令集的深度学习处理器相对于x86指令集的CPU有两个数量级的性能提升。
“如果AlphaGo换成寒武纪架构的芯片,芯片数量可以大幅减少,体积也可以变得更小,易用性更高。”陈云霁判断,目前来看,人工神经网络在硬件方面的突破可能会来得快一点。现在的GPU和CPU不是为了智能处理设计出来的,它们本质上是做加减乘除,而人脑是大自然鬼斧神工几亿年进化而来,要把人工神经网络真正做到“类脑”,还有很长的路要走。
通用AI这条路很长
AlphaGo一定程度上征服了围棋,可谷歌有更大的野心,“我们研究的是面向所有问题的元解决方案,未来的通用人工智能技术,其中一个用途就是将非结构化的数据转化为可用信息。”
目前的人工智能技术,在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域都有应用。戴密斯在接受《财经》记者采访时称,AlphaGo代表的人工智能技术未来将应用于医疗服务、谷歌电视盒子与手机之中。谷歌公司已与英国国家医疗服务体系(NHS)展开合作,谷歌将为其提供可视化、统计基础信息的软件,随后将更成熟的机器学习技术运用其中。
然而,以上人工智能系统还只是面对一个特定问题进行设计,所能学习的也只是单一的行为。AlphaGo向世人展现了强大的学习能力与计算能力,可其本身只是一个围棋对弈程序。
实际上,人工智能从诞生第一天起就面临一个问题:理解常识性的知识,并根据常识知识解决不确定的问题。“目前还看不到通用人工智能的任何希望,但是针对特定问题,AlphaGo已经给出特定的路径。”王飞跃说。
国内职业棋手通过AlphaGo与李世石的对弈发现,人类棋手要想建立起良好的局面、最终赢得比赛,必须要有势力范围的概念,让棋盘上势力范围的构成更加复杂。棋局形势的复杂化,能够迫使AlphaGo需要搜索的空间急剧加大,其短时间内的计算精度就会大打折扣。这是看似无所不能的人工智能暴露出的短板。
台湾大学医学工程学研究所人脑实验室教授林发暄对《财经》记者分析,“人类受到生物性质的限制,无法进行快速的训练,但人类的学习可以从不同的层面来补强,例如,由抽象的规则与状态的描述来增加学习的效率。这点人工智能目前尚无直接对应的能力。”
人作为一个生物个体如何在充斥各种刺激、目标与状态下,能稳定地从事“学习”来调整这些连结关系,如何产生“意识”,目前科学界尚不能回答,人工智能在可预计的未来也无法做到。
“AlphaGo说明了对于清楚定义单一价值的工作,计算机可以胜任。但我们生活的世界并不是凡事都有清楚且明确价值的世界。这点我想人工智能还要花很长的一段时间才有机会和我们在其他的生活层次产生对话。”林发暄表示。
科学家们也认同,要实现人工神经网络学习能力的迁移,最终使其应用通用化,科学界还有很长的路要走。
本刊记者左璇,实习生闵敏、侯力嘉对本文亦有贡献