智能Agent及多Agent在虚拟现实系统中的应用研究进展浙江大学.docx
- 文档编号:28300435
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:28
- 大小:1.17MB
智能Agent及多Agent在虚拟现实系统中的应用研究进展浙江大学.docx
《智能Agent及多Agent在虚拟现实系统中的应用研究进展浙江大学.docx》由会员分享,可在线阅读,更多相关《智能Agent及多Agent在虚拟现实系统中的应用研究进展浙江大学.docx(28页珍藏版)》请在冰豆网上搜索。
智能Agent及多Agent在虚拟现实系统中的应用研究进展浙江大学
智能Agent及多Agent在虚拟环境中的应用研究进展
——《人工智能》读书报告
董子龙10421038
浙江大学CAD&CG实验室
摘要:
Agent在虚拟环境中的应用研究主要是单一的对话表情功能,虚拟生物的交互运动和社会系统的内部结构。
本文概括性地介绍智能Agent及多Agent在虚拟环境中的应用现状,根据系统的规模,由易到繁地说明当前研究的体系框架和实现。
关键字:
智能Agent,多Agent,虚拟环境,体系框架
一引言Introduction
随着计算机硬件的不断升级,用户对系统环境的要求越高。
在系统环境上,用户希望在一个与现实世界相仿甚至难辨真假的平台上工作;在交互控制上,用户希望系统提供更强大更全面的辅助,适应用户的操作。
前者促进了虚拟环境技术的不断分化深入;后者常常引入人工智能领域的重要概念——Agent,在面向过程,面向实体,面向对象编程的基础上发展出更抽象的面向Agent编程[5]。
利用Agent技术建构的智能化实体,广泛应用在探测、材料、医疗、教育、游戏等领域,帮助或代替人类完成工作[7]。
1.1一些工作SomeWorks
虚拟环境涵义很宽,对现实世界中物理的方法、行为、地理和抽象的思维、情绪、感情的模拟都属于虚拟现实的范畴,所以Agent与之的结合点很多,在实际应用给开发人员很好的实现灵感。
Helmut设计一个卡通形象的动画(Animated)Agent[2],具有让人信服的表情和社交能力,用于日本学生的英语对话训练。
他们使用XML风格的MPML脚本语言(Multi-modalpresentationMarkupLanguage)控制不参与交互的Agent角色的行为语言。
Baldi[3]由俄勒冈州研究院、卡内基梅隆大学等联合开发的语言教学系统,是一个具有听觉和可视化演讲能力的Agent,结合了语音识别,面部动画,表情跟踪和语音朗读四个方向的技术。
Marche和Anton的Jacob[4]项目在虚拟现实系统中构建一个叫做Jacob的拟人(Human-like)Agent,传达给用户操作指示。
Jacob项目涉及虚拟现实模型的软件工程、自然语言等交互模块和融合Agent技术,由于任务模块和指令模块的分离,JacobAgent可以容易地移植到其它虚拟环境中。
Ipke和Yong在VIENA[6]项目中(VirtualEnvironmentsandAgents)使用适应性Agent帮助用户设计和探索3D图形,这是一个多Agent系统,Agent之间根据当前状态互相协作实现用户的指令;而对于用户来说,只是面对一个能理解和执行语言指令的Agency。
Agent的研究还包括控制脚本[8][9][10][18]和实际应用的性能分析[11][12][13]。
1.2本文框架LayoutofThisArticle
本文从三个层次总结智能Agent和多Agent系统在虚拟环境中的应用。
第3章介绍会话(Conversational)Agent,第4章介绍行为(Behavioral)Agent,第四章关于多Agent。
为了帮助读者形成完整的概念,第2章会对智能Agent做出探索性定义。
二关于AgentConceptsofAgent
智能Agent的定义很不统一,在不同应用,从不同的角度,研究人员总是在自己的理解基础上给出说明。
Stan和Art考察大量Agent的概念,得出模糊却内涵丰富的结论[14]:
自主(Autonomous)Agent系统是环境的一部分,只在特定的(Situated)环境中感知环境并作用于环境,从而实现自身的日程,影响将来的感知。
自主Agent和智能Agent应该是等价的。
智能Agent总是与之对应的环境紧密结合,离开了所处的环境,Agent就失去其存在的意义,再也不是Agent。
她通过感应器(Sensor)感知环境,利用效应器(Effector)作用于环境。
她具有自己的信念,即有目的,有意图地行为,使环境将来的状态符合日程。
智能Agent可以是硬件,如机器人,人眼等,自然更是软件(Softbot)。
本文主要讨论软件(Software)Agent的设计框架和实现。
对智能Agent概念的详细解释可以从Winikoff[32]等提出的SAC(SimplifiedAgentConcepts)——“一个简化的模型,能让更多人开发智能Agent系统,但是保存BDI的能力和效率”——中获得。
2.1描述性定义DescriptiveDefinition
描述性定义指出只要一个基于硬件或软件的系统具有某些描述性特性,就可以被称为Agent。
可分为弱定义和强定义[15]。
弱定义包括自主性(Autonomy),社会性(Socialability),反应性(Reactivity)等人类特有的性质。
强定义在弱定义的基础上加入知识(Knowledge)、信念(Belief)、意图(Intention)、责任(Obligation)等精神概念,有研究者称之情感(Emotional)Agent[17]。
其它很多词汇也常被研究者用来描述Agent,如移动性(Mobility),诚实(Veracity),善良(Benevolence),理性(Rationality),长寿性(Longevity),前瞻性(Pro-active,Goal-directed)等。
2.2形式化定义FormalDefinition
本文的形式化定义只是以理想理性(IdealRational)Agent[16]为例,抛砖引玉,帮助读者对不同类型的Agent形成自己的形式化方法。
理想理性Agent:
对每一个可能的感知序列(Perceptsequence),她都能基于感知序列和内建的知识提供的证据采取行为,期望性能最优化。
Agent由PAGE描述:
感知(Percept),行为(Action),目标(Goal),环境(Environment)。
Agent等于体系构架(Architecture)和程序(Program)。
Stuart和Peter提出最基本的骨架Agent程序:
functionSKELETON-AGENT(percept)returnsaction
static:
memory,theagent’smemoryoftheworld
memory←UPDATE-MEMORY(memory,percept)
action←CHOOSE-BEST-ACTION(memory)
memory←UPDATE-MEMORY(memory,action)
returnaction
而根据程序设计的立足点不同,由简到繁区分成:
表格驱动(Table-driven)Agent,简单反射(Simplereflex)Agent,跟踪内部状态的反射Agent(Reflexagentwithinternalstate),基于目标的(Goal-based)Agent,基于效能的(Utility-based)Agent。
三会话AgentConversationalAgent
会话Agent主要在教育培训程序中扮演导师和同学的角色,随时随地供给交流学习的伙伴,增强娱乐性和参与性,极大提高教学效率,也可以在场馆中推广产品,或说明旅游项目。
MicrosoftOffice系列软件的帮助精灵是我们最熟悉的会话Agent。
会话Agent具有一般的语言能力,也有一定的声音识别能力,甚至有感情;在虚拟环境中,她常常通过图形具体化(Embodied)。
本章将介绍Baldi和Max两个系统,说明如何让Agent表示出表情和嘴形,或手势,进一步加入情感。
关于会话Agent的更多研究请参考[22][23][24][25]。
3.1表情和嘴形FacialExpressionandLips
与一个表情丰富、语言流畅的伙伴交流,无疑是长期在计算机前学习生活的
人很吸引的事。
图3-1所示的Baldi[3][19]曾在上文引述过,是一个由计算机驱动的聊天人头,暂时用于聋哑儿童的课堂语言教学。
她的存在和功能完全依赖于计算机动画控制,和文本—语言合成。
图3-1
她的语言有33个参数:
颌旋转和挤压,嘴的水平宽度,嘴唇弯曲和突出控制,下嘴唇褶皱,嘴唇垂直位置,牙齿的位移,舌头的角度、宽度和长度。
为了能在低端设备上实时绘制,研究者采用目标相似合成(TerminalAnalogueSynthesis)技术,仅令最终结果看起来很像,并没有完全模仿生理结构。
大约900个多边形边边相连组成Baldi的眼睛、瞳孔、虹膜、巩膜、眉毛、鼻子、皮肤、嘴唇、舌头、牙齿、脖子。
多边形的拓扑结构和动画由一个参数集控制。
Baldi的研发进展主要在控制参数的增加和修改,舌头的两代实现方式,视觉语言合成控制,文本—语言合成,双模(视觉/听觉)合成,和并行信息处理。
最终大概有20000行C代码,可在SGI和PC上实时运行,图3-2是一些结果。
图3-2Baldi的表情:
高兴、生气、吃惊、恐惧、伤心、恶心
3.2手势Gesture
手势是人们自发的无意识的语言表达,是很重要的沟通手段,对多模式(Multi-Modal)会话Agent的具体化最终都需要一套肢体语言的支持,可从真人捕捉,或手动预定义。
拟人AgentMax[20]是在3D虚拟环境中的装配专家,通过上肢活动和口述的相互协同向用户展示装配过程,图3-3。
图3-3与Max多模交互
Max的多模(Multi-Modal)发言直接由一种基于XML的语言描述,包括语言词句和非语言行为。
语句被时间点(TimePoint)分隔,特定的手势动作被定义在相应的时间间隔中。
手势由发出阶段(StrokePhrase)的时空特性决定,由子动作组成。
子动作被定义成:
(1)拳头的位置,
(2)手的形状,(3)拳头的朝向;每一项性质用数值或符号表示。
子动作是静态或动态,静态代表一定时间内不变,动态子动作又由连续的动作片断(Segment)组成。
手势的特点,如并发(Simultaneity),滞后(Posteriority),重复(Repetition)和对称(Symmetry),既可以显示说明,也可以用行为通信函数表达。
图3-4是XML说明片断,图3-5是其结果。
图3-4
图3-5
基于特点的手势动画要求运动规划和上肢控制。
在高级(Higher-Level)规划时,手势发出(Stroke)阶段的约束条件被充分限定,按时序传给独立的运动控制模块(MotionControlModule),手、拳头、手臂、脖子和脸都有不同的模块。
低级(Lower-Level)规划采用局部运动程序(LocalMotionProgram),几个LMP组成的运动程序根据动力学原理控制上肢的移动。
LMP定义在外部坐标系或关节连接角上,根据当前运动状态自动激活,并按照给定的边界条件互相连接,如图3-5。
图3-5
在介绍口语和手势同步协作之前,先说明块(Chunk)的意义。
手势被分成准备(Preparation)、保持(Hold)、发出(Stroke)、收回(Reaction)四个阶段,语言也组织成音调阶段(IntonationalPhrase)。
块就是一个音调阶段加上一个手势阶段,复杂的发言和手势由多个快组成。
在Max的同步结构中,块各自在独立的黑板上交叉执行。
在InPrep状态,口语合成和手势规划模块共同决定完成规划(Planning)过程;规划完成后,块进入Pending状态,如果上一块在Subsiding状态,调度器将切换到处在Lurking状态的块,接着进入InExec状态,最后,如果还有LMP活动,到Subsiding状态,否者Done,图3-6。
图3-6
3.3情感Emotion
情感为人类特有,在Agent的应用中,如何给Agent赋予一定的感情(Emotion)、情绪(Mood)和个性(Personality)一直是研究者们最感兴趣的问题。
情感Agent更有生命,更让人信服,Max[21]在这个方向上又前进了一步。
为了表现情感,需要:
(1)评估内外事件对动态情感(EmotionDynamics)的影响;
(2)模拟Agent的感情和情绪,及其相互作用;
(3)确信将Agent的情感表达出来。
第一个方面可以:
在非认知(Non-Cognitive)层,感应器从虚拟现实系统直接反馈;或在认知层,BDI理解器的意愿推理得到。
下面详细说明另外两个方面。
3.3.1情感系统的内部结构InternalStructureofEmotionSystem
首先,区分感情(Emotion)和情绪(Mood)两个概念。
感情由激励引起,持续时间短,情绪则比较均匀的分布在时间维度上,时间比较长;感情能加强或减弱情绪,而情绪可看作比较弱而且较长久的感情。
Max的感情和情绪分布在二维空间上(图3-7),感情价(Valence)对应X轴,情绪价对应Y轴。
原点被认为是稳定点,所以类比弹簧,感情价和情绪价分别对应一个弹性系数dx、dy,由此产生的力Fx、Fy使它们在一定时间后恢复到原点。
图3-7
在公式1中,将感情当作情绪的变化梯度,可以表达感情对情绪的增强和减弱作用。
较小的α导致懒性,较大的α使Agent更加情绪化。
公式3-1
作为对动态情绪的补充,厌烦(Boredom)被添加到系统中。
如果Agent的情感处在原点的一个椭圆区域(图3-8)内,在没有刺激的情况下,厌烦程度线形增长;一旦出了这个区域,厌烦程度重设为0。
厌烦线形增长公式是:
Z(t+1)=Z(t)–b,Z定义在[-1,0],即-1时,Agent最感厌烦。
图3-8
以上的模型有效的概括了人类的情感,然而体现在交流中,情感有三个维度内涵:
愉快(Please)、激活(Arousal)、支配(Dominance)。
感情、情绪、厌烦最终被映射到PAD空间,并归类。
公式3-2规定映射方式,定义域由公式3-3确定。
xt、yt、zt分别代表感情价、情绪价、厌烦程度,t是时间。
公式3-2
公式3-3
p(xt,yt)是愉快度。
愉快全面代表价信息,当感情价和情绪价都是最大值时,Agent最愉快,反之则最勉强。
A(xt,zt)是激活度。
激活度总是处在困倦,及心理敏感度和生理兴奋度最大值之间。
总是取负值的厌烦程度起降低激活度的作用。
d(t)是支配度。
支配的存在是为了区分影响外界状况和事件的感觉,如厌烦和生气,或被外界环境控制的感觉,如恐惧和悲伤。
根据以上的计算结果,将情感归入相应的类,如图3-9。
一个形容词代表一种PAD类别,人工设定相应的PDA值。
图3-9
每一类对应一个激活阈值Φ和一个饱和阈值Δ,如图3-10。
当点在且仅在一个类的Φ内,类被激活,激活程度由公式3-4计算。
当点在且仅在一个类的Δ,类完全激活,W=1。
如果以上条件都不满足,Agent进入特殊的混乱(Confused)状态。
图3-10
公式3-4
3.3.2集成和应用IntegrationandApplication
最终,将情感系统集成到现有的Max中,设定相应的输入输出,图3-11。
Max的认知构架通过两种途径提供给情感系统情感价信息:
(1)Interpretation和DialogManager,审察过程;
(2)Perception,对正面或负面刺激的直接反应。
而情感系统反馈给认知构架三方面数据:
(1)情绪价和厌烦程度;
(2)PAD三元组;
(3)被激活的情感类型及其强度,或者混乱(Confused)。
前两项数据用于BehaviorGeneration,第三项用于DialogManager。
图3-12
图3-13是Max生气并走出画面的例子。
图3-13
3.4小结
会话Agent对实时性的要求比较高,在交互、展示、教育上有广范的应用,但是由于硬件的限制,Agent的外形一般计较粗糙。
另一方面,会话Agent的语言、行为、情感都是由开发者根据实际环境预先设定,缺少自学习的能力,不能一般地在各种情况中切换。
还有,语言识别模块是会话Agent比较薄弱的一块,这个模块如果不能很好的适应环境,会使Agent答非所问,完全背离设计的目的。
所以,将来会话Agent的发展应该至少有三个方向:
(1)更逼真的视觉效果,包括精细的肌肉变化、眼神的变化、毛发的飘动等,也许可以用骨架来控制肌肉变化;
(2)学习能力的增强,对新语句的融会和理解,这需要语言学和人工智能其它领域的支持;
(3)语言识别模块更强大,声音的采集处理,能够应付各种各样的意外因素。
四行为AgentBehavioralAgent
行为Agent与会话Agent有所不同。
行为Agent研究的是Agent在虚拟环境中根据环境的状态,调整行为,规划运动,完成目的,主要用于控制动物在虚拟环境中的运动。
徐晓媛[26]和James[27]分别就动物和人的运动模拟所做的博士工作,深入细致的探索了理论模型和实践方法。
[28]提出垂直的多级抽象层次结构AHA(Asynchronous,HierarchicalAgents),模拟人类多层次的迭代思考过程。
[29]将增强学习法(ReinforcementLearning)用于自发虚拟Agent(AutonomousVirtualAgent)的运动控制,采用Q-Learning和TD-Learning两种算法。
[30]的离散调度机制决定运动随时间的变化,而由一个多通道构架完成动作的执行和渲染。
MITMediaLabC4[31]的理念基于大脑被分成很多系统,并在一块黑板上交流。
主要模块有:
感应系统和感知系统,动作系统,导航和运动系统,短期记忆和心理黑板(MentalBlackboard)。
C4的工作集中在训练一只家庭宠物上,4.1详细介绍。
4.2介绍Wen[32]等提出的将Agent的行为可视化的方法,。
4.1C4
C4描述了一种新的多层次脑体系,模拟生活在图形世界中的自主半自主生物。
设计目标有:
反映行为,学习能力,扩展性。
因此,C4是高度模块化的系统,除了必需的子系统外,很方便扩充。
图4-1是C4训练的一只“牧羊狗”。
图4-1
C4与世界之间的相互作用通过数据记录(DataRecord)的形式传输,数据记录可以表示C4的感应器和感知系统所能识别的任何信息,包括声音、视觉、符号等。
图4-2是C4脑的体系框图,每一个部分都可以通过端口对黑板进行读写访问。
图4-2
4.1.1感应系统SensorSystem
为了保持世界——Agent分离的完整性,C4采用抽象感应系统(SensorSystemAbstraction)。
感应系统有两个作用:
(1)过滤器,比如牧羊狗不应该看到她后面的羊;
(2)转换器,因为同一条信息在不同的Agent眼里意义并不相同。
4.1.2感知系统PerceptionSystem
感知系统将“意义(Meaning)”赋予感应到的事件。
感知子(Percept)是感知系统的原子类型,又是一种数据提取单元。
感知子的输入是从感应系统传过来的数据记录,返回匹配概率(SheepShapePercept返回看到的是一头羊的概率),如果概率大于阈值,同时返回提取的数据(SheepShapePercept羊的位置坐标)。
C4没有对感知子的实现方式做任何假设,因此开发者可以根据需求选择算法,这是模块化增强可扩展性的直接体现。
为了提高感知效率,感知子以树形结构(图4-3)组织,每一次判断都裁减掉大量不可能的感知判断,降低复杂度;而且子感知子只接受父感知子提取的数据;减少数据量。
如果一个声音信号直接传递给Sound感知子,而不再考虑Shape等感知子。
每当数据记录到达,感知系统就会创建一个感知存储(PerceptMemory)对象,此后每一个感知子返回的可信度和提取的数据都保存在感知存储中。
感知存储代表Agent对刺激理解的所有内容。
图4-3
感知子不仅仅作为接受场(ReceptiveField),而且会根据反应系统(ActionSystem)的反馈,修改树的拓扑结构,动态添加子节点——称之为革新(Innovation)。
4.1.3工作存储WorkingMemory
C4包含一个WorkingMemory结构,储藏驻存的PerceptMemory对象,保存对世界中的物体的感知历史。
她们构成生物对世界的“视图(View)”。
4.1.4预测和惊奇PredicationandSurprise
基于PerceptMemory对象,生物可以模仿下意识,对现在或将来的状态作出预测。
预测一般对感知存储的数据进行外推函数逼近,更复杂地考虑周期性为和知行关系。
预测偶尔出现的偏差,可以作为惊奇的基础。
4.1.5动作系统ActionSystem
动作是一个五元组ActionTuple:
(1)PrimitiveAction(s):
做什么;
(2)TriggerContext:
什么时候做;
(3)ObjectContext:
对谁做;
(4)DoUntilContext:
做多久;
(5)IntrinsicValue:
做的好处。
C4有AttentionGroup和PrimaryActionGroup两个动作组(ActionGroups),每个动作组有两条ActionTuple链表:
Startle、Default。
Startle具有较高的优先级,具有最高优先级的ActionTuple被激活;Default根据e-values随机的激活动作。
学习是C4的研究重点,类似人类训练狗的方法,有三种学习方式:
CreditAssignment,State-spaceDiscovery,Innovation。
4.1.6导航系统NavigationSystem
导航系统是对动作系统的高级实现,她隐藏动作的实现细节,使动作简化成“前进、吃、离开”等一般的指令。
导航系统从动作系统接受指令,将之分解优化成恰当的运动命令,再传送给运动系统。
4.1.7运动系统MotorSystem
运动系统组织成动词图(VerbGraph),定义了最基本的运动和运动序列。
运动节点是手工设置的,每个节点可以由副词空间(AdverbSpace)描述,如向左、笔直、向右地行走。
参数从黑板的MOTOR_DESIRED和MOTOR_ADVERB获得。
分层使生物能同步进行多个运动。
如牧羊狗的头部层、身体层、尾巴层。
图4-4
4.2一种可视化的新方法ANewApproachforVisualizing
Wen的方法主要有三个部分:
视觉合成(SyntheticVision),记忆FzFSM,动画库;图4-4。
4.2.1感觉输入SensorialInput
系统有两个信息通道:
视觉和听觉,主要是视觉。
有别于一般的直接感应,一种视觉合成方法——多层次空间场景,用于表示外部世界。
3D的虚拟环境由多层次空间表示成八叉树(Octree),如果一个节点包围的图元大于某个阈值,就将这个节点再次叉分成八个字结点。
视觉合成用八叉树结合局部Z缓冲算法,判断Agent的可见物体。
同样地,感知层也要对输入进行过滤。
4.2.2FzFSM和记忆FzFSMandMem
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 Agent 虚拟现实 系统 中的 应用 研究进展 浙江大学