在 MIT 150 周年庆典上有个叫做 Brains, Minds and Machines 的 Symposia,里面有个叫做 The Golden Age — A Look at the Original Roots of Artificial Intelligence, Cognitive Science, and Neuroscience 的 Keynote Panel(所有的视频都可以在 MIT TechTV 上找得到)。据说 Noam Chomsky 在大家开始总结人工智能极其相关领域近年来所取得的进展以及展望将来的挑战和发展方向的时候,跳出来对相关领域近些年来严重地偏向于堆积数据和使用统计模型进行了批评。然后 Google 的 Research Director Peter Norvig 专门写了一篇叫做 On Chomsky and the Two Cultures of Statistical Learning 来反驳他。后来(也就是上个月的事情了) MIT BCS 的一只 Graduate Student 又专门对 Noam Chomsky 做了一次采访,整个文章在 the Atlantic 上可以看到,叫做 Noam Chomsky on Where Artificial Intelligence Went Wrong,部分视频可以在“记者”的主页上看到。简而言之就是这么一回事了,感觉都是非常有意思的内容,所以也就想在这里稍微整理介绍一下。

不过要整理的话,大概还要从另一个地方开始,就是 David Marr 的那本叫做《Vision》的经典著作,最早应该是在 1982 年出版的,在 2010 年的时候再版了。

特别是像 Vision 这样飞速发展的学科,看年代比较古老的书总是感觉有些迟疑的,而且翻开来一眼看到的那些东西确实也似乎和现在主流的计算机视觉的教材呀、课程呀或者论文呀之类的里面的东西不太一样的。不过毕竟是被许多人推荐过了啊。而且看过第一章之后觉得其实是非常有意思的——且不论后面他关于 Vision 的理论是否会让人感兴趣,他在书一开始所摆明的要去做关于 Vision 这样的“Information Processing System”的系统的研究的时候应该遵循的 Philosiphy 而言,总让人有种在无数的算法、模型、理论中迷失之后突然拨云见日的感觉。

他主张为了研究 Vision ,我们应当分三个层次来看待这个问题:

  1. Computational Theory
  2. Representation and Algorithm
  3. Hardware Implementation

Computational Theory 应当试图理解和定义 Vision 这个 Information Processing System 做了什么样的 computation,以及为什么要做这样的计算。他在书里用算术做为例子,比如说关于加法的理论应当是,比如,我们需要加法是为了计算我们在超市买东西的时候计算总价用,那么这个操作应该满足交换率,因为我的总价不应该和我选择物品的顺序相关;比如如果我拿了一件东西但是又不想买了,拿到 refund 之后我的钱应该不增不减,于是要求存在逆元(当然可能还需要先定义零元)等等。这些就是“加法”的 Theory,他和我们的数字怎么表示(罗马数字、二进制数字)以及我们怎么去做具体的计算都是无关的。那么回到 Vision,亚里士多德说的是“to see, is to know what is where by looking”。可是,说到头,Vision 到底是在做什么呢?

搞清楚了 Computational Theory 之后可以进入下一层,Representation 和 Algorithm。Representation 很重要是因为同一个东西不同的 representation 会展现出不同的特性,当然也会因此影响到具体的算法。比如在十进制表示下看一个数字能不能被 10 整除只要看最后一个数字是不是 0 就可以了,但是在其他的,比如二进制下面就需要更加复杂的算法。更加有冲击力的例子大概还是罗马数字不适合做算术导致他们在数学方面不如阿拉伯文明吧。:D 选定了合适的 representation 之后,当然就需要设计出具体的算法来实现我们在上一层所描述的 computation。

最后就是物理实现,因为同样的算法,在不同的体系结构(比如 CPU、GPU 或者是人脑)下面可能又会变得截然不同了。其实这里的内容大都是照搬书里面的东西,我也不再多说了,产生了误导反而更麻烦了,感兴趣的同学可以自己去找来看。

顺便需要提一下的是计算机视觉里的最高奖 Marr Prize 就是为了纪念他而设立的。说是纪念他,当然就代表他已经不在人世了。他于 1980 年因白血病死于 MIT,当时才 35 岁。现在的 Vision 领域里似乎很少看到他当时所描绘的那套理论的影子,而且人们也沉浸于海量数据加上高性能的计算加上统计学习的方法所带来的许多视觉上的子问题(诸如 detection、classification 等)的成功,似乎也并没有按照他所规划的这一套哲学来推进研究。不过,如果 Marr 还活着的话,现在的 Vision 领域又会是什么一个样子呢?

其实,Noam Chomsky 所批评的,也是类似的东西吧。当然并不是全盘否定现在的各种基于统计模型和大量的训练数据所得到的各种 AI 相关领域的成功(比如一些 Vision 的问题、Speech Recognition、Machine Translation 等等)。从 Engineering 的意义上来说,这些方面可以说是取得了非常多的进展,这一点 Peter Novig 在他的反驳文章里举了挺多的例子。但那些正统的,所谓“Old Fashioned AI”的东西却也被认为在实际中还不太 work 从而被逐渐忽视和丢弃了。

实际上这些年来 AI 中所发生的转变也可以看成是侧重点从 Science 往 Engineering 上偏移的结果了吧。从 1956 年 John McCarthy 创造了 Artificial Intelligence 一词出发,一开始各种乐观的人们,在各种失败中发现理解和实现智能这件事情果然还是太困难了,然后后来渐渐地出现了以解决实际应用中的一些子问题为目的的研究,把问题范围缩小之后,比如说我们要做人脸识别,许多东西就变得简单了,我们可以构建一些模型或者算法来做一些具体的事情,并且在许多方面可以说是卓有成效,并且实际上在很大程度上已经在影响着我们的日常生活。

可是,当我们在这个方向上越走越远的同时,是否需要,在 AI 一词提出 50 年后,重新审视一下我们曾经的梦想呢?当时所遇到的重重困难,现在有了大量的数据,比以前快了无数倍的计算和存储能力,还有许许多多或多或少取得了相当进展的子问题,那么重新回到原来的议题,是否原来所不可能解决的问题,现在会变得可能呢?话说回来,Chomsky 所批评的基于大量数据和统计模型的研究方法,其实也是在计算机的性能发展到今天这个地步才变得可能的嘛。

不过,大概 Chomsky 所说的,通过统计模型“盲目”地去分析数据,永远也无法真正理解智能,而最多是得到一个智能系统的 Approximation 罢了。其实也就是 Science 和 Engineering 的区别吧。

Chomsky 举了一个例子:你通过一扇窗户观察到外面的世界,然后你可以用统计模型和大量的观察数据得到一个外面的世界的 approximation,可能在许多时候他甚至能给出相当精确的窗户里将会看到的景象的预测。但是如果我们的目的是要做科学(而不只是工程)的话,这样做是不行的,因为通过这样的方法我们没有办法去理解事物的本质或者法则,比如通过这样的方法我们不可能去抽象出小球在无摩擦的光滑平面上运动的理想情况来(这样的情况在真实世界中是无法观察到的),也不会得出相关的各种运动定律等等。当然,物理里所研究的系统从某种意义上来说比生物智能系统要简单许多,所以这样的比喻也不一定是很恰当,万一智能系统就是如此复杂不存在一个干净的简单的抽象模型呢?

不过再讨论下去真的有点哲学或者文字游戏的味道了。比如说我们现在所实现的各种“智能”系统,比如图像分类呀、人脸识别呀、语音识别呀,或者最近“打败人类”的 IBM 的 Watson,他们在他们所专长的那个领域或者任务下面所做的事,和人类在同样的情况下的行为,到底有什么不同呢?他们那个样子,到底算不算真正的“智能”呢?

有点跑题的是,想起了在人类教育的过程中有个叫做“题海战术”的东西(或许只有中国才有?),不停地做题不停地做题,最后考试的时候通常都会考得很好。这样看起来有点想通过大量数据训练出来的统计模型,可是这样训练下来的学生是否是真的理解了所学的内容了呢?考试考得好的原因是到了东西了呢?还是只是由于记住了许多东西并且在考试中碰到非常相似或者甚至完全一样的题目的缘故呢?

再跑题一点就是这两者其实也有点像 Learning 中所谓的 generative model 和 discriminative model 之争论:前者试图去理解问题的本质——数据生成的模型;而后者则完全着眼在需要解决的眼下的这个 prediction 问题的输入输出关系上,而把其他“不相关”的问题全部忽略掉。因为 discriminative model 将问题“缩小”了所以从某种程度上变得“容易”了,所以说在实际中通常会表现得更好吧。

虽然对于我等凡人来说整日想这样的问题还不如多去做几道作业看几篇论文,但是偶尔想想还是挺好玩的事情。好歹世界末日要来了嘛,也反省反省我们(人类)所谓的科学和技术都在干些什么。

最后,在《Vision》一书的 2010 年再版中有 Tomaso Poggio 写的一个 Afterward,简短地总结了一下相关领域在此书出版以来所取得的进展,然后提到了 learning 的问题,我就直接引文了:

Finally, let me comment on the problem of learning, which is an intriguing and interesting omission in Marr’s Vision quest to understand intelligence and the brain, especially because learning was the focus of his famous papers (1969, 1970) on the cerebellum and the neocortex. I am sure that this omission would have been corrected had Marr had the time… I have been arguing for the last two decades that the problem of learning is at the core of the problem of intelligence and of understanding the brain. Learning, I think, should have been included explicitly in Turing’s operational definition of intelligence – his famous Turing test. Not surprisingly, the language of modern statistical learning, including regularization, SVMs, graphical models, hierarchical Bayesian models, is permeating various areas of computer science and is also a key component of today’s computational neuroscience. I am not sure that Marr would agree, but I am tempted to add learning as the very top level of understanding, above the computational level. We need to understand not only what are the goals and the constraints of a computation are but also how a child could learn it and what the role of nature and nurture is in its development. Only then may we be able to build intelligent machines that could learn to see – and think – without the need to be programmed to do it.

顺便,说到 Nature and Nurture,在最开始提到的 Brains, Minds and Machines Symposia 也有一个叫做 Nature and Nurture 的 panel,以及其他一些有趣的 panel 的视频。

对了,Noam Chomsky 有友情出演 MIT Gangnam Style 哦:Noam Chomsky Style :D