首页 > 其他分享 >第二章:智能Agent

第二章:智能Agent

时间:2023-10-30 13:34:11浏览次数:40  
标签:性能 环境 Agent 智能 行动 理性 感知 第二章

第二章:智能Agent

本章讨论Agent的本质,Agent是否完美,环境的多样性,及由此带来的各种Agent分类。

1. Agnet和环境

Agent通过传感器感知环境并通过执行器对所处环境产生影响,不同Agent用的传感器也各不相同。我们用 「感知」 表示任何给定时刻Agent的感知输入,而 「感知序列」 是该Agent所接受的所有输入数据的历史记录,Agent依赖感知序列做出行动,可以说 Agent函数 描述了Agent行为,它将感知序列映射为行动序列。

2. 好的行为:理性的概念

「理性Agent」 是做事正确的Agent。但什么是“正确的”?
如果Agent做出的行动序列能将环境变成渴望的,那这个Agent性能良好。这里的渴望,通过 「性能度量」 表述,它对环境状态的任何给定序列进行评估。显然,没有一成不变的性能度量,具体问题具体分析才是关键。作为一般原则,最好根据实际在环境中希望得到的结果来设计性能度量,而不是根据Agent表现出的行为。

我们这样定义理性Agent:对于每个可能的感知序列,根据已知的感知序列提供的证据和Agent具有的先验知识,理性Agent应该选择能使其性能度量最大化的行动。
理性不等于完美,理性是使期望的性能最大化,而完美是使实际的性能最大化。理性的选择只依赖于已知的感知序列,而观察有助于最大化期望性能,信息收集是理性的重要部分。
理性Agent不仅要收集信息,还需要从这些信息中尽可能多的 「学习」。如果Agent依赖于设计人员的先验知识而不是它自身的感知信息,那它就缺乏自主性。理性Agent应当自主学习,以弥补不完整或不正确的先验知识。但实践中,我们并不要求Agent一开始就完全自主,给它些初始知识以及学习能力是合理的。

3. 环境的性质

有了理性的定义,差不多可以思考如何来构建理性Agent了。不过,首先必须考虑 「任务环境」。我们要规定性能度量、环境以及Agent的执行器和传感器,这些就是任务环境。根据这四个单词的首字母,我们称之为 PEAS 描述。

以自动驾驶汽车为例,首先,我要考虑我们所期望的性能度量是什么?油耗少?用时短?安全性高?其次,这车的行驶环境是什么?公路?乡间小道?雪地?它的执行器一般还是和人工驾驶一样,油门、刹车、发动机那些。但可能还需要一些语言模块与人交流。基本的传感器有哪些?摄像头、红外测距仪、速度表等。

任务环境的范围是很大的,我们可以对它们进行分类,这些维度在很大程度上不但决定了适当的Agent设计,也决定了实现Agent的主要技术群体的实用性。这里的定义是非正式的:

  • 完全可观察的与部分可观察的:Agent传感器在任何时间点上都能获取环境的完整状态,那任务环境就是完全可观察的,否则为部分可观察。
  • 单Agent与多Agent:这个不多说了。主要注意:AgentA是否要把另一个对象B当作Agent对待,就要看B的行为是否也致力于让AgentA的行为的性能度量值最大化。
  • 确定的与随机的:如果环境的下一个状态完全取决于当前状态和Agent执行的动作,那环境就是确定的,否则就是随机的。
  • 片段式的与延续式的:在片段式的任务环境中,Agent的经历被分成了一个个独立的原子片段。每个片段都不依赖以前的片段中采取的行动。而延续式环境中,当前决策会影响所有未来的决策。
  • 静态的与动态的:顾名思义了,但有种情况是环境不会变,而Agent的性能评价随时间变换,那这样的环境就是 半动态的
  • 离散的与连续的:环境的状态、时间的处理方式以及Agent的感知信息和行动,都有离散/连续之分。
  • 已知的与未知的:这种其实应该指Agent的知识状态,在已知环境中,所有的行为后果是给定的,如果是未知的则Agent需要学习如何工作以便更好决策。

人们会意识到,最难处理的情况就是部分可观察的、多Agent的、随机的、延续的、动态的、连续的和未知的环境。

4. Agent的结构

现在来讨论Agent内部是如何工作的。AI的任务是设计 「Agent程序」,它实现的是把感知信息映射到行动的Agent函数。而Agent函数要在 「体系结构」——某个具备物理传感器和执行器的计算装置 上运行,体系结构为程序提供感知信号,运行程序,并把计算结果送达执行器。


下面,我们概述4种基本的Agent程序,它们几乎涵盖了全部智能系统的基础原则:

  • 简单反射Agent
    简单反射Agent是最简单的Agent种类,这种Agent基于当前的感知选择行动,不关注感知历史。简单反射行为也可以用在复杂的环境中,比如自动驾驶的“红灯停,绿灯行”,这种是条件触发的建立好的行为的联接,我们称之为 「条件-行为规则」。简单反射Agent具有极好的简洁性,但智能有限。

  • 基于模型的反射Agent
    世界如何独立于Agent而发展?Agent自身的行为如何影响世界的信息?这种关于“世界如何运作”的知识,无论通过什么方式实现,我们都称之为世界模型。使用了这种模型的Agent就是「基于模型的Agent」。这种Agent会利用世界模型来更新内部状态的信息,这有助于处理部分可观测环境,比如自动驾驶的车辆变道,就需要跟踪记录世界模型中其他车辆的位置。

  • 基于目标的Agent
    只知道当前环境状态对决策而言并不够,Agent还需要目标信息来描述想要达到的状况,基于目标的行动选择需要 「搜索」「规划」。基于目标的Agent很灵活,因为支持它决策的知识被显示表示出来,并且可以修改。也就是说,可以只修改个别相关行为,就可以达成新的目标;如果是反射Agent就要重写很多条件-行动规则。

  • 基于效用的Agent
    要生成高品质的行为,我们还需要根据 「效用」,目标只能提供哪些行动是有效的、哪些是无效的;而效用则能衡量有效的行为中哪些更有效。「效用函数」 是性能度量的内在化,基于效用的Agent可以在选择的多个目标之间进行适当的折中,也可以在目标都无法完成时,根据成功率进行概率加权选出最有可能成功的目标去行动。


到目前为止,我们还没说明这些Agent程序是如何形成的,它们是由机器自己学习来的。我们将简要介绍学习Agent(这不是动宾短语,而是一个名词)的主要思想。
学习Agent可以被划分为4个概念上的组件:评判元件、学习元件、性能元件以及问题产生器
感知信息本身无法告诉Agent做得好还是差,所以需要评判元件根据固定的性能标准产生反馈,评价Agent做得如何并确定应该如何修改性能元件以做得更好。学习元件负责改进提高,而性能元件负责选择外部行动,学习元件的设计很大程度上依赖于性能元件的设计。学习Agent的最后一个组件是问题产生器,它负责行动建议,哪些行动?可以得到新的、有信息的经验的行动,它的任务就是建议探索性行动。
总之,智能Agent的学习可以被总结为改进Agent的每个组件,使得各组件与能得到的反馈信息更加和谐,从而改进Agent的总体性能。


这些组件到底是如何工作的?这里只展示一些基础内容(太多辣),讲讲在不同环境下,表示Agent组件的不同方法——原子、要素结构

  • 原子表示中,世界的每个状态是不可见的,它没有内部结构。
  • 要素化表示中,世界状态表示为变量或特征的集合,每个变量或特征都可能有值。
  • 结构化表示,在要素化表示的基础上,还描述了事物间的相互关联,就像数据结构中的图一样。

标签:性能,环境,Agent,智能,行动,理性,感知,第二章
From: https://www.cnblogs.com/OwlCat/p/17797615.html

相关文章

  • 音乐智能体登场!我和杰伦的距离或许只差一个 MusicAgent!
    作者|付奶茶、ZenMoore利用AI完成音乐处理是一个多样化的领域,涵盖了数十种任务,从生成(例如音色合成)到音乐理解(例如音乐分类)。对于初学者、业余爱好者来说,很难精通、掌握所有任务来满足对于音乐处理上的需求。受到大型语言模型(LLMs)在任务自动化方面上的启发,北京大学和微软亚洲研究......
  • LeCun墙裂推荐!Meta发布最新AI智能体,贾维斯是你来了吗!
    作者|付奶茶最近Meta的一项工作引来LeCun的推荐!芜湖!贾维斯来了?Meta发布了Habitat3.0,这是一款最高质量的模拟器,其允许在类似家庭等环境中进行人机协作。与此前的AI音箱和机器人相比,我们对AI智能体的想象还是保守了!Habitat3.0引入了具有感知能力、可以与环境互动的AI智能体,这些......
  • 大幅提升大模型的通用智能体能力!清华最新研究,让Llama2直逼GPT-4?
     作者|智商掉了一地、ZenMoore智能体(agent)是一种能够感知环境、做出决策并采取行动的实体。传统的智能体在专业领域表现出色,但在适应性和泛化方面通常表现欠缺。最近,随着ChatGPT的爆火出圈,最初设计用于语言任务的大型语言模型(LLMs)微调后在指令遵循、推理、规划甚至工具利......
  • 【专题】时空人工智能赋能数字孪生城市白皮书报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=34041本次报告合集分为数字孪生综述、技术架构建设、核心技术分享、新型技术成果展示以及重点行业应用五大内容版块。从数字孪生应用建设路径的角度出发,着重提出了“数智视融合,虚实人联动”的观点,并提供数字孪生应用技术的参考。同时,本报告合集还完......
  • 第二章读书笔记
    print("学号:3116")#3运行超市抹零结账行为a=float(input("第一个商品价格:"))b=float(input("第二个商品价格:"))c=float(input("第三个商品价格:"))d=a+b+cprint("总计",int(d))print()#4计算学生成绩的分差和平均分a=input("课程一的分数:")b=input("课程二的分数:&qu......
  • 【智能优化算法】开普勒优化算法KOA附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • [完结8章]ChatGPT 从零到一打造私人智能英语学习助手
    点击下载——《[完结8章]ChatGPT从零到一打造私人智能英语学习助手》 提取码:l6cf 从零到一打造私人智能英语学习助手,完结8章,《从零到一打造私人智能英语学习助手》从介绍模型的原理、发展历史,带领大家从浅入深,递进式的从零到一学习三个实战项目:私人助理,智能英语学习助手,再到最......
  • 人工智能之从零理解人工神经网络
    人工智能之从零理解人工神经网络引人工智能并非是一个新型的词汇,从十九世纪五十年代开始,人们就开始探索为机器赋予类似人的智能能力。限于当时的基础数学理论不够完善,人工智能的发展并不顺利。直到九十年代发展出了基于统计学的数学工具,人工智能才得到飞速的发展。人工智能既是为机......
  • 忆阻器在人工智能领域的潜在应用
    忆阻器在神经元仿真和人工智能领域中的潜力是巨大的,因为它们表现出生物类似的工作方式,能够模拟大脑中的神经元工作,同时具有数字电路的可编程性。这使得它们成为构建更接近生物神经元工作方式的人工神经网络的理想选择。在本文中,我将深入探讨忆阻器在神经元仿真和人工智能中的应用,......
  • 无涯教程-Clojure - agent-error函数
    如果代理失败,则返回在代理的异步操作期间抛出的异常,如果代理没有失败,则返回nil。agent-error-语法(agent-erroragentname)参数   - "agentname"是应该为其设置agent-error函数的代理。返回值 - 如果代理失败,则返回在代理的异步操作过程中引发的异常。如果代......