二、人工智能的分支
问:人工智能有哪些分支?
答:这里有份清单,但肯定不完整,因为还没有人确定到底有哪些分支。清单中有些条目可以看作是概念和主题,而不是完整的分支。
逻辑人工智能(logical AI):程序所认知的世界,一般来说是其作用于特定状态的事实,和程序的目标都是用某种数理逻辑语言的语句来表示。程序先推断确定适合达到目标的操作再决定去做什么。该想法在文章[McC59]中首次提出。文献[McC89]是一个近期的总结,[McC96b]列出了一些逻辑人工智能所涉及的概念,而[Sha97]是一本重要的教材。
搜索(search):人工智能程序经常需要检验大量的可能性,譬如,国际象棋棋子可能的移动或定理证明程序中可能的推理。在不同领域,人们都不断有如何进行更有效检验的发现。
模式识别(pattern recognition):当进行某种观测时,程序经常被设计得将其所观测到的与某个模式相比较。比如,视觉程序可以尝试匹配场景中眼睛和鼻子的模式来找到面部。已被研究的更复杂的模式还包括出现在自然语言文本、国际象棋的棋盘状态或某些历史事件中的种种模式。与已经广泛研究的简单模式相比,这些复杂模式的研究更需要颇为不同的方法。
表示(representation):有关现实世界的事实必须以某种方式表示。数理逻辑语言通常被用于此类表示。
推断(inference):从某些事实可以推断出另外一些事实。数理逻辑的演绎推理在某些情形是合适的,但自1970年以来,非单调推理的新方法也逐步发展起来。最简单的一类非单调推理是默认推理,其中结论是要通过默认推出,而结论可以撤回如果存在相反证据。譬如,当我们听到鸟叫时,我们可以推断它会飞。这一结论在我们听出它是一只企鹅后可以被推翻。有可能,推理的结论也必须撤回,这就形成了推理的非单调特征。通常的逻辑推理,在能从一组假设得出的结论组是这些假设的单调递增函数这个意义下,都是单调的。限定推理是非单调推理的另一种形式。
常识知识与推理(common sense knowledge and reasoning):尽管常识知识与推理自20世纪50年代以来一直是一个活跃的研究领域,但它仍是人工智能与人类智能水平相差最远的领域。尽管在非单调推理系统研发和行为理论研究等方面已有相当多的进展,但更多新思想仍然是迫切需要的。Cyc系统收集了为数众多但良莠不齐的常识事实。
经验学习(learning from experience):程序自己学习。基于连接主义和神经网络的人工智能方法擅长于此。也有由逻辑表达的规律学习。[Mit97]是一本关于机器学习的综合性本科教材。程序只能学习其形式体系能表示的事实或行为,但不幸的是,学习系统几乎都是基于表示信息能力非常有限的形式体系。
规划(planing):从有关现实世界的一般事实(特别是有关行为效果的事实)、有关特定场景的事实以及目标陈述开始,规划程序生成一个达到目标的策略。在最常见的情形,策略就是一系列的动作。
认识论(epistemology):认识论研究解决现实问题所需的那种知识。
本体论(ontology):本体论研究存在的那种事物。在人工智能中,程序和语句处理各种对象,而我们研究的是,这种对象是什么,它们的基本特性是什么。本体论在20世纪90年代开始受到重视。
启发式策略(heuristics):启发式策略是一种尝试发现事物的方式或者嵌入到程序中的想法。该术语在人工智能领域被广泛使用。在某些搜索方法中,启发式函数被用于度量搜索树中的节点与搜索目标大致相差有多远。用于比较搜索树两个节点以确定一个是否比另外一个更好(也即确定前者是否朝着目标更进一步)的启发式谓词或许更有用。 [我的观点]
遗传程序设计(genetic programming):遗传程序设计是一种让程序通过配对随机Lisp程序和选取数百万后代中的最优者来完成任务的技术。该技术由约翰·科扎(John Koza)的研究小组开发,这里有一个教程。
三、人工智能的应用
问:人工智能的应用有哪些?
答:部分应用罗列如下。
博弈(game playing):你花几百美元就能买到具有大师级水平的下棋机器。它们有一些人工智能,但主要还是通过蛮力计算(每秒查看成千上万种可能状态)与人对弈。要用已有可靠的启发式方法和蛮力计算战胜世界冠军,程序每秒至少需要查看两亿个状态。
语音识别(speech recognition):20世纪90年代,局限在某些情形,计算机语音识别达到了实用水平。美国联合航空公司用一个通过语音识别航班号和城市名的系统替换了它关于航班信息的键盘树。它用起来相当方便。另一方面,用语音控制计算机是可能的,然而大多数用户还是回到了键盘和鼠标,因为它们还是更为方便。
自然语言理解(understanding natural language):仅将单词序列输入到计算机是不够的,只解析语句也是不够的。要实现自然语言理解,还必须让计算机能够理解文本的领域。目前,这只对很有限的领域才可能做到。
计算机视觉(computer vision):现实世界是由三维物体组成的,而人眼、计算机的电视摄像机接收的输入却是二维的。一些有用的程序只能处理二维信息,但完整的计算机视觉则需要部分不就是一组二维视图的三维信息。目前,直接表示三维信息的方式非常有限,这些方式也不如人类平常所用的方式那样好。
专家系统(expert systems):一个“知识工程师”访谈某个领域的专家们,试图将他们的知识嵌入到计算机程序中以自动完成某种任务。这项工作的效果取决于完成任务所需的智能机制是否超出了人工智能的现状。如果确实如此,结果大都令人失望。最早的一个专家系统是1974年完成的MYCIN,它被用于诊断血液细菌感染、提供治疗建议。它比医科学生和实习医生做得都好,其前提是它的局限性已观察清楚。也就是说,它的本体知识包括细菌、症状和治疗方案,但不包括病人、医生、医院、死亡、康复以及突发事件等信息。其互动依赖于单个被诊治的病人。由于被咨询的专家们了解病人、医生、死亡、康复等信息,知识工程师只需将专家告知的信息塞入预先设定的框架即可。这就是当前人工智能发展的现状。目前专家系统有用与否取决于其用户是否具备常识。
启发式分类(heuristic classification):鉴于人工智能的现有知识,最可行的一种专家系统是使用多信息源将信息进行分组归类。一个具体的例子是建议是否接受提议的信用卡购物。已知的信息包括信用卡持有人,他的付款记录,他正在购买的商品以及他购买商品的商家(如该商家以前是否有过信用卡欺诈行为)等。