Blog

专家系统的幻灭

building-expert-systems每周一三五的《专家系统》课,原本是我这学期最有期待的课了,现在却让我有些幻灭,每次听课都觉得不舒服。

我最早听说专家系统,是在一本名叫《追随智慧-中国人在微软》的书中介绍李开复的章节里。那一部分讲的是李开复在CMU跟随导致致力于计算机语音识别领域的研究。李开复的导致和很多主流专家认定语音识别要用人工智能来解决,通过建立一个专家系统来模拟人的语言学习过程,然后像教小孩说话一样来教计算机能听懂人话。而李开复独排众议,用统计的方法解决了这个问题。那时我就对专家系统这个领域充满了好奇,如果能建造出有学习能力的系统,哪怕就是像CMU那帮“老家伙”们那种程度,也是挺令人激动的。所以在这学期的开头,终于能够接触这个领域后,我相当兴奋。

但经过了将近半学期的学习后,我感到我之前的想法可能有些天真。

首先是我知道了专家系统是人工智能的很小的一个分支。我之前憧憬的有学习能里的系统,几乎都属于人工智能的范畴。而专家系统是什么呢?我们在课程开始的时候就在讲知识采集,把知识转化成fact和rule,并根据已有的facts和rules来生成新的facts,并最终让专家系统能够模拟一个领域的专家来做决策,比如说给病人开药。病人告诉专家系统自己有什么症状,专家系统根据症状来比对自己的fact base里的只是进行比对查找,最后给病人建议,MYCIN就是这样的一个专家系统。

也就是说,我们要提前告诉专家系统它们要有什么知识,而且是用facts的形式(我们要给机器写facts,而不是机器自己来生成facts),然后机器把输入和facts比对,然后输出对应的结果。这样看来,我们的专家系统,和一个计算器有什么不同?比人类专家的优势也仅在于运算速度快,不会疲劳这一点了。和智能查了十万八千里啊。

其实,李开复用统计模型来解决语音识别,其实也是和人工智能的方向类似。举例来说,我们要做一个人工智能的与人下围棋的系统,如果从第一步的361个落字方法不断的计算,看看最终的结果是那方胜利,并计算成比例的形式保存下来,这样在棋盘上,与人类棋手相比,我们的系统就有如上帝一般,每一步怎么走都可以知道结果。只要有组够快的运算速度、和足够大的存储空间,这个系统最终还会完成。我们上学期学《人工智能》这门课的时候,也用到了启发式搜索来解决过问题。这些不过是让计算机来替我们做一些重复性工作罢了,根本就不是我们想象中的让计算机来模拟人脑。

在专家系统领域,我们从人类专家那里通过与之交谈来获得知识,并用某种形式表示出来,告诉计算机,其实就是在交给计算机已有的知识。而这个专家系统能不能从这些已有的知识,像人类一样得到新的知识呢?我的答案是否定的。而在我们已经给了专家系统只是的facts和rules之后,我们再通过这些facts和rules来解决问题,其实和在传统编程语言里用多个if来做判断没什么不同。我们用了Jess这样的专家系统外壳,实际上是接住inference engine来简化我们的工作量罢了。

人工智能课上,老师告诉过我们,人工智能的本质就是搜索。我想无论我们再怎么搜索,也无法让我们已有的知识从量变产生质变。现在我觉得,解决人工只能的终极方法,也许就是我们人类本身提升一个或多个境界(比如从三位空间的认知提升到四维),然后才能对我们目前这个阶段的人脑思考的方法有了本质的认识,才能建造出能够模拟我们这个阶段智慧的机器。但同时想建造出能模仿那个时候的人类的思考的机器,应该也是不可能的,所以可能我们人类永远也无法制造出符合能模拟人类目前智慧的机器来。

昨天看了一下老师借给我们的《Building Expert Systems: Principles, Procedures, and Applications》这本书想到的。

2 comments

  1. Jess新体会 | 我的空想特摄 - pingback on 2012/01/06/ 00:59
    沙发
  2. 再论专家系统 | 我的空想特摄 - pingback on 2012/01/06/ 01:00
    板凳

Leave a Reply