CN109843401B - 一种ai对象行为模型优化方法以及装置 - Google Patents
一种ai对象行为模型优化方法以及装置 Download PDFInfo
- Publication number
- CN109843401B CN109843401B CN201780048483.4A CN201780048483A CN109843401B CN 109843401 B CN109843401 B CN 109843401B CN 201780048483 A CN201780048483 A CN 201780048483A CN 109843401 B CN109843401 B CN 109843401B
- Authority
- CN
- China
- Prior art keywords
- game
- real
- value
- environment
- time state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
一种AI对象的行为模型建立方法以及装置,能够根据环境的实时改变做出相应的决策,提高游戏的灵活性。提供如下技术方案:获取AI对象所处的第一环境的第一实时状态信息(S201);提取第一实时状态信息的特征信息(S202);根据特征信息和学习网络的权重值得到AI对象的动作策略(S203);将动作策略反馈给AI对象,以使得AI对象执行动作策略(S204);获取AI对象所处的第二环境的第二实时状态信息,第二环境为AI对象执行动作策略之后生成(S205);根据第二实时状态信息得到动作策略的回报值(S206);若回报值符合预设条件,则确定学习网络的权重值为学习网络的目标权重值(S208);根据目标权重值建立AI对象的行为模型(S209)。
Description
技术领域
本发明实施例涉及人工智能领域,尤其涉及一种人工智能(artificialintelligence,AI)对象行为模型优化方法以及装置。
背景技术
随着科技的发展,人们对于娱乐项目的要求越来越高,游戏行业也进入了高速发展的时代。在游戏场景中,游戏AI是很重要的一环,在复杂的游戏场景中,游戏AI可以加强游戏的娱乐性。
目前的游戏AI的训练方式通常是使用状态机或者是行为树。对于用行为树定模型构造的AI系统来说,每次执行AI时,系统都会从根节点遍历整个树,父节点执行子节点,子节点执行完后将结果返回父节点,然后父节点根据子节点的结果来决定接下来怎么做。在这种模型下,行为树可以方便地把复杂的AI知识条目组织得非常直观。默认的组合节点处理子节点的迭代方式就像是处理一个预设优先策略队列,也非常符合人类的正常思考模式即先最优再次优。同时该行为树的各种节点,包括叶子节点,可复用性都极高。
但是每次执行行为树定模型构造的AI系统时,系统都会从根节点遍历整个树,父节点执行子节点,子节点执行完后将结果返回父节点,然后父节点根据子节点的结果来决定接下来怎么做。这样导致游戏AI的行为有迹可循,行为模式固定。
发明内容
本发明实施例提供了一种AI对象的行为模型优化方法以及装置,使得AI根据环境的实时改变做出相应的决策,提高AI的灵活性。
本发明实施例的第一方面提供一种AI对象的行为模型建立方法,包括:
获取AI对象所处的第一环境的第一实时状态信息;
提取该第一实时状态信息的特征信息;
根据该特征信息和学习网络的权重值得到AI对象的动作策略,该学习网络的权重值为随机设置的权重值;
将该动作策略反馈给该AI对象,以使得该AI对象执行该动作策略;
获取AI对象所处的第二环境的第二实时状态信息,该第二环境为该AI对象执行该动作策略之后的环境;
根据该第二实时状态信息得到该动作策略的回报值;
若该回报值符合预设条件,则确定该学习网络的权重值为该学习网络的目标权重值;
根据该目标权重值建立该AI对象的行为模型。
本发明实施例第二方面提供了一种AI对象的控制方法,包括:
获取AI对象所处的环境的实时状态信息;
提取该实时状态信息的特征信息;
根据该特征信息和学习网络的权重值得到AI对象的动作策略,该学习网络的权重值为预置数值;
将该动作策略反馈给该AI对象,以使得该AI对象执行该动作策略。
第三方面,本发明实施例提供一种AI对象的行为模型建立装置,该装置可以是服务器,该服务器具有实现上述方法中服务器的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
一种可能实现方式中,该AI对象的行为模型建立装置包括:
获取模块,用于获取AI对象所处的第一环境的第一实时状态信息;
处理模块,用于提取该获取模块获取到的该第一实时状态信息的特征信息;根据该特征信息和学习网络的权重值得到游戏AI对象的动作策略;
反馈模块,用于将该处理模块得到的该动作策略反馈给该AI对象,以使得该AI对象执行该动作策略;
该获取模块,用于获取AI对象所处的第二环境的第二实时状态信息,该第二环境为该AI对象执行该动作策略之后的环境;
该处理模块,用于根据该获取模块获取到的该第二实时状态信息得到该动作策略的回报值;若该回报值符合预设条件,则确定该学习网络的权重值为该学习网络的目标权重值;根据该目标权重值建立该AI对象的行为模型。
在第三方面的一种可能实现方式中,所述处理模块,具体用于将所述第一实时状态信息以预设格式传递给预设数目的卷积层;通过池化层和所述预设数目的卷积层提取所述第一实时状态信息得到降维特征值,所述降维特征值为二维数据;将所述降维特征值修改为一维数据作为所述特征信息。
在第三方面的一种可能实现方式中,根据所述第二实时状态信息得到所述动作策略的回报值之后,所述处理模块,还用于若所述回报值不符合所述预设条件,则修改所述学习网络的权重值。
另一种可能实现方式中,该AI对象的行为模型建立装置包括:
一个或多个处理器;和存储器,所述存储器存储程序指令,所述指令当由所述一个或多个处理器执行时,配置所述装置执行本发明的AI对象的行为模型建立方法。
第四方面,本发明实施例提供一种AI对象控制设备,该AI对象控制设备具有实现上述方法中的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
一种可能实现方式中,该AI对象控制设备包括:
获取模块,用于获取AI对象所处的环境的实时状态信息;
处理模块,用于提取该实时状态信息的特征信息;根据该特征信息和学习网络的权重值得到AI对象的动作策略,该学习网络的权重值为预置数值;
反馈模块,用于将该处理模块得到的该动作策略反馈给该AI对象,以使得该AI对象执行该动作策略。
在第四方面的一种可能实现方式中,所述处理模块,还用于将所述实时状态信息以预设格式传递给预设数目的卷积层;通过池化层和所述预设数目的卷积层提取所述实时状态信息得到降维特征值,所述降维特征值为二维数据;将所述降维特征值修改为一维数据作为所述特征信息。
在第四方面的一种可能实现方式中,所述AI对象为游戏AI对象,所述环境为游戏环境,所述处理模块,还用于提取所述游戏环境的有效数据,所述有效数据包括所述游戏AI对象的角色参数、所述游戏AI对象的位置参数、玩家游戏角色的角色参数、所述玩家游戏角色的位置参数、游戏场景参数中的至少一项;
根据所述有效数据绘制二维数据矩阵作为所述实时状态信息,所述二维数据矩阵表示图像。
另一种可能实现方式中,该AI对象控制设备包括:
一个或多个处理器;和
存储器,所述存储器存储程序指令,所述指令当由所述一个或多个处理器执行时,配置所述装置执行本发明的AI对象控制方法。
第五方面,本发明实施例提供一种计算机可读存储介质,包括指令,当该指令在计算装置的处理器上运行时,该装置执行上述各项方法。
第六方面,本发明实施例提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,该计算机执行上述各项方法。
本发明实施例提供的技术方案中,服务器在获取到第一游戏环境的第一实时状态信息之后,该服务器提取该第一实时状态信息的多维度特征信息,然后根据该多维度特征信息和学习网络的权重值得到该游戏AI对象的动作策略;最后服务器将该动作策略反馈给该游戏AI对象,以使得该游戏AI对象执行该动作策略;同时该服务器获取该游戏AI对象执行了该动作策略之后的第二游戏环境的第二实时状态信息,并根据该第二实时状态信息计算该动作策略的回报值,并在该回报值符合预设条件时确定该学习网络的权重值为目标权重值,并根据该目标权重值建立该游戏AI对象的行为模型。本发明根据环境的实时改变做出相应的决策,可以提高灵活性。而且,由于该提取到的该特征信息的维度为多维度特征信息,比行为树提取的特征信息的维度高,在通过学习网络学习之后获得的动作策略就更具体,从而进一步提高了游戏AI的灵活性。
附图说明
图1为一个示例的行为树的示意图;
图2为本发明实施例中AI对象的行为模型优化方法的示意图;
图3为本发明实施例提供的贪吃蛇游戏的一个示意图;
图4为本发明实施例中AI对象的行为模型建立方法的一种模式示意图;
图5为本发明实施例中AI对象的行为模型建立方法的另一种模式示意图;
图6为本发明实施例中卷积神经网络提取实时状态信息的特征信息的一种示意图;
图7为本发明实施例提供的贪吃蛇游戏输出内容的示意图;
图8为本发明实施例中AI对象控制方法示意图;
图9为本发明实施例提供的贪吃蛇游戏的一个示意图;
图10为本发明实施例提供的贪吃蛇游戏的另一个示意图;
图11为本发明实施例中AI对象的行为模型建立方法流程图;
图12为本发明实施例中AI对象控制方法流程图;
图13为本发明实施例中服务器的一个实施例示意图;
图14为本发明实施例中服务器的另一个实施例示意图;
图15为本发明实施例中AI对象控制设备的一个实施例示意图;
图16为本发明实施例中AI对象控制设备的另一个实施例示意图。
具体实施方式
本发明实施例提供了一种AI对象的行为模型建立方法以及装置,使得AI根据环境的实时改变做出相应的决策,提高AI的灵活性。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着科技的发展,人们对于娱乐项目的要求越来越高,游戏行业也进入了高速发展的时代。在游戏场景中,游戏AI是很重要的一环,在复杂的游戏场景中,游戏AI可以加强游戏的娱乐性。目前的游戏AI的训练方式通常是使用状态机或者是行为树。对于用行为树定模型构造的AI系统来说,每次执行AI时,系统都会从根节点遍历整个树,父节点执行子节点,子节点执行完后将结果返回父节点,然后父节点根据子节点的结果来决定接下来怎么做。如图1所示的一个行为树模型,其中,父节点为一个行为选择节点;该父节点的叶子节点为动作1;该子节点为一个顺序执行子节点;该子节点的叶子节点包括节点条件和动作2。在实际应用中,该行为树从根节点输入,然后通过父节点执行其顺序执行子节点,当该顺序执行子节点的各叶子节点(节点条件和动作2)执行成功时,该顺序执行子节点返回该父节点成功标志;当该顺序执行子节点中任一项叶子节点(节点条件和动作2)执行失败时,该顺序执行子节点返回该父节点失败标志,这时该父节点执行其叶子节点即动作1。若假设该动作1为睡觉,该动作2为打招呼,该节点条件为碰到游戏玩家。在实际应用中,根据该行为树的描述可知,若该游戏AI碰到了游戏玩家,则打招呼;若该游戏AI未碰到游戏玩家,则睡觉。在这种模型下,行为树可以方便地把复杂的AI知识条目组织得非常直观。默认的组合节点处理子节点的迭代方式就像是处理一个预设优先策略队列,也非常符合人类的正常思考模式即先最优再次优。同时该行为树的各种节点,包括叶子节点,可复用性都极高。但是每次执行行为树定模型构造的AI系统时,系统都会从根节点遍历整个树,父节点执行子节点,子节点执行完后将结果返回父节点,然后父节点根据子节点的结果来决定接下来怎么做。这样导致游戏AI的行为有迹可循,行为模式固定。
为了解决此问题,本发明实施例提供如下方案:获取AI对象所处的第一环境的第一实时状态信息;然后提取该第一实时状态信息的特征信息;再其次,根据该特征信息和学习网络的权重值得到AI对象的动作策略;再其次,将该动作策略反馈给该AI对象,以使得该AI对象执行该动作策略;再其次,获取AI对象所处的第二环境的第二实时状态信息,该第二环境为该AI对象执行该动作策略之后的环境;然后,根据该第二实时状态信息得到该动作策略的回报值;若该回报值符合预设条件,则确定该学习网络的权重值为该学习网络的目标权重值;最后根据该目标权重值建立该AI对象的行为模型。
本发明实施中,根据该环境的实时状态信息获取该AI对象的行为模型的目标权重值是根据样本进行重复的操作的,具体的情况如下,请参阅如下说明。
请参阅图2所示,图2示出了本发明一个实施例中AI对象的行为模型优化方法。需要注意的是,虽然实施例中以游戏为例描述本发明的AI对象行为模型优化方法,但是本领域的技术人员可以理解,本发明的AI对象行为模型优化方法不限于游戏。该方法包括:
S201、获取第一环境的第一实时状态信息。
本实施例中,由服务器获取该第一环境的第一实时状态信息,该第一环境可以为游戏环境样本集合。
本实施例中,该服务器为具有深度学习网络的计算机,该计算机可以具有显示功能。该第一环境可以为第一游戏环境,该第一游戏环境包括该游戏AI对象、游戏玩家,游戏场景至少其中一项。该第一实时状态信息为图片,该图片里包括该第一游戏环境。比如,该第一实时状态信息为图3所示。若该游戏为贪吃蛇游戏,该第一实时状态信息中的游戏AI对象为该游戏中的“游客408247928”代表的蛇;该第一实时状态信息中的游戏玩家为该游戏中的“biubiubiu”代表的蛇;该第一实时状态信息中的各分散的小点为该游戏场景中的食物。
可选的,当该第一环境为该第一游戏环境时,该服务器在获取该第一游戏环境的第一实时状态信息时可以采用如下方式:
一种可能实现方式中,该服务器可以获取该第一游戏环境中的有效数据,这时该有效数据包括该游戏AI对象的角色参数、该游戏AI对象的位置参数,游戏玩家角色的角色参数,该游戏玩家角色的位置参数,游戏场景参数中的至少一项,该有效数据在以该游戏AI的预设部位为中心,以预设数值为半径的区域内的游戏环境内提取;然后该服务器根据该有效数据绘制二维数据矩阵作为该第一实时状态信息,该二维数据矩阵表示为图像,即该第一实时状态信息以图片存在。比如,如图3所示,这时该服务器获取到的有效数据包括:该“游客408247928”代表的蛇的长度为33;该“游客408247928”代表的蛇的击杀数为0;该“biubiubiu”代表的蛇的长度为89;该“biubiubiu”代表的蛇的位置参数指示该“biubiubiu”代表的蛇位于屏幕的右下方;该“游客408247928”代表的蛇的位置参数指示该“游客408247928”代表的蛇位于屏幕的中间;各食物的位置参数。然后该服务器根据该有效数据重新绘制类似于该图3的二维数据矩阵(即该第一实时状态信息),此时该服务器可以为各个有效数据赋予颜色数值,然后根据该颜色数据绘制该二维数据矩阵。在实际应用中,为了简便,该服务器通常可用灰度图,不同的对象使用不同的数值。比如以图3所示的贪吃蛇游戏为例,空地为中性,灰色;该游戏AI对象(即“游客408247928”代表的蛇)的身体也比较中性,为灰色;边界和游戏玩家角色(即该“biubiubiu”代表的蛇)是“不好”的,为黑色;食物(即该图3中分散的小点)是“好”的,为白色。具体绘制的代码可以如下:
BORDER_COLOR=0
FOOD_COLOR=255
MAP_COLOR=120
PLAYER_HEAD=180
PLAYER_BODY=150
ENEMY_HEAD=30
ENEMY_BODY=0
另一种可能实现方式中,该服务器可以直接获取该第一游戏环境的截图图片,并直接将该截图图片作为该第一实时状态信息。比如,该服务器可以直接获取到图3,然后将该图3作为该第一游戏环境的第一实时状态信息。
本实施例中,该服务器为具有计算资源的设备,即只要其可以建立该游戏AI对象的行为模型即可,具体情况此处不做限定,比如该服务器可以既运行该游戏同时也建立该游戏AI对象的行为模型;该服务器也可以仅用于建立该游戏AI对象的行为模型。根据上述说明,该游戏环境可以发生在终端设备(比如手机、平板等终端)也可以直接发生在该服务器上。如图4所示,即当该游戏在该终端设备运行时,这时该服务器接收该终端设备发送的该游戏运行过程中的第一游戏环境的有效数据。当该游戏在该服务器上运行时,如图5所示该服务器直接采集该游戏运行过程中的第一游戏环境的第一实时状态信息。
本实施例中,该游戏AI对象在进行行为模型建立的过程中,该第一游戏环境可以是预先设置好的游戏环境样本集合,也可以是在实时操作中的游戏环境样本集合,具体方式此处不做限定。
本实施例中,当该游戏在该终端设备上运行时,该终端设备可以为多个,也可以为单独一个,具体情况此处不做限定。
S202、提取该第一实时状态信息的特征信息。
该服务器在获取到该第一实时状态信息之后,提取该第一实时状态信息的特征信息。可选的是,该特征信息为多维度信息。
在实际应用中,为了提取该第一实时状态信息的多维度信息,该服务器可以采用卷积神经网络(Convolutional Neural Network,CNN)提取该第一实时状态信息的特征信息。
CNN是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。该CNN由一个或多个卷积层和顶端的全连通层(对应经典的神经网络)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得CNN能够利用输入数据的二维结构。该CNN中的卷积层的卷积核会对图像进行卷积,卷积就是用一个特定参数的滤波器去扫描图像,提取图像的特征值。
而该服务器采用该CNN提取该第一实时状态信息的特征信息的具体过程可以如下:
该服务器将该第一实时状态信息以预设格式传递给该CNN中预设数目的卷积层;然后该服务器根据该预设数目的卷积层提取该第一实时状态信息的特征值,此时该特征值为该第一实时状态信息的局部特征信息;再然后,该服务器通过该CNN中的池化层对该特征值进行降维,得到降维特征值,该降维特征值为二维数据;最后该服务器通过该矩阵变维Reshape函数将该降维特征值修改为一维数据,然后将该一维数据作为该特征信息。
在实际应用中,该服务器通过CNN提取该第一实时状态信息的特征信息可以如图6所示:
本实施例中,该服务器提取实时状态信息的特征值可以采用多种方式。
一种可能实现方式中,该服务器为实时提取,即获取到一张实时状态信息(如上文所述,实时状态信息可以是图像的形式)时就提取该实时状态信息的特征值。即该服务器将单张的实时状态信息作为该第一实时状态信息。
另一种可能实现方式中,该服务器需要先获取到一个实时状态信息集合,该实时状态信息集合中包含有预设数目的实时状态信息。即该服务器将该实时状态信息集合作为该第一实时状态信息;然后该服务器再提取该实时状态信息集合的特征值;若该服务器再获取到一张实时状态信息,则该服务器就将该实时状态信息集合中最早获取到的实时状态信息丢弃,将该最新获取到的实时状态信息添加进行该实时状态信息集合中;然后该服务器提取该修改后的实时状态集合的特征值。本实施例中以此种方式为例进行说明。
首先,该服务器将获取到的第一实时状态信息以80*80像素的格式传递给该CNN中的卷积层,其中该第一实时状态信息包括连续4次提取有效数据生成的四张灰度图。该80*80像素用于表示该游戏AI的头部的一小块区域,用于降低输入复杂度。可以理解的是,该像素可以预先设置,具体数据此处不做限定。
然后,该服务器通过该CNN中的第1层卷积层以卷积核为3*3像素,深度为4,提取次数为32次,卷积步长为1的方式进行提取该第一实时状态信息的第一特征值。该服务器通过该CNN中的第2层卷积层以卷积核为3*3像素,深度为32,提取次数为32次,卷积步长为1的方式进行提取该第一特征值的第二特征值。该服务器通过该CNN中的第3层卷积层以卷积核为3*3像素,深度为32,提取次数为32次,卷积步长为1的方式进行提取该第二特征值的第三特征值。同时在前三层卷积层时,该服务器还通过池化层以2*2像素对该第一实时状态信息进行降维。然后该服务器通过该CNN中的第4层卷积层以卷积核为3*3像素,深度为32,提取次数为64次,卷积步长为1的方式进行提取该第三特征值的第四特征值。最后然后该服务器通过该CNN中的第4层卷积层以卷积核为3*3像素,深度为64,提取次数为64次,卷积步长为1的方式进行提取该第四特征值的第五特征值,该第五特征值作为该第一实时状态信息的降维特征值。因此,该服务器将该第一实时状态信息通过第一层卷积层和池化层时得到的特征值为40*40*32的二维数据;该服务器将40*40*32的特征值通过第二层卷积层和池化层时得到的特征值为20*20*32的二维数据;该服务器将20*20*32的特征值通过第三层卷积层和池化层时得到的特征值为10*10*32的特征值;该服务器将10*10*32的特征值通过第四层卷积层时得到的特征值为10*10*64的特征值;该服务器将10*10*64的特征值通过第五层卷积层和池化层时得到的特征值为10*10*64的特征值。
最后,该服务器通过Reshape将该10*10*64的特征值进行变维(即由二维数据变为一维数据)得到6400*1的一维数据。此处将该一维数据作为该第一实时状态信息的特征信息。
S203、根据该特征信息和学习网络的权重值得到AI对象的动作策略。
该服务器将该特征信息通过该学习网络得到该AI对象的动作策略,该权重值为该学习网络的全连接网络中的各连接层的权重值。
本实施例中,该CNN通过Reshape得到的一维数据输入给该学习网络的全连接网络,然后通过该全连接网络的各连接层对该一维数据进行取值,最后输出该游戏AI对象的动作策略。
本实施例中,该学习网络可以为深度强化学习网络。深度学习(deep learning,DP)是机器学习的分支,它试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。深度学习是机器学习中一种基于对数据进行表征学习的方法。观测值(例如一幅图像)可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。而使用某些特定的表示方法更容易从实例中学习任务(例如,人脸识别或面部表情识别)。
强化学习是机器学习中的一个分支,强调如何基于环境而行动,以取得最大化的预期利益。令有机体在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。这个方法具有普适性,因此在其他许多领域都有研究,例如博弈论、控制论、运筹学、信息论、仿真优化、多主体系统学习、群体智能、统计学以及遗传算法。在运筹学和控制理论研究的语境下,强化学习被称作“近似动态规划”(approximatedynamic programming,ADP)。在最优控制理论中也有研究这个问题,虽然大部分的研究是关于最优解的存在和特性,并非是学习或者近似方面。在经济学和博弈论中,强化学习被用来解释在有限理性的条件下如何出现平衡。
在实际应用中,可以如图3所示,当该游戏为贪吃蛇游戏时,该游戏AI对象的动作策略可以仅为方向上的控制,这时可以得到如图7所示的8个量化的方向,然后考虑到是否加速的因素,该全连接层输出的节点可以为16个。
S204、将该动作策略反馈给该AI对象,以使得该AI对象执行该动作策略。
该服务器将该动作策略反馈给该AI对象,以使得该AI对象执行该动作策略。
在实际应用中,若该AI对象为游戏AI对象,且该游戏运行在终端设备上,如图4所示,则该服务器需要将该动作策略直接反馈给该终端设备,然后由该终端设备控制该游戏AI对象的行为。若该游戏运行在该服务器上且该服务器为电脑时,如图5所示,则该电脑可以直接获取到该游戏AI对象的动作策略,然后控制该游戏AI对象的行为。
S205、获取第二环境的第二实时状态信息,该第二环境为该AI对象执行该动作策略之后的环境。
该AI对象执行该动作策略之后,该环境发生了变化,这时可以将此时的环境称为第二环境。该服务器实时获取该第二环境的第二实时状态信息。
本实施例中,以游戏环境为例,则该服务器获取该第二游戏环境的第二实时状态信息的方式与步骤S201中该服务器获取该第一游戏环境的第一实时状态信息的方式相同,此处不再赘述。
S206、该服务器根据该第二实时状态信息得到该动作策略的回报值。
该服务器在得到该第二实时状态信息之后根据该第二实时状态信息得到该游戏AI对象执行该动作策略之后的回报值。
本实施例中,该回报值用于指示该游戏AI对象执行该动作策略后环境发生变化后的状态情况值,通常可以理解为回报值越大,环境发生的变化越符合预期情况。
在实际应用中,该服务器可以采用如下方式计算该游戏AI对象执行该动作策略之后的回报值:
其中,该Q为该游戏AI对象执行该动作策略之后的回报值,该Rt+1为迭代次数增加一次之后的回报值,该λ为预设系数,该St+1为迭代次数增加一次之后的实时状态信息,该a为动作策略。
在计算该游戏AI对象执行该动作策略的回报值的过程中可以通过计算其损失函数来调整该回报值:
其中,该L为计算过程中的损失,该E为期望,该r为预设系数,该γ为衰减系数,该s'为下一时刻实时状态信息,该a'为下一时刻的动作策略,该w为当前网络系统,该s为当前实时状态信息,该a为当前动作策略。
在实际应用中,该服务器还可以采用DQN算法对该学习网络进行训练,具体伪代码如下:
初始化一个容量为N的样本池D
初始化网络中的权值为随机值
for episode=1,M do
初始化输入序列s1={x1}为当前图像,并预处理序列为φ1=φ(s1)
For t=1,T do
根据策略ε选择一个随机动作或者网络输出的最大Q值的动作at
在设备上执行动作at并观察得到即时反馈at和图像xt+1
令St+1=St,at,xt+1,并处理序列得到φt+1=φ(st+1)
将序列(φt,at,rt,φt+1)保存到样本池D中
从样本池D中随机采样一个minibatch大小的样本
对损失函数(yj-Q(φj,aj;w))2执行梯度下降算法
end for
end for
在这段伪代码中的r为反馈值,该游戏AI对象执行该动作策略后下一时刻环境发生变化,这个变化的好坏就体现为反馈值,本实施例中为了使游戏AI对象具有强大的生存能力和一定的击杀能力,设置r为蛇自身长度的增加、击杀数、以及是否死亡的状态量化求和为一个数值。此处该反馈值的效果可以设置为反馈值越大,变化越好;该反馈值的效果也可以设置为反馈值越小,变化越好。此处具体的设置方式不做限定。
本实施例中,动作输出策略一般会在参考学习网络输出的动作策略之前设置一个随机预设值,当该回报值高于随机预设值时该服务器采用学习网络输出的动作策略;当该回报值低于随机预设值时采用随机动作。该随机预设值可以设计成动态变化的值,该服务器建立该游戏AI对象的行为模型的过程中,该随机预设值呈指数型降低符合训练预期;最后该随机预设值收敛为一个很小的随机值,此时该游戏AI对象的动作策略基本等同为学习网络的输出值。
S207、判断该回报值是否符合预设条件,若是,执行步骤S208,若否,则执行步骤S209。
该服务器在得到该动作策略的回报值之后,判断该回报值是否不再发生变化,若是,则确定该回报值为最优动作策略的回报值,并执行步骤S208。若该回报值仍然在发生变化,则执行步骤S210。
S208、确定该学习网络的权重值为该学习网络的目标权重值。
该服务器确定该学习网络的权重值为该学习网络的目标权重值。
S209、根据该目标权重值建立该AI对象行为模型。
该服务器将该学习网络的全连接网络的权重值设置为该目标权重值完成该AI对象行为模型的建立。
S210、修改该学习网络的权重值。
该服务器按照得到最大Q值的规则修改该学习网络的全连接网络的权重值,并重复上述S201至步骤S207的步骤,直至满足执行步骤S208至步骤S209的条件。
该服务器在修改该学习网络的全连接网络的权重值之后,该学习网络的各连接层对于一维数据的取值侧重方向会发生改变。
本实施例中,该服务器根据环境的实时改变对AI对像的动作策略做出相应的决策,可以提高AI的灵活性。而且,由于该提取到的该特征信息的维度为多维度特征信息,比行为树提取的特征信息的维度高,在通过学习网络学习之后获得的动作策略就更具体,从而进一步提高了游戏AI的灵活性。
请参阅图8所示,图8示出了本发明一个实施例中AI对象的控制方法。需要注意的是,虽然实施例中以游戏为例描述本发明的AI对象的控制方法,但是本领域的技术人员可以理解,本发明的AI对象的控制方法不限于游戏。该方法包括:
S801、获取运行环境的实时状态信息。
AI控制设备获取该运行环境的实时状态信息。
本实施例中,以游戏为例,则该运行环境为游戏环境,该游戏环境包括该游戏AI对象、游戏玩家,游戏场景至少其中一项。该实时状态信息为包含有该游戏环境的图片。比如,该实时状态信息为图9所示。若该游戏为贪吃蛇游戏,该实时状态信息中的游戏AI对象为该游戏中的“游客408247928”代表的蛇;该实时状态信息中的游戏玩家为该游戏中的“芷若汀兰”代表的蛇,该实时状态信息中的各分散的小点为该游戏场景中的食物。
本实施例中,在以游戏为例时,该AI控制设备可以为游戏AI控制设备。则该游戏AI控制设备可以为运行该游戏的终端设备,也可以是独立在运行该游戏的终端设备之外的服务器,只要其保存有该游戏AI对象的行为模型即可,具体方式此处不做限定。
可选的,该游戏AI控制设备在获取该游戏环境的实时状态信息时可以采用如下方式:
一种可能实现方式中,该游戏AI控制设备可以获取该游戏环境中的有效数据,这时该有效数据包括该游戏AI对象的角色参数、该游戏AI对象的位置参数,游戏玩家角色的角色参数,该游戏玩家角色的位置参数,游戏场景参数中的至少一项,该有效数据在以该游戏AI的预设部位为中心,以预设数值为半径的区域内的游戏环境内提取;然后该游戏AI控制设备根据该有效数据绘制二维数据矩阵作为该第一实时状态信息,该二维数据矩阵表示为图像,即该实时状态信息以图片存在。比如,如图9所示,这时该游戏AI控制设备获取到的有效数据包括:该“游客408247928”代表的蛇的长度为43;该“游客408247928”代表的蛇的击杀数为0;该“芷若汀兰”代表的蛇的长度为195;该“芷若汀兰”代表的蛇的位置参数为屏幕的左下方;该“游客408247928”代表的蛇的位置参数为屏幕的中间;各食物的位置参数。然后该游戏AI控制设备根据该有效数据重新绘制类似于该图9的二维数据矩阵(即该实时状态信息),此时该游戏AI控制设备可以为各个有效数据赋予颜色数值,然后根据该颜色数据绘制该二维数据矩阵。在实际应用中,为了简便,该游戏AI控制设备通常可用灰度图,不同的对象使用不同的数值。比如以图9所示的贪吃蛇游戏为例,空地为中性,灰色;该游戏AI对象(即“游客408247928”代表的蛇)的身体也比较中性,为灰色;边界和游戏玩家角色(即该“芷若汀兰”代表的蛇)是“不好”的,为黑色;食物(即该图9中分散的小点)是“好”的,为白色。具体绘制的代码可以如下:
BORDER_COLOR=0
FOOD_COLOR=255
MAP_COLOR=120
PLAYER_HEAD=180
PLAYER_BODY=150
ENEMY_HEAD=30
ENEMY_BODY=0
另一种可能实现方式中,该游戏AI控制设备可以直接获取该游戏环境的截图图片,并直接将该截图图片作为该实时状态信息。比如,该游戏AI控制设备可以直接获取到图9,然后将该图9作为该游戏环境的实时状态信息。
本实施例中,该游戏AI控制设备为具有计算资源的设备,即只要其可以建立该游戏AI对象的行为模型即可,具体情况此处不做限定,比如该游戏AI控制设备可以既运行该游戏同时也具备建立该游戏AI对象的行为模型;该游戏AI控制设备也可以仅用于建立该游戏AI对象的行为模型。根据上述说明,该游戏环境可以发生在终端设备(比如手机、平板等终端)也可以直接发生在该游戏AI控制设备上。即当该游戏在该终端设备运行时,这时该游戏AI控制设备接收该终端设备发送的该游戏运行过程中的游戏环境的实时状态信息;当该游戏在该游戏AI控制设备上运行时,该游戏AI控制设备直接采集该游戏运行过程中的游戏环境的实时状态信息。
本实施例中,该游戏AI对象在进行行为模型建立的过程中,该游戏环境可以是预先设置好的游戏环境样本集合,也可以是在实时操作中的游戏环境样本集合,具体方式此处不做限定。
本实施例中,当该游戏在该终端设备上运行时,该终端设备可以为多个,也可以为单独一个,具体情况此处不做限定。
S802、提取该实时状态信息的特征信息。
该AI控制设备在获取到该实时状态信息之后,提取该实时状态信息的特征信息。可选的是,该特征信息为多维度信息。
在实际应用中,为了提取该实时状态信息的多维度信息,该AI控制设备可以采用CNN提取该实时状态信息的特征信息。
而该AI控制设备采用该CNN提取该实时状态信息的特征信息的具体过程可以如下:
该AI控制设备将该实时状态信息以预设格式传递给该CNN中预设数目的卷积层;然后该AI控制设备根据该预设数目的卷积层提取该实时状态信息的特征值,此时该特征值为该实时状态信息的局部特征信息;再然后,该AI控制设备通过该CNN中的池化层对该特征值进行降维得到降维特征值,该降维特征值为二维数据;最后该AI控制设备通过该矩阵变维Reshape函数将该降维特征值修改为一维数据,然后将该一维数据作为该特征信息。
在实际应用中,该游戏AI控制设备通过CNN提取该实时状态信息的特征信息可以如图4所示:
本实施例中,该游戏AI控制设备提取实时状态信息的特征值可以采用多种方式。
一种可能实现方式中,该游戏AI控制设备为实时提取,即获取到一张实时状态信息时就提取该实时状态信息的特征值。即该游戏AI控制设备将单张的实时状态信息作为该实时状态信息。
另一种可能实现方式中,该游戏AI控制设备需要先获取到一个实时状态信息集合,该实时状态信息集合中包含有预设数目的实时状态信息。即该游戏AI控制设备将该实时状态信息集合作为该实时状态信息;然后该游戏AI控制设备再提取该实时状态信息集合的特征值;若该游戏AI控制设备再获取到一张实时状态信息,则该游戏AI控制设备就将该实时状态信息集合中最早获取到的实时状态信息丢弃,将该最新获取到的实时状态信息添加进行该实时状态信息集合中;然后该游戏AI控制设备提取该修改后的实时状态集合的特征值。本实施例中以此种方式为例进行说明。具体如图6所示:
首先,该游戏AI控制设备将获取到的实时状态信息以80*80像素的格式传递给该CNN中的卷积层,其中该实时状态信息包括连续4次提取有效数据生成的四张灰度图。该80*80像素用于表示该游戏AI的头部的一小块区域,用于降低输入复杂度。可以理解的是,该像素可以预先设置,具体数据此处不做限定。然后,该游戏AI控制设备通过该CNN中的第1层卷积层以卷积核为3*3像素,深度为4,提取次数为32次,卷积步长为1的方式进行提取该实时状态信息的特征值。该游戏AI控制设备通过该CNN中的第2层卷积层以卷积核为3*3像素,深度为32,提取次数为32次,卷积步长为1的方式进行提取该特征值的第二特征值。该游戏AI控制设备通过该CNN中的第3层卷积层以卷积核为3*3像素,深度为32,提取次数为32次,卷积步长为1的方式进行提取该第二特征值的第三特征值。同时在前三层卷积层时,该游戏AI控制设备还通过池化层以2*2像素对该实时状态信息进行降维。然后该游戏AI控制设备通过该CNN中的第4层卷积层以卷积核为3*3像素,深度为32,提取次数为64次,卷积步长为1的方式进行提取该第三特征值的第四特征值。最后然后该游戏AI控制设备通过该CNN中的第4层卷积层以卷积核为3*3像素,深度为64,提取次数为64次,卷积步长为1的方式进行提取该第四特征值的第五特征值,该第五特征值作为该实时状态信息的降维特征值。因此,该游戏AI控制设备将该实时状态信息通过层卷积层和池化层时得到的特征值为40*40*32的二维数据;该游戏AI控制设备将40*40*32的特征值通过第二层卷积层和池化层时得到的特征值为20*20*32的二维数据;该游戏AI控制设备将20*20*32的特征值通过第三层卷积层和池化层时得到的特征值为10*10*32的特征值;该游戏AI控制设备将10*10*32的特征值通过第四层卷积层时得到的特征值为10*10*64的特征值;该游戏AI控制设备将10*10*64的特征值通过第五层卷积层和池化层时得到的特征值为10*10*64的特征值。
最后,该游戏AI控制设备通过Reshape将该10*10*64的特征值进行变维(即由二维数据变为一维数据)得到6400*1的一维数据。此处将该一维数据作为该实时状态信息的特征信息。
S803、根据该特征信息和学习网络的权重值得到AI对象的动作策略,该学习网络的权重值为预置数值。
该AI控制设备将该特征信息通过该学习网络得到该游戏AI对象的动作策略,该权重值为该学习网络的全连接网络中的各连接层的权重值。
本实施例中,该CNN通过Reshape得到的一维数据输入给该学习网络的全连接层,然后通过该全连接层的各连接层对该一维数据进行取值,最后输出该游戏AI对象的动作策略。
在实际应用中,可以如图9所示,当该游戏为贪吃蛇游戏时,该游戏AI对象的动作策略可以仅为方向上的控制,这时可以得到如图7所示的8个量化的方向,然后考虑到是否加速的因素,该全连接层输出的节点可以为16个。
S804、将该动作策略反馈给该AI对象,以使得该AI对象执行该动作策略。
该AI控制设备将该动作策略反馈给该AI对象,以使得该AI对象执行该动作策略。
在实际应用中,该AI对象执行该动作策略时,可以如图10所示,该“游客408247928”代表的蛇转向图10中食物分布密集的地方开始吞噬该食物。
在实际应用中,若该游戏AI控制设备为独立在运行该游戏的终端设备之外的服务器,则该游戏AI控制设备需要将该动作策略直接反馈给该终端设备,然后由该终端设备控制该游戏AI对象的行为。若该游戏AI控制设备为运行该游戏的终端设备,则该游戏AI控制设备可以直接获取到该游戏AI对象的动作策略,然后控制该游戏AI对象的行为。
本实施例中,游戏AI控制设备在获取到游戏环境的实时状态信息之后,该游戏AI控制设备提取该实时状态信息的多维度特征信息,然后根据该多维度特征信息和学习网络的权重值得到该游戏AI对象的动作策略;最后游戏AI对象控制设备将该动作策略反馈给该游戏AI对象,以使得该游戏AI对象执行该动作策略。本发明根据环境的实时改变做出相应的决策,可以提高AI的灵活性。而且,由于该提取到的该特征信息的维度为多维度特征信息,比行为树提取的特征信息的维度高,在通过学习网络之后获得的动作策略就更具体,从而进一步提高了游戏AI的灵活性。
下面将该游戏AI对象的行为模型优化方法以如图11所示的流程进行一次描述:
该终端设备或者是该服务器上运行该游戏,该终端设备或该服务器提取该游戏环境的实时状态信息;然后,该服务器对该实时状态信息进行预处理,即提取多维度的特征信息;该服务器通过该多维度的特征信息和学习网络得到该游戏AI对象的动作策略;该服务器获取该游戏AI对象执行该动作策略之后的游戏环境的实时状态信息;该服务器根据该游戏AI对象执行该动作策略之后的游戏环境的实时状态信息计算该动作策略的回报值;该服务器根据该回报值调整该学习网络的权重值。
下面将该游戏AI对象的控制方法以如图12所示的流程进行一次描述:
该终端设备或者是该服务器上运行该游戏,该终端设备或该服务器提取该游戏环境的实时状态信息;然后,该终端设备或者是该服务器对该实时状态信息进行预处理,即提取多维度的特征信息;该终端设备或者是该服务器通过该多维度的特征信息和该学习网络得到该游戏AI对象的动作策略;该终端设备或者是该服务器将该动作策略反馈给游戏AI对象;该游戏AI对象执行该动作策略。
上面对本发明实施例中的方法实施例进行了描述,下面对本发明实施例中AI对象的行为模型建立装置和AI控制设备进行描述。其中AI对象的行为模型建立装置可以是服务器。
具体请参阅图13所示,本发明实施例中AI对象的行为模型建立装置一个实施例包括:
获取模块1301,用于获取AI对象所处的第一环境的第一实时状态信息;
处理模块1302,用于提取该获取模块1301获取到的该第一实时状态信息的特征信息;根据该特征信息和学习网络的权重值得到AI对象的动作策略;
反馈模块1303,用于将该处理模块1302得到的该动作策略反馈给该AI对象,以使得该AI对象执行该动作策略;
该获取模块1301,用于获取AI对象所处的第二环境的第二实时状态信息,该第二环境为该AI对象执行该动作策略之后的环境;
该处理模块1302,用于根据该获取模块1301获取到的该第二实时状态信息得到该动作策略的回报值;若该回报值符合预设条件,则确定该学习网络的权重值为该学习网络的目标权重值;根据该目标权重值建立该AI对象的行为模型。
可选的,该处理模块1302,具体用于将该第一实时状态信息以预设格式传递给预设数目的卷积层;通过池化层和该预设数目的卷积层提取该第一实时状态信息得到降维特征值,该降维特征值为二维数据;将该降维特征值修改为一维数据,该一维数据作为该特征信息。
可选的,该预设格式为长宽均为80像素的图片,该预设数目为5,该卷积层的卷积核长宽均为3像素,该卷积步长为1,该池化层的降维设置为在长宽均为2像素的区域内选择最大值作为该降维特征值。
可选的,该处理模块1302,还用于若该回报值不符合该预设条件,则修改该学习网络的权重值。
可选的,所述AI对象为游戏AI对象,所述环境为游戏环境,该获取模块1301,具体用于获取该第一游戏环境的有效数据,该有效数据包括该游戏AI对象的角色参数、该游戏AI对象的位置参数、游戏玩家角色的角色参数、该游戏玩家角色的位置参数、游戏场景参数中的至少一项;根据该有效数据绘制二维数据矩阵作为该第一实时状态信息,该二维数据矩阵表示图像。
可选的,该获取模块1301,具体用于获取该有效数据中各游戏对象对应的颜色数值,该颜色数值用于表示该游戏环境中的各游戏对象的颜色,该游戏对象包括该游戏AI对象,该玩家游戏角色以及该游戏场景;根据该各游戏对象对应的颜色数值绘制该二维数据矩阵作为该第一实时状态信息。
可选的,该获取模块1301,具体用于获取该第一游戏环境的截图图片作为该第一实时状态信息。
可选的,该学习网络为深度强化学习网络,该深度强化学习网络的算法包括Q-learning算法或DQN算法。
可选的,该特征信息为多维度信息,该第一环境为游戏环境样本集合,该游戏环境样本集合包括玩家实时操作游戏环境和预设游戏环境。
本实施例中,该获取模块1301在获取到第一游戏环境的第一实时状态信息之后,该处理模块1302提取该第一实时状态信息的多维度特征信息,然后根据该多维度特征信息和学习网络的权重值得到该游戏AI对象的动作策略;最后反馈模块1303将该动作策略反馈给该游戏AI对象,以使得该游戏AI对象执行该动作策略;然后该获取模块1301获取该游戏AI对象执行了该动作策略之后的第二游戏环境的第二实时状态信息,该处理模块1302根据该第二实时状态信息计算该动作策略的回报值,并在该回报值符合预设条件时确定该学习网络的权重值为目标权重值,并根据该目标权重值建立该游戏AI对象的行为模型。本发明根据环境的实时改变做出相应的决策,可以提高AI的灵活性。而且,由于该提取到的该特征信息的维度为多维度特征信息,比行为树提取的特征信息的维度高,在通过学习网络学习之后获得的动作策略就更具体,从而进一步提高了游戏AI的灵活性。
具体请参阅图14所示,本发明实施例中服务器的另一个实施例包括:
收发器1401,处理器1402,总线1403;
该收发器1401与该处理器1402通过该总线1403相连;
该总线1403可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器1402可以是中央处理器(central processing unit,简称CPU),网络处理器(network processor,简称NP)或者CPU和NP的组合。
处理器1402还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,简称ASIC),可编程逻辑器件(programmable logic device,简称PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,简称CPLD),现场可编程逻辑门阵列(field-programmable gate array,简称FPGA),通用阵列逻辑(generic array logic,简称GAL)或其任意组合。
参见图14所示,该服务器还可以包括存储器1404。该存储器1404可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,简称RAM);存储器也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘(hard disk drive,简称HDD)或固态硬盘(solid-state drive,简称SSD);存储器1404还可以包括上述种类的存储器的组合。
可选地,存储器1404还可以用于存储程序指令,处理器1402调用该存储器1404中存储的程序指令,可以执行图2至图7以及图11中所示实施例中的一个或多个步骤,或其中可选的实施方式,实现上述方法中服务器行为的功能。
该收发器1401,执行如下步骤:
获取AI对象所处的第一环境的第一实时状态信息;
该处理器1402,执行如下步骤:
提取该第一实时状态信息的特征信息;
根据该特征信息和学习网络的权重值得到AI对象的动作策略;
该收发器1401,还执行如下步骤:
将该动作策略反馈给该AI对象,以使得该AI对象执行该动作策略;获取AI对象所处的第二环境的第二实时状态信息,该第二环境为该AI对象执行该动作策略之后生成;
该处理器1402,还执行如下步骤:
根据该第二实时状态信息得到该动作策略的回报值;
若该回报值符合预设条件,则确定该学习网络的权重值为该学习网络的目标权重值;
根据该目标权重值建立该AI对象的行为模型。
本实施例中,该收发器1401还执行所有数据收发的步骤,该处理器1402还执行上述实施例中所有数据的处理步骤。
本实施例中,该收发器1401在获取到第一游戏环境的第一实时状态信息之后,该处理器1402提取该第一实时状态信息的多维度特征信息,然后根据该多维度特征信息和学习网络的权重值得到该游戏AI对象的动作策略;最后收发器1401将该动作策略反馈给该游戏AI对象,以使得该游戏AI对象执行该动作策略;然后该收发器1401获取该游戏AI对象执行了该动作策略之后的第二游戏环境的第二实时状态信息,该处理器1402根据该第二实时状态信息计算该动作策略的回报值,并在该回报值符合预设条件时确定该学习网络的权重值为目标权重值,并根据该目标权重值建立该游戏AI对象的行为模型。本发明根据环境的实时改变做出相应的决策,可以提高AI的灵活性。而且,由于该提取到的该特征信息的维度为多维度特征信息,比行为树提取的特征信息的维度高,在通过学习网络学习之后获得的动作策略就更具体,从而进一步提高了游戏AI的灵活性。
具体请参阅图15所示,本发明实施例中AI控制设备(即AI对象控制设备)包括:
获取模块1501,用于获取AI对象所处的环境的实时状态信息;
处理模块1502,用于提取该实时状态信息的特征信息;根据该特征信息和学习网络的权重值得到AI对象的动作策略,该学习网络的权重值为预置数值;
反馈模块1503,用于将该处理模块得到的该动作策略反馈给该AI对象,以使得该AI对象执行该动作策略。
可选的,该处理模块1502,具体用于将该实时状态信息以预设格式传递给预设数目的卷积层;通过池化层和该预设数目的卷积层提取该实时状态信息得到降维特征值,该降维特征值为二维数据;将该降维特征值修改为一维数据,该一维数据作为该特征信息。
可选的,其中,该AI对象为游戏AI对象,该环境为游戏环境,该处理模块1502,具体用于提取该游戏环境的有效数据,该有效数据包括该游戏AI对象的角色参数、该游戏AI对象的位置参数、玩家游戏角色的角色参数、该玩家游戏角色的位置参数、游戏场景参数中的至少一项;根据该有效数据绘制二维数据矩阵作为该实时状态信息,该二维数据矩阵表示图像。
本实施例中,获取模块1501在获取到游戏环境的实时状态信息之后,处理模块1502提取该实时状态信息的多维度特征信息,然后处理模块1502根据该多维度特征信息和学习网络的权重值得到该游戏AI对象的动作策略;最后反馈模块1503将该动作策略反馈给该游戏AI对象,以使得该游戏AI对象执行该动作策略。本发明根据环境的实时改变做出相应的决策,可以提高AI的灵活性。而且,由于该提取到的该特征信息的维度为多维度特征信息,比行为树提取的特征信息的维度高,在通过学习网络之后获得的动作策略就更具体,从而进一步提高了游戏AI的灵活性。
具体请参阅图16所示,本发明实施例中AI控制设备的另一个实施例包括:
收发器1601,处理器1602以及总线1603;
该收发器1601与该处理器1602通过该总线1603相连;
该处理器,执行如下步骤:
获取AI对象所处的环境的实时状态信息;
提取该实时状态信息的特征信息;
根据该特征信息和学习网络的权重值得到AI对象的动作策略,该学习网络的权重值为预置数值;
将该动作策略反馈给该AI对象,以使得该AI对象执行该动作策略。
该总线1603可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图16中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器1602可以是中央处理器(central processing unit,简称CPU),网络处理器(network processor,简称NP)或者CPU和NP的组合。
处理器1602还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,简称ASIC),可编程逻辑器件(programmable logic device,简称PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,简称CPLD),现场可编程逻辑门阵列(field-programmable gate array,简称FPGA),通用阵列逻辑(generic array logic,简称GAL)或其任意组合。
参见图16所示,该AI控制设备还可以包括存储器1604。该存储器1604可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,简称RAM);存储器也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flashmemory),硬盘(hard disk drive,简称HDD)或固态硬盘(solid-state drive,简称SSD);存储器1604还可以包括上述种类的存储器的组合。
可选地,存储器1604还可以用于存储程序指令,处理器1602调用该存储器1604中存储的程序指令,可以执行图8至图10以及图12中所示实施例中的一个或多个步骤,或其中可选的实施方式,实现上述方法中AI控制设备行为的功能。
该处理器1602,执行如下步骤:
获取AI对象所处的环境的实时状态信息;
提取该实时状态信息的特征信息;
根据该特征信息和学习网络的权重值得到AI对象的动作策略,该学习网络的权重值为预置数值;
将该动作策略反馈给该AI对象,以使得该AI对象执行该动作策略。
本实施例中,该收发器1601还执行所有数据收发的步骤,该处理器1602还执行上述实施例中所有数据的处理步骤。
本实施例中,处理器1602在获取到游戏环境的实时状态信息之后,处理器1602提取该实时状态信息的多维度特征信息,然后处理器1602根据该多维度特征信息和学习网络的权重值得到该游戏AI对象的动作策略;最后处理器1602将该动作策略反馈给该游戏AI对象,以使得该游戏AI对象执行该动作策略。本发明根据环境的实时改变做出相应的决策,可以提高AI的灵活性。而且,由于该提取到的该特征信息的维度为多维度特征信息,比行为树提取的特征信息的维度高,在通过学习网络之后获得的动作策略就更具体,从而进一步提高了游戏AI的灵活性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (13)
1.一种AI对象的行为模型优化方法,其特征在于,包括:
获取AI对象所处的第一环境的第一实时状态信息;
采用卷积神经网络提取所述第一实时状态信息的多维度特征信息,包括:将所述第一实时状态信息以预设格式传递给卷积神经网络中预设数目的卷积层,通过池化层和所述预设数目的卷积层提取所述第一实时状态信息得到降维特征值,所述降维特征值为二维数据,将所述降维特征值修改为一维数据作为所述特征信息;
将所述特征信息输入到深度强化学习网络的全连接网络,结合所述全连接网络中的各连接层的权重值,通过所述全连接网络的各连接层对所述特征信息进行取值,得到AI对象的动作策略;
将所述动作策略反馈给所述AI对象,以使得所述AI对象执行所述动作策略;
获取AI对象所处的第二环境的第二实时状态信息,所述第二环境为所述AI对象执行所述动作策略之后的环境;
根据所述第二实时状态信息得到所述动作策略的回报值,所述回报值用于指示所述AI对象执行所述动作策略后环境发生变化后的状态情况值;
若所述回报值符合预设条件,则确定所述学习网络的权重值为所述学习网络的目标权重值;根据所述目标权重值建立所述AI对象的行为模型。
2.根据权利要求1所述的方法,其中,所述预设格式为长宽均为80像素的图片,所述预设数目为5,所述卷积层的卷积核长宽均为3像素,所述卷积步长为1,所述池化层的降维设置为在长宽均为2像素的区域内选择最大值作为所述降维特征值。
3.根据权利要求1所述的方法,其特征在于,根据所述第二实时状态信息得到所述动作策略的回报值之后,所述方法还包括:
若所述回报值不符合所述预设条件,则修改所述学习网络的权重值。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述AI对象为游戏AI对象,所述第一环境为第一游戏环境,
其中,获取AI对象所处的第一环境的第一实时状态信息包括:
获取所述第一游戏环境的有效数据,所述有效数据包括所述游戏AI对象的角色参数、所述游戏AI对象的位置参数、游戏玩家角色的角色参数、所述游戏玩家角色的位置参数、游戏场景参数中的至少一项,所述有效数据在以所述游戏AI的预设部位为中心,以预设数值为半径的区域内的游戏环境内提取;
根据所述有效数据绘制二维数据矩阵作为所述第一实时状态信息。
5.根据权利要求4所述的方法,其特征在于,根据所述有效数据绘制二维数据矩阵作为所述第一实时状态信息包括:
获取所述有效数据中各游戏对象对应的颜色数值,所述颜色数值用于表示所述游戏环境中的各游戏对象的颜色,所述游戏对象包括所述游戏AI对象、所述玩家游戏角色以及所述游戏场景;
根据所述各游戏对象对应的颜色数值绘制所述二维数据矩阵作为所述第一实时状态信息。
6.根据权利要求1至3中任一项所述的方法,其特征在于,获取AI对象所处的第一环境的第一实时状态信息包括:
获取所述第一环境的截图图片作为所述第一实时状态信息。
7.一种AI对象的控制方法,其特征在于,包括:
获取AI对象所处的环境的实时状态信息;
采用卷积神经网络提取所述实时状态信息的多维度特征信息,包括:将所述实时状态信息以预设格式传递给卷积神经网络中预设数目的卷积层,通过池化层和所述预设数目的卷积层提取所述实时状态信息得到降维特征值,所述降维特征值为二维数据,将所述降维特征值通修改为一维数据作为所述特征信息;
将所述特征信息输入到深度强化学习网络的全连接网络,结合所述全连接网络中的各连接层的权重值,通过所述全连接网络的各连接层对所述特征信息进行取值,得到AI对象的动作策略,所述各连接层的权重值为预置数值;
将所述动作策略反馈给所述AI对象,以使得所述AI对象执行所述动作策略。
8.根据权利要求7所述的方法,其特征在于,所述预设格式为长宽均为80像素的图片,所述预设数目为5,所述卷积层的卷积核长宽均为3像素,所述卷积步长为1,所述池化层的降维设置为在长宽均为2像素的区域内选择最大值作为所述降维特征值。
9.根据权利要求7所述的方法,其特征在于,所述AI对象为游戏AI对象,所述环境为游戏环境,获取AI对象所处的环境的实时状态信息包括:
提取所述游戏环境的有效数据,所述有效数据包括所述游戏AI对象的角色参数、所述游戏AI对象的位置参数、玩家游戏角色的角色参数、所述玩家游戏角色的位置参数、游戏场景参数中的至少一项,所述有效数据在以所述游戏AI的预设部位为中心,以预设数值为半径的区域内的游戏环境内提取;
根据所述有效数据绘制二维数据矩阵作为所述实时状态信息,所述二维数据矩阵表示图像。
10.一种AI对象的行为模型优化装置,其特征在于,包括:
获取模块,用于获取AI对象所处的第一环境的第一实时状态信息;
处理模块,用于采用卷积神经网络提取所述获取模块获取到的所述第一实时状态信息的多维度特征信息,包括:将所述第一实时状态信息以预设格式传递给卷积神经网络中预设数目的卷积层,通过池化层和所述预设数目的卷积层提取所述第一实时状态信息得到降维特征值,所述降维特征值为二维数据,将所述降维特征值修改为一维数据作为所述特征信息;
将所述特征信息输入到深度强化学习网络的全连接网络,结合所述全连接网络中的各连接层的权重值,通过所述全连接网络的各连接层对所述特征信息进行取值,得到AI对象的动作策略;
反馈模块,用于将所述处理模块得到的所述动作策略反馈给所述AI对象,以使得所述AI对象执行所述动作策略;
所述获取模块,用于获取AI对象所处的第二环境的第二实时状态信息,所述第二环境为所述AI对象执行所述动作策略之后的环境;
所述处理模块,用于根据所述获取模块获取到的所述第二实时状态信息得到所述动作策略的回报值,所述回报值用于指示所述AI对象执行所述动作策略后环境发生变化后的状态情况值;若所述回报值符合预设条件,则确定所述学习网络的权重值为所述学习网络的目标权重值;根据所述目标权重值建立所述AI对象的行为模型。
11.一种AI对象控制设备,其特征在于,包括:
获取模块,用于获取AI对象所处的环境的实时状态信息;
处理模块,用于采用卷积神经网络提取所述实时状态信息的多维度特征信息,包括:将所述实时状态信息以预设格式传递给卷积神经网络中预设数目的卷积层,通过池化层和所述预设数目的卷积层提取所述实时状态信息得到降维特征值,所述降维特征值为二维数据,将所述降维特征值通修改为一维数据作为所述特征信息;
将所述特征信息输入到深度强化学习网络的全连接网络,结合所述全连接网络中的各连接层的权重值,通过所述全连接网络的各连接层对所述特征信息进行取值,得到AI对象的动作策略,所述各连接层的权重值为预置数值;
反馈模块,用于将所述处理模块得到的所述动作策略反馈给所述AI对象,以使得所述AI对象执行所述动作策略。
12.一种AI对象的行为模型建立装置,包括:
一个或多个处理器;
和,
存储器,所述存储器存储程序指令,所述指令当由所述一个或多个处理器执行时,配置所述装置执行根据权利要求1至权利要求6中任一项所述的AI对象的行为模型优化方法。
13.一种AI对象控制设备,包括:
一个或多个处理器;
和,
存储器,所述存储器存储程序指令,所述指令当由所述一个或多个处理器执行时,配置所述设备执行根据权利要求7至权利要求9中任一项所述的AI对象的控制方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/106507 WO2019075632A1 (zh) | 2017-10-17 | 2017-10-17 | 一种ai对象行为模型优化方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109843401A CN109843401A (zh) | 2019-06-04 |
CN109843401B true CN109843401B (zh) | 2020-11-24 |
Family
ID=66173024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780048483.4A Active CN109843401B (zh) | 2017-10-17 | 2017-10-17 | 一种ai对象行为模型优化方法以及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109843401B (zh) |
WO (1) | WO2019075632A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110327624B (zh) * | 2019-07-03 | 2023-03-17 | 广州多益网络股份有限公司 | 一种基于课程强化学习的游戏跟随方法和系统 |
CN110996158B (zh) * | 2019-12-26 | 2021-10-29 | 广州市百果园信息技术有限公司 | 一种虚拟物品的显示方法、装置、计算机设备和存储介质 |
CN111359212A (zh) * | 2020-02-20 | 2020-07-03 | 网易(杭州)网络有限公司 | 游戏对象控制、模型训练方法及装置 |
WO2020143847A2 (en) * | 2020-04-02 | 2020-07-16 | Alipay (Hangzhou) Information Technology Co., Ltd. | Determining action selection policies of an execution device |
CN111494959B (zh) * | 2020-04-22 | 2021-11-09 | 腾讯科技(深圳)有限公司 | 游戏操控方法、装置、电子设备及计算机可读存储介质 |
CN111729300A (zh) * | 2020-06-24 | 2020-10-02 | 贵州大学 | 基于蒙特卡洛树搜索和卷积神经网络斗地主策略研究方法 |
CN111901146B (zh) * | 2020-06-28 | 2023-07-18 | 北京可信华泰信息技术有限公司 | 一种对象访问的控制方法和装置 |
CN112044063B (zh) * | 2020-09-02 | 2022-05-17 | 腾讯科技(深圳)有限公司 | 游戏对象动态变化方法、装置、设备及存储介质 |
CN112382151B (zh) * | 2020-11-16 | 2022-11-18 | 深圳市商汤科技有限公司 | 一种线上学习方法及装置、电子设备及存储介质 |
CN112619125B (zh) * | 2020-12-30 | 2023-10-13 | 深圳市创梦天地科技有限公司 | 游戏人工智能模块的使用方法和电子设备 |
CN112783781A (zh) * | 2021-01-28 | 2021-05-11 | 网易(杭州)网络有限公司 | 游戏测试方法、装置、电子设备及存储介质 |
CN113209622A (zh) * | 2021-05-28 | 2021-08-06 | 北京字节跳动网络技术有限公司 | 动作的确定方法、装置、可读介质和电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106422332A (zh) * | 2016-09-08 | 2017-02-22 | 腾讯科技(深圳)有限公司 | 应用于游戏的人工智能操作方法和装置 |
CN106970615A (zh) * | 2017-03-21 | 2017-07-21 | 西北工业大学 | 一种深度强化学习的实时在线路径规划方法 |
CN107066553A (zh) * | 2017-03-24 | 2017-08-18 | 北京工业大学 | 一种基于卷积神经网络与随机森林的短文本分类方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10142909B2 (en) * | 2015-10-13 | 2018-11-27 | The Board Of Trustees Of The University Of Alabama | Artificial intelligence-augmented, ripple-diamond-chain shaped rateless routing in wireless mesh networks with multi-beam directional antennas |
CN106599198B (zh) * | 2016-12-14 | 2021-04-06 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种多级联结循环神经网络的图像描述方法 |
CN106777125B (zh) * | 2016-12-16 | 2020-10-23 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种基于神经网络及图像关注点的图像描述生成方法 |
-
2017
- 2017-10-17 WO PCT/CN2017/106507 patent/WO2019075632A1/zh active Application Filing
- 2017-10-17 CN CN201780048483.4A patent/CN109843401B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106422332A (zh) * | 2016-09-08 | 2017-02-22 | 腾讯科技(深圳)有限公司 | 应用于游戏的人工智能操作方法和装置 |
CN106970615A (zh) * | 2017-03-21 | 2017-07-21 | 西北工业大学 | 一种深度强化学习的实时在线路径规划方法 |
CN107066553A (zh) * | 2017-03-24 | 2017-08-18 | 北京工业大学 | 一种基于卷积神经网络与随机森林的短文本分类方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2019075632A1 (zh) | 2019-04-25 |
CN109843401A (zh) | 2019-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109843401B (zh) | 一种ai对象行为模型优化方法以及装置 | |
US20230089380A1 (en) | Neural network construction method and apparatus | |
CN109478239B (zh) | 检测图像中的对象的方法和对象检测系统 | |
KR102523888B1 (ko) | 가상 환경에서 가상 객체를 스케줄링하기 위한 방법, 장치 및 디바이스 | |
WO2022083536A1 (zh) | 一种神经网络构建方法以及装置 | |
US11135514B2 (en) | Data processing method and apparatus, and storage medium for concurrently executing event characters on a game client | |
US10885660B2 (en) | Object detection method, device, system and storage medium | |
JP2019510325A (ja) | マルチモーダルデジタル画像を生成する方法及びシステム | |
CN111176820B (zh) | 一种基于深度神经网络的边缘计算任务的分配方法及装置 | |
WO2022068623A1 (zh) | 一种模型训练方法及相关设备 | |
CN111105034B (zh) | 基于反事实回报的多智能体深度强化学习方法、系统 | |
JP2018535491A (ja) | 画像のセマンティックセグメンテーションのためのシステム及びコンピューター実施方法、並びに非一時的コンピューター可読媒体 | |
US20190114541A1 (en) | Method and system of controlling computing operations based on early-stop in deep neural network | |
CN108090561A (zh) | 存储介质、电子装置、游戏操作的执行方法和装置 | |
JP7013489B2 (ja) | 学習装置、実写画像分類装置の生成システム、実写画像分類装置の生成装置、学習方法及びプログラム | |
CN111292262B (zh) | 图像处理方法、装置、电子设备以及存储介质 | |
WO2022012668A1 (zh) | 一种训练集处理方法和装置 | |
CN111931901A (zh) | 一种神经网络构建方法以及装置 | |
CN112580662A (zh) | 一种基于图像特征识别鱼体方向的方法及系统 | |
CN111126254A (zh) | 图像识别方法、装置、设备及存储介质 | |
CN115018039A (zh) | 一种神经网络蒸馏方法、目标检测方法以及装置 | |
WO2022156475A1 (zh) | 神经网络模型的训练方法、数据处理方法及装置 | |
WO2022127603A1 (zh) | 一种模型处理方法及相关装置 | |
JP2021527859A (ja) | 深層領域拡張を使用した画像内の不規則形状のセグメント化 | |
US20220335293A1 (en) | Method of optimizing neural network model that is pre-trained, method of providing a graphical user interface related to optimizing neural network model, and neural network model processing system performing the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |