CN108465244A - 用于竞速类ai模型的ai参数配置方法、装置、设备及存储介质 - Google Patents
用于竞速类ai模型的ai参数配置方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN108465244A CN108465244A CN201810299375.0A CN201810299375A CN108465244A CN 108465244 A CN108465244 A CN 108465244A CN 201810299375 A CN201810299375 A CN 201810299375A CN 108465244 A CN108465244 A CN 108465244A
- Authority
- CN
- China
- Prior art keywords
- fitness
- parameters
- sets
- parameter
- models
- 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.)
- Granted
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
- A63F13/795—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for finding other players; for building a team; for providing a buddy list
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/803—Driving vehicles or craft, e.g. cars, airplanes, ships, robots or tanks
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/56—Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/67—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
-
- 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/5546—Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
- A63F2300/5566—Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history by matching opponents or finding partners to build a team, e.g. by skill level, geographical area, background, play style
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Genetics & Genomics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Physiology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种用于竞速类AI模型的AI参数配置方法、装置、设备及存储介质,属于人工智能领域。该方法包括:获取第n代参数集合,每代参数集合中包含m套AI参数,每套AI参数用于指示赛车AI模型在赛道上的行进方式,n≥1,m≥2;根据m套AI参数控制赛车AI模型进行m次适应度测试,得到m个适应度,适应度与赛车AI模型根据AI参数在赛道上的行进距离呈正相关关系;若m个适应度均小于适应度阈值,则根据第n代参数集合生成第n+1代参数集合;若m个适应度中存在大于适应度阈值的目标适应度,则将目标适应度对应的AI参数配置为目标AI参数。本申请实施例采用遗传算法实现AI参数的自动调整,提高了调整及配置AI参数的效率。
Description
技术领域
本申请实施例涉及人工智能(Artificial Intelligence,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参数配置方法,所述方法包括:
获取第n代参数集合,每代参数集合中包含m套AI参数,每套AI参数用于指示赛车AI模型在赛道上的行进方式,n≥1,m≥2;
根据所述m套AI参数控制所述赛车AI模型进行m次适应度测试,得到m个适应度,所述适应度与所述赛车AI模型根据所述AI参数在赛道上的行进距离呈正相关关系;
若所述m个适应度均小于适应度阈值,则根据所述第n代参数集合生成第n+1代参数集合;
若所述m个适应度中存在大于所述适应度阈值的目标适应度,则将所述目标适应度对应的AI参数配置为目标AI参数。
第二方面,提供了一种用于竞速类AI模型的AI参数配置装置,所述装置包括:
获取模块,用于获取第n代参数集合,每代参数集合中包含m套AI参数,每套AI参数用于指示赛车AI模型在赛道上的行进方式,n≥1,m≥2;
测试模块,用于根据所述m套AI参数控制所述赛车AI模型进行m次适应度测试,得到m个适应度,所述适应度与所述赛车AI模型根据所述AI参数在赛道上的行进距离呈正相关关系;
生成模块,用于当所述m个适应度均小于适应度阈值时,根据所述第n代参数集合生成第n+1代参数集合;
配置模块,用于当所述m个适应度中存在大于所述适应度阈值的目标适应度时,将所述目标适应度对应的AI参数配置为目标AI参数。
第三方面,提供了一种AI参数配置设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器执行以实现如第一方面所述的用于竞速类AI模型的AI参数配置方法。
第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器执行以实现如第一方面所述的用于竞速类AI模型的AI参数配置方法。
第五方面,提供了一种计算机程序产品,当该计算机程序产品被执行时,其用于执行上述第一方面所述的用于竞速类AI模型的AI参数配置方法。
本申请实施例提供的技术方案带来的有益效果包括:
通过获取包含m套AI参数的第n代参数集合,并根据m套AI参数控制赛车AI模型进行m次适应度测试,从而在测试得到的m个适应度均小于适应度阈值时,根据第n代参数集合生成第n+1代参数集合并进行下一轮适应度测试,直至测试得到的m个适应度中存在大于适应度阈值的目标适应度时,根据目标适应度对应的AI参数完成目标AI参数配置;相较于通过人工调整AI参数,采用遗传算法实现AI参数的自动调整,提高了调整及配置AI参数的效率;并且,采用遗传算法调整AI参数时的参数覆盖率更高,有利于提高AI参数的质量。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了服务器匹配游戏AI过程的实施示意图;
图2是本申请实施例提供的AI参数配置方法的流程示意图;
图3示出了本申请一个实施例提供的AI参数配置方法的流程图;
图4是对曲线进行值编码的实施示意图;
图5示出了本申请另一个实施例提供的AI参数配置方法的流程图;
图6示出了本申请另一个实施例提供的AI参数配置方法的流程图;
图7是对母体AI参数进行单点交叉操作的实施示意图;
图8是对母体AI参数进行双点交叉操作的实施示意图;
图9是对AI参数进行突变操作的实施示意图;
图10是图5所示AI参数配置方法所涉及的适应度测试过程的流程图;
图11是调取相关代码模块进行适应度测试的实施示意图;
图12是用于表示迭代次数与适应度之间对应关系的曲线图;
图13示出了本申请另一个实施例提供的AI参数配置方法的流程图;
图14示出了本申请另一个实施例提供的AI参数配置方法的流程图;
图15示出了本发明一个实施例提供的AI参数配置装置的框图;
图16示出了本发明一个实施例提供的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所示,当玩家A和玩家B向游戏服务器11发起匹配请求时,由于游戏服务器11接收到的匹配请求数低于最低请求数4,因此,游戏服务器11指示玩家A使用的终端控制赛车12,指示玩家B使用的终端控制赛车13的同时,还指示玩家A或玩家B使用的终端控制AI赛车14和15,确保同一对局中有四辆赛车进行对战。
为了使AI赛车更加真实模拟出人为操控的效果,开发人员需要预先为赛车AI模型配置一套AI参数,以便赛车AI模型根据该AI参数在赛道上行进。本申请各个实施例提供的AI参数配置方法即应用于AI参数的调整配置阶段。
本申请各个实施例提供的AI参数配置方法由AI参数配置设备执行,该设备可以是台式计算机、个人便携式计算机或服务器。在一种可能的实现方式中,该AI参数配置设备为竞速类游戏应用的后台服务器,在竞速类游戏应用上线前,服务器即通过遗传算法,针对不同赛道调整并配置出不同的AI参数,以便赛车AI模型在赛道上根据相应的AI参数行进。
相关技术中,为了配置一套高质量的AI参数,开发人员需要重复“调整AI参数→查看分析效果→调整AI参数”这一流程,在涉及AI参数较多的情况下,需要耗费大量的人力和时间;并且,人工调整配置AI参数的参数覆盖率不足,导致赛车AI模型根据最终配置的AI参数在赛道上行进的效果不佳,即无法配置出高质量的AI参数(无法与高水平的玩家进行对局)。
而本申请实施例中,采用基于遗传算法的AI参数配置方法实现了AI参数的自动化调整配置。如图2所示,初始化m套AI参数后,AI参数配置设备自动根据AI参数进行m次适应度测试,并在AI参数的适应度未达到目标时,选取其中两套AI参数作为母体AI参数,对母体AI参数进行交叉突变,从而生成两套子代AI参数。重复执行m/2次后,AI参数配置设备生成新的m套AI参数。AI参数配置设备迭代执行上述步骤,直至得到适应度符合目标的AI参数。下面采用示意性的实施例进行说明。
请参考图3,其示出了本申请一个实施例提供的AI参数配置方法的流程图。本实施例以该AI参数配置方法应用于AI参数配置设备来举例说明,该方法可以包括以下几个步骤:
步骤301,获取第n代参数集合,每代参数集合中包含m套AI参数,每套AI参数用于指示赛车AI模型在赛道上的行进方式,n≥1,m≥2。
其中,第一代参数集合中的m套AI参数由AI参数配置设备随机生成,或,由开发人员根据经验设置,后续各代参数集合中的AI参数则是基于上一代参数集合中的AI参数生成。
为了能够按照基因的方式对AI参数进行遗传迭代,首先需要对复杂的AI参数进行编码,得到相应的基因序列。常用的编码方式包括二进制编码和值编码,其中,采用二进制编码时,AI参数被编码为二进制字符串;采用值编码时,AI参数则被编码为参数值组合。
然而,采用二进制编码时,进行交叉突变时可能会产生不合理的参数,导致遗传算法的收敛速度较慢,因此,为了避免在交叉突变中产生不合理的参数,从而提高遗传算法的收敛速度,本申请实施例中,AI参数采用值编码。
其中,该AI参数包含指示赛车AI模型行进方式以及行进策略的相关参数。
在一种可能的实施方式中,该AI参数中包括距离、角度、速度、布尔值等参数类型。可选的,距离参数表示赛车AI模型与赛道边界之间的安全距离,即当赛车AI模型与赛道边界间的距离小于该安全距离时,赛车AI模型即调整行进角度以远离赛道边界;角度参数表示赛车AI模型的入弯时速度与车头方向的夹角;速度参数表示赛车AI模型的入弯速度;布尔值表示赛车AI模型是否采用预定策略(比如是否采用快速过弯策略)。
在其他可能的实施方式中,当AI参数中包含指示参数间对应关系的曲线时,采用插值曲线的方式进行编码。采用插值曲线进行编码时,首先确定曲线中的三个插值点,然后对三个插值点的坐标以及斜率进行编码。采用这一方法,一条曲线即可被编码为一系列的曲线参数。
比如,如图4所示,曲线41用于表示当前速度与导航点距离之间的对应关系。基于曲线41,赛车AI模型查找到当前速度下距离下一导航点的距离,从而根据距离确定出赛道上的导航点,进而根据导航点与当前速度方向的夹角确定是否需要进行转向。对曲线41进行值编码时,即确定曲线41中的插值点P0、P1和P2,并将P0、P1和P2的坐标以及斜率作为曲线参数进行编码。
在一个示意性的例子中,经过编码的AI参数如表一所示。
表一
参数类型 | 距离 | 角度 | 速度 | 布尔值 | 曲线参数1 | 曲线参数2 | 曲线参数3 | … |
AI参数 | 120m | 30° | 200km/s | True | 100° | 200° | 123° | … |
需要说明的是,本实施例仅以AI参数中包括上述参数类型为例进行示意性说明,在实际应用过程中,开发人员可以根据需求设置除上述参数类型外的其他参数,本申请实施例并不对AI参数中包含的具体参数类型构成限定。
步骤302,根据m套AI参数控制赛车AI模型进行m次适应度测试,得到m个适应度,适应度与赛车AI模型根据AI参数在赛道上的行进距离呈正相关关系。
为了量化出各套AI参数对赛道的适应程度,AI参数配置设备根据各套AI参数控制赛车AI模型在赛道上行进,从而根据行进结果确定出各套AI参数的适应度。
其中,AI参数的适应度越高,表示单位时长内,赛车AI模型根据该AI参数在赛道上的行进距离越远,反之,表示赛车AI模型根据该AI参数在赛道上的行进距离越近。
在一种可能的实施方式中,AI参数配置设备根据各套AI参数控制赛车AI模型在赛道上行进单位时长,并根据单位时长内的行进距离确定各套AI参数的适应度;或者,AI参数配置设备根据各套AI参数控制赛车AI模型在赛道上行进单位距离,并根据行进单位距离所用时长确定各套AI参数的适应度。
步骤303,若m个适应度均小于适应度阈值,则根据第n代参数集合生成第n+1代参数集合。
对每代参数集合进行适应度测试后,AI参数配置设备检测各个适应度与适应度阈值之间的大小关系,若m个适应度均小于适应度阈值,则确定第n代参数集合中不存在符合预期的AI参数,从而根据第n代参数集合迭代生成第n+1代参数集合,并进一步对第n+1代参数集合进行适应度测试(即循环执行步骤301和302)。可选的,该适应度阈值为单位时长内,赛车AI模型在赛道上的目标行进距离。
可选的,为了加快遗传算法的收敛速度,从而缩短AI参数的配置时长,AI参数配置设备通过预设加速收敛策略生成第n+1代参数集合。其中,加速收敛策略包括:精英主义、灾变策略、突变策略和母体AI参数选择策略中的至少一种。
步骤304,若m个适应度中存在大于适应度阈值的目标适应度,则将目标适应度对应的AI参数配置为目标AI参数。
若m个适应度中存在至少一个目标适应度大于适应度阈值,AI参数配置设备则确定第n代参数集合中存在符合预期的AI参数,从而将目标适应度对应的AI参数配置为目标AI参数,并停止迭代。
可选的,AI参数配置设备将最高适应度对应的AI参数确定为目标AI参数。
综上所述,本实施例中,通过获取包含m套AI参数的第n代参数集合,并根据m套AI参数控制赛车AI模型进行m次适应度测试,从而在测试得到的m个适应度均小于适应度阈值时,根据第n代参数集合生成第n+1代参数集合并进行下一轮适应度测试,直至测试得到的m个适应度中存在大于适应度阈值的目标适应度时,根据目标适应度对应的AI参数完成目标AI参数配置;相较于通过人工调整AI参数,采用遗传算法实现AI参数的自动调整,提高了调整及配置AI参数的效率;并且,采用遗传算法调整AI参数时的参数覆盖率更高,有利于提高AI参数的质量。
另外,本实施例提供了一种适用于赛车AI参数的编码方式。相较于二进制编码,本实施例采用值编码的方式对赛车的AI参数进行编码,能够降低后续进行交叉突变时产生无效参数组合的概率,进一步提高了遗传算法的收敛速度。
生物进化的关键在于基因遗传,本申请实施例中,AI参数配置设备则是通过选取母体AI参数,并对母体AI参数进行交叉突变的方式,将母体AI参数遗传给子代AI参数。并且,为了提高优秀AI参数(优秀基因)遗传给子代的概率,从而加快收敛速度,AI参数配置设备通过预定选取策略从参数集合中选取母体AI参数。下面采用示意性的实施例进行说明。
请参考图5,其示出了本申请另一个实施例提供的AI参数配置方法的流程图。本实施例以该AI参数配置方法应用于AI参数配置设备来举例说明,该方法可以包括以下几个步骤:
步骤501,获取第n代参数集合,每代参数集合中包含m套AI参数,每套AI参数用于指示赛车AI模型在赛道上的行进方式,n≥1,m≥2。
本步骤的实施方式与上述步骤301相似,本实施例在此不再赘述。
比如,AI参数配置设备获取到的参数集合中包含50套AI参数。为了方便举例,下述实施例中,均以每代参数集合中包含50套AI参数进行说明。
步骤502,根据m套AI参数控制赛车AI模型进行m次适应度测试,得到m个适应度,适应度与赛车AI模型根据AI参数在赛道上的行进距离呈正相关关系。
本步骤的实施方式与上述步骤302相似,本实施例在此不再赘述。
比如,AI参数配置设备每次选取一套AI参数,并根据AI参数控制赛车AI模型在赛道上行进一分钟,并将一分钟内赛车AI模型的行进距离确定为适应度,最终得到50个适应度。为了方便举例,下述实施例中,均以适应度为一分钟内赛车AI模型的行进距离进行说明。
步骤503,若m个适应度均小于适应度阈值,则根据m个适应度,从m套AI参数中选择两套母体AI参数。
在一种可能的实施方式中,AI参数配置设备随机从m套AI参数中选择两套AI参数作为母体AI参数,即各套AI参数被选择的概率均为1/m。
然而,由于m套AI参数中存在适应度较低的AI参数,而将适应度较低的AI参数作为母体进行遗传迭代时,生成的子代AI参数的适应度通常较低,进而影响遗传算法的收敛速度。因此,为了提高高适应度AI参数被选取的概率,从而提高遗传算法的收敛速度,AI参数配置设备根据各套AI参数的适应度,为不同的AI参数分配不同的选取概率,其中,AI参数的适应度越高,该AI参数的选取概率越高。
在一种可能的实施方式中,AI参数配置设备将AI参数的选取概率设置为:AI参数对应适应度占所属参数集合中适应度总和的比例。其数学表达式为:
其中,P(k)为第k套AI参数的选取概率,F(k)为第k套AI参数的适应度,m为参数集合中AI参数的总套数。
比如,参数集合中包含5套AI参数,每套AI参数的适应度如表二所示。
表二
根据表二所示的数据,第一套AI参数的选取概率即为3000/17500=17%,第二套AI参数的选取概率即为3200/17500=18%,第三套AI参数的选取概率即为3500/17500=20%,第四套AI参数的选取概率即为3800/17500=22%,第五套AI参数的选取概率即为4000/17500=23%。
然而,采用上述方式设置AI参数的选取概率,当AI参数对应适应度的差异较小时,各套AI参数的选取概率较为接近,导致收敛速度较慢。为了进一步提高高适应度AI参数的选取概率,提高收敛速度,可选的,如图6所示,本步骤可以包括如下步骤。
步骤503A,计算m个适应度与预设适应度之间的适应度差值,预设适应度小于等于m个适应度中的最低适应度。
可选的,计算得到m个适应度后,AI参数配置设备获取m个适应度中的最低适应度,并确定出一个小于等于该最低适应度的预设适应度。确定出预设适应度后,AI参数配置设备即计算各个适应度与该预设适应度之间的适应度差值。
结合表二中的数据,AI参数配置设备将最低适应度3000确定为最低适应度,计算得到适应度差值如表三所示。
表三
AI参数编号 | 适应差值(米) | 选取概率 |
1 | 3000-3000=0 | 0/2500=0% |
2 | 3200-3000=200 | 200/2500=8% |
3 | 3500-3000=500 | 500/2500=20% |
4 | 3800-3000=800 | 800/2500=32% |
5 | 4000-3000-1000 | 1000/2500=40% |
需要说明的是,为了避免高适应度AI参数的选取概率过大,影响AI参数的遗传多样性,通常情况下,预设适应度小于m个适应度中的最低适应度。比如,预设适应度被设置为2000。
步骤503B,根据适应度差值,确定m个适应度中各个适应度对应的AI参数的选取概率,选取概率与所述适应度差值呈正相关关系。
进一步的,AI参数配置设备根据AI参数对应适应度差值占适应度差值总和的比例,确定各套AI参数的选取概率。其数学表达式为:
其中,P(k)为第k套AI参数的选取概率,F(k)为第k套AI参数的适应度,m为参数集合中AI参数的总套数,F为预设适应度。
根据表三所示的数据,第一套AI参数的选取概率即为0/2500=0%,第二套AI参数的选取概率即为200/2500=8%,第三套AI参数的选取概率即为500/2500=20%,第四套AI参数的选取概率即为800/2500=32%,第五套AI参数的选取概率即为1000/2500=40%。
步骤503C,根据选取概率从m套AI参数中选择两套母体AI参数。
根据各套AI参数对应的选取概率,AI参数配置设备从m套AI参数中选择两套AI参数作为母体AI参数,用于后续生成第n+1代参数集合中的子代AI参数。
步骤504,对两套母体AI参数进行交叉和突变,得到两套子代AI参数。
根据母体AI参数生成子代AI参数包括交叉和突变两步操作,其中,交叉操作用于将母体基因遗传至子代,保证优秀AI参数得以遗传至下一代,突变操作用于突破母体基因范畴,实现进化。如图6所示,本步骤可以包括如下步骤。
步骤504A,采用预定交叉方式对两套母体AI参数中的参数值进行交叉操作,预定交叉方式包括单点交叉和双点交叉。
可选的,当采用单点交叉时,AI参数配置设备确定两套母体AI参数中相同位置的交叉点,并对该交叉点之后的参数进行交换。
示意性的,如图7所示,AI参数配置设备确定交叉点位于第三个参数,从而将第一AI参数和第二AI参数中,第四至最后一个参数进行交换,得到第三AI参数和第四AI参数。
可选的,当采用双点交叉时,AI参数配置设备确定两套母体AI参数中的第一交叉点和第二交叉点,并对第一交叉点和第二交叉点之间的参数进行交换。
示意性的,如图8所示,AI参数配置设备确定第一交叉点位于第三个参数,第二交叉点位于第六个参数,从而将第一AI参数和第二AI参数中,第四至第六个参数(分别为True、100、200,False、230、110)进行交换,得到第三AI参数和第四AI参数。
步骤504B,根据预设突变概率,对交叉操作后所述两套母体AI参数中的参数值进行突变操作,得到两套子代参数,其中,经过突变操作的参数值的突变量属于预设突变量范围。
完成交叉操作后,AI参数配置设备即根据预设突变概率对AI参数中的AI参数进行突变操作。通常情况下,该预设突变概率由开发人员根据经验设置,从而避免过高突变概率导致的随机性以及过低突变概率导致的局部最优解。比如,该预设突变概率被设置为0.1%。
在实际应用过程中发现,对AI参数进行盲目的突变操作将会产生无效参数组合,影响遗传收敛速度。可选的,对AI参数进行突变操作时,AI参数配置设备控制参数的突变量,即确保经过突变操作的参数值的突变量属于预设突变量范围,从而避免盲目突变操作时产生无效参数,进而提高收敛速度。
在一种可能的实施方式中,针对不同类型的参数,AI参数配置设备预先设置对应的突变量。比如,将角度参数的突变量设置为-30°至30°,将夹角参数(比如赛车车头与速度方向的夹角)的突变量设置为-90°至90°,将速度参数的突变量设置为-50km/h至50km/h,将参数放大倍率设置为0.1至3倍。
在其他可能的实施方式中,AI参数配置设备针对不同类型的参数设置的参数范围。比如,将角度参数的参数范围设置为0至360°,将速度参数的参数范围设置为0km/h至300km/h。
示意性的,如图9所示,AI参数配置设备对第三AI参数中第三个参数(速度参数)进行突变操作时,根据速度参数对应的突变量范围-50km/h至50km/h,将第三个参数突变为250。
通过上述步骤后,AI参数配置设备即根据两套母体AI参数生成两套子代AI参数。
步骤505,将两套子代AI参数添加到第n+1代参数集合。
AI参数配置设备将生成的两套子代AI参数添加到第n+1代参数集合中,重复执行步骤503和504达到m/2次后,第n+1代参数集合中即包含m套AI参数。
比如,AI参数配置设备重复执行上述步骤25次后,即得到包含50套AI参数的第n+1代参数集合。
对于生成的第n+1代参数集合,AI参数配置设备重复执行上述步骤501至502,直至参数集合中至少一套AI参数的适应度大于适应度阈值。
步骤506,若m个适应度中存在大于适应度阈值的目标适应度,则将目标适应度对应的AI参数配置为目标AI参数。
本步骤的实施方式与上述步骤304相似,本实施例在此不再赘述。
本实施例中,对母体AI参数的选取方式进行了优化,采用基于AI参数适应度与预设适应度之间适应度差值的方式,确定各套AI参数的选取概率;相较于直接根据AI参数适应度确定AI参数的选取概率,能够降低低适应度AI参数的选取概率,并提高高适应度AI参数的选取概率,从而提高子代AI参数遗传优秀基因的概率,进而提高遗传算法的收敛速度,加快AI参数的配置速度。
另外,本实施例中,对AI参数进行突变操作时,AI参数配置设备控制参数的突变量,确保经过突变操作的参数值的突变量属于预设突变量范围,从而避免盲目突变操作时产生无效参数,进而提高了收敛速度。
在初始阶段,由于AI参数具有一定的随机性,而赛车AI模型根据较差的AI参数(适应度较低的AI参数)在赛道上行进时,可能需要花费较长时间才能达到单位行进距离,因此,采用“计算行进单位距离所用时长”这一方式确定AI参数的适应度时,测试时长不可控。鉴于上述原因,本申请实施例中,AI参数配置设备采用“计算单位时长内的行进距离”这一方式确定AI参数的适应度。在图5所示实施例的基础上,如图10所示,步骤502包括如下步骤。
步骤502A,调用赛车AI模型的相关代码模块。
实现游戏应用的代码模块众多,若调用所有代码模块进行适应度测试,将消耗不必要的计算资源,并影响测试速度。因此,为了降低计算量,提高测试速度,AI参数测试设备仅调用赛车AI模型的相关代码模块进行适应度测试。
可选的,相关代码模块至少包括AI代码模块、赛车代码模块和物理代码模块,其中,AI代码模块用于根据AI参数控制赛车AI模型在赛道上行进,赛车代码模块用于更新赛车AI模型在赛道上的位置(即更新赛车AI模型的行进距离),物理代码模块用于处理赛车AI模型与赛道之间的碰撞。
示意性的,如图11所示,游戏应用中包括网络代码模块111、AI代码模块112、赛车代码模块113、物理代码模块114、用户界面(User Interface,UI)代码模块115以及渲染代码模块116。其中,网络代码模块111负责网络通信(比如从服务器接收或向服务器发送数据),UI代码模块115负责构建UI,渲染代码模块116负责对构建的UI进行渲染显示。然而,在进行适应度测试时,上述代码模块并不会对测试结果产生影响。因此,AI参数配置设备仅调用其中的AI代码模块112、赛车代码模块113和物理代码模块114进行适应度测试。
需要说明的是,本实施例仅以赛车AI模型的相关代码模块包括AI代码模块、赛车代码模块和物理代码模块为例进行示意性说明,在其他可能的实施方式中,赛车AI模型还可以包括其他类型的相关代码模块,例如,当赛道会发生变化时,相关代码模块还包括赛道代码模块,本申请实施例并不对此构成限定。
步骤502B,将m套AI参数输入相关代码模块,并行控制m个赛车AI模型进行预定时长的适应度测试。
采用“计算单位时长内的行进距离”这一方式确定AI参数的适应度时,AI参数配置设备根据AI参数控制赛车AI模型在赛道上行进单位时长t,然后根据赛车AI模型的行进距离确定AI参数的适应度,该单位时长可以为1分钟。
然而,采用遗传算法通常需要经过10万次以上的迭代才能得到预期效果,若采用串行的方式控制赛车AI模型进行适应度测试,将耗费极长时间(每一次迭代所耗费的适应度测试时间为m*t),这显然不符合快速配置AI参数的需求。
为了进一步提高适应度测试的速度,AI参数配置设备采用并行的方式,同时控制m个赛车AI模型进行适应度测试。比如,当参数集合中包含50套AI参数时,AI参数配置设备同时控制50个赛车AI模型进行适应度测试。
可选的,为了避免赛车AI模型之间发生碰撞,从而影响测试效果,在进行适应度测试时,AI参数配置设备关闭赛车间的碰撞机制。
由于仅调用相关代码模块进行适应度测试,因此预定时长可以被进一步压缩。示意性的,如图11所示,通过调用AI代码模块112、赛车代码模块113和物理代码模块114,AI参数配置设备将原本1分钟的测试时长压缩至1s,在1s内,AI参数配置设备实现了单帧更新1800次(实际游戏过程中画面时30帧/秒,因此将1分钟压缩至1秒需要单帧更新1800次)。
步骤502C,根据赛车AI模型在赛道上的行进距离确定适应度。
在一种可能的实施方式中,AI参数配置设备直接将赛车AI模型的行进距离确定为AI参数的适应度。比如,当赛车AI模型根据AI参数行进的行进距离为3000m时,则该AI参数的适应度为3000。
本实施例中,仅调用赛车AI模型的相关代码模块,并采用并行的方式同时控制多个赛车AI模型进行适应度测试,进一步压缩了适应度测试的耗时,有助于提高AI参数的配置速度。
通过上述方式进行AI参数配置时,每隔100代进行采样,得到如图12所示迭代次数与适应度之间的对应关系。对图12分析发现,采用上述方式配置AI参数时,每代参数集合中的最优AI参数在迭代过程中丢失(表现为最高适应度存在下降);并且整体的收敛速度偏慢。为了解决上述问题,在遗传迭代过程中,AI参数配置设备引入了精英主义和灾变策略。可选的,在图5的基础上,如图13所示,步骤503之前还包括如下步骤:
步骤507,若m个适应度均小于适应度阈值,对m个适应度进行降序排序。
为了将当前参数集合中适应度较高的AI参数遗传至下一代参数集合,从而避免最高适应度在迭代过程中下降,进而提高迭代速度,AI参数配置设备对测试得到m个适应度进行降序排序。
步骤508,将排序后前k个适应度对应的k套AI参数添加到第n+1代参数集合,1≤k<m,k为整数。
进一步的,AI参数配置设备采用精英主义,将排序后前k个适应度对应的k套AI参数添加到第n+1代参数集合中,即将适应度较高的AI参数直接复制到下一代。
比如,AI参数配置设备将适应度最高的两套AI参数添加到下一代参数集合中。
完成高适应度AI参数添加后,AI参数配置设备进一步通过选取母体AI参数并生成子代AI参数(即步骤503至505)的方式,生成包含m套AI参数的参数集合。
通过精英主义可以提高迭代的收敛速度,但是会降低参数集合中AI参数的多样性,导致后续迭代过程中陷入局部最优解。为了在提高收敛速度的同时,避免陷入局部最优解,AI参数配置设备在迭代过程中引入了灾变策略。可选的,在图13的基础上,如图14所示,上述步骤502之后,还包括如下步骤。
步骤509,每隔i代参数集合,获取i代参数集合的最大适应度。
为了确定是否陷入局部最优解,迭代过程中,AI参数配置设备每隔i代参数集合,获取最近i代参数集合的最大适应度。
比如,AI参数配置设备每隔100代参数集合,获取最近100代参数集合的最大适应度。
步骤510,检测最大适应度的提升幅度是否小于幅度阈值。
对于获取到的i个最大适应度,AI参数配置设备i个最大适应度的提升幅度是否小于幅度阈值,若小于,则确定陷入局部最优解,并通过下述步骤511进行灾变处理;若大于,则确定未陷入局部最优解,继续执行步骤507。其中,该幅度阈值可以采用比值或差值的形式。当采用比值表示时,该幅度阈值为20%;当采用差值表示时,该幅度阈值为1000。
在一种可能的实施方式中,当迭代过程中引入了精英主义时,由于每代参数集合的适应度呈上升趋势,因此,AI参数配置设备通过计算当前参数集合的最大适应度与前i代参数集合的最大适应度的比值,确定最大适应度的提升幅度。比如,当前参数集合为第1000代参数集合,且i=100,AI参数配置设备将(第1000代参数集合的最大适应度/第900代参数集合的最大适应度-1)确定为幅度阈值。
步骤511,若提升幅度小于幅度阈值,则对第n代参数集合进行灾变处理。
AI参数配置设备中设置有小灾变和大灾变两种灾变策略。在一种可能的实现方式中,当适应度的提升幅度小于幅度阈值,且第n代参数集合的最大适应度与适应度阈值的差值小于预设差值阈值(即适应度接近预期时),AI参数配置设备对第n代参数集合进行小灾变处理;当应度的提升幅度小于幅度阈值,且第n代参数集合的最大适应度与适应度阈值的差值大于预设差值阈值(即适应度远未达到预期时),AI参数配置设备对第n代参数集合进行大灾变处理。比如,该差值阈值为1500。
可选的,对第n代参数集合进行小灾变处理时,AI参数配置设备对m个适应度进行降序排序,并删除将排序后前j个适应度对应的j套AI参数,1≤j<m,j为整数。后续AI参数配置设备即基于灾变处理后的参数集合生成下一代参数集合。
比如,进行小灾变处理时,AI参数配置设备删除当前参数集合中适应度最高的前2套AI参数。
可选的,对第n代参数集合进行大灾变处理时,AI参数配置设备将第n代参数集合中各套AI参数的突变概率上调预定数值,其中,上调突变概率后,根据第n代参数集合生成第n+1代参数集合时发生参数突变的概率增加。
当较低的突变概率无法使迭代脱离局部最优解时,AI参数配置设备即通过大灾变操作,提高生成下一代参数集合时各套AI参数的突变概率,从而借助较高的突变概率使迭代脱离局部最优解,达到全局最优解。
比如,预设突变概率为0.1%,当进行大灾变处理时,AI参数配置设备将预设突变概率上调至5%。
在其他可能的实施方式中,AI参数配置设备也可以每隔预定迭代时长或每隔预定迭代次数自动进行灾变处理,本申请实施例并不对此进行限定。
本实施例中,AI参数配置设备通过精英主义,将最优AI参数直接遗传给下一代,提高了迭代收敛速度;同时,AI参数配置设备通过计算适应度的提升幅度,确定迭代是否陷入局部最优解,并在陷入局部最优解时,通过灾变处理使迭代脱离局部最优解,进而达到全局最优解,进一步提高了迭代的收敛速度。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
请参考图15,其示出了本发明一个实施例提供的AI参数配置装置的框图。该装置可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以包括:
获取模块1510,用于获取第n代参数集合,每代参数集合中包含m套AI参数,每套AI参数用于指示赛车AI模型在赛道上的行进方式,n≥1,m≥2;
测试模块1520,用于根据所述m套AI参数控制所述赛车AI模型进行m次适应度测试,得到m个适应度,所述适应度与所述赛车AI模型根据所述AI参数在赛道上的行进距离呈正相关关系;
生成模块1530,用于当所述m个适应度均小于适应度阈值时,根据所述第n代参数集合生成第n+1代参数集合;
配置模块1540,用于当所述m个适应度中存在大于所述适应度阈值的目标适应度时,将所述目标适应度对应的AI参数配置为目标AI参数。
可选的,所述生成模块1430,包括:
选择单元,用于根据所述m个适应度,从所述m套AI参数中选择两套母体AI参数;
交叉突变单元,用于对所述两套母体AI参数进行交叉和突变,得到两套子代AI参数;
第一添加单元,用于将所述两套子代AI参数添加到所述第n+1代参数集合。
可选的,所述选择单元,用于:
计算所述m个适应度与预设适应度之间的适应度差值,所述预设适应度小于等于所述m个适应度中的最低适应度;
根据所述适应度差值,确定所述m个适应度中各个适应度对应的AI参数的选取概率,所述选取概率与所述适应度差值呈正相关关系;
根据所述选取概率从所述m套AI参数中选择所述两套母体AI参数。
可选的,所述m套AI参数采用数值编码,所述交叉突变单元,用于:
采用预定交叉方式对所述两套母体AI参数中的参数值进行交叉操作,所述预定交叉方式包括单点交叉和双点交叉;
根据预设突变概率,对交叉操作后所述两套母体AI参数中的参数值进行突变操作,得到所述两套子代参数,其中,经过突变操作的参数值的突变量属于预设突变量范围。
可选的,所述测试模块1520,包括:
调用单元,用于调用所述赛车AI模型的相关代码模块,所述相关代码模块至少包括AI代码模块、赛车代码模块和物理代码模块,所述AI代码模块用于根据AI参数控制所述赛车AI模型在赛道上行进,所述赛车代码模块用于更新所述赛车AI模型在赛道上的位置,所述物理代码模块用于处理所述赛车AI模型与赛道之间的碰撞;
测试单元,用于将所述m套AI参数输入所述相关代码模块,并行控制m个所述赛车AI模型进行预定时长的适应度测试,其中,进行适应度测试时赛车间碰撞机制关闭;
确定单元,用于根据所述赛车AI模型在赛道上的所述行进距离确定所述适应度。
可选的,所述生成模块1530,还包括:
排序单元,用于对所述m个适应度进行降序排序;
第二添加单元,用于将排序后前k个适应度对应的k套AI参数添加到所述第n+1代参数集合,1≤k<m,k为整数。
可选的,所述装置还包括:
适应度获取模块,用于每隔i代参数集合,获取所述i代参数集合的最大适应度;
检测模块,用于检测所述最大适应度的提升幅度是否小于幅度阈值;
灾变模块,用于当所述提升幅度小于所述幅度阈值时,对所述第n代参数集合进行灾变处理;
所述生成模块,用于:
根据灾变处理后的所述第n代参数集合生成所述第n+1代参数集合。
可选的,所述灾变模块,包括:
第一灾变单元,用于对所述m个适应度进行降序排序;删除将排序后前j个适应度对应的j套AI参数,1≤j<m,j为整数;
或,
第二灾变单元,用于将所述第n代参数集合中各套AI参数的突变概率上调预定数值,其中,上调所述突变概率后,根据所述第n代参数集合生成所述第n+1代参数集合时发生参数突变的概率增加。
综上所述,本实施例中,通过获取包含m套AI参数的第n代参数集合,并根据m套AI参数控制赛车AI模型进行m次适应度测试,从而在测试得到的m个适应度均小于适应度阈值时,根据第n代参数集合生成第n+1代参数集合并进行下一轮适应度测试,直至测试得到的m个适应度中存在大于适应度阈值的目标适应度时,根据目标适应度对应的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参数配置方法。
请参考图16,其示出了本发明一个实施例提供的AI参数配置设备的结构示意图。该设备用于实施上述实施例提供的AI参数配置方法。具体来讲:
所述设备1600包括中央处理单元(CPU)1601、包括随机存取存储器(RAM)1602和只读存储器(ROM)1603的系统存储器1604,以及连接系统存储器1604和中央处理单元1601的系统总线1605。所述设备1600还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1606,和用于存储操作系统1613、应用程序1614和其他程序模块1615的大容量存储设备1607。
所述基本输入/输出系统1606包括有用于显示信息的显示器1608和用于用户输入信息的诸如鼠标、键盘之类的输入设备1609。其中所述显示器1608和输入设备1609都通过连接到系统总线1605的输入输出控制器1610连接到中央处理单元1601。所述基本输入/输出系统1606还可以包括输入输出控制器1610以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1610还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1607通过连接到系统总线1605的大容量存储控制器(未示出)连接到中央处理单元1601。所述大容量存储设备1607及其相关联的计算机可读介质为设备1600提供非易失性存储。也就是说,所述大容量存储设备1607可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1604和大容量存储设备1607可以统称为存储器。
根据本发明的各种实施例,所述设备1600还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即设备1600可以通过连接在所述系统总线1505上的网络接口单元1611连接到网络1612,或者说,也可以使用网络接口单元1611来连接到其他类型的网络或远程计算机系统。
所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集经配置以由一个或者一个以上处理器执行,以实现上述AI参数配置方法中各个步骤的功能。
本申请实施例还提供一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述各个实施例提供的AI参数配置方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read OnlyMemory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
Claims (18)
1.一种用于竞速类AI模型的AI参数配置方法,其特征在于,所述方法包括:
获取第n代参数集合,每代参数集合中包含m套AI参数,每套AI参数用于指示赛车AI模型在赛道上的行进方式,n≥1,m≥2;
根据所述m套AI参数控制所述赛车AI模型进行m次适应度测试,得到m个适应度,所述适应度与所述赛车AI模型根据所述AI参数在赛道上的行进距离呈正相关关系;
若所述m个适应度均小于适应度阈值,则根据所述第n代参数集合生成第n+1代参数集合;
若所述m个适应度中存在大于所述适应度阈值的目标适应度,则将所述目标适应度对应的AI参数配置为目标AI参数。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第n代参数集合生成第n+1代参数集合,包括:
根据所述m个适应度,从所述m套AI参数中选择两套母体AI参数;
对所述两套母体AI参数进行交叉和突变,得到两套子代AI参数;
将所述两套子代AI参数添加到所述第n+1代参数集合。
3.根据权利要求2所述的方法,其特征在于,所述根据所述m个适应度,从所述m套AI参数中选择两套母体AI参数,包括:
计算所述m个适应度与预设适应度之间的适应度差值,所述预设适应度小于等于所述m个适应度中的最低适应度;
根据所述适应度差值,确定所述m个适应度中各个适应度对应的AI参数的选取概率,所述选取概率与所述适应度差值呈正相关关系;
根据所述选取概率从所述m套AI参数中选择所述两套母体AI参数。
4.根据权利要求2所述的方法,其特征在于,所述m套AI参数采用数值编码,所述对所述两套母体AI参数进行交叉和突变,得到两套子代AI参数,包括:
采用预定交叉方式对所述两套母体AI参数中的参数值进行交叉操作,所述预定交叉方式包括单点交叉和双点交叉;
根据预设突变概率,对交叉操作后所述两套母体AI参数中的参数值进行突变操作,得到所述两套子代参数,其中,经过突变操作的参数值的突变量属于预设突变量范围。
5.根据权利要求1所述的方法,其特征在于,所述根据所述m套AI参数控制所述赛车AI模型进行m次适应度测试,得到m个适应度,包括:
调用所述赛车AI模型的相关代码模块,所述相关代码模块至少包括AI代码模块、赛车代码模块和物理代码模块,所述AI代码模块用于根据AI参数控制所述赛车AI模型在赛道上行进,所述赛车代码模块用于更新所述赛车AI模型在赛道上的位置,所述物理代码模块用于处理所述赛车AI模型与赛道之间的碰撞;
将所述m套AI参数输入所述相关代码模块,并行控制m个所述赛车AI模型进行预定时长的适应度测试,其中,进行适应度测试时赛车间碰撞机制关闭;
根据所述赛车AI模型在赛道上的所述行进距离确定所述适应度。
6.根据权利要求2至4任一所述的方法,其特征在于,所述根据所述第n代参数集合生成第n+1代参数集合,还包括:
对所述m个适应度进行降序排序;
将排序后前k个适应度对应的k套AI参数添加到所述第n+1代参数集合,1≤k<m,k为整数。
7.根据权利要求2至4任一所述的方法,其特征在于,所述根据所述第n代参数集合生成第n+1代参数集合之前,所述方法还包括:
每隔i代参数集合,获取所述i代参数集合的最大适应度;
检测所述最大适应度的提升幅度是否小于幅度阈值;
若所述提升幅度小于所述幅度阈值,则对所述第n代参数集合进行灾变处理;
所述根据所述第n代参数集合生成第n+1代参数集合,包括:
根据灾变处理后的所述第n代参数集合生成所述第n+1代参数集合。
8.根据权利要求7所述的方法,其特征在于,所述对所述第n代参数集合进行灾变处理,包括:
对所述m个适应度进行降序排序;删除将排序后前j个适应度对应的j套AI参数,1≤j<m,j为整数;
或,
将所述第n代参数集合中各套AI参数的突变概率上调预定数值,其中,上调所述突变概率后,根据所述第n代参数集合生成所述第n+1代参数集合时发生参数突变的概率增加。
9.一种用于竞速类AI模型的AI参数配置装置,其特征在于,所述装置包括:
获取模块,用于获取第n代参数集合,每代参数集合中包含m套AI参数,每套AI参数用于指示赛车AI模型在赛道上的行进方式,n≥1,m≥2;
测试模块,用于根据所述m套AI参数控制所述赛车AI模型进行m次适应度测试,得到m个适应度,所述适应度与所述赛车AI模型根据所述AI参数在赛道上的行进距离呈正相关关系;
生成模块,用于当所述m个适应度均小于适应度阈值时,根据所述第n代参数集合生成第n+1代参数集合;
配置模块,用于当所述m个适应度中存在大于所述适应度阈值的目标适应度时,将所述目标适应度对应的AI参数配置为目标AI参数。
10.根据权利要求9所述的装置,其特征在于,所述生成模块,包括:
选择单元,用于根据所述m个适应度,从所述m套AI参数中选择两套母体AI参数;
交叉突变单元,用于对所述两套母体AI参数进行交叉和突变,得到两套子代AI参数;
第一添加单元,用于将所述两套子代AI参数添加到所述第n+1代参数集合。
11.根据权利要求10所述的装置,其特征在于,所述选择单元,用于:
计算所述m个适应度与预设适应度之间的适应度差值,所述预设适应度小于等于所述m个适应度中的最低适应度;
根据所述适应度差值,确定所述m个适应度中各个适应度对应的AI参数的选取概率,所述选取概率与所述适应度差值呈正相关关系;
根据所述选取概率从所述m套AI参数中选择所述两套母体AI参数。
12.根据权利要求10所述的装置,其特征在于,所述m套AI参数采用数值编码,所述交叉突变单元,用于:
采用预定交叉方式对所述两套母体AI参数中的参数值进行交叉操作,所述预定交叉方式包括单点交叉和双点交叉;
根据预设突变概率,对交叉操作后所述两套母体AI参数中的参数值进行突变操作,得到所述两套子代参数,其中,经过突变操作的参数值的突变量属于预设突变量范围。
13.根据权利要求9所述的装置,其特征在于,所述测试模块,包括:
调用单元,用于调用所述赛车AI模型的相关代码模块,所述相关代码模块至少包括AI代码模块、赛车代码模块和物理代码模块,所述AI代码模块用于根据AI参数控制所述赛车AI模型在赛道上行进,所述赛车代码模块用于更新所述赛车AI模型在赛道上的位置,所述物理代码模块用于处理所述赛车AI模型与赛道之间的碰撞;
测试单元,用于将所述m套AI参数输入所述相关代码模块,并行控制m个所述赛车AI模型进行预定时长的适应度测试,其中,进行适应度测试时赛车间碰撞机制关闭;
确定单元,用于根据所述赛车AI模型在赛道上的所述行进距离确定所述适应度。
14.根据权利要求10至12任一所述的装置,其特征在于,所述生成模块,还包括:
排序单元,用于对所述m个适应度进行降序排序;
第二添加单元,用于将排序后前k个适应度对应的k套AI参数添加到所述第n+1代参数集合,1≤k<m,k为整数。
15.根据权利要求10至12任一所述的装置,其特征在于,所述装置还包括:
适应度获取模块,用于每隔i代参数集合,获取所述i代参数集合的最大适应度;
检测模块,用于检测所述最大适应度的提升幅度是否小于幅度阈值;
灾变模块,用于当所述提升幅度小于所述幅度阈值时,对所述第n代参数集合进行灾变处理;
所述生成模块,用于:
根据灾变处理后的所述第n代参数集合生成所述第n+1代参数集合。
16.根据权利要求15所述的装置,其特征在于,所述灾变模块,包括:
第一灾变单元,用于对所述m个适应度进行降序排序;删除将排序后前j个适应度对应的j套AI参数,1≤j<m,j为整数;
或,
第二灾变单元,用于将所述第n代参数集合中各套AI参数的突变概率上调预定数值,其中,上调所述突变概率后,根据所述第n代参数集合生成所述第n+1代参数集合时发生参数突变的概率增加。
17.一种AI参数配置设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器执行以实现如权利要求1至8任一所述的用于竞速类AI模型的AI参数配置方法。
18.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器执行以实现如权利要求1至8任一所述的用于竞速类AI模型的AI参数配置方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810299375.0A CN108465244B (zh) | 2018-03-30 | 2018-03-30 | 用于竞速类ai模型的ai参数配置方法、装置、设备及存储介质 |
PCT/CN2019/078834 WO2019184777A1 (zh) | 2018-03-30 | 2019-03-20 | 用于竞速类ai模型的ai参数配置方法、装置、设备及存储介质 |
EP19774957.5A EP3777984B1 (en) | 2018-03-30 | 2019-03-20 | Method, device, and apparatus for configuring ai parameter of racing ai model, and storage medium |
US16/899,243 US11911702B2 (en) | 2018-03-30 | 2020-06-11 | AI parameter configuration method and apparatus for racing AI model, AI parameter configuration device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810299375.0A CN108465244B (zh) | 2018-03-30 | 2018-03-30 | 用于竞速类ai模型的ai参数配置方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108465244A true CN108465244A (zh) | 2018-08-31 |
CN108465244B CN108465244B (zh) | 2019-05-07 |
Family
ID=63262556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810299375.0A Active CN108465244B (zh) | 2018-03-30 | 2018-03-30 | 用于竞速类ai模型的ai参数配置方法、装置、设备及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11911702B2 (zh) |
EP (1) | EP3777984B1 (zh) |
CN (1) | CN108465244B (zh) |
WO (1) | WO2019184777A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109240302A (zh) * | 2018-09-30 | 2019-01-18 | 北京金山安全软件有限公司 | 一种使用机器人赛车的方法、装置、电子设备及存储介质 |
CN109925713A (zh) * | 2019-02-28 | 2019-06-25 | 腾讯科技(深圳)有限公司 | 对象控制方法和装置、存储介质及电子装置 |
CN110141868A (zh) * | 2019-05-27 | 2019-08-20 | 合肥常春藤移动科技有限公司 | 一种用于竞速类游戏应用的ai追逐方法 |
WO2019184777A1 (zh) * | 2018-03-30 | 2019-10-03 | 腾讯科技(深圳)有限公司 | 用于竞速类ai模型的ai参数配置方法、装置、设备及存储介质 |
CN111803959A (zh) * | 2020-07-21 | 2020-10-23 | 腾讯科技(深圳)有限公司 | 对象控制方法、装置、游戏服务器及介质 |
CN115845384A (zh) * | 2023-03-02 | 2023-03-28 | 深圳市卡妙思电子科技有限公司 | 一种电竞赛车的竞赛系统 |
CN116251358A (zh) * | 2023-05-09 | 2023-06-13 | 深圳市卡妙思电子科技有限公司 | 一种基于图像识别的电竞赛车竞速管理系统 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113163955A (zh) * | 2018-11-29 | 2021-07-23 | 提爱思科技股份有限公司 | 座椅系统和座椅型体验装置 |
US11260306B2 (en) * | 2020-04-23 | 2022-03-01 | Electronic Arts Inc. | Matchmaking for online gaming with simulated players |
CN112337097B (zh) * | 2020-10-27 | 2024-08-13 | 网易(杭州)网络有限公司 | 游戏模拟方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291308A (zh) * | 2011-08-25 | 2011-12-21 | 中科华核电技术研究院有限公司 | 一种网络动态负载均衡的实现方法与系统 |
CN104239434A (zh) * | 2014-08-28 | 2014-12-24 | 浙江工业大学 | 一种基于带有多样化半径技术的小生境遗传算法的聚类方法 |
CN104572993A (zh) * | 2015-01-06 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种基于遗传算法的分类算法参数优化方法 |
CN106293936A (zh) * | 2016-07-29 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种物理主机虚拟内存的局部最优解的确定方法及装置 |
CN107694094A (zh) * | 2017-10-10 | 2018-02-16 | 电子科技大学 | 一种桥牌牌局样本生成方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7892078B2 (en) * | 2005-12-30 | 2011-02-22 | Microsoft Corporation | Racing line optimization |
US9563844B2 (en) * | 2011-06-30 | 2017-02-07 | International Business Machines Corporation | Speculative asynchronous sub-population evolutionary computing utilizing a termination speculation threshold |
JP5909943B2 (ja) * | 2011-09-08 | 2016-04-27 | ソニー株式会社 | 情報処理装置、推定機生成方法、及びプログラム |
JP5909946B2 (ja) | 2011-09-12 | 2016-04-27 | 株式会社三洋物産 | 遊技機 |
CN106293963B (zh) | 2016-08-01 | 2020-02-07 | 北京金山安全管理系统技术有限公司 | 一种用于windows系统中应用层和驱动层通讯的方法及系统 |
CN108465244B (zh) * | 2018-03-30 | 2019-05-07 | 腾讯科技(深圳)有限公司 | 用于竞速类ai模型的ai参数配置方法、装置、设备及存储介质 |
-
2018
- 2018-03-30 CN CN201810299375.0A patent/CN108465244B/zh active Active
-
2019
- 2019-03-20 WO PCT/CN2019/078834 patent/WO2019184777A1/zh active Application Filing
- 2019-03-20 EP EP19774957.5A patent/EP3777984B1/en active Active
-
2020
- 2020-06-11 US US16/899,243 patent/US11911702B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291308A (zh) * | 2011-08-25 | 2011-12-21 | 中科华核电技术研究院有限公司 | 一种网络动态负载均衡的实现方法与系统 |
CN104239434A (zh) * | 2014-08-28 | 2014-12-24 | 浙江工业大学 | 一种基于带有多样化半径技术的小生境遗传算法的聚类方法 |
CN104572993A (zh) * | 2015-01-06 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种基于遗传算法的分类算法参数优化方法 |
CN106293936A (zh) * | 2016-07-29 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种物理主机虚拟内存的局部最优解的确定方法及装置 |
CN107694094A (zh) * | 2017-10-10 | 2018-02-16 | 电子科技大学 | 一种桥牌牌局样本生成方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019184777A1 (zh) * | 2018-03-30 | 2019-10-03 | 腾讯科技(深圳)有限公司 | 用于竞速类ai模型的ai参数配置方法、装置、设备及存储介质 |
US11911702B2 (en) | 2018-03-30 | 2024-02-27 | Tencent Technology (Shenzhen) Company Limited | AI parameter configuration method and apparatus for racing AI model, AI parameter configuration device, and storage medium |
CN109240302A (zh) * | 2018-09-30 | 2019-01-18 | 北京金山安全软件有限公司 | 一种使用机器人赛车的方法、装置、电子设备及存储介质 |
CN109240302B (zh) * | 2018-09-30 | 2022-04-22 | 北京金山安全软件有限公司 | 一种使用机器人赛车的方法、装置、电子设备及存储介质 |
CN109925713A (zh) * | 2019-02-28 | 2019-06-25 | 腾讯科技(深圳)有限公司 | 对象控制方法和装置、存储介质及电子装置 |
CN110141868A (zh) * | 2019-05-27 | 2019-08-20 | 合肥常春藤移动科技有限公司 | 一种用于竞速类游戏应用的ai追逐方法 |
CN111803959A (zh) * | 2020-07-21 | 2020-10-23 | 腾讯科技(深圳)有限公司 | 对象控制方法、装置、游戏服务器及介质 |
CN115845384A (zh) * | 2023-03-02 | 2023-03-28 | 深圳市卡妙思电子科技有限公司 | 一种电竞赛车的竞赛系统 |
CN116251358A (zh) * | 2023-05-09 | 2023-06-13 | 深圳市卡妙思电子科技有限公司 | 一种基于图像识别的电竞赛车竞速管理系统 |
CN116251358B (zh) * | 2023-05-09 | 2023-07-21 | 深圳市卡妙思电子科技有限公司 | 一种基于图像识别的电竞赛车竞速管理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108465244B (zh) | 2019-05-07 |
EP3777984A1 (en) | 2021-02-17 |
US20200298130A1 (en) | 2020-09-24 |
EP3777984B1 (en) | 2022-02-09 |
US11911702B2 (en) | 2024-02-27 |
WO2019184777A1 (zh) | 2019-10-03 |
EP3777984A4 (en) | 2021-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108465244B (zh) | 用于竞速类ai模型的ai参数配置方法、装置、设备及存储介质 | |
JP6963627B2 (ja) | 畳み込みニューラルネットワークのためのニューラルアーキテクチャ検索 | |
CN111406264B (zh) | 神经架构搜索 | |
CN108431832B (zh) | 利用外部存储器扩增神经网络 | |
CN105900116A (zh) | 分层型神经网络装置、判别器学习方法以及判别方法 | |
CN108073983A (zh) | 在硬件中执行核心跨越 | |
CN107209872A (zh) | 强化学习系统的分布式训练 | |
CN108021983A (zh) | 神经架构搜索 | |
CN108573304A (zh) | 硬件中转置神经网络矩阵 | |
CN106471525A (zh) | 增强神经网络以生成附加输出 | |
CN108027897A (zh) | 利用深度强化学习的连续控制 | |
CN109460463A (zh) | 基于数据处理的模型训练方法、装置、终端及存储介质 | |
CN110443351A (zh) | 生成映像的自然语言描述 | |
CN110462638A (zh) | 使用后验锐化训练神经网络 | |
CN107247973A (zh) | 一种基于spark的支持向量机参数优选并行粒子群寻优方法 | |
CN109344969B (zh) | 神经网络系统及其训练方法以及计算机可读介质 | |
US11204803B2 (en) | Determining action selection policies of an execution device | |
CN111898770A (zh) | 一种多智能体强化学习方法、电子设备及存储介质 | |
CN112292696A (zh) | 确定执行设备的动作选择方针 | |
CN114297934A (zh) | 一种基于代理模型的模型参数并行仿真优化方法及装置 | |
Gao et al. | An adaptive framework to select the coordinate systems for evolutionary algorithms | |
CN112836794A (zh) | 一种图像神经架构的确定方法、装置、设备及存储介质 | |
JP2022523207A (ja) | ピラミッドレイヤのアーキテクチャを生成するためのシステムおよび方法 | |
CN112470123A (zh) | 确定执行设备的动作选择方针 | |
Nugraheni et al. | Hybrid Metaheuristics for Job Shop Scheduling Problems. |
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 |