AI技术的天花板
2018-02-14
1 引言
起源于60多年前的人工智能(AI),是建立在“智能即计算”的假设上。但因为对智能和计算本质的认知不同,如何构造AI又形成了3大学派。
第一个叫符号主义学派。主张智能源于数理逻辑,认为人类的认知和思维的基本单元是符号,认知过程就是对符号的逻辑运算。其代表作是IBM Watson在电视节目《危险游戏》中出演的“人机大战”。
第二个叫行为主义学派。主张的基础是诺伯特·维纳的控制论,把关注的聚焦从人类转向了整个生物界的智能(比如昆虫的个体和群体智能),终极形式是二进制的人工生命。其代表作是麻省理工的“六足机器人”等。
第三个叫连接主义学派。主张将智能建立在大量简单的计算单元,经过复杂连接后,并行运算的结果。这一学派基于神经生物学和认知科学,因为人类大脑的智能就是由1万亿个简单的神经元细胞,错综复杂的连接起来产生的。其代表作是自然语言识别和计算机视觉等应用。
自2006年以来,深度学习算法取得了重要突破,再加上GPU等计算方式和海量数据的支持,基于神经网络的AI在图像、视觉和语音等方面表现出超越人类的识别效果,让连接主义学派的神经网络又一次焕发了青春。
2 改进的算法
神经网络诞生于20世纪60年代,最初只包括输入层、隐藏层和输出层。输入层和输出层通常由应用决定,隐含层包含神经元可供训练。2006年,Geoffrey Hinton和他的学生在《科学》上发表了一篇文章,提出了深度学习的概念,指出可以用更多隐藏层(比如5~10层)做算法训练,试验效果显著,开启了学界和产业界AI新浪潮。
深度学习可以让机器自动习来特征,无需人工事先设定,因为人往往不知道什么是重要特征。另外,针对不同的应用场景,传统机器学习算法需要把软件代码重写一边,而深度学习只需要调整参数就能改变模型。对比计算机的可编程性,早期指“硬件编程”(重新设计线路、调配线路和结构等),现在指软件编程;早期神经网络是软件编程,深度学习则是“参数编程”。
现在主流模型已经包含9个隐含层以上,每层有上千到上万级的神经元,整个神经网络有百万级至百亿级的参数空间。
3 海量的数据
深度学习是数据驱动的,用数据来做训练。一般而言,学习的深度越深和广度越大,需要的数据量就越大,需要的数据种类就越多。当然,也不是数据越多越好,很可能会出现“过度训练”。
深度学习与大数据并不重叠。深度学习可以基于小数据,大数据分析挖掘也可以是基于规则的。深度学习强调的是算法,大数据强调的是资源,算法是用于处理数据的。
深度学习的训练分两种:一种是有监督的,比如数据加了标签,计算机知道正确答案,缺点是现实世界中被打了标签的数据太少了;另外一种是无监督训练,只有数据没有标签,计算机不知道正确答案。但不加标签的无监督机器学习,现在还做不到。
4 老硬件的新应用
AI的新算法和新数据,都以大幅增加对计算资源的消耗为前提。业界找到的新动力、新计算资源,就是GPU。
60多年来AI市场规模一直很小,内部帮派林立,支撑不起AI专用芯片的市场。因此,早期的机器学习只能基于廉价而广泛存在的CPU提供计算资源,或者极少数情况下用昂贵的专用芯片。
CPU是通用处理器,要兼顾计算密集型(计算多而I/O少)和数据密集型应用(计算少而I/O多)。CPU为了照顾数据密集型的应用,设计了很多缓存,相应的计算能力就弱了些。但深度学习是一种计算密集型的应用,导致基于CPU的深度学习效率低下。
GPU(Graphic Processing Unit)诞生于1990年,设计专用于高并发计算、大量浮点计算和矩阵计算能力的视频游戏、图形渲染等应用。而深度学习对硬件的需求,正好符合这些应用特征。大约在2008—2012年,业界逐步摸索到了如何将深度学习与GPU有机结合起来的工程方法,直接将学习速度提高了数百倍,让产业界看到了把AI实用化的希望。
GPU之于AI,就像x86之于PC,ARM之于智能手机。
当然还有一些人认为,GPU还是太通用了,于是更加专用的FPGA(Field Programmable GateArray)和ASIC(Application Specific Integrated Circuit)纷纷登场。Google新近发布的TPU(Tensor ProcessingUnit)号称处理速度比CPU和GPU快15~30倍,性能功耗比高出约30~80倍,当然是神经网络和Tensorflow专用场景的。
5 一个好汉三个帮
如果说新算法、新数据和新硬件是AI的3大支柱,那么背后还有3种力量也是居功至伟。
5.1 云计算
经过10年的发展,云计算已经走过了概念验证(POC)的阶段,进入了规模落地的时期,正在发展成为新时期的关键信息基础设施。云计算就像20多年前TCP/IP那样,正在改变这个世界。
云计算不仅直接推动了大数据的兴起,也正在让AIasa Service成为现实。业界大佬纷纷推出了“GPU/FPGA/算法/数据asaService”,方便用户做深度学习,通过云端直接租用就可以了。
5.2 开源框架
如果说20多年前,以Linux为代表的开源主要是在模仿商业软件的做法。那么今天,开源已经能够引领技术发展的潮流了。10年来,不仅是软件定义世界,更是开源软件定义世界。
2016年前后,AI巨头们纷纷开源了深度学习框架。比如Facebook的Torch和Caffe、Google的Tensorflow、亚马逊的 MXnet、微软的 CNTK、IBM 的SystemML等。10年前,Google开源了Android操作系统,成功打造了智能手机的Android生态。现在,Google等纷纷开源AI框架,希望往日的辉煌重现。
5.3 摩尔定律
50多年来,摩尔定律一直支配着半导体行业的发展,并且已经扩展到了存储、功耗、带宽和像素等。摩尔定律说,同样成本每隔18个月晶体管数量会翻倍,反过来同样数量晶体管成本会减半。
过去的30多年里,以CPU为代表的微处理器的计算能力提升了100多万倍。当今世界约有30多亿人使用的智能手机,每部的性能都超过1980年占据整个房间的超级计算机。
摩尔定律是CPU、GPU和TPU等快速发展的基础。虽然Google号称TPU把摩尔定律加速了7年,但摩尔定律仍然支配着CPU、GPU和TPU的性能曲线。
6 技术局限性
深度学习的效果取决于网络结构的设计、训练数据的质量和训练方法的合理性。无论是从统计学还是对智能的基本认知的角度看,这次以深度学习牵引的AI产业化浪潮,还处于发展初期的阶段,存在不少瓶颈。
首先是在算法方面。一是深度学习还是黑盒子,缺乏理论指导,对神经网络内部涌现出的所谓“智能”还不能做出合理解释。二是事先无法预知学习的效果。为了提高训练的效果,除了不断增加网络深度和节点数量、喂更多数据和增加算力,然后反复调整参数基本就没别的招数了。三是调整参数还是在碰运气。还没有总结出一套系统经验做指导,完全依赖个人经验,甚至靠运气。四是通用性仍有待提高,没有记忆能力。目前几乎所有的机器学习系统都是被训练于执行单一任务,无之前任务的记忆。
其次是在计算方面。目前的机器学习基本还是蛮力计算,是吞噬“算力”的巨兽。一是在线实时训练几乎不可能,还只能离线进行。二是虽然GPU等并行式计算硬件取得了巨大进步,但算力仍然是性能的限制性瓶颈。三是能够大幅提高算力的硅芯片已逼近物理和经济成本上的极限,摩尔定律即将失效,计算性能的增长曲线变得不可预测。
第三是在数据方面。一是数据的透明度。虽然深度学习方法是公开透明的,但训练用的数据集往往是不透明的,在利益方的诱导下容易出现“数据改变信仰”的情况。二是数据攻击。输入数据的细微抖动就可能导致算法的失效,如果发起对抗性样本攻击,系统就直接被“洗脑”了。三是监督学习。深度学习需要的海量大数据,需要打上标签做监督学习,而对实时、海量的大数据打上标签几乎不可能。
第四是无法与其他学派结合。目前AI取得的进步属于连接学派,缺乏常识,因此在对智能的认知方面,缺乏分析因果关系的逻辑推理能力等。比如,还无法理解实体的概念,无法识别关键影响因素,不会直接学习知识,不善于解决复杂的数学运算,缺乏伦理道德等方面的常识等。
7 有智能无意识
现在,业界只知道深度学习在图像处理和语音识别等方面表现出色,未来在其他领域也可能有潜在的应用价值,但它究竟做不了什么,如何与符号主义的逻辑推理等结合起来仍然不清楚。深度学习还需要更安全、更透明和更可解释。
前文这波AI热潮是由机器学习引发的。到2017年,机器学习的神经网络已具有数千到数百万个神经元和数百万个的连接。这样的复杂度还只相当于一个蠕虫的大脑,与有1千亿神经元和1万亿连接的人类大脑,差了N个数量级。但尽管如此,神经网络下围棋的能力已远高于一只蠕虫。与此同时,一只蠕虫所具有的自繁衍、捕食和躲避天敌等智能,无论是人类智能还是人工智能,都望尘莫及。
现在的AI是建立在“认知即计算”的理论之上的,实现时必须依靠计算机、服务器和GPU等各种“图灵机”。但基于图灵可计算理论,“卢卡斯论证”和彭罗斯“皇帝新脑”等早已论证或分析了,人的意识是非算法的,计算机无法建立起“自我”的概念。换言之,基于图灵机的AI在理论上是无法觉醒的,或者说,能够觉醒的AI不会基于这一代的计算机技术和理论。
8 结束语
AI让智能和意识分离,AI的智能完全有可能会超越人类,虽然它一直是无意识的。“AI已经在几乎所有需要思考的领域超越了人类,但是在那些人类和其他动物不需要思考就能完成的事情上,还差得很远”。计算机专家Donald Knuth对AI现状的评价,也将会是相当长时间内的未来。