在20世纪80年代,人工智能(ai)开始复苏,并成为了最热门研究领域之一。
不少人认为,专家系统的出现是ai复苏的重要因素。我是这么看ai复苏的。
一是计算机的普及使用。现在的年轻人可能很难想象上世纪70年代的计算机。我的学校在70年代时就有一台计算机,这台计算机差不多有一间普通教室这么大,没有屏幕、键盘等人机界面,更别说鼠标了。如何输入指令和数据呢?只能用纸带机。在纸带上打孔(比如说,有孔表示“1”,没孔则表示“0”),在这种工作方式下,你可以想象,多数人对计算机哪能不望而生畏?
时间进入上世纪80年代,情况发生了很大的变化。开始有了个人计算机,且计算机有了操作系统,有了屏幕,也有了键盘——普通人都可以使用计算机了,人们当然会想着用它来做点什么事情。因此,计算机所做的工作,就不仅仅是“计算”了。
二是应用的驱动,地质勘探以及其他各行各业的大量数据要处理,医疗诊断面对复杂病情如何处理等等。应用计算机是水到渠成的事情。
三是由于ai变成了热门领域,很多的研究或技术自然要攀亲。不管是什么研究、什么技术,只要有可能,只要是使用了计算机,前面加个“智能”就变得风光很多。这就是“智能滥用”了。
这三个因素加在一起就促进了ai的复苏!
还是先回到“专家系统”吧。所谓专家系统,简单说,就是一个计算机程序。当然,这个计算机程序同时又不那么简单。最基本的,它需要有规则库、知识库、推理机、解释器以及白板(也就是黑板,不过是虚拟的)等等。这些都可以看成是一些程序模块。
人们设想,把专家的知识结构化(或者计算机化)了以后,“放进”计算机里面,这样,无论以后你遇到什么问题,把你的问题输入计算机后总可以得到相应的解答了。
1975年至1979年间,北京中医医院与中国科学院自动化研究所、北京第二医学院合作研究,开发出著名老中医关幼波教授对肝炎的辨证论治诊疗经验的专家系统。只需把患者的症状和化验指标作为数据输入计算机,计算机就能完成编制病历档案、辨证分型、给出处方、计算药价、开出病假条和医嘱等功能。据说是较为准确地反映了关幼波教授对于肝病的辨证论治的思想。
这套专家系统不知道是为何,已经不使用了。
什么都不懂的计算机,一下子变成了“专家”,这岂不是很好?那么,我们会遇到什么问题呢?
“知识”!没错,是“知识”!
在机器翻译时,我们遇到“语义”的问题,现在我们又遇到“知识”的问题。费根鲍姆先生当年想必也是遇到了“知识”的问题,这也就是为何他会提出了“知识工程”的概念。
可惜,我们人类的知识并不是什么都能“放进”计算机的,有的东西就是“只可意会不可言传”,或者说,茶壶里煮饺子——倒不出来!更别说告诉计算机了!再说了,人家老中医诊病,那是“望闻问切”全方位地信息获龋所以呀,靠计算机来诊断,是有点悬!
所以,专家系统的瓶颈就在于:知识表示、知识运用和知识获取(学习)。
我这里并不是完全否定专家系统。计算机有计算机的优势,比如说,记忆量大、记忆可靠、搜索速度快等。正确的做法应该是,将计算机的优势和人的智慧相结合,我把这称为计算机辅助问题求解(caps)。你看,这里没有用到“智能”的字眼!
1981年日本政府宣布开发第五代计算机(智能计算机)。日本政府的计划也是促进ai发展的一个因素。因为源于此,美国政府和英国政府也增加了对ai的资助。
按照设想,第五代计算机与现在我们所使用的计算机的最大不同可以归结为三点:1.用推理机加问题求解系统替代cpu;2.用知识库、规则库代替一般意义下的数据库;3.使用智能接口替代键盘、鼠标等人机接口,或者说,计算机应该可以通过自然语言与人交流。
不难看出,第五代计算机本质上就是一个通用的专家系统。
日本松下电信的总经理曾经得意地说,第五代计算机就像空气一样,谁都可以使用它。
1985年,第五代计算机的图像处理和语言识别部分停止了研究。
同时停止的另一项研究是计算机的核心部分——知识系统。研究团队选择了一条异乎寻常的途径,尽力研制知识存储与检索的硬件而不是软件。
其实,到此为止,已经就可以宣告第五代计算机研制的失败了,但还是拖了几年。
1992年6月,在预定的研制期限到期三个月后,日本政府终于宣布第五代计算机研制失败。
除了科研体制之外的,第五代计算机应该是栽在“知识”和“自然语言”这个问题上。当年的决策者过低地估计了使计算机“智能化”的难度。
专家系统是否能称为成功?我不是这方面的专家,不敢妄加评论。我想就ai研究中存在的局限性谈谈自己的看法。
重技术轻理念:有多少从事ai研究的人,往往都是一头扎入ai的某个具体的方法。没有多少人想到了解“智能”的真正含义;没有多少人从认知科学的角度看问题;至于有过哲学层次的思考的人更是少之又少。
设想一下,第五代计算机的决策者,如果能在决策之前,听听一些哲学家的意见(尽管他们平时显得“很无用”),如果其领军者能有哲学层面的思考(想想计算机到底不能做什么),第五代计算机也许不会死得太惨!
重方法(框架)轻知识:所有ai的方法和技术最终是要靠计算机编程来实现的。所有从事ai研究的人往往都会突出自己的方法(或算法),有意或无意地忽略了在实现其方法时已经不知不觉地将自己解决问题的知识“放进”程序中了。大家都知道,问题的解决最终是要靠“if……then……”的方式来实现(不管有多少重的循环或者多少次的嵌套)。我们永远都不要忘记,在“if……then……”中最有价值的部分是其中包含的知识。
专家系统尽管提供了一个专家的框架,但最终发挥作用的,是其中的“知识”。
“知识”始终都会是ai的一个瓶颈,知识如何获娶知识如何表达、知识如何运用等。更为困难的是,如何创造知识!