思维机器=高速计算机上运行的老算法

时间:2024-06-27 09:17:07

巴特·卡斯科(Bart Kosko):南加州大学信息科学家、教授;著有《噪声》(Noise)

思维机器=高速计算机上运行的老算法

机器不会思考。它们更类似于函数,即将输入变为输出。在便携计算器上,当我们按下平方根按钮时,能将9开方为3。受过很好训练的卷积神经网络如果识别出人脸,就输出1,否则就输出0。一个多层或“深度”神经网络在收到你的面部信息后,会将你的面部参数与它数据库中的所有人的面部图像进行比对,然后返回各比对结果的概率值(概率值最高的那张脸就是你的脸)。因此,被训练过的网络近似于一个概率函数。即使只是近似匹配,这种过程涉及的计算量也让人却步。但这本质上依旧是从输入到输出。即使这一步过程类似于人的感知和思考,却仍然近似于一个函数,只是需要大量的计算罢了。

智能机器近似于处理不同模式的复杂函数。这些模式可以是语音、图像或是其他任何信号。图像模式常常由许多像素点或三维像素点构成,因此它们的维度很多。其中涉及的模式会轻松超过人类所能掌握的水平。而且,它会随计算机性能的提升而提升。真正的进展发生在有数据处理能力的数字计算机领域。这可用摩尔定律(电路密度每过两年左右便会增长一倍)解释,而不是得益于任何有根本性变化的新算法。计算能力的这种指数型增长,使得普通计算机也可以处理一些像大数据和模式识别等更为困难的问题。

请考虑大数据和机器学习中最流行的两种算法:其中一个是无监督算法(不需要老师进行数据标记);另外一个是监督算法(需要老师)。它们可以解释大部分的应用型人工智能。

无监督算法被称为k-均值聚类算法(k-means clustering),这是在大数据中最常用的算法。它以同类集群,也是谷歌新闻的基础算法。从100万个数据点开始。然后把它们分成或10个、50个或100个聚类或模式。这是一个有计算难度的问题。但自20世纪60年代以来,k-均值聚类算法一直都是一个迭代的用以形成聚类的方法。虽然问题越来越多,不过现在的计算机已能够处理它。这个算法本身有过几个有富含人工智能意义的名字,例如“自组织映射算法”“自适应矢量量化算法”。它本质上仍然处在20世纪60年代以来的老旧的两步走式迭代算法。

监督算法是一种被称为反向传播算法(backpropagation, BP算法)的神经网络算法。毫无疑问,这是一种最为常用的机器学习算法。BP算法的名称最早出现在20世纪80年代,但实际上它的出现要比这个时间至少早10年。BP算法可以从它的使用者或监督者给出的样本中学习。使用者向其输入含有自己的面部信息和不含有自己的面部信息的图像。这些输入贯通了多层像开关一样的神经元,直到它们产生最终的输出,输出的可能只是一个单一的数字。监督者希望当收到你的面部信息时,输出1,否则输出0。网络会在成千上万次的迭代中来回扫描,以最终习得你的面部特征。没有一个步骤或一个扫描动作中有智能和思考出现。在成百或上千的网络参数中,任意一个参数的更新与真实的神经突触学习神经刺激新模式的过程都不一样。相反,改变一个网络参数反而类似于:人们会根据微小的下游效应(downstream effect)来调整下一步行动计划,他们的行为可能会影响到美国10年期债券的利率。

巧的是,这两种流行的人工智能算法都是现代统计学中同一标准算法——期望最大化算法(expectation-maximization[EM]algorithm)的特例。因此从本质上来说,我们谈及的任何智能都只不过是普通的统计学而已。EM算法是一种两步走的迭代格式,可以用来爬“概率山”。它并不总是会登上概率山的最高点,但它几乎总会登上最近山坡的顶端。这可能是在一般情况下任何学习算法所能做到的最好的事情了。精心加入的噪声和其他一些微调可能会加速攀爬的速度。但是所有的道路最终仍然会汇聚到最大似然均衡(maximum-likelihood equilibrium)的山顶。它们最终会实现的是一种局域性最佳模式识别的机器学习模式,又或者是函数十分逼近的机器学习模式。随着计算机运行速度的日益加快,这些小山顶的平衡看起来就拥有了从未有过的魅力和智能。但是老状况依旧,所以它们所涉及的思考也只不过是计算一些数据的和然后找出最大值的数学计算罢了。

因此,大多数所谓的机器思考只不过是机器爬山算法(machine hillclimbing)而已。

此时,当我们重读马文·明斯基于1961年发表的论文《迈向人工智能》(Steps Toward Artificial Intelligence),便会感到惭愧,因为从那时起,算法就再也没取得过什么重大的进展。他甚至预言了拥有特殊认知的计算机强化版的爬山算法的趋势:“也许,在一个水平上的简易的爬山算法,从一个水平相对较低的角度看去,简直就是一种认知奇迹。”

还有一些其他类型的人工智能算法,但大多落入了明斯基提到的范畴里。例如,当在搜索树或图谱搜索上运行贝叶斯概率算法时,它们必须能够处理指数级别的分支或者一些与维数灾难(curse of dimensionality)相关的形式。再例如,为模式分类而发展出的凸面以及其他一些非线性约束优化。意大利数学家拉格朗日(Joseph-Louis Lagrange)于1811年找到了我们现在还在使用的通用解决算法。聪明的技巧和微调总是有帮助的,但这些进展特别依赖于能运行这些算法的高速计算机。算法本身的实质是大量的加法和乘法,因此它们不太可能会在某一天突然有了自我意识,然后控制了这个世界。反之,它们会变得越来越擅长学习和识别更加丰富的模式,这很好理解,因为它们只是能够更快速地做加法和乘法运算而已。

我敢打赌,明天的思维机器依旧与今天的非常相像——它们只是在高速计算机上运行的老算法。