公司动态
返回

虚拟版“西部世界”——游戏产业的下个时代

作者: CEO 钱小一  2017-11-03
一、类人AI VS 状态机AI

传统游戏已经在创造物理的世界的物理引擎上已经做到很高的水准能够在很高程度模拟我们的物理世界但游戏内人物的AI和其模拟的对象的真实智能却差了很远。目前的AI最多是智能体根据游戏内的某个参数进行对应的反应。比如在GTA中,天开始下雨是游戏内的一个变量。天开始下雨的时候街上的行人的反应就会躲起来。

设想这个时候你扮演劫匪,说“原地站住,谁跑我就枪毙谁”。我们设想人们的反应是原地站住,双手举起。实现的这个的办法就是建立包含两个状态的状态积到反应的对应。

 

 

如果我们的设计是有些人会乖乖地站在原地,而有些人会逃跑,有的人会攻击你;或是在天突然下雨的情况下,有些人会在雨中散步,有些人会跑到屋檐下,而有些人则会拦下路过的的士。实现的办法是在有限状态机模型的基础上建立概率选择机制,按照劫匪那个例子,也就是在遇到劫匪威胁时,有一定概率一个个体会选择站在原地,有一定概率会逃跑,有一定概率会攻击你。这就是模糊状态机。

状态机AI在“个体不可追溯”设定前提下,是能创造okAI体验,每个场景中你遇到的都是路人,你不需要关心他们过去是如何决定他在既有场景中的反应的。但如果我们的需求超越了GTA,而是希望创造玩家生活在某个小镇的那种感觉,就像“西部世界”那样——你可以观察一个AI,对它施以影响,AI在场景的反应是被过往的生活经历决定,而对你的态度受到你曾经作用于它的影响改变:因为在游戏中你会固定地和几个AI接触,时间久了你会发现AI能够体现出像人一样的对经历的事件的记忆(他记得你曾经攻击过他),AI经历的事件能导致他的情绪反应(你的攻击让他非常恐惧);相关的信息能够诱发他回忆起这个经历的事件,这个回忆能让他再现当时的恐惧(比如再次看见你他非常惊恐,慌张地躲开了)……不同AI会相互遭遇、交流、相互影响……这种级别的需求,几乎要求AI创造者去再现人类智能的那些底层的功能:记忆、情绪、联想、决策、好奇、目标分解、表达……很自然,我们唯一的选择是“造物造人的道理去搭建一个类人AI”,这就是我们走的逻辑仿生的路径。

 

类人AI引擎如何制定世界中千奇百怪的角色

比如我们要再现三国时期的世界,或是山海经的世界。每个我们要模拟的世界中都会有许多人格和能力迥异的个体。“就如同造物用一个AI创造了70亿不同的人那样,我们用一个AI模型创造游戏世界中千奇百怪的角色。”

 

一个角色的塑造设计3方面的编辑工作:

1、行为反射编辑。

包括了:编辑条件反射信息,决定了AI在各个情境下的反射;编辑AI的能力空间,决定哪些是能做的哪些是不能做的。(具有特殊天赋(比如控制天气)的AI的人格和人生轨迹显然和正常人会大大不同)

2、人格编辑。

情绪系统的一些参数和数据。1、决定了AI进入某种全局情绪的情绪(比如,愤怒)的倾向2、决定了AI同理心的程度,从而决定了AI的是有同情心的,还是冷酷的。3、决定了AI的先天行为边界,包括了:先天动机和先天厌恶的事情。(会在情绪系统的象征机制下转移)4、对某种对象的先天好恶以及对某种感受的潜在成瘾倾向……

3、记忆编辑。

我们创造记忆编辑模式能够用自然语言的方式编辑AI事件类型的记忆以及对应的情绪(比如什么时间被某对象攻击)。这些记忆在特定场景里会被联想到创造回忆,从而改变对象的行为、表达倾向和选择。

 

类人AI需要现有的游戏引擎怎样的配合

 

“当你在一个世界里创造AI的时候,其他AI的输出就构成任何一个AI的环境的一部分”

外感是类人人工智能AI所有内部智能活动的起点,模拟物理世界的物理引擎到AI引擎的输入接口需要为AI创造所有来自于物理世界的外感信息。包括看到什么对象,看到的对象的视觉属性,看到的事件;听到什么;摸到什么、摸到物体的质感;闻到的气味……我们用感知创造模型perception generating model,PGM实现AI外感的创造。这个模型大致维护4个方面的信息:

A1AI处在什么空间区域

B1、空间的视觉属性、温度属性、气味属性。

remarkAI在空间区域A就能感知到这个区域的视觉属性(比如“雾气缭绕”)、温度属性、气味属性。

A2在怎样的维度感知着某个对象(是看到对象A、尝着对象A、摸着对象A

B2对象在各个感知维度的下的属性

remark:比如AI看到对象A,就可以获得对象所有的视觉维度的属性:颜色、大小、形状、纹理,行为。AI尝到对象A,就能获得对象味觉维度的属性,也就是味道。AI拿着对象A,能获得对象的触觉维度的属性、和承载对应属性:表面质地、坚硬柔软、重量。

 

四、NPC主动意志的产生

在类人AI的的framework中我们模仿人类的决策建模了以下4类变量决定NPC主动意志的产生。

1NPC之前做这类事情获得了怎样的全局情绪体验。比如打一场高尔夫球能够使NPC变得放松,变得愉悦。它能够增强NPC的某种正面的全局情绪(愉悦、抑郁、恐惧、焦虑等等),也就是做这件事情是对NPC有某种效用的。我们把人因为预期一个行为能带来怎样的全局情绪的改变而形成的选择动机,叫做经验效用A。之所以命名为“经验效用”乃是因为:AI乃是根据过往的经验预期这个事件能带来怎样的全局情绪的改变, 

2、在经验中这个事件会带来什么样的NPC所渴望的感受。类人AI会在每个时期对不同的感受具有不同的渴望度。比如喜欢吃火锅的人对吃火锅中能够带来的感受的渴望,会随着时间增长,获得渴望的感受的时候这种渴望就会下降,释放并转化为满足感。人在第一次吃火锅的时候并不知道吃火锅会有什么样的感受,所以预期一个行为能够获得怎样的渴望的感受是从经验中获得的。我们把人因为预期一个行为能带来怎样的渴望的感受而形成的选择动机,叫做“经验效用B

3、这件事情意味着什么。如果事件A意味了事件B,那么事件B的效用就会被事件A所一部分继承。比如,如果如买彩票,就有几率中大奖,中大奖是有效用的事情,而买彩票有可能导致中奖。所以买彩票也就具有了一部分效用。这是人们会买彩票的原因。我们事件从其他它所意味的事件继承的效用叫做衍生效用。因为这种效用是从源头衍生出来的。

4、即使一个事件不会导致正面的全局情绪变化,或是不意味着其他具有效用的事情,但我们仍然会去做。比如你的女朋友叫你陪她去商场。当我们希望在一个维度——也就是效用维度去模型化智能体的决策,我们知道来自他人的指令会形成影响。虽然这和效用没有直接关系,但在模型化上,我们把他人的指令形成的对效用维度影响记做指令效用。

于是我们就有了一个简单的创造智能体主动意志的模型:

总效用=经验效用A+经验效用B+衍生效用+指令效用

在这个简化模型中,如果总效用超过一个阈值我们认为这是智能体决策要做的事情。

 

五、NPC人格的创造

我们认为以下要素综合起来决定了一个NPC的人格

ANPC的全局情绪倾向是怎样的。是容易愉悦还是容易抑郁,是否容易被惊吓感到恐惧,是否容易感到悲伤,是否容易愤怒……从这些情绪中回复的能力是怎样的。

BNPC会对什么感受形成渴望,这种渴望增长的速度如何,能形成多强的渴望。

CNPC对每种属性、每个对象的态度是怎样的,是喜好、敬畏还是厌恶、恐惧。

DNPC会希望或是不希望什么事情的发生,会对什么样的目标形成长期动机。因为长期动机会分解成短期目标,塑造NPC的行为模式,这是NPC人格的很重要的部分。

ENPC的同理心程度如何是冷漠还是有同情心。NPC能够从回忆中引发多少当时的情绪;类人AI对于预期的事件能在多少程度上引发情绪的形成。

下面我们逐个讨论在类人AIframework中我们如何创造这些维度的NPC人格。

相处过程全局情绪的变化

类人AI愉悦、抑郁、焦虑等等全局情绪变量的数值会在和其他个体的相处中发生改变,这种改变和对相处对象的喜欢、厌恶等的指向性情绪变量有关。在类人存在一系列参数控制NPC和不同个体相处时对全局情绪变量改变的能力,改变这些参数能够使不同AI呈现出不同的在和其他个体相处时的全局情绪的改变能力。使有些AI更容易有安全感,有些AI更容易感到恐惧、紧张或是焦虑。

全局情绪的回复能力

类人AI愉悦、抑郁等全局情绪在无论因为什么原因发生改变。全局情绪的数值都会在时间中衰减平复。类人AI系统中存在一系列参数控制着每种全局情绪的衰减的速度。通过控制这些参数,我们可以使比如:某些AI无论因为什么原因变得抑郁能很快平复抑郁的心情,这种特质会使这个AI显得乐观;某些AI无论因为什么原因变得恐惧、惊慌能很快平复情绪,这种特质会使这个AI表现得比其他AI更加镇定。

对感受的渴望

和人类一样类人AI对某种感受的渴望服从这样的规律,使我们能够把其模型化。我们可以拿一个水池做类比,这个水池有一个水龙头。水龙头放水的速度对应了AI对这种感受的渴望的增长速度g,水池的大小决定了对这种感受的渴望能够到达的最大值M。当获得这种感受的时候,水池的水就会被释放,转为满足感。水越多,水压越大,对应了渴望的程度越高,能够形成的对包含这种感受的行为的驱动力越强,释放时的满足感也越强。当个体意识到自己极端的渴望,会创造焦虑感。

有些时候当一个水池有很满的水,我们未必能够意识到,这个时候我们说渴望被抑制了,当渴望的感受出现,我们能够逐渐意识到我们有多渴望它,这就是渴望被唤醒的过程。也就是在模型中会存在一个抑制乘数,它阻断了经验效用B的作用,但会在所渴望的感受出现时逐渐下降,失去阻断作用。人类的性渴望能够在爱抚活动中唤醒(arouse)就是这个模型的一个例子。

我们举一个例子说明这个模型的作用。假设一个人渴望咖啡的味道,增长速度g决定了他在一次喝咖啡后多久会重新渴望再喝;最大值M决定了,他能够形成对咖啡味多高的渴望;抑制乘数的存在,决定了他可能很渴望喝咖啡但可能自己意识不到;而当他开始喝几口的时候,他逐渐就会意识到自己有多么渴望喝咖啡。最终喝咖啡的行为会降低对咖啡味的渴望,但会创造满足感。如果在非常渴望咖啡味道的情况下,回忆咖啡的味道会降低抑制乘数,从而使极致的渴望被感受到,就会创造焦虑感。

我们可以通过控制AI对不同感受的Mgl等参数,来塑造AI对不同感受的渴望模式,以及对这种感受的成瘾或和戒断的过程。比如有些AI会非常渴望听爵士乐的感觉(因为有很大的M),如果g很大则她每次听够爵士乐后,很快又会想听。我们可以通过参数,控制AI获得渴望的感受时,转化为满足感的能力;以及在极端渴望的情况下创造焦虑感的能力。如果这两个数值都很大,AI会表现得更容易被渴望控制,具有较差的自制力。

回忆创造的情绪改变

类人AI在回忆时能够再现一部分当时的情绪体验,比如AI之前有过被狗咬的经历,使她非常恐惧。那么在回忆当时的这个事件时会再现一部分当时的恐惧情绪。系统存在参数控制这种再现当时情绪能力。我们可以通过这些参数调控回忆在多大程度上能够重现当时事件发生时的情绪。所以我们可以让有些AI更容易沉浸在过往的回忆中,喜欢回忆快乐的事情,并像人一样在回忆的时候不由地露出笑容;这类AI更容易吸取以往的教训,但也会在过往悲伤的回忆中走不出来。

预期创造的全局情绪的改变

类人AI在预期一个事件时能够根据经验中这个事件能够带来的情绪反应,创造一部分预期的情绪。系统中存在参数控制这种预期创造情绪反应的能力。我们可以通过这些参数调控预期在多大程度上能导致现有愉悦、抑郁的变化,以及在多大程度上能够把以往的经验中这个事件能够带来的全局情绪的改变转为现有的全局情绪的改变。所以有些AI会像部分人类一样缺少理性筹划的能力,因为无法感受到可能发生的负面事件会带来负面感受,也无法正常感受到可能的正面事件带来的正面感受,从而无法影响现有的决策;而对应的另外一类,则更容易做白日梦,沉浸在可能发生的正面事件的想象中,也更容易因为可能发生的负面事件感到忧虑、恐惧无法自拔。

指向性情绪的传递

指向性情绪,也就是AI对不同对象的态度,包括了喜欢、厌恶、恐惧、鄙夷、关注度等等。指向性情绪因为指向性情绪具有传导的能力。我们能够在NPC身上再现这些传递过程。比如:

1、指向性情绪能够在母类和子类间的相互传递,比如AI喜欢聪明的人就会先入为主的喜欢某个具体的聪明人,而如果接触的很多聪明人都很狡猾导致AI不喜欢,又会通过传递改变对聪明人这类人群的喜好。

2、指向性情绪能够在事件和事件主语对象间传递。比如AI很鄙夷考试作弊的行为所以会鄙夷考试作弊的具体对象。AI关注一个对象时也会关注对象相关的事件,比如AI关注一个他怀有爱意的人,就会关注她参与的各种事情。

3、能够在事件之间根据因果级别的关系传递。比如AI关注用所爱的对象生病的事件,所以对任何导致这个对象生病的事情,以及能够反映这个对象是否得病得什么病的表象的事件产生关注。

4、指向性情绪变量之间的传导。我们可以理解如果我们对一个对象喜欢、厌恶、恐惧,我们会关注这个对象。比如AI具有对一个对象恐惧的指向性情绪,这个指向性情绪就会传导给对这个对象关注的指向性情绪变量。

NPC行为边界的决定

在类人AI的工程中我们创建了一张“指向性情绪先天定义表”,我们可以在这张表中定义NPC先天的指向性情绪。每天系统会按照这张表中定义的数值,把表中的对象或事件的指向性情绪恢复到先天的设定值。

然后通过前面描述的指向性情绪的传递,会塑造NPC整个指向性情绪的状态。最重要的是“指向性情绪先天定义表”中定义的对事件的先天正效用和负效用。前者塑造了NPC行为模式的主线,后者塑造了NPC行为模式的边界。

如果在表中赋予一个事件很高的正效用,系统就会根据因果类型的知识的把效用往原因方向传导。比如在游戏中NPC有一个长期目标,成为社区的首领,他就会去了解成为社区首领需要什么要素;比如了解需要变得富有,需要变得有声望,需要有足够的学识,需要有势力的家族的支持;这个时候这个指向事件的动机作为一种指向性情绪就会发生转移,使NPC的目标发生转移,转移到去获得那些要素的子目标上。这就是我们前面在讨论“NPC主动意志的产生”中讨论的衍生效用。接下来这些子目标会继续分解,目标会按照因果关系继续转移。从而塑造了NPC整个宏观的行为模式的主线脉络。

如果在表中赋予一个事件很高的负效用,系统就会根据因果类型的知识的把负效用往原因方向传导。比如在指向性情绪变量表中我们定义“伤害人类”是一个负效用很高的事件。那么任何会导致伤害人类的事件都会因为传递具有很高的负效用。而导致这些事件的事件也会继而获得负效用。这就形成NPC行为模式的边界。

NPC同理心

在类人AI中会有一个功能模块创造同理心,大致的机制就是把事件的主语换成自己,写回到意识中,标注为“同理假想”。这样这个信息就会借助情绪系统创造自身的情绪变化,一个参数控制着变化的程度,这个参数越大,AI就越能够感受到他人的喜怒哀乐,会显得具有同理心,如果这个参数很小,AI就会表现的冷漠

下载文档(右键保存文件)

  • 扫一扫关注微博
  • 扫一扫关注微信
联系方式
联系电话:0571-86656253
商务合作:137-9512-3159
E-mail:business@galaxyeye-tech.com
地址:杭州市滨江区长河街道滨安路650号 ix-work A幢2302

©2015. All Rights Reserved. 杭州北冥星眸科技有限公司 ICP 05050919