人工智能的研究范式和数理科学截然不同。这种范式数据导向,非常工程化,方法论发达而认识论不足。首先我们谈数据导向。李飞飞老师的ImageNet项目是一个非常典型的例子。海量图片的收集,整理和标注,有巨大的工作量。在这些高质量数据基础上进行了世界范围的图像识别竞赛,参赛队通过构建规模更大的深度学习网络,表现迅速超过了传统算法,这也成为深度学习标志性的成就。其基本的工作流程是积累大规模数据,得到更深的网络模型,实现更好的表现。虽然现在我们有了更多不同种类的深度网络应对不同任务,但这一基本框架并没有本质的改变。在该框架中,数据收集几乎占据了最为重要的位置,若数据质量不过关,很容易造成所说的garbage in - garbage out。而数据集大小是影响深度学习效能的重要因素,一般认为,当数据集较小时,深度学习不一定优于传统机器学习方法。而随着数据集规模的增大,传统机器学习算法的表现很容易饱和,深度学习的表现却可以随着网络规模的增大而更加优异。在传统数理科学领域,我们并没有如此依赖数据来进行模型构建。可能由于人脑思维能力的限制,人们更习惯于从简单假设出发,利用逻辑演绎或者公式推导来构建一套模型系统,用以解释实际数据。数理科学存在利用大量数据的情形:比如开普勒从第谷得观测数据中也找到了特定的结构,不过这种结构不是用神经网络的方式来描述的,而是采取了数学上更为简洁的形式。而该规律只有纳入牛顿力学的框架的时候才成为一个自然的结果。现在观测手段更加进步,据说LHC每秒可以产生100万亿字节的对撞数据。但这些数据不是为了导出模型,而主要是为了验证只有几十个参数的人为构建的标准模型,其包含的信息量也没有超过这个模型。在很多时候,理论的提出或者发展,可以用到很少的数据,甚至几乎不用数据。伽利略构建其运动学的时候,应该只依据很少的观测。而泰勒斯提出原子理论的时候我相信是没有什么观测数据的。理论的魅力在于可以从人的经验,思维或者直觉中生产,具有内在的简洁性却能解释大量的现实观测。对数据的内在追求,导致人工智能研究中有很多重劳力的部分。和产业的结合,资本的进入进一步放大了这一效应。国内人工智能创业公司不断涌现,数据标注俨然已经成为一种新的职业。已经有不少相关的报道,比如可以参考甲子光年的《那些人工智能背后的人工》一文。这些人每个月拿着4000左右的工资,在电脑前机械的点着鼠标做图片标注,得到的数据最终用于无人驾驶项目。还有很多下到村里收集人脸识别数据的,报酬是洗衣粉或者豆油。即使是科学研究逐渐资本化的今天,也很难想象一门学科可以像这样直接催生新的劳动关系。这也部分由于我们要谈的第二个问题,也就是人工智能研究非常工程化。如果上过吴恩达老师的深度学习课程,就会发现,深度学习在工程上非常先进,具有一套非常清晰的工作模式。对于一个深度网络模型,那些参数具有最大的影响,如何通过表现判断调节参数的方向,人们有着丰富的经验。最终决定表现的还是数据质量,规模,以及特征(feature)选取。这就导致了人工智能领域的工作,非常容易scale-up,也就是规模化。这也是硅谷最喜欢的发展模式--通过资本催化迅速实现技术飞越和革新。类似的模式造就了我们熟悉的facebook,amazon,现在的互联网移动互联网世界。在数理科学领域,我们不能简单通过积累用户或者数据获得革新。一般情况下,理论的发育程度对应了工程范畴的发展程度。新的工程实践可能要求理论的创新,而理论的进步又可以拓展人们进行工程化创造的能力。没有爱因斯坦的质能方程,我想人们试再多年,有再多数据也不会造出原子弹。所以人工智能可以算是一朵奇葩,感谢计算能力的巨大发展,它工程的发展程度已经可以跟理论脱节。这种缺乏理论或者认识论会带来比较严重的后果,我们后面会有所述及。
人工智能没有催生理念的进步
对人工智能最大的批评在于它的可诠释性,人们难以理解越发庞大的深度网络是如何发挥它的作用,每个节点有着怎样的功能。拿图像识别任务来说,比较早期的深度网络AlexNet有35K个参数。到了2014年,VGG16网络有138M个参数。在强大的表现背后,是一个人们从未接触过的,难以理解的庞大造物(考虑到标准模型只有19个自由参数)。关于如何解读网络,现在逐渐有一些工作。但似乎还没有令人信服的结果。在数学上可能也没有成熟的工具来针对这类问题。神经网络算法的提出,最开始是受到了生物学研究,尤其是神经研究的启发。不过即使针对比较简单的模式生物,比如只有302个神经元的线虫,我们也刚刚能理解一些最简单行为,比如趋热或者趋冷在神经系统里细胞层面是如何编码的。诠释神经网络的工作,一方面受制于网络规模的飞速增大,参数的急剧膨胀,以及应用场景的逐渐复杂。另一方面,这本身可能就是不可解的问题,类似于我们本身都不知道大脑是如何运作,产生复杂思维。没有理论的学科会造成很多问题,可以参看我之前的博文《没有理论的学科会怎么样》。针对人工智能这一领域,第一个负面结果是会造成边际效益递减。也就是随着数据规模的增大,网络复杂度的增大,获得的进步越来越少。我们谈到深度学习一个重要的特征是表现随着数据体量增大而提高,这也是为什么大数据时代最适合深度学习。有时候我们觉得参数的膨胀标志着一种进步。但从物理学的角度看,这其实是退步--因为这标志着参数解释力的下降。这正是现实发生的情况,但即使我们在计算能力以及数据规模(感谢资本)上大跃进,表现的提高却越来越慢。还是拿图像识别为例,AlexNet的错误率是16.4%,而参数增加了4000倍的VGG网络错误率是7.3%,基本错误减半。换过来说,是35K个参数可以识别83.6%的图片,多出几千倍的参数只多识别了9.1%的图片,效能加起来只有接近九分之一。这也是为什么每当人工智能进入一个新的领域时,往往可以产生激动人心的初步结果(因为数据要求低),但对表现的改善却是趋于更慢的。这对于一些要求苛刻的领域这其实是致命的,比如对于自动驾驶,我们必须把失误控制在非常低的水平(每次失误可能都会造成致命的事故),而现实情况又非常复杂多变,有些情况不仅靠训练,也要靠应变和经验上的判断。没有理论的另一个负面结果是研究过程近似于盲人摸象。虽然我们也有越来越多的网络模型,但这些模型的构建似乎更受到灵感的作用,而不是通过理论的启发。这种try and error类型的研究,试对了就好,试不对就重来,运气的成分会比较大。从理念上看,深度学习领域似乎还没有根本上的创新,其最大的进步似乎还是计算力上的进步,工作的模式仍然接近于对生物神经系统的模仿。而这种模仿其实并不能算是效率很高的模仿,我相信人脑完成复杂任务计算的效率平均讲还是高于神经网络的。至少从计算时间和所需能量来讲是远优于计算机的。人脑的功率据说是20W左右,而现在好点的英伟达显卡比如GeForce GTX 1080Ti的功耗已经到了200W大关了。好在现在计算力不是瓶颈,再低的效率乘上庞大的计算力都能得到可观的结果。人工智能从应用方式和应用场景上,都是对人的一些基本能力的模仿。吴恩达老师有过一个说法,说如果一个问题,人可以凭借直觉在几秒内判断出来,那么就有可能用人工智能来解决。现在出现比较多的也的确是这类问题,比如对于图像识别,到底是猫是狗,人一般几秒钟就能看出来。或者在自动驾驶方面,在一个路口是要刹车还是左转,正常的司机几秒钟也能判断出来。所以说人工智能是对人的能力的再现,这使得它在一些场景下可以代替人工,提高生产效率。但它难以完成更高级的一些思维活动,比如创造性思维。虽然有些“灵感一现”发生的时间也很短,但目前的计算框架并不具备相应的发散性,联想性和随机性。所以深度学习研究不仅自身缺乏理论,而且也很难为其他学科领域带来新的理论。根本的区别在于数理科学的研究具有不同的工作模式,一般包括假设提出,理论发展和实验验证,三者之间相互促进。其中假设的提出是最为关键的一步,也是研究设计的基础。人工智能在这第一步就败下阵来。人怎么能够提出假设,这是一个复杂的问题。但其基本原因,脱不开人是有自我意识的,对世界的认识是自由的,人的思维也是自由的。人工智能有没有思维,有没有意识是另外的话题,但目前来看它的训练数据都是高度单一的,它的结构或者结构的规则也是比较单一的,难以形成更复杂的思维结构。