从可实现角度解读人工智能
2019-01-06JohnMcDowall
John McDowall
人工智能(AI)是近几十年来才出现的新事物。从Stanley Kubrick导演的《2001:太空漫游》对人工智能胡作非为发出的警告到帮助《星际迷航》中的柯克船长“大胆地走到没有人去过的地方”的计算机助手,20世纪60年代人们充满了对人工智能增强未来的憧憬。然而过了半个世纪,这些科幻电影中的情况仍然没有实现。尽管这些年来人工智能进展缓慢,但是可以确认的是,目前我们正处于实现具有实用性人工智能的风口。如今似乎所有包含有软件的产品都在宣传自己利用了人工智能的力量。虽然人工智能正在被炒作,但是我们必须对现实有着清醒的认识。
终极版的下一件大事
目前我们正处于人工智能的另一波浪潮之中。近来,得益于处理能力的最新发展成就,人工智能在某些领域已经由宣传变为了现实。现成的廉价图形处理单元已经使得卷积神经网络(CNN)在图像识别等某些方面具有了商业实用性。这使得人工智能再一次受到了公众的关注,未来生活将被彻底颠覆,数以百万计的工作岗位将被智能机器所取代。尽管市场上几乎所有包含软件的产品都被广告宣传为“由人工智能驱动”,但是在我将技术未来押注在人工智能的崭新世界之前,对某些事实保持清醒的眼光是明智的。
实用性的人工智能长期以来一直是“下一件大事”。它们能够帮助我们摆脱许多日常琐事,同时帮助我们实现难以想象的科学和工程壮举。让许多人不安的是人工智能或将取代广大的劳动力,导致数百万人的工作被人工智能驱动的机器接管。有人甚至推断人工智能会认为人类是低效且多余的,从而引发终极战争,例如《终结者》电影中所设想的那样。
这些想像中的情景在很长一段时间内都是不可能实现的。大约20年前,一位同事提出了一个观点,即人工智能的缩写AI代表的意思是“ Ai nt Invented”(不能发明创造)。他当时是正确的,如今他的观点可能同样正确。尽管目前人工智能的实际应用正在日趋成熟,但是这些应用程序均受到了很大的限制,这使得通用意图的人工智能仍像以往那样遥不可及。
如何定义人工智能
我们中的大多数人在听到“人工智能”一词时,往往想到的是科幻小说中的人工智能,它们可以响应模棱两可的语音命令并执行复杂的计算和逻辑。这些令人印象深刻的机器可能会得出这样的结论——由于我们有限的记忆力和较慢的推理能力,所以我们无法实现自我。目前人工智能的定義并不是一个稳定且精确的定义,原因很简单,我们很难定义“智能”。
在这里我们需要抛开智商(IQ)测验等所谓的智力测验和大学入学考试等学业成绩测验。我们中的大多数人都会发现许多我们认为非常聪明的人,由于各种原因在这些测试中可能得不了高分。我们认为智能是一种综合能力,即能够存储和回忆基本事实,能够关联和推理这些事实,以及能够将创造性的解决方案应用于的新情况。
虽然这一定义存在局限性和不精确性,但是这就是目前我们对于“人类思维”功能的认知。实际上,人类思维远远超出了我们自己的理解,以至于我们甚至无法对“思考”的含义达成共识。尽管如此,这种对智能的定义能够满足我们随后对人工智能功能的讨论。
为了准确掌握我们距离真正了解智能有多远,我建议阅读一下Douglas Hofstadter的著作《哥德尔、艾舍尔、巴赫:集异璧之大成》(G?del, Escher, Bach: An Eternal Golden Braid)。这本书写于40年前,它在最基础的层面上对“思考”的含义进行了探究,并深入研究了简单的数学概念与我们在日常生活中使用算术时如何思考之间存在的令人难以置信的抽象层。我认为这是一本很有启发性的读物,它使我确信通用人工智能比我以前想象的要复杂得多。想像一下:对计算机编程并让它们正确地执行数学计算,我们必须以惊人的准确度理解这些计算的各个方面。如果我们根本不了解什么是智能,那么我们又怎么可能通过计算机编程的方式实现真正的智能呢?
可实现的人工智能
我们不能将计算机编程视为真正的智能,但是我们可以通过对计算机进行编程实现有限的智能,特别是在专业领域当中。IBM的Watson可能是这种机器中一个最著名的例子,但是即便是Watson,它们也存在一些明显的局限性。更何况大多数企业也没有安装Watson规模的人工智能项目所需的资源。
尽管如此,但是在我们可用的有限的技术范围之内,还有另一种途径可以实现人工智能的某些优势。第一步是改善数据建模,这是最基础的。正如我在较早的文章中所说的那样,以本体论的形式定义数据模型始终是一个好办法,因为它们可以帮助我们定义数据的语法和语义。不过,基本的人工智能功能的形式也具有其他好处。
使用Web本体语言(OWL)建模的数据可以以支持机器推理的格式进行记录,这是一种简单但功能强大的基本人工智能。因为OWL是建立在被称之为“描述逻辑”的推理分支之上,所以适合许多基于逻辑的推理过程,这些过程既强大又可解释。随着在医疗和军事行动等应用中开始部署基于人工智能的应用程序,能否有能力解释人工智能过程是如何得出这些结论正变得越来越重要。在基于人工智能辅助建议做出任何重要决定之前,用户也希望了解人工智能是如何得出这些结论的。这使得人们越来越希望获得“可解释的人工智能”。
卷积神经网络(CNN)可以执行令人印象深刻的图像识别功能,但是我们很难准确地跟踪它们是如何做出决定的。其有许多分类和比较层,最终结果准确且具有一致性。但是这并不意味着我们可以真正解释CNN是如何得出这些结论的。
相反,当数据模型使用OWL或其他形式逻辑(例如Common Logic)进行形式化时,我们可以编写推理规则并将形式逻辑规则应用于它们。例如一个简单的示例:我们创建一个简单的数据模型,其中包含一个类“Person(某人)”,具有两个属性“name(姓名)”和“sex(性别)”。我们在Person类的实例之间可以建立两种关系:“has_parent(父母)”和 “has_sibling(兄弟姐妹)”。通过这个简单的模型,我们可以存储诸如PersonA has_sibling PersonB和PersonB has_Parent PersonC(某甲有兄弟姐妹某乙和某乙有父母某丙)之类的数据。
一个简单的规则,例如“if person1 has_sibling person2 and person2 sex=Female, then person1 has_sister person2(如果某甲有兄弟姐妹某乙且某乙为女性,则某甲有姐妹某乙)”,我们就可以推断出数据库中每个人的新关系(注意,原始数据模型不包括姐妹的概念)。我们可以使用类似的规则来推断关系,例如祖父母、兄弟、表弟等。由于这都是建立在形式逻辑上的,因此其结果是完全可以解释的。实际上,结果不仅仅可解释,而且也是正确的。
目前我们已经可以使用现成的推理机(商业和开源)进行这种推断。例如Protégé等本体编辑工具可以使用HermiT和Pellet之类的多种推理引擎。许多数据库和分析产品也都支持这种基于逻辑的推理,经过正确配置之后,其性能可与其他的数据库技术相媲美。
基于逻辑的推理无法为我们提供一个可以讨论黑格尔哲学的精髓或编写钢琴奏鸣曲的人工智能系统,但是它们可以为我们提供可以执行许多常规数据处理任务的人工智能系统。更重要的是,我们拥有一个工作原理可以向怀疑者进行解释的人工智能系统。
本文作者John McDowall现为企业架构师和系统工程师,曾是美国海军陆战队的飞行教官,也曾担任过某个全球信息分析系统的首席企业架构师。
原文网址
https://www.cio.com/article/3442727/an-achievable-view-of-artificial-intelligence.html