《人工智能:计算Agent基础》——2.5 通过推理来行动

2.5 通过推理来行动

之前的部分假定Agent有着很多在各个时段保留下来的信念状态。对于一个智能Agent,信念状态可以非常复杂,甚至可用占用单独一层。
学习和构建智能Agent的经验表明智能Agent需要某些信念状态的内部表示方法。知识指的是领域内的信息,可用于解决该领域内的问题。知识指的是用于特定情境、领域的一般性知识。因此关于特定状态更常使用知识而非信念。基于知识的系统是可以使用领域内知识来动作或者解决问题的系统。
哲学家们将知识定义为正确的、经过证实的信念。人工智能研究者们则更倾向于融合两种概念。知识更倾向于已被证实的一般性信息。而信念则是可以被新的信息修正的信息。一般信念都会伴随着可信度和如何交互的模型。在人工智能系统里,知识不必是真的,且只在有用时才去证实。这点区分经常会变得模糊不清,因为经常会有Agent的一个模型将某种信息看做真,而另一个模型则认为这些信息需要继续修正。

图2-9是图1-3的精练表示,针对的是基于知识的Agent。知识库是离线建立的,但被用于在线产生动作。Agent的这种分解与Agent的分层观点是正交设计;智能Agent既需要分层组织又需要知识库。
 在线是指,当一个Agent动作时,它会使用自己的知识库、对世界的观察、目标和能力来共同选择去做什么及更新知识库。知识库是长期记忆,这里存储着将来动作时会用到的知60识。这些知识来自于先验知识以及从数据和先前经验所学的结合。信念状态则是Agent的短期记忆,它保留着步长之间所需要的当前环境模型。一般性知识与专门知识之间并不总是存在明显的界限;比如,一个户外的传送机器人可以学习特定城市的一般性知识。从推理引擎到知识库是存在反馈的,因为在环境中观察和行动可以提供更多的可供学习的数据。
离线,指的是在Agent有所动作之前,它能构建一个对其在线行动时有用的知识库。离线计算的任务是使得在线计算更加有效、高效。知识库是通过先验知识和先前经验得来的数据(既可是它自己的先前经验,也可是别人给予的数据)来构建。机器学习领域中的研究者们已经考虑过有很多数据和仅一点先验知识的情况。而专家系统中研究了有很多先验知识和很少甚至没有可用于学习的数据的情况。然而,对于几乎所有非平凡领域,Agent必须使用所有可用的信息,因此既需要丰富的先验知识又需要大量数据。
目标和能力是离线赋予、在线赋予还是都赋予,主要取决于Agent。举个例子,一个传送Agent可能有保证实验室清洁并不损坏自己或者其他物品的一般性目标,但是它也可在运行中获取其他传送目标。如果知识库被调整为适合特定目标和能力,那么在线计算会变得更加高效。然而,当不能获知运行中的全部目标和能力时,这一般来说不大可能。

2.5.1 设计时间与离线计算
在线计算需要的知识库可以在设计时便初始化,然后由Agent离线扩张。
本体是用于信息系统的符号含义的一种描述。它指定了建模什么及系统中使用的词汇。最简单的情况,如果Agent正在使用完全观察的明确的基于状态的表述,那么本体就表示环境和状态间的映射方式。如果没有这个映射,Agent也许知道其在状态57,但是如果没有本体,对于其他Agent或者人来说,这个信息毫无意义。在其他情况下,本体同样能定义特征或者个体和关系。它被用于将未加工的感知转换为对于Agent有意义的信息,或者用于从人类或者其他知识源处获得有意义的输入。
本体是由社区构建的,一般独立于特定的知识库和特别的应用。正是由于此共享特性61才允许使用多种来源(视觉、人类、数据库)的数据进行有效的沟通和内部操作。个体和关系情况的本体在13.3节讨论。
本体逻辑上应早于数据和先验知识:我们需要一个本体来获取数据或者知识。没有本体的话,数据仅是比特串。没有本体,人们不知道应输入什么;正是本体给数据赋予了含义。一般来说本体会在系统开发时逐步完善。
本体会指定一个或多个抽象层。如果本体发生改变,那数据必须改变。例如,机器人应该有关于障碍物的本体(如任何实体对象都是应该避开的障碍物)。如果再被扩展到可区分的人类、椅子、桌子、咖啡杯或者其他类似东西,那么就需要更多的关于环境的不同数据。
知识库是离线地通过结合专家知识和数据来构建。其通常在Agent了解将活动的环境前就已构建。在线计算的部分通常包括保存并调整知识库。62
离线时,涉及基于知识系统的有三个主要任务:

  • 软件工程师构建推理引擎和用户接口。他们通常并不知道知识库的内容。在使用他们所实现的系统方面,他们并不需要很专业;然而,在编程语言,如Java、Lisp、Prolog的使用方面,而非他们自己所设计系统的知识表示语言方面,他们必须是专家。
  • 领域专家是那些在某一领域有适当先验知识的人。他们了解相关领域,但是通常来说他们对于一些可能会遇到的特殊情况一无所知。例如,一个药学领域的专家知道疾病、症状及相应关联,但是可能却不知道某个特定病人的症状或者疾病。一个传送机器人领域的专家也许知道必须认识的个体种类、电池仪表的意义与各种动作的耗费量。领域专家通常并不知道Agent会遭遇的环境的详细信息,比如,对于诊断助手来说的病人的详细信息,或者机器人所在房间的详细信息。
    领域专家通常并不清楚人工智能系统的内部工作过程。一般他们仅有关于知识的语义观点且并不关心推理引擎在使用何种算法。系统应以领域的形式与他们进行交互,而非计算步骤的形式。例如,若一个知识库采用显示答案产生轨迹的方式,然后寄希望于领域专家来修正此知识库是不明智的。因此,并不需要提供给领域专家修正工具来跟踪程序的执行。
  • 知识工程师在同领域专家协商的基础上设计、构建和修正知识库。他们了解系统的详细信息且通过领域专家了解领域内的详细信息。但是他们对于具体案例毫不了解。他们应该知道有用的推理技术和完整系统的工作流程。

同样一个人可以完成多个任务:一个了解人工智能的领域专家可以作为知识工程师;一个知识工程师可以作为编写系统的人。一个大的系统可以有许多不同的软件工程师、知识工程师和专家,其中每一个人专门执行系统的一部分。这些人可能甚至不知道他们仅是系统的一部分,他们发布的信息可被任何人使用。
离线时,Agent可以结合专家知识和数据。在这个阶段,系统可以被测试和修正。Agent能够计算那些非特殊指定情况。例如,它能编译部分知识库来使得推理更加高效。
2.5.2 在线计算
在线状态时,具体事例的信息开始可用,且Agent需要开始行动。这些信息包括领域的观察信息以及可行动作、偏好和目标的信息。Agent可以从传感器、用户和其他信息源处(如网站)获得信息,但是我们假定它不能从领域专家或者知识工程师处获得信息。
一般来说Agent的离线计算时间要远大于在线计算时间。然而,在线计算时它能更好地利用特定目标和特定的观察。
例如,一个医药诊断系统仅当在线状态时才有特定病人的详细信息。离线状态时,它能获知疾病和症状相关性的信息,并能对知识进行修正和完善。仅当它在线状态时,才能处理特定病人的相关信息。
在线主要包括以下几个任务:

  • 用户是一个需要专业知识的人或者有个体案例信息的人。用户通常不是知识库相关领域的专家,所以他们一般并不知道系统需要什么样的信息。因此不可能奢望他们能自主地提供特定案例的信息。这时候就需要一个简单自然的界面,因为用户通常并不知道系统的内部结构。他们一般会根据系统给出的建议做一个相对全面的决定,因此需要对所给的建议给出一个合适的解释。
  • 传感器会提供环境的信息。例如,温度计是一个可以提供其所处位置当前温度的传感器。传感器也可以更加复杂,如视觉传感器。在最底层,视觉传感器简单地提供每秒30帧的大小为720480像素的矩阵。而在更高层,视觉系统也许能够回答一些特定问题,如特定特征的位置、某种物品是否存在或者视野中是否存在某些特定的个体。一个麦克风的数组可被用在底层抽象级上,用来提供详细的震动信息。它同样可以被用做高层传感器的组件来检测爆炸,并预测爆炸的类型和位置。
    传感器主要分为两种。一种是被动传感器,总是连续的发送信息给Agent。被动传感器包括温度计、相机和麦克风。设计者可以选择传感器的放置位置和方向,但是他们仅能提供Agent信息。而另一种主动传感器则恰恰相反,它可被控制或者可向其咨询信息。主动传感器的例子有很多,如可以回答关于病人的特定信息的医用探针,或者智能辅导系统中的一份给学生的测试。经常会出现一个传感器在底层抽象级上是被动传感器,而在高层抽象级上被看为主动传感器。64例如,相机可被询问房间内是否存在特定人物。为了完成此任务,它必须找出房间内的面孔并找出每个人的不同特征。
  • 外部知识源,如一个网站或者数据库,一般能够回答问题并且在受限领域提供答案。Agent可以向一个天气网站询问某一地点的温度,也能向一个航空网站询问指定航班的到达时间。知识源有不同的协议和有效的权衡机制。Agent与外部资源间的接口被称为封装,封装可以互相转换Agent使用的表达信息与外部知识源准备去处理的查询信息。一般来说封装的设计意义在于一个Agent可以向多个知识源询问同一事情。例如,一个Agent也许希望知道飞机的到达时间,可是不同的航线或者飞机场需要不同的协议接口进入以获得此信息。当一个网站或者数据库通用一个共同的本体时,他们就能互相使用信息了,因为相同的符号代表相同的意义。相同符号代表相同事情这也叫做语义互通。当他们使用不同的本体时,那么在本体间必须存在映射关系以便能够实现互通。

而且,任务这样便分开了,尽管完成这些任务的人群之间可能会重叠。例如,领域专家可以作为一个用户来测试和修正系统,每个任务对他们需要的工具来说都有不同的要求。那些用于向用户解释系统如何得出结果的工具,也可以是领域专家用来修正知识的工具。

时间: 2024-11-08 18:27:19

《人工智能:计算Agent基础》——2.5 通过推理来行动的相关文章

《人工智能:计算Agent基础》——第二部分 表达和推理第3章 状态和搜索3.1 用搜索进行问题求解

第二部分 表达和推理 第3章 状态和搜索 你看到过海岸上的螃蟹在寻找大西洋的过程中一直向后爬行,最终消失吗?人们也是同样的思考方式.--H.L.Mencken (1880-1956) 前面一章讨论了Agent是如何理解和动作的,但是没有讲到它们的目标是如何影响动作的.一个Agent可以根据既定的目标集有规划的去动作,但是如果不能适应变化的目标,这样的Agent就是非智能的.或者,Agent能够根据自身能力和既定目标去推理,从而决定应该做什么.这一章介绍将Agent决定做什么的问题描述为在一个图中

《人工智能:计算Agent基础》——1.4 知识表示

1.4 知识表示 一般情况下,要解决的问题或要完成的任务,包括解的构成,是通过非形式化的方式给出的,例如"他们到达时,请立即递交包裹"或"请修理家中存在故障的电力系统". 计算机解决问题的一般框架在图1-4中给出.为了解决问题,系统设计者必须: 具体化任务,并制定解决方案. 用特定的语言表达问题,以便计算机进行推理.11 用计算机计算出相应结果进行输出,可以给用户呈现一个答案或是在环境中需要执行的一系列行为. 解释作为问题的解决方案的输出结果. 知识是可以用来解决本

《人工智能:计算Agent基础》——导读

前 言 本书是一本关于人工智能(AI)科学的图书.本书认为AI所要研究的是如何设计智能计算Agent(智能体).本书采用教科书的组织形式,适合广大读者阅读.过去几十年,我们见证了AI这门综合学科的兴起.正如其他学科一样,AI具有清晰.规范的理论和难操控的实验部分.本书平衡了理论和实验,并将两者密切地结合.俗话说"好的理论必须有其实用价值",因此我们将工程应用融入到AI的科学研究中.本书所述方法都秉承了格言"凡事都应尽量从简,但不可过简".我们认为科学必须有其坚实的基

《人工智能:计算Agent基础》——3.7 更复杂的搜索方

3.7 更复杂的搜索方法 之前的策略可以进行很多优化.首先,我们给出两种适用于图中有环的方法:一种是对环路的明确检查,而另一种是对到某一节点的多路径检查.然后,我们给出迭代深度算法和深度分支界限搜索法,92这两种方法是能保证找到解路径(甚至是最优解)的一般方法,就像宽度优先搜索算法或者A搜索算法,但是利用了深度优先搜索的空间优点.我们将搜索问题分解为很多小的搜索问题来简化搜索方法,这样每一个都更容易解决.最后,我们说明利用动态规划法如何寻找路径和构建启发函数.3.7.1 环检查用来代表搜索空间

《人工智能:计算Agent基础》——第一部分 世界中的Agent:什么是Agent及如何创建它们第1章人工智能与Agent1.1 什么是人工智能

第一部分 世界中的Agent:什么是Agent及如何创建它们 第1章人工智能与Agent 人工智能的历史充满幻想.可能.验证和希望.自从荷马描绘机器"鼎"服侍在众神的餐桌旁,那想象中的机器佣人便成为我们文化的一部分.然而,我们人工智能的研究者,直到50年前,才首次制造出实验性机器来验证那些假想,即有关具备思维和智能行为机器人的假想,使得之前仅在理论上具备可能性的机器人得到验证.--Bruce Buchanan [2005] 历经几个世纪的思想构建,人工智能学科被公认为有超过50年的历史

《人工智能:计算Agent基础》——2.3 分层控制

2.3 分层控制 在图2-1中讲述的一种构建Agent的方法是将主体分为两部分:传感器和一个复杂的感知系统,感知系统将对世界的描述输入给推理引擎来实现控制器,然后能够生成传给执行器的命令.但这 图2-4 一个理想的分层Agent系统结构.未标注的矩形表示层,双线表示信息流.虚线说明某一时刻的输出作为下一时刻的输入对智能系统而言是一个很差的结构,因为它太慢了,使得其很难缓解以下两个矛盾:复杂问题的缓慢推理和Agent所需的高级目标的快速反应,例如,躲避障碍.它也不清楚,在其可操纵范围之外存在一个独

《人工智能:计算Agent基础》——1.7 本书概述

1.7 本书概述 本书的余下部分对由复杂性维度所定义的设计空间进行探索,对每个维度进行独立的合理考虑.第2章主要分析图1-3中所提到的黑盒的内部结构,并讨论Agent的模块及层次分解.第3章主要讨论决策未来行为的最简单情况,单个Agent用显式状态推理,没有不确定性,有要完成的目标,但是存在不确定期.在这种情况下,解决目标这个问题可以抽象成图中的路径搜索问题,并介绍了如何利用本领域的额外知识进行搜索.第4.5章主要介绍如何利用特征.具体地说,第4章主要考虑怎样在给定的约束条件下找到可能的状态,这

《人工智能:计算Agent基础》——1.6 原型应用

1.6 原型应用 人工智能领域的应用广泛而且多样化,包括医疗诊断.工厂流程调度.险恶环境中的机器人.博弈.太空中的无人驾驶车辆.自然语言处理系统.指导系统等.这些应用并不是独立进行的,我们抽象出这些应用的本质特点,来研究智能推理及动作背后的原理. 本节概述了4个应用领域,其中的几个实例将贯穿整本书.尽管我们介绍的几个实例都很29简单(如此他们才适用于本书),但其应用领域代表了人工智能技术能够或正在应用的领域范围. 4个应用领域如下所示: 自主传送机器人会在某个建筑物旁徘徊,负责给里面的人传送包裹

《人工智能:计算Agent基础》——1.2 人工智能简史

1.2 人工智能简史 纵观人类历史,人们曾一直用技术为人类自身建立模型,例如古代的中国.古埃及和古希腊都可以证明,每一种新技术都不断地用来建造Agent或其他意识模型.发条装置.水力学.电话转换系统.全息图.模拟计算机以及数字计算机等都被提出作为智能装置和意识模型的技术原理.大约400年前,人们开始解释思维与推理的本质.Hobbes(1588-1679)被Haugeland6[1985,P.85]称为人工智能的始祖,认为思考是符号推理,例如大声说话或用纸笔计算出某个答案.Descartes(15