CN112221152A - 人工智能ai模型的训练方法、装置、设备及介质 - Google Patents
人工智能ai模型的训练方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN112221152A CN112221152A CN202011164804.7A CN202011164804A CN112221152A CN 112221152 A CN112221152 A CN 112221152A CN 202011164804 A CN202011164804 A CN 202011164804A CN 112221152 A CN112221152 A CN 112221152A
- Authority
- CN
- China
- Prior art keywords
- value
- game
- action
- state
- game 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.)
- Pending
Links
Images
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/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
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种人工智能AI模型的训练方法、装置、设备及介质,涉及人工智能的机器学习领域。该方法包括:调用人工智能AI模型在游戏程序中进行游戏对局获得训练数据,训练数据包括游戏对局中的参考游戏状态、决策网络根据参考游戏状态输出的目标游戏动作和价值网络根据参考游戏状态输出的状态价值,状态价值包括在k个价值分类上的k个状态子价值,k为大于1的整数;根据训练数据以及k个价值分类对应的k个价值计算公式,计算人工智能AI模型在参考游戏状态采用目标游戏动作的动作价值,动作价值包括在k个价值分类上的k个动作子价值;根据状态价值和动作价值之差,训练人工智能AI模型。该方法可以提高价值网络预估状态价值的准确性。
Description
技术领域
本申请实施例涉及人工智能的机器学习领域,特别涉及一种人工智能AI模型的训练方法、装置、设备及介质。
背景技术
强化学习是机器学习的范式和方法论之一,用于描述和解决智能体(agent,又称“代理”)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。基于强化学习设计的AI(Artificial Intelligence,人工智能)模型可以进行游戏决策赢得游戏胜利。
AI模型包括决策网络和价值网络,决策网络用于根据游戏状态确定动作指令,价值网络用于评估游戏状态的价值,在AI模型的训练阶段需要根据价值网络输出的价值引导决策网络向价值最大化的方向进行策略决策,因此,价值网络能否准确预估游戏状态的价值显得尤为重要。
在MOBA游戏中,相关技术的AI模型根据执行动作后,每个时刻游戏状态的变化计算每个时刻的时刻价值,其中,一个时刻的时刻价值是根据游戏状态中的多个游戏参数的价值因子计算得到的,然后根据每个时刻的衰减因子将多个时刻价值进行加权求和得到动作价值,根据动作价值训练价值网络准确预估执行该动作后游戏状态的状态价值。其中,衰减因子代表该动作的影响长度,动作产生的影响在最近一段时间内影响程度较大,衰减因子较大;随着时间的推移影响程度逐渐减小,衰减因子逐渐减小。
但由于MOBA游戏的游戏环境复杂,由于执行动作导致游戏参数改变,不同的游戏参数的改变对策略决策的影响程度也是不同的,例如,敌方小兵死亡对对局的影响长度远小于敌方防御塔被摧毁的影响长度。相关技术中的方法只考虑了时间上的衰减,所有游戏参数的价值因子的影响长度是一致的,价值网络无法准确状态价值。
发明内容
本申请实施例提供了一种人工智能AI模型的训练方法、装置、设备及介质,可以提高价值网络预估状态价值的准确性。所述技术方案如下:
一方面,提供了一种人工智能AI模型的训练方法,所述人工智能AI模型包括价值网络和决策网络,所述方法包括:
调用所述人工智能AI模型在游戏程序中进行游戏对局获得训练数据,所述训练数据包括所述游戏对局中的参考游戏状态、所述决策网络根据所述参考游戏状态输出的目标游戏动作和所述价值网络根据所述参考游戏状态输出的状态价值,所述状态价值包括在k个价值分类上的k个状态子价值,k为大于1的整数;
根据所述训练数据以及所述k个价值分类对应的k个价值计算公式,计算所述人工智能AI模型在所述参考游戏状态采用所述目标游戏动作的动作价值,所述动作价值包括在所述k个价值分类上的k个动作子价值;
根据所述状态价值和所述动作价值之差,训练所述人工智能AI模型。
另一方面,提供了一种人工智能AI模型的训练装置,所述人工智能AI模型包括价值网络和决策网络,所述装置包括:
模型模块,用于调用所述人工智能AI模型在游戏程序中进行游戏对局获得训练数据,所述训练数据包括所述游戏对局中的参考游戏状态、所述决策网络根据所述参考游戏状态输出的目标游戏动作和所述价值网络根据所述参考游戏状态输出的状态价值,所述状态价值包括在k个价值分类上的k个状态子价值,k为大于1的整数;
计算模块,用于根据所述训练数据以及所述k个价值分类对应的k个价值计算公式,计算所述人工智能AI模型在所述参考游戏状态采用所述目标游戏动作的动作价值,所述动作价值包括在所述k个价值分类上的k个动作子价值;
训练模块,用于根据所述状态价值和所述动作价值之差,训练所述人工智能AI模型。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的人工智能AI模型的训练方法。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的人工智能AI模型的训练方法。
另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述可选实现方式中提供的人工智能AI模型的训练方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过分类计算游戏状态的状态价值和动作价值,将AI模型对状态的价值预估细分到不同的价值分类中,使AI模型从多个价值分类的角度对游戏状态进行预估。采用不同的价值计算公式来计算动作价值,用动作价值来训练AI模型对不同价值分类的状态价值的计算,使AI模型能够从多个角度进行状态价值的预估,提高AI模型对游戏状态的状态价值的准确度,从而提高价值对AI模型训练的可信度,进而提高AI模型的决策能力。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请一个示例性实施例提供的计算机***的结构框图;
图2是本申请另一个示例性实施例提供的AI模型的训练方法的方法流程图;
图3是本申请另一个示例性实施例提供的AI模型的训练方法的对局界面示意图;
图4是本申请另一个示例性实施例提供的AI模型的训练方法的方法流程图;
图5是本申请另一个示例性实施例提供的AI模型的训练方法的方法流程图;
图6是本申请另一个示例性实施例提供的AI模型的训练方法的游戏状态提取的示意图;
图7是本申请另一个示例性实施例提供的AI模型的训练方法的游戏状态提取的示意图;
图8是本申请另一个示例性实施例提供的AI模型的训练方法的价值网络的示意图;
图9是本申请另一个示例性实施例提供的AI模型的训练方法的衰减因子与时刻的关系示意图;
图10是本申请另一个示例性实施例提供的AI模型的训练方法的方法流程图;
图11是本申请另一个示例性实施例提供的AI模型的训练装置的装置框图;
图12是本申请另一个示例性实施例提供的终端的框图;
图13是本申请另一个示例性实施例提供的服务器的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请实施例涉及的若干个名词进行简单介绍。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
强化学习(Reinforcement Learning,RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。强化学习是智能体(agent)以“试错”的方式进行学习,通过与环境进行交互获得的奖赏指导行为,目标是使智能体获得最大的奖赏,强化学习不同于连接主义学习中的监督学习,主要表现在强化信号上,强化学习中由环境提供的强化信号是对产生动作的好坏作一种评价(通常为标量信号),而不是告诉RLS(Reinforcement Learning System,强化学习***)如何去产生正确的动作。由于外部环境提供的信息很少,RLS必须靠自身的经历进行学习。通过这种方式,RLS在动作-评价的环境中获得知识,改进行动方案以适应环境。
多人在线战术竞技是指:在虚拟环境中,分属至少两个敌对阵营的不同虚拟队伍分别占据各自的地图区域,以某一种胜利条件作为目标进行竞技。该胜利条件包括但不限于:占领据点或摧毁敌对阵营据点、击杀敌对阵营的虚拟角色、在指定场景和时刻内保证自身的存活、抢夺到某种资源、在指定时刻内比分超过对方中的至少一种。战术竞技可以以局为单位来进行,每局战术竞技的地图可以相同,也可以不同。每个虚拟队伍包括一个或多个虚拟角色,比如1个、2个、3个或5个。
MOBA游戏:是一种在虚拟环境中提供若干个据点,处于不同阵营的用户控制虚拟角色在虚拟环境中对战,占领据点或摧毁敌对阵营据点的游戏。例如,MOBA游戏可将用户分成两个敌对阵营,将用户控制的虚拟角色分散在虚拟环境中互相竞争,以摧毁或占领敌方的全部据点作为胜利条件。MOBA游戏以局为单位,一局MOBA游戏的持续时刻是从游戏开始的时刻至达成胜利条件的时刻。
图1给出了本申请一个示例性实施例提供的计算机***的结构框图。该计算机***100包括:计算机设备110和服务器120。
示例性的,计算机设备110可以是终端或服务器。终端包括智能手机、平板电脑、电子书阅读器、MP3播放器、MP4播放器、膝上型便携计算机和台式计算机中的至少一种;服务器包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。
计算机设备110安装和运行有游戏程序的客户端111,该客户端111可以是多人在线对战程序。示例性的,若计算机设备具有显示屏,当计算机设备运行客户端111时,计算机设备110的屏幕上显示客户端111的用户界面。该游戏程序可以是多人在线战术竞技游戏(Multiplayer Online Battle Arena Games,MOBA)程序、大逃杀射击游戏程序、虚拟现实(Virtual Reality,VR)应用程序、增强现实(Augmented Reality,AR)程序、三维地图程序、虚拟现实游戏、增强现实游戏程序、第一人称射击游戏(First-Person Shooting Game,FPS)程序、第三人称射击游戏(Third-Person Shooting Game,TPS)程序、策略游戏(Simulation Game,SLG)程序中的任意一种。在本实施例中,以该客户端是MOBA游戏来举例说明。示例性的,计算机设备110上还运行有AI模型的程序,AI模型用于控制游戏程序中的主控虚拟角色进行游戏对局,即,AI模型会从游戏程序中获取游戏信息,并向游戏程序发送控制指令以实现对游戏程序的操作控制。示意性的,主控虚拟角色是第一虚拟人物,比如仿真人物角色或动漫人物角色。
计算机设备110通过无线网络或有线网络与服务器120相连。
服务器120用于为游戏程序的客户端提供后台服务。可选地,服务器120承担主要计算工作,终端承担次要计算工作;或者,服务器120承担次要计算工作,终端承担主要计算工作;或者,服务器120和终端之间采用分布式计算架构进行协同计算。
在一个示意性的例子中,服务器120包括处理器122、用户账号数据库123、对战服务模块124、面向用户的输入/输出接口(Input/Output Interface,I/O接口)125。其中,处理器122用于加载服务器120中存储的指令,处理用户账号数据库123和对战服务模块124中的数据;用户账号数据库123用于存储计算机设备110所使用的用户账号的数据,比如用户账号的头像、用户账号的昵称、用户账号的战斗力指数,用户账号所在的服务区;对战服务模块124用于提供多个对战房间供用户进行对战,比如1V1对战、3V3对战、5V5对战等;面向用户的I/O接口125用于通过无线网络或有线网络和计算机设备110建立通信交换数据。
结合上述对虚拟环境的介绍以及实施环境说明,对本申请实施例提供的AI模型的训练方法进行说明,以该方法的执行主体为图1所示出的计算机设备上运行的AI模型来举例说明。该计算机设备还运行有游戏程序。
图2示出了本申请一个示例性实施例提供的人工智能AI模型的训练方法的流程图。该方法可以由上述图1中的计算机设备来执行,该计算机设备上运行有AI模型和游戏程序。该方法包括:
步骤201,调用AI模型在游戏程序中进行游戏对局获得训练数据,训练数据包括游戏对局中的参考游戏状态、决策网络根据参考游戏状态输出的目标游戏动作和价值网络根据参考游戏状态输出的状态价值,状态价值包括在k个价值分类上的k个状态子价值,k为大于1的整数。
示例性的,AI模型包括价值网络和决策网络。示例性的,AI模型用于控制游戏程序中的主控虚拟角色在虚拟环境中活动。其中,决策网络用于根据当前时刻的游戏状态决定主控虚拟角色在下一时刻的动作;价值网络用于预估当前时刻的游戏状态的价值。示例性的,决策网络和价值网络是两种神经网络,其网络构造可以是任意的,本实施例对此不加以限定,例如,价值网络和决策网络包括输入层、隐藏层和输出层,其中隐藏层可以由:卷积层、BN层、激活层、池化层、全连接层中的至少一种构成。
示例性的,游戏程序是由游戏开发者或游戏运营者提供的程序,游戏程序用于实现游戏对局,进行游戏对局中的逻辑运算,示例性的,游戏对局中部分逻辑运算由安装在计算机设备中的游戏程序的客户端来进行,部分逻辑运算由游戏程序的服务器来进行。示例性的,游戏程序根据AI模型输出的动作(动作指令/控制指令)进行游戏对局的逻辑运算,生成新的游戏状态。例如,当AI模型输出的动作为控制主控虚拟角色向前移动1米,则游戏程序根据AI模型输出的动作,控制主控虚拟角色在虚拟环境中向前移动1米,若计算机设备具有显示器,则显示器上会显示该移动。
示例性的,在训练阶段,调用AI模型在游戏程序中进行游戏对局获得训练数据,训练数据包括至少一场游戏对局产生的数据。示例性的,AI模型采用自对弈的方式完成游戏对局,即,当一场游戏对局需要多个玩家共同完成时,使用多个AI模型进行自对弈,共同完成对局。示例性的,自对弈时,使用旧版本的AI模型与最新版本的AI模型进行对弈,以收集最新版本的AI模型在对局过程中产生的训练数据,其中,旧版本的AI模型是迭代更新次数小于最新版本的AI模型的AI模型。示例性的,在训练AI模型时,AI模型每更新一次会将更新后的AI模型存入AI模型的版本池中,在进行自对弈时,从版本池中任意选取旧版本的AI模型与最新版本的AI模型进行对弈。示例性的,当游戏程序时MOBA游戏时,通常一场游戏对局由多个虚拟角色共同完成,例如,由十个虚拟角色共同完成,则调用AI模型控制其中的一个虚拟角色,其他虚拟角色则从版本池任选任意个旧版本的AI模型进行控制,训练数据是由AI模型(最新版本的AI模型,即,需要被训练的AI模型)产生的数据。示例性的,训练数据也可以是由人机对战产生的数据,即,由AI模型与真人进行对弈产生的数据。
示例性的,训练数据包括多场游戏对局产生的数据,例如,AI模型通过自对弈的方式进行10000场游戏对局产生的数据。训练数据中包括游戏对局中每个时刻的游戏状态、以及决策网络根据这些游戏状态输出的每一个动作、价值网络对每一个游戏时刻预估的状态价值。示例性的,本实施例以训练数据中的一个游戏状态:参考游戏状态为例,对训练过程进行说明,训练数据中的其他游戏状态可以参照根据参考游戏状态进行训练的方法,迭代对AI模型进行训练。
游戏状态是在一个时刻游戏对局所处的状态,每个时刻对应有一个游戏状态。示例性的,游戏状态是指在一个时刻AI模型所控制的主控虚拟角色能够获取到的游戏对局所处的状态信息。示例性的,游戏状态包括在控制主控虚拟角色的游戏程序的对局界面中显示出的全部游戏信息。游戏信息包括显示在对局界面(包括对局界面和可以显示在对局界面上的小窗口)上的数据信息、画面信息、图标信息、UI控件信息中的至少一种。
例如,如图3所示,给出一种MOBA的主控虚拟角色的对局界面,在对局界面中可以获得的游戏信息都属于当前时刻的游戏状态,例如,一个时刻游戏状态的游戏信息包括:对局界面的左上角显示出的小地图301中的信息(主控虚拟角色位置和朝向、我方虚拟角色位置和朝向、敌方虚拟角色位置和朝向、我方兵线位置、敌方兵线位置、我方防御塔现存数量和状态、敌方防御塔现存数量和状态、主宰状态、暴君状态等);小地图301右侧我方虚拟角色状态栏302中的信息(队友的英雄、血量、大招状态等);经济状态栏303的金币信息;对局界面右上角的KDA(Kill Death Assist,击杀死亡助攻)栏304中的信息(主控虚拟角色的KDA、我方击杀数量、敌方击杀数量、游戏对局时长等);对局界面上的UI(User Interface,用户界面)控件305的状态信息(技能等级、可使用的技能、技能冷却状态、技能类型、技能释放方式等);虚拟环境画面306中显示的信息(主控虚拟角色的等级、血量、蓝量;虚拟环境中的防御塔的位置、血量、攻击范围、攻击状态;我方虚拟角色或敌方虚拟角色的位置、血量、蓝量、等级、英雄模型、装备特效等;各个unit(单位)的相对位置关系;我方或敌方小兵的血量、小兵类型;虚拟环境中的野怪的血量和类型;各个单位之间互相攻击造成的伤害值、各个单位回血的生命值等)中的至少一种。
示例性的,一个时刻游戏状态的游戏信息不仅包括对局界面中显示的游戏信息,还包括对局界面上可以打开的窗口内的游戏信息,例如,点击经济状态栏303可以打开装备购买界面,在装备购界面可以获取到主控虚拟角色当前已经购买的装备信息、以及可以购买的装备信息等;再如,点击对局信息控件307可以打开对局信息窗口,窗口内可以获取到参与对局的所有虚拟角色的装备信息、KDA、金币信息、英雄类型、召唤师技能、英雄属性信息等;点击主控虚拟角色状态栏308可以打开主控虚拟角色状态窗口,窗口内可以获取到主控虚拟角色的英雄属性:生命值、法术攻击、法术防御、物理攻击、物理防御、移动速度、冷却缩减、韧性、法术穿透、物理穿透等信息。
综上,游戏状态包括以主控虚拟角色的权限能够在游戏对局中获取到的所有游戏信息。示例性的,AI模型可以通过游戏程序生成的游戏界面来获取部分游戏信息,也可以直接到游戏程序的指定接口处直接获取部分游戏信息,例如,AI模型可以通过识别对局界面中显示的主控虚拟角色的生命值来获取生命值,也可以通过游戏程序的接口获取到主控虚拟角色的生命值。
价值网络需要根据游戏状态的多个游戏信息来预估当前游戏状态的状态价值Q(s),其中Q为状态价值,s为游戏状态。状态价值相当于当前游戏状态的价值平均值,用于与当前游戏状态采取的游戏动作的动作价值Rt(s,a)做比较,以确定所采取的游戏动作的好坏。由于不同的游戏信息之间其价值会相互影响相互抵消,例如,主控虚拟角色执行推塔动作后,将敌方的防御塔摧毁了,但同时主控虚拟角色死亡了,则敌方的防御塔被摧毁会产生正价值,而主控虚拟角色死亡会产生负价值,若采用相关技术中的方法,对这两个价值进行累加,正价值和负价值会互相抵消,则主控虚拟角色的推塔动作的动作价值会很小,同样地以这种计算方式进行训练的价值网络其得到的状态价值也会很小,使AI模型无法区分该动作在各个层面上的价值,只能学到各个层面的累计价值,降低AI模型的短期策划以及长期策划的能力。
因此,本实施例提供的方法,将对价值的预估和计算分为了不同的价值分类,从不同的层面上分别预估游戏状态的状态价值和计算游戏动作的动作价值,使不同游戏信息所产生的价值能够被分开计算,降低各个游戏信息之间价值的影响,也使AI模型能够根据不同价值分类得到的不同状态子价值和动作子价值,来进行更精细、更准确的策略预估,提高AI模型的策划能力。
示例性的,价值分类是对游戏状态中的游戏信息进行分类,将影响衰减趋势相同的游戏信息划分至同一个价值分类中,在计算动作价值时根据每个价值分类的衰减趋势对应的衰减因子,分别计算在各个价值分类上的动作子价值,然后根据各个价值分类的动作子价值来训练价值网络,使价值网络也能够按照价值分类对游戏状态的状态价值进行预估。
例如,价值分类包括:稠密价值分类、稀疏价值分类、英雄价值分类、防御塔价值分类、游戏胜负价值分类中的至少两种;其中,稠密价值分类和稀疏价值分类是根据游戏信息对游戏对局的影响时间长度划分的;英雄价值分类和防御塔价值分类是根据游戏信息对游戏对局的影响重要程度划分的;游戏胜负价值分类中包括决定游戏对局是否结束的游戏信息。
例如,MOBA中游戏状态的游戏信息包括:双方防御塔数量、防御塔血量、主控虚拟角色生命值、主控虚拟角色是否死亡、主控虚拟角色的金币数量、主控虚拟角色的蓝量、主控虚拟角色的KDA、主控虚拟角色的攻击力、游戏胜负等。根据价值分类,则可以将上述游戏信息分到五个价值分类中。
稠密价值分类包括:主控虚拟角色的金币数量、主控虚拟角色的蓝量,稠密价值分类中的游戏信息的变化对游戏状态的影响是短时的,只对发生变化的最近一段时间有较大影响。
稀疏价值分类包括:主控虚拟角色的KDA和双方防御塔数量,主控虚拟角色的KDA以及双方防御塔数量的变化对游戏状态的影响是长时间的,在发生变化后会长时间影响游戏状态。
英雄价值分类包括:主控虚拟角色是否死亡、生命值、攻击力等,防御塔价值分类包括:防御塔的血量等,由于英雄状态和防御塔状态是影响MOBA对局变化的比较重要的因素,因此可以单独为英雄状态和防御塔状态设置英雄价值分类和防御塔价值分类,以便计算这两个重要因素对游戏状态的价值。
游戏胜负价值分类包括游戏胜负。由于游戏胜负直接影响到对局是否结束,因此可以单独设置一个价值分类进行价值的计算。
需要说明的是,上述列举的游戏信息的具体类型是指用于举例说明,由于MOBA游戏中的游戏信息是繁多且复杂的,其他游戏信息可以按照上述思路分配到不同的价值分类中,以便进行动作价值计算。示例性的,在其他游戏中,例如射击游戏、赛车游戏中,其价值分类的方式可以不限于上述五种分类,可以根据不同游戏中游戏信息的影响程度对游戏信息进行分类。
步骤202,根据训练数据以及k个价值分类对应的k个价值计算公式,计算AI模型在参考游戏状态采用目标游戏动作的动作价值,动作价值包括在k个价值分类上的k个动作子价值。
示例性的,根据训练数据的游戏状态中,每个价值分类对应的游戏信息,来计算游戏动作在该价值分类的动作子价值,k个价值分类可以计算得到k个动作子价值。示例性的,由于每个价值分类中的游戏信息不同,则计算动作子价值的价值计算公式也不同。
步骤203,根据状态价值和动作价值之差,训练AI模型。
示例性的,计算参考游戏状态的状态价值,以及目标游戏动作的动作价值之间的损失,根据损失值来训练AI模型。
综上所述,本实施例提供的方法,通过分类计算游戏状态的状态价值和动作价值,将AI模型对状态的价值预估细分到不同的价值分类中,使AI模型从多个价值分类的角度对游戏状态进行预估。采用不同的价值计算公式来计算动作价值,用动作价值来训练AI模型对不同价值分类的状态价值的计算,使AI模型能够从多个角度进行状态价值的预估,提高AI模型对游戏状态的状态价值的准确度,从而提高价值对AI模型训练的可信度,进而提高AI模型的决策能力。
示例性的,AI模型包括特征提取网络、价值网络和决策网络,给出一种获得训练数据、根据训练数据训练AI模型的示例性实施例。
图4示出了本申请一个示例性实施例提供的人工智能AI模型的训练方法的流程图。基于图2所示的实施例,步骤201包括步骤2011至步骤2015,步骤202包括步骤2021至步骤2022,步骤203包括步骤2031。
步骤2011,从游戏程序中获取参考游戏状态。
示例性的,AI模型包括特征提取网络、价值网络和决策网络。特征提取网络用于提取游戏状态的特征。
示例性的,如图5所示,给出一种AI模型在游戏程序中进行游戏对局的流程图,AI模型会从游戏程序501中获取游戏对局当前的游戏状态505,将游戏状态505输入特征提取网络502进行特征提取得到游戏状态特征,价值网络503根据游戏状态特征输出状态价值,决策网络504根据游戏状态特征输出决策结果,根据决策结果确定游戏动作506,并生成执行游戏动作506的指令给游戏程序501,从而控制游戏程序501执行游戏动作506。游戏程序501执行游戏动作506后,游戏状态505会改变,AI模型再从游戏程序501获取新的游戏状态505,根据新的游戏状态505再输出下一个游戏动作,如此,AI模型就可以不断地向游戏程序发出指令,从而在游戏程序中进行游戏对局。
示例性的,本实施例以AI模型根据参考游戏状态输出目标游戏动作为例进行说明,AI模型可以不断重复这个过程以进行游戏对局。
步骤2012,调用特征提取网络对参考游戏状态进行特征提取获得参考游戏状态特征。
示例性的,特征提取网络是一种神经网络模型,其进行特征提取的方式可以是任意的,例如,特征提取层可以由全连接层、卷积层、BN层、激活层、池化层中的至少一个构成,本实施例对特征提取网络的网络构成不加以限制。
示例性的,由于游戏状态该由多种游戏信息组成,AI模型可以采取多种方式来表现这些游戏信息,从而将游戏信息(游戏状态)输入到特征提取网络中进行特征提取。即,AI模型可以通过多种方式从游戏程序中直接或间接获取游戏状态,例如,可以以图像化、类图像化或向量化中的至少一种方式来获取游戏状态。
例如,从游戏程序的对局界面中截取图像区域作为参考游戏状态。示例性的,图像化是指直接从游戏程序中获取游戏程序生成的图像,将图像输入到特征提取网络中进行特征提取,例如,将游戏程序显示的对局界面以图像的形式输入到特征提取网络中进行特征提取(图像化提取特征),或,将游戏程序显示的对局界面分割为多个小图像,以图像的形式输入到特征提取网络中进行特征提取。例如,图像化的游戏状态是64像素*64像素的图像,每个像素点的数值为像素值,或,每个像素点对应三个数值分别为R通道、G通道、B通道的像素值。示例性的,通过图像提取的方式提取到的参考游戏状态包括但不限于:整个对局界面(终端上显示的游戏程序的完整界面)、小地图的图像、虚拟环境画面的图像、从对局界面中截取的任意部分的图像中的至少一种。
再如,从游戏程序的对局界面中截取图像区域;对图像区域进行类图像化处理得到简化图像,将简化图像作为参考游戏状态。示例性的,类图像化是指,对从游戏程序的对局界面中截取的图像区域进行简化,,将简化后的简化图像输入到特征提取网络中进行特征提取(类图像化提取特征),当然,类图像化提取特征也可以将完整的对局界面作为图像区域,对完整的对局界面的图像区域进行简化得到简化图像。类图像化可以保留图像中的重要信息、简化冗余信息,便于运算和处理。示例性的,类图像化的方式可以是将对局界面中unit所在位置的像素点赋值为1,其他像素点赋值为0,通过这种类图像化的方式可以提取出对局界面中各个unit的位置关系。示例性的,在MOBA游戏中unit可以包括虚拟角色(包括我方和敌方)、野怪、小兵、防御塔中的至少一种,当然,对于不同unit其像素点的赋值可以不同,例如,主控虚拟角色可以赋值为01,敌方虚拟角色可以赋值为11,小兵可以赋值为10,以区分不同unit,从而确定不同unit的相对位置关系。再如,以对MOBA游戏中的小地图的小图像进行类图像化为例进行说明,类图像化的方式还可以是将获取的参考游戏状态中的小地图的像素值减去原小地图的像素值,其中,原小地图的像素值是小地图上不显示虚拟角色位置、小兵位置的初始状态下的小地图,将参考游戏状态的小地图减去原小地图就可以得到参考游戏状态下小地图的变化量,将这个变化量的图像输入到特征提取网络中进行特征提取。当然,还可以采用其他方式对图像进行简化,得到类图像化处理后的游戏状态,从而将类图像化的游戏状态输入到特征提取网络中进行特征提取。
再如,通过数据接口从游戏程序中获取状态数据,状态数据包括至少一个游戏信息的数据;将根据状态数据拼接得到的向量作为参考游戏状态。示例性的,状态数据包括所有以数据形式展现的游戏信息的数据。示例性的,向量化是指对于有数值的游戏状态(游戏信息)可以之间将这些数值拼接为向量,将向量输入到特征提取网络中进行特征提取。例如,对于主控虚拟角色的状态信息(生命值、蓝量、法术攻击、物理攻击等等),可以直接按照预设的顺序,将主控虚拟角色的多个状态信息的数值拼接为一个向量,将这个向量作为游戏状态输入到特征提取网络中进行特征提取。示例性的,本实施例对于各个状态数据的拼接方式不加以限定,例如,可以将同一个unit的多个状态数据(例如,生命值、蓝量、攻击力、防御力等)顺序拼接为一个向量式参考游戏状态,则多个unit的状态数据可以拼接得到多个向量式参考游戏状态。再如,也可以将不同unit的相同状态数据拼接为一个向量式参考游戏状态,例如,顺序拼接主控虚拟角色的生命值、我方虚拟角色的生命值、敌方虚拟角色的生命值,得到一个生命值的向量式参考游戏状态,多个状态数据可以拼接得到多个向量式参考游戏状态。
例如,如图6所示,对于游戏状态中不同的游戏信息,可以采用不同的形式来表达这些游戏信息,对于有具体数值的游戏信息,例如,对局界面右上角KDA栏304中的KDA数值,可以采用向量化的形式进行向量化提取得到向量特征601,对于图像类的游戏信息。例如,将对局界面右上角的KDA栏截取成KDA图像,调用文字识别模型对KDA图像进行文字识别得到KDA数值,例如,KDA数值为1、2、3,则将KDA数值拼接为KDA的向量特征(1,2,3),将KDA的向量特征输入特征提取层进行特征提取。再如,通过游戏程序的接口AI模型可以获取到主控虚拟角色在当前游戏状态的信息参数:主控虚拟角色的生命值1000、蓝量2000、攻击力100、防御值200、KDA1/2/3、一技能冷却倒计时3s、二技能冷却倒计时0s、三技能冷却倒计时10s等,按照生命值、蓝量、攻击力、防御值、KDA、一技能冷却倒计时、二技能冷却倒计时、三技能冷却倒计时的顺序,可以拼接出主控虚拟角色的信息参数的向量特征(1000,2000,100,200,1,2,3,3,0,10)。将向量特征输入特征提取层进行特征提取。
例如,如图6所示,对局界面左上角小地图301的图像,或,对局界面中占据大部分区域的虚拟环境画面的图像602,可以采用类图像化的形式进行类图像化提取得到类图像特征,例如,对小地图的图像进行类图像化提取得到小地图图像特征603,对于虚拟环境画面进行类图像化提取得到局部图像特征604。以小地图为例,从对战界面中截取左上角小地图的图像,可以得到如图7所示的小地图图像(1),可以将小地图图像(1)作为小地图图像特征输入特征提取层进行特征提取。示例性的,也可以对小地图图像(1)进行类图像化处理得到小地图的类图像特征。给出一种进行类图像化处理的方法,如图7中的(2)所示,首先将小地图图像(1)等分为多个小方格,每个小方格相当于一个像素点,根据小地图中各个虚拟角色所处的位置来确定每个小方格的取值,其中,主控虚拟角色为10,我方虚拟角色为01,敌方虚拟角色为11,空白位置为00,则可以得到小地图的类图像特征(3),将类图像特征(3)输入特征提取层进行特征提取。示例性的,图7中将小地图图像等分为9*9个小方格,为了提高位置精度,当然还可以更精细地对小地图图像进行等分,例如等分为1000*1000个小方格。每个小方格的取值及其含义也可以任意设定,例如,当主控虚拟角色是第一英雄时代表其位置的小方格取值为0001,当主控虚拟角色是第二英雄时代表其位置的小方格取值为0002等等。示例性的,确定小方格取值的方式也可以是任意的:例如,小方格的取值是根据占据小方格百分之五十以上的内容确定的。当虚拟角色的位置图标占据了小方格百分之五十以上的面积,则将该小方格的取值确定为该虚拟角色对应的数值,当地图占据了小方格百分之五十以上的面积,则将该小方格的取值确定为空白位置的数值。
示例性的,将参考游戏状态以向量化和类图像化的形式输入到特征提取网络中进行特征提取,得到参考游戏状态特征。
步骤2013,调用决策网络对参考游戏状态特征进行决策预估得到决策结果,决策结果包括至少一个候选动作对应的至少一个概率值;执行决策结果中概率值最大的目标游戏动作。
示例性的,决策网络是一种分类网络,决策网络根据输入的游戏状态特征(参考游戏状态特征)输出每一个候选动作的概率值,概率值最大的候选动作即为需要执行的游戏动作(目标游戏动作)。
示例性的,候选动作包括游戏程序中可以执行的所有动作。例如,当游戏程序时MOBA程序时,候选动作可以包括控制主控虚拟角色在虚拟环境中移动、使用技能、攻击目标的动作、购买装备、卖出装备的动作等等。其中,如果一种动作有多种可能,则候选动作包括这种动作的所有可能。主控虚拟角色向360个方向中的一个方向进行移动,则候选动作中包括360个移动操作,每个移动操作对应一个移动方向。
对于每一个候选动作,决策网络都会输出一个概率值,概率值最大的候选动作即为目标游戏动作,AI模型向游戏程序发出目标游戏动作的指令,以便游戏程序执行目标游戏动作。
步骤2014,调用价值网络对所参考游戏状态特征进行价值预估得到状态价值。
示例性的,价值网络包括k个价值分类对应的k个价值分支,第j个价值分支用于预估游戏状态在第j个价值分类上的状态子价值;调用价值网络,通过k个价值分支输出参考游戏状态在k个价值分类上的k个状态子价值,k为大于1的整数。
示例性的,如图8中的(2)所示,价值网络的结构为分支型结构,每个价值分类对应一个价值分支,例如,第1个价值分类对应的第1个价值分支用于输出游戏状态的第1个状态子价值Q1,第2个价值分类对应的第2个价值分支用于输出游戏状态的第2个状态子价值Q2,第k个价值分类对应的第k个价值分支用于输出游戏状态的第k个状态子价值Qk。如图8中的(1)所示,一个价值分支包括多层网络结构701,参考游戏状态特征输入价值网络后,经过多层网络结构,在每个价值分支后输出每个价值分类的状态子价值。示例性的,如图8中的(2)所示,在一种价值网络的网络结构中,价值网络的网络结构中包括共有网络结构和分支网络结构,共有网络结构是不同价值分支共有的结构,分支网络结构是不同价值分支特有的结构,游戏状态特征经过共有网络结构后得到共有特征,不同价值分支的分支网络结构根据共有特征进行价值预估得到在不同价值分类上的状态子价值。示例性的,不同的分支网络结构会侧重共有特征中不同的特征部分,从而计算出在各个价值分类上的状态子价值,分支网络结构对特征部分的侧重是在训练阶段根据不同价值分类的动作价值引导训练的,从而使分支网络结构能够更关注属于该价值分类的特征部分。
步骤2015,重复上述步骤调用AI模型在游戏程序中进行游戏对局,获得训练数据。
重复步骤2011至步骤2014,将游戏对局中的每个游戏状态作为参考游戏状态,输出每个游戏状态的状态价值和目标游戏动作,使AI模型进行游戏对局。调用AI模型进行大量的游戏对局,就可以获得大量的训练数据。示例性的,训练数据包括AI模型在进行游戏对局过程中产生的全部数据。
步骤2021,获取训练数据中从t0时刻到tn时刻的游戏状态,参考游戏状态是t0时刻的游戏状态,tn时刻是游戏对局的结束时刻,n为正整数。
示例性的,所述参考游戏状态包括至少k个游戏信息,k个价值分类是根据游戏信息对游戏对局的影响划分的,属于同一个价值分类的游戏信息具有相同的影响衰减趋势。
动作价值的计算公式如下。
其中,上述公式为在一个价值分类中计算动作子价值的公式。rt为游戏动作在时刻t的时刻价值,rl为属于该价值分类的第l个游戏信息在时刻t的价值因子,wl为第l个游戏信息的权重,L为属于该价值分类的游戏信息的总数量。Rt为游戏动作在该价值分类的动作子价值,r(t,i)为第i个时刻的时刻价值,γi为第i个时刻的衰减因子,i=0为执行该游戏动作前的时刻(游戏动作是决策网络根据第0时刻的游戏状态确定的)。
从公式中可以看出,动作子价值的计算是先计算目标游戏动作在每个时刻的时刻价值,然后根据衰减因子对每个时刻的时刻价值进行求和的运算。即,一个游戏动作在一个价值分类的动作子价值,等于参考游戏状态的时刻开始到游戏对局结束的时刻为止,其中每一个时刻的时刻价值的加权和。则,计算一个动作在一个价值分类中的动作子价值,需要获取从参考游戏状态(t0时刻的游戏状态)到游戏对局结束时刻的游戏状态之间的多个游戏状态。
步骤2022,对于k个价值分类中的第j个价值分类,根据从t0时刻到tn时刻的游戏状态中,属于第j个价值分类的游戏信息,计算目标游戏动作在第j个价值分类的动作子价值,j为小于等于k的正整数,k为大于1的整数;重复本步骤计算得到目标游戏动作在k个价值分类上的k个动作子价值。
示例性的,一个时刻的游戏状态中具有多个游戏信息,在计算一个价值分类的动作子价值时,只需要用到游戏状态中属于该价值分类的游戏信息。
示例性的,对于k个价值分类中的第j个价值分类,根据ti时刻和ti+1时刻的游戏状态,获取属于第j个价值分类的游戏信息的价值因子,计算价值因子的加权和得到ti时刻的时刻价值;重复本步骤计算得到从t0时刻至tn-1时刻共n个时刻的n个时刻价值;根据n个时刻在第j个价值分类中对应的n个衰减因子,计算n个时刻的n个时刻价值的加权和,得到目标游戏动作在第j个价值分类的动作子价值;其中,ti时刻的衰减因子用于描述ti时刻的时刻价值的衰减程度,j为小于等于k的正整数,k为大于1的整数,i为小于n的非负整数,n为正整数。
示例性的,对于目标游戏动作在第j个价值分类中ti时刻的时刻价值的计算,根据ti时刻和ti+1时刻前后两个游戏状态的变化,计算每个游戏信息的价值因子。例如,游戏信息为主控虚拟角色的生命值,则根据生命值在前后两个游戏状态的差值:-200,计算得到生命值的价值因子。示例性的,对于不同的游戏信息可以分别设定计算方式来计算它的价值因子,例如,对于生命值的价值因子,每一百点生命值对应1价值因子,则-200的生命值对应的价值因子为-2。再如,对于防御塔的价值因子,一个防御塔对应30价值因子,若前后两个游戏状态我方防御塔的数量-1,则防御塔对应的价值因子为-30。综上,一个游戏信息在一个时刻的价值因子,是根据该游戏信息在前后两个游戏状态该游戏信息的差值计算得到的,或,是根据该游戏信息在前后两个游戏状态该游戏信息的差值获取的。
例如,假设稠密价值分类包括:主控虚拟角色的金币数量、主控虚拟角色的蓝量。在ti时刻的游戏状态主控虚拟角色的金币数量为0、主控虚拟角色的蓝量为200,在ti+1时刻的游戏状态主控虚拟角色的金币数量为100、主控虚拟角色的蓝量为100,其中金币数量每100金币对应1价值因子,蓝量每100对应2价值因子,则根据ti时刻和ti+1时刻金币数量的差值+100、蓝量的差值-100,可以得到金币数量的价值因子为100/100*1=1,蓝量的价值因子为-100/100*2=-2,则在稠密价值分类中ti时刻的时刻价值等于金币数量的价值因子加上蓝量的价值因子等于-1。
再如,假设稀疏价值分类包括:主控虚拟角色的KDA和双方防御塔数量。其中,主控虚拟角色的击杀数量K每增加1对应2价值因子,死亡数量D每增加1对应2价值因子,助攻数量A每增加1对应1价值因子,我方防御塔数量每减少1对应-3价值因子,敌方防御塔数量每减少1对应3价值因子。则假设在ti时刻的游戏状态为主控虚拟角色的KDA为0/0/0、我方防御塔数量为9,敌方防御塔数量为9,在ti+1时刻的游戏状态为主控虚拟角色的KDA为1/0/0、我方防御塔数量为8,敌方防御塔数量为9,则主控虚拟角色的KDA的价值因子为2,我方防御塔数量的价值因子为-3,敌方防御塔数量的价值因子为0,则在稀疏价值分类中ti时刻的时刻价值等于主控虚拟角色的KDA的价值因子加我方防御塔数量的价值因子加敌方防御塔数量的价值因子等于-1。
再如,假设英雄价值分类包括:主控虚拟角色是否死亡、生命值、攻击力。其中,主控虚拟角色由存活变为死亡对应-2价值因子,由死亡变为存活对应1价值因子,每100生命值对应1价值因子,每100攻击力对应1价值因子。则若从ti时刻到ti+1时刻,主控虚拟角色从存活变为死亡,生命值从100变为0,攻击力从3000变为3200,则在英雄价值分类中ti时刻的时刻价值等于是否死亡的价值因子加上生命值的价值因子加上攻击力的价值因子等于-2-1+2=-1。
再如,假设防御塔价值分类包括:防御塔的血量。其中,每100血量对应1价值因子。则若从ti时刻到ti+1时刻,我方防御塔的血量减少200,敌方防御塔的血量减少300,则在防御塔价值分类中ti时刻的时刻价值等于我方防御塔血量的价值因子加上敌方防御塔血量的价值因子等于-2+3=1。
再如,假设游戏胜负价值分类包括游戏胜负。其中,游戏胜利的价值因子为100,游戏失败的价值因子为-100。则若从ti时刻到ti+1时刻,我方获得胜利,则在游戏胜负价值分类中ti时刻的时刻价值等于100;若没有产生游戏胜负(游戏对局继续进行)则在游戏胜负价值分类中ti时刻的时刻价值为0。示例性的,在MOBA游戏中游戏胜负是由基地被摧毁决定的,即,若我方基地被摧毁则价值因子为-100,若敌方基地被摧毁则价值因子为100。
示例性的,上述实施例主要为了列举根据前后两个游戏状态游戏信息的变化得到该游戏信息的价值因子的方法,上述实施例中是根据各个游戏信息的权重为1计算的时刻价值,当然,在实际应用中,可以为不同的游戏信息设定不同的权重,例如,在第一价值分类中:第一游戏信息的权重为1,第二游戏信息的权重为2,则第一价值分类的时刻价值等于第一游戏信息的价值因子*1+第二游戏信息的价值因子*2。
在计算得到每个游戏信息的价值因子后,根据每个游戏信息对应的权重对价值因子进行加权求和,得目标游戏动作在一个价值分类的一个时刻的时刻价值。在计算得到从t0时刻至tn-1时刻的n个时刻价值后,对n个时刻价值进行加权求和就可以得到目标游戏动作在一个价值分类的动作子价值。
示例性的,对于时刻价值的加权求和是根据每个价值分类的衰减因子的时间分布进行加权的。示例性的,对于不同的价值分类对应有不同的衰减因子的时间分布,即,属于不同的价值分类中的游戏信息,其对后续游戏状态的影响程度的衰减趋势是不同的。
例如,如图9所示,给出了衰减因子与目标游戏动作发生的时刻(从未发生的t0时刻到对局结束的tn时刻)对应关系的举例,在一种价值分类中,游戏信息的变化对后续游戏状态影响的衰减趋势呈现第一曲线型801减小,该部分游戏信息在目标游戏动作发生的最近时刻对游戏状态的影响较大。在另一种价值分类中,游戏信息的变化对后续游戏状态影响的衰减趋势呈现直线型802减小,该部分游戏信息在目标游戏动作发生后对游戏状态的影响程度逐渐减小。在另一种价值分类中,游戏信息的变化对后续游戏状态影响的衰减趋势呈现折线型803减小,该部分游戏信息在目标游戏动作发生后的一段时间内位置在同一影响程度,在tm时刻后影响程度变为0。在另一种价值分类中,游戏信息的变化对后续游戏状态影响的衰减趋势呈现第二曲线型804减小,与第一曲线型801相比,其影响程度的衰减要更缓慢。
在得到每个时刻的时刻价值后,可以根据每个价值分类对应的衰减因子与时刻的对应关系,将衰减因子作为权重对时刻价值进行加权(衰减因子乘以时刻价值)求和,得到目标游戏动作在该价值分类的动作子价值。
根据上述方法,可以获得目标游戏动作在多个价值分类的多个动作子价值。
步骤2031,调用强化学习算法根据状态价值和动作价值之差,训练AI模型。
示例性的,根据每个价值分类的状态子价值和动作子价值之差,训练AI模型。
示例性的,可以采用任意的强化学习算法来进行AI模型的训练,例如,采用近端策略优化算法(Proximal Policy Optimization,PPO)、A3C算法、深度确定性策略梯度算法(Deep Deterministic Policy Gradient,DDPG)中的至少一种算法。
示例性的,如图10所示,给出一种采用PPO进行AI模型训练的流程图,以训练数据包括的参考游戏状态s、目标游戏动作、参考游戏状态s的状态价值Q、根据参考游戏状态s输出的旧策略(决策结果)为例,根据训练数据中从参考游戏状态s到游戏对局结束之间的游戏状态计算目标游戏动作的动作价值Rt,根据状态价值Q和动作价值Rt的差值得到第一损失901,根据第一损失901训练更新特征提取网络和价值网络,得到新的特征提取网络和新的价值网络。然后利用新的特征提取网络和原有的决策网络重新根据参考游戏状态s输出新策略(由于特征提取网络被更新了,输出的策略就会与旧策略不同),计算新策略与旧策略的比值,将比值限制在(0.8-1.2)范围内得到限制比值,将状态价值Q和动作价值Rt带入优势函数(advatage函数)求出优势,然后求比值与优势的第一乘积、求限制比值与优势的第二乘积,将第一乘积和第二乘积中较小的一个作为第二损失902,用第二损失902来训练特征提取网络和决策网络。其中,优势函数用于计算动作价值Rt相对于状态价值Q的优势,若目标游戏动作是在参考游戏状态下较好的游戏动作,则优势为正数,以此来训练AI模型在参考游戏状态的情况下向目标游戏动作的方向做决策;若目标游戏动作是在参考游戏状态下不好的游戏动作,则优势为负数,以此来训练AI模型在参考游戏状态的情况下不要向目标游戏动作的方向做决策。
示例性的,在使用上述实施例提供的AI模型的训练方法训练得到AI模型后,可以调用AI模型在所述游戏程序中控制主控虚拟角色进行游戏对局。
综上所述,本实施例提供的方法,通过将参考游戏状态中的多个游戏信息分配到不同的价值分类中,各自计算动作子价值,使用某个价值分类的动作子价值对价值网络中该价值分类的状态子价值进行独立训练,减少不同游戏信息之间互相影响对价值预估产生的干扰,提升AI模型的学习速度和能力上限。
本实施例提供的方法,通过对不同的价值分类配置不同的衰减因子,从而区别出不同游戏信息对游戏对局的影响长度,提高动作价值的准确度,从而更好地训练价值网络对不同价值分类的价值预估,提升价值网络的稳定性。并且,为每个价值分类单独配置衰减因子,能够使AI模型兼顾学习不同影响长度的游戏信息,提高AI模型的即时微操以及长远规划能力。
示例性的,给出一种在MOBA中应用本申请提供的AI模型的训练方法训练AI模型的示例性实施例。
首先调用AI模型在MOBA游戏程序中进行游戏对局获得的训练数据,例如,训练数据包括AI模型进程一场游戏对局的游戏数据,该场对局持续了6分钟,游戏对局的最小时间单位为0.01s,则6分钟的对局包含了36000个游戏状态。AI模型在进行游戏对局过程中,根据每0.01s的游戏状态输出下一个0.01秒需要执行的游戏动作,同时AI模型还会输出当前游戏状态的状态价值。例如,对于5分59.98秒的游戏状态,价值网络的五个价值分支分别输出在五个价值分类上的五个状态子价值:稠密价值分类的状态子价值1、稀疏价值分类的状态子价值2、英雄价值分类的状态子价值3、防御塔价值分类的状态子价值4、游戏胜负价值分类的状态子价值5。
然后,计算每个游戏状态所执行的游戏动作的动作价值,例如,AI模型根据5分59.98秒的游戏状态确定执行向右移动的游戏动作,则5分59.98秒执行向右移动的游戏动作的动作价值包含了在稠密价值分类、稀疏价值分类、英雄价值分类、防御塔价值分类、游戏胜负价值分类五个价值分类上的五个动作子价值。每个价值分类的动作子价值是根据属于当前价值分类的游戏信息计算得到时刻价值,然后用衰减因子对时刻价值进行加权求和得到的,由于5分59.98秒到游戏结束的6分只包含了5分59.98秒、5分59.99秒、6分三个时刻的游戏状态,则每个价值分类的动作子价值为各自游戏信息在5分59.98秒到5分59.99秒的时刻价值,以及5分59.99秒到6分的时刻价值之和。所以对于每个价值分类的动作子价值,需要分别根据5分59.98秒的游戏状态以及5分59.99秒的游戏状态,计算5分59.98秒到5分59.99秒的时刻价值,根据5分59.99秒的游戏状态以及6分的游戏状态,计算5分59.99秒到6分的时刻价值。
由于上述实施例中已经分别举例了计算五个价值分类的时刻价值的例子,这里只再给出一个计算胜负价值分类的时刻价值的例子,其他价值分类可以参照本实施例以及上述实施例中的计算方法。假设在6分的游戏状态我方虚拟角色摧毁了敌方基地获得了游戏胜利,则在5分59.98秒到5分59.99秒的游戏状态,虚拟环境中没有基地被摧毁,则5分59.98秒的时刻价值为0;在5分59.99秒到6分的游戏状态,我方摧毁了敌方基地,则5分59.99秒的时刻价值为100,然后,根据胜负价值分类的衰减因子的时刻分布:在第一个时刻的衰减因子为3,在第二个时刻的衰减因子为2,在第三个时刻的衰减因子为1……将5分59.98秒的时刻价值和5分59.99秒的时刻价值进行加权求和得到0*3+2*100=200,则在5分59.98秒的游戏状态执行向右移动的游戏动作在胜负价值分类中的动作子价值为200。同理计算得到其他四个价值分类上的动作子价值分别为:稠密价值分类的动作子价值1.2、稀疏价值分类的动作子价值3、英雄价值分类的动作子价值2、防御塔价值分类的动作子价值5。
然后,根据5分59.98秒的游戏状态在稠密价值分类的动作子价值与状态子价值之差1.2-1=0.2、在稀疏价值分类的动作子价值与状态子价值之差3-2=1、在英雄价值分类的动作子价值与状态子价值之差2-3=-1、在防御塔价值分类的动作子价值与状态子价值之差5-4=1、在胜负价值分类的动作子价值与状态子价值之差200-5=195,调用PPO算法对AI模型进行训练,得到新的AI模型。如此,根据一场游戏对局中的36000个游戏状态可以进行35999次的迭代训练,不断更新AI模型,提高AI模型的决策能力。
在训练完成后,就可以使用训练得到的AI模型进行MOBA游戏的游戏对局。
以下为本申请的装置实施例,对于装置实施例中未详细描述的细节,可参考上述方法实施例。
图11是本申请一个示例性实施例提供的人工智能AI模型的训练装置的框图。所述人工智能AI模型包括价值网络和决策网络,所述装置包括:
模型模块1001,用于调用所述人工智能AI模型在游戏程序中进行游戏对局获得训练数据,所述训练数据包括所述游戏对局中的参考游戏状态、所述决策网络根据所述参考游戏状态输出的目标游戏动作和所述价值网络根据所述参考游戏状态输出的状态价值,所述状态价值包括在k个价值分类上的k个状态子价值,k为大于1的整数;
计算模块1002,用于根据所述训练数据以及所述k个价值分类对应的k个价值计算公式,计算所述人工智能AI模型在所述参考游戏状态采用所述目标游戏动作的动作价值,所述动作价值包括在所述k个价值分类上的k个动作子价值;
训练模块1003,用于根据所述状态价值和所述动作价值之差,训练所述人工智能AI模型。
在一种可选的实施例中,所述参考游戏状态包括至少k个游戏信息,所述k个价值分类是根据所述游戏信息对所述游戏对局的影响划分的,属于同一个价值分类的所述游戏信息具有相同的影响衰减趋势;所述装置还包括:
获取模块1004,用于获取所述训练数据中从t0时刻到tn时刻的游戏状态,所述参考游戏状态是所述t0时刻的游戏状态,所述tn时刻是所述游戏对局的结束时刻,n为正整数;
所述计算模块1002,还用于对于所述k个价值分类中的第j个价值分类,根据从所述t0时刻到所述tn时刻的所述游戏状态中,属于所述第j个价值分类的所述游戏信息,计算所述目标游戏动作在所述第j个价值分类的动作子价值,j为小于等于k的正整数,k为大于1的整数;重复本步骤计算得到所述目标游戏动作在所述k个价值分类上的所述k个动作子价值。
在一种可选的实施例中,所述计算模块1002,还用于对于所述k个价值分类中的所述第j个价值分类,根据ti时刻和ti+1时刻的所述游戏状态,获取属于所述第j个价值分类的所述游戏信息的价值因子,计算所述价值因子的加权和得到所述ti时刻的时刻价值,j为小于等于k的正整数,k为大于1的整数,i为小于n的非负整数,n为正整数;重复本步骤计算得到从t0时刻至tn-1时刻共n个时刻的n个时刻价值;
所述计算模块1002,还用于根据所述n个时刻在所述第j个价值分类中对应的n个衰减因子,计算所述n个时刻的所述n个时刻价值的加权和,得到所述目标游戏动作在所述第j个价值分类的所述动作子价值;
其中,所述ti时刻的衰减因子用于描述所述ti时刻的所述时刻价值的衰减程度,j为小于等于k的正整数,k为大于1的整数,i为小于n的非负整数,n为正整数。
在一种可选的实施例中,所述人工智能AI模型还包括:特征提取网络;所述模型模块1001包括:获取子模块1005、特征提取子模块1006、决策子模块1007和价值子模块1008;
所述获取子模块1005,用于从所述游戏程序中获取所述参考游戏状态;
所述特征提取子模块1006,用于调用所述特征提取网络对所述参考游戏状态进行特征提取获得参考游戏状态特征;
所述决策子模块1007,用于调用所述决策网络对所述参考游戏状态特征进行决策预估得到决策结果,所述决策结果包括至少一个候选动作对应的至少一个概率值;执行所述决策结果中所述概率值最大的所述目标游戏动作;
所述价值子模块1008,用于调用所述价值网络对所参考游戏状态特征进行价值预估得到所述状态价值;
所述模型模块1001,还用于重复上述步骤调用所述人工智能AI模型在游戏程序中进行游戏对局,获得所述训练数据。
在一种可选的实施例中,所述价值网络包括所述k个价值分类对应的k个价值分支,第j个价值分支用于预估游戏状态在第j个价值分类上的状态子价值;
所述价值子模块1008,还用于调用所述价值网络,通过所述k个价值分支输出所述参考游戏状态在所述k个价值分类上的所述k个状态子价值,k为大于1的整数。
在一种可选的实施例中,所述训练模块1003,还用于调用强化学习算法根据所述状态价值和所述动作价值之差,训练所述人工智能AI模型。
在一种可选的实施例中,所述参考游戏状态包括游戏信息;所述价值分类包括:稠密价值分类、稀疏价值分类、英雄价值分类、防御塔价值分类、游戏胜负价值分类中的至少两种;
其中,所述稠密价值分类和所述稀疏价值分类是根据所述游戏信息对所述游戏对局的影响时间长度划分的;所述英雄价值分类和所述防御塔价值分类是根据所述游戏信息对所述游戏对局的影响重要程度划分的;所述游戏胜负价值分类中包括决定所述游戏对局是否结束的所述游戏信息。
在一种可选的实施例中,所述模型模块1001,还用于调用所述人工智能AI模型在所述游戏程序中控制主控虚拟角色进行所述游戏对局。
需要说明的是:上述实施例提供的人工智能AI模型的训练装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的人工智能AI模型的训练装置与人工智能AI模型的训练方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请还提供了一种终端,该终端包括处理器和存储器,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行以实现上述各个方法实施例提供的人工智能AI模型的训练方法。需要说明的是,该终端可以是如下图12所提供的终端。
图12出了本申请一个示例性实施例提供的终端1100的结构框图。该终端1100可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio LayerIV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1100还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1100包括有:处理器1101和存储器1102。
处理器1101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1101可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU;协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1101可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1101还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1102中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1101所执行以实现本申请中方法实施例提供的人工智能AI模型的训练方法。
在一些实施例中,终端1100还可选包括有:***设备接口1103和至少一个***设备。处理器1101、存储器1102和***设备接口1103之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口1103相连。具体地,***设备包括:射频电路1104、显示屏1105、摄像头1106、音频电路1107、定位组件1108和电源1109中的至少一种。
***设备接口1103可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器1101和存储器1102。在一些实施例中,处理器1101、存储器1102和***设备接口1103被集成在同一芯片或电路板上;在一些其他实施例中,处理器1101、存储器1102和***设备接口1103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1104用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1104通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1104包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1104可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1104还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1105用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1105是触摸显示屏时,显示屏1105还具有采集在显示屏1105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1101进行处理。此时,显示屏1105还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1105可以为一个,设置终端1100的前面板;在另一些实施例中,显示屏1105可以为至少两个,分别设置在终端1100的不同表面或呈折叠设计;在再一些实施例中,显示屏1105可以是柔性显示屏,设置在终端1100的弯曲表面上或折叠面上。甚至,显示屏1105还可以设置成非矩形的不规则图形,也即异形屏。显示屏1105可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1106用于采集图像或视频。可选地,摄像头组件1106包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1106还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1107可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1101进行处理,或者输入至射频电路1104以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1100的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1101或射频电路1104的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1107还可以包括耳机插孔。
定位组件1108用于定位终端1100的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1108可以是基于美国的GPS(GlobalPositioning System,全球定位***)、中国的北斗***或俄罗斯的伽利略***的定位组件。
电源1109用于为终端1100中的各个组件进行供电。电源1109可以是交流电、直流电、一次性电池或可充电电池。当电源1109包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1100还包括有一个或多个传感器1110。该一个或多个传感器1110包括但不限于:加速度传感器1111、陀螺仪传感器1112、压力传感器1113、指纹传感器1114、光学传感器1115以及接近传感器1116。
加速度传感器1111可以检测以终端1100建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1111可以用于检测重力加速度在三个坐标轴上的分量。处理器1101可以根据加速度传感器1111采集的重力加速度信号,控制显示屏1105以横向视图或纵向视图进行用户界面的显示。加速度传感器1111还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1112可以检测终端1100的机体方向及转动角度,陀螺仪传感器1112可以与加速度传感器1111协同采集用户对终端1100的3D动作。处理器1101根据陀螺仪传感器1112采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1113可以设置在终端1100的侧边框和/或显示屏1105的下层。当压力传感器1113设置在终端1100的侧边框时,可以检测用户对终端1100的握持信号,由处理器1101根据压力传感器1113采集的握持信号进行左右手识别或快捷操作。当压力传感器1113设置在显示屏1105的下层时,由处理器1101根据用户对显示屏1105的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1114用于采集用户的指纹,由处理器1101根据指纹传感器1114采集到的指纹识别用户的身份,或者,由指纹传感器1114根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1101授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1114可以被设置终端1100的正面、背面或侧面。当终端1100上设置有物理按键或厂商Logo时,指纹传感器1114可以与物理按键或厂商Logo集成在一起。
光学传感器1115用于采集环境光强度。在一个实施例中,处理器1101可以根据光学传感器1115采集的环境光强度,控制、显示屏1105的显示亮度。具体地,当环境光强度较高时,调高、显示屏1105的显示亮度;当环境光强度较低时,调低、显示屏1105的显示亮度。在另一个实施例中,处理器1101还可以根据光学传感器1115采集的环境光强度,动态调整摄像头组件1106的拍摄参数。
接近传感器1116,也称距离传感器,通常设置在终端1100的前面板。接近传感器1116用于采集用户与终端1100的正面之间的距离。在一个实施例中,当接近传感器1116检测到用户与终端1100的正面之间的距离逐渐变小时,由处理器1101控制、显示屏1105从亮屏状态切换为息屏状态;当接近传感器1116检测到用户与终端1100的正面之间的距离逐渐变大时,由处理器1101控制、显示屏1105从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图12中示出的结构并不构成对终端1100的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的人工智能AI模型的训练方法。
图13是本申请一个实施例提供的服务器的结构示意图。具体来讲:服务器1200包括中央处理单元(英文:Central Processing Unit,简称:CPU)1201、包括随机存取存储器(英文:Random Access Memory,简称:RAM)1202和只读存储器(英文:Read-Only Memory,简称:ROM)1203的***存储器1204,以及连接***存储器1204和中央处理单元1201的***总线1205。服务器1200还包括帮助计算机内的各个器件之间传输信息的基本输入/输出***(I/O***)1206,和用于存储操作***1213、应用程序1214和其他程序模块1215的大容量存储设备1207。
基本输入/输出***1206包括有用于显示信息的显示器1208和用于用户输入信息的诸如鼠标、键盘之类的输入设备1209。其中显示器1208和输入设备1209都通过连接到***总线1205的输入/输出控制器1212连接到中央处理单元1201。基本输入/输出***1206还可以包括输入/输出控制器1212以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入/输出控制器1212还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备1207通过连接到***总线1205的大容量存储控制器(未示出)连接到中央处理单元1201。大容量存储设备1207及其相关联的计算机可读介质为服务器1200提供非易失性存储。也就是说,大容量存储设备1207可以包括诸如硬盘或者只读光盘(英文:Compact Disc Read-Only Memory,简称:CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(英文:Erasable Programmable Read-Only Memory,简称:EPROM)、电可擦除可编程只读存储器(英文:Electrically Erasable Programmable Read-Only Memory,简称:EEPROM)、闪存或其他固态存储其技术,CD-ROM、数字通用光盘(英文:Digital Versatile Disc,简称:DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的***存储器1204和大容量存储设备1207可以统称为存储器。
根据本申请的各种实施例,服务器1200还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1200可以通过连接在***总线1205上的网络接口单元1211连接到网络1212,或者说,也可以使用网络接口单元1211来连接到其他类型的网络或远程计算机***(未示出)。
本申请提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述各个方法实施例提供的人工智能AI模型的训练方法。
本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述可选实现方式中提供的人工智能AI模型的训练方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种人工智能AI模型的训练方法,其特征在于,所述人工智能AI模型包括价值网络和决策网络,所述方法包括:
调用所述人工智能AI模型在游戏程序中进行游戏对局获得训练数据,所述训练数据包括所述游戏对局中的参考游戏状态、所述决策网络根据所述参考游戏状态输出的目标游戏动作和所述价值网络根据所述参考游戏状态输出的状态价值,所述状态价值包括在k个价值分类上的k个状态子价值,k为大于1的整数;
根据所述训练数据以及所述k个价值分类对应的k个价值计算公式,计算所述人工智能AI模型在所述参考游戏状态采用所述目标游戏动作的动作价值,所述动作价值包括在所述k个价值分类上的k个动作子价值;
根据所述状态价值和所述动作价值之差,训练所述人工智能AI模型。
2.根据权利要求1所述的方法,其特征在于,所述参考游戏状态包括至少k个游戏信息,所述k个价值分类是根据所述游戏信息对所述游戏对局的影响划分的,属于同一个价值分类的所述游戏信息具有相同的影响衰减趋势;
所述根据所述训练数据以及所述k个价值分类对应的k个价值计算公式,计算所述人工智能AI模型在所述参考游戏状态采用所述目标游戏动作的动作价值,包括:
获取所述训练数据中从t0时刻到tn时刻的游戏状态,所述参考游戏状态是所述t0时刻的游戏状态,所述tn时刻是所述游戏对局的结束时刻,n为正整数;
对于所述k个价值分类中的第j个价值分类,根据从所述t0时刻到所述tn时刻的所述游戏状态中,属于所述第j个价值分类的所述游戏信息,计算所述目标游戏动作在所述第j个价值分类的动作子价值,j为小于等于k的正整数,k为大于1的整数;重复本步骤计算得到所述目标游戏动作在所述k个价值分类上的所述k个动作子价值。
3.根据权利要求2所述的方法,其特征在于,所述对于所述k个价值分类中的第j个价值分类,根据从所述t0时刻到所述tn时刻的所述游戏状态中,属于所述第j个价值分类的所述游戏信息,计算所述目标游戏动作在所述第j个价值分类的动作子价值,包括:
对于所述k个价值分类中的所述第j个价值分类,根据ti时刻和ti+1时刻的所述游戏状态,获取属于所述第j个价值分类的所述游戏信息的价值因子,计算所述价值因子的加权和得到所述ti时刻的时刻价值;重复本步骤计算得到从t0时刻至tn-1时刻共n个时刻的n个时刻价值;
根据所述n个时刻在所述第j个价值分类中对应的n个衰减因子,计算所述n个时刻的所述n个时刻价值的加权和,得到所述目标游戏动作在所述第j个价值分类的所述动作子价值;
其中,所述ti时刻的衰减因子用于描述所述ti时刻的所述时刻价值的衰减程度,j为小于等于k的正整数,k为大于1的整数,i为小于n的非负整数,n为正整数。
4.根据权利要求1至3任一所述的方法,其特征在于,所述参考游戏状态包括游戏信息;所述价值分类包括:稠密价值分类、稀疏价值分类、英雄价值分类、防御塔价值分类、游戏胜负价值分类中的至少两种;
其中,所述稠密价值分类和所述稀疏价值分类是根据所述游戏信息对所述游戏对局的影响时间长度划分的;所述英雄价值分类和所述防御塔价值分类是根据所述游戏信息对所述游戏对局的影响重要程度划分的;所述游戏胜负价值分类中包括决定所述游戏对局是否结束的所述游戏信息。
5.根据权利要求1至3任一所述的方法,其特征在于,所述人工智能AI模型还包括:特征提取网络;
所述调用所述人工智能AI模型在游戏程序中进行游戏对局获得训练数据,包括以下步骤:
从所述游戏程序中获取所述参考游戏状态;
调用所述特征提取网络对所述参考游戏状态进行特征提取获得参考游戏状态特征;
调用所述决策网络对所述参考游戏状态特征进行决策预估得到决策结果,所述决策结果包括至少一个候选动作对应的至少一个概率值;执行所述决策结果中所述概率值最大的所述目标游戏动作;
调用所述价值网络对所参考游戏状态特征进行价值预估得到所述状态价值;
重复上述步骤调用所述人工智能AI模型在游戏程序中进行游戏对局,获得所述训练数据。
6.根据权利要求5所述的方法,其特征在于,所述价值网络包括所述k个价值分类对应的k个价值分支,第j个价值分支用于预估游戏状态在第j个价值分类上的状态子价值;
所述调用所述价值网络对所述参考游戏状态特征进行价值预估得到所述状态价值,包括:
调用所述价值网络,通过所述k个价值分支输出所述参考游戏状态特征在所述k个价值分类上的所述k个状态子价值,k为大于1的整数。
7.根据权利要求5所述的方法,其特征在于,所述从所述游戏程序中获取所述参考游戏状态,包括:
从所述游戏程序的对局界面中截取图像区域作为所述参考游戏状态。
8.根据权利要求5所述的方法,其特征在于,所述从所述游戏程序中获取所述参考游戏状态,包括:
从所述游戏程序的对局界面中截取图像区域;
对所述图像区域进行类图像化处理得到简化图像,将所述简化图像作为所述参考游戏状态。
9.根据权利要求5所述的方法,其特征在于,所述从所述游戏程序中获取所述参考游戏状态,包括:
通过数据接口从所述游戏程序中获取状态数据,所述状态数据包括至少一个游戏信息的数据;
将根据所述状态数据拼接得到的向量作为所述参考游戏状态。
10.根据权利要求1至3任一所述的方法,其特征在于,所述根据所述状态价值和所述动作价值之差,训练所述人工智能AI模型,包括:
调用强化学习算法根据所述状态价值和所述动作价值之差,训练所述人工智能AI模型。
11.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:
调用所述人工智能AI模型在所述游戏程序中控制主控虚拟角色进行所述游戏对局。
12.一种人工智能AI模型的训练装置,其特征在于,所述人工智能AI模型包括价值网络和决策网络,所述装置包括:
模型模块,用于调用所述人工智能AI模型在游戏程序中进行游戏对局获得训练数据,所述训练数据包括所述游戏对局中的参考游戏状态、所述决策网络根据所述参考游戏状态输出的目标游戏动作和所述价值网络根据所述参考游戏状态输出的状态价值,所述状态价值包括在k个价值分类上的k个状态子价值,k为大于1的整数;
计算模块,用于根据所述训练数据以及所述k个价值分类对应的k个价值计算公式,计算所述人工智能AI模型在所述参考游戏状态采用所述目标游戏动作的动作价值,所述动作价值包括在所述k个价值分类上的k个动作子价值;
训练模块,用于根据所述状态价值和所述动作价值之差,训练所述人工智能AI模型。
13.根据权利要求12所述的装置,其特征在于,所述参考游戏状态包括至少k个游戏信息,所述k个价值分类是根据所述游戏信息对所述游戏对局的影响划分的,属于同一个价值分类的所述游戏信息具有相同的影响衰减趋势;所述装置还包括:
获取模块,用于获取所述训练数据中从t0时刻到tn时刻的游戏状态,所述参考游戏状态是所述t0时刻的游戏状态,所述tn时刻是所述游戏对局的结束时刻,n为正整数;
计算模块,用于对于所述k个价值分类中的第j个价值分类,根据从所述t0时刻到所述tn时刻的所述游戏状态中,属于所述第j个价值分类的所述游戏信息,计算所述目标游戏动作在所述第j个价值分类的动作子价值,j为小于等于k的正整数,k为大于1的整数;重复本步骤计算得到所述目标游戏动作在所述k个价值分类上的所述k个动作子价值。
14.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至11任一所述的人工智能AI模型的训练方法。
15.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至11任一所述的人工智能AI模型的训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011164804.7A CN112221152A (zh) | 2020-10-27 | 2020-10-27 | 人工智能ai模型的训练方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011164804.7A CN112221152A (zh) | 2020-10-27 | 2020-10-27 | 人工智能ai模型的训练方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112221152A true CN112221152A (zh) | 2021-01-15 |
Family
ID=74110321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011164804.7A Pending CN112221152A (zh) | 2020-10-27 | 2020-10-27 | 人工智能ai模型的训练方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112221152A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112717415A (zh) * | 2021-01-22 | 2021-04-30 | 上海交通大学 | 一种基于信息瓶颈理论的强化学习对战游戏ai训练方法 |
CN112870722A (zh) * | 2021-03-11 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 对战格斗类ai游戏模型的生成方法、装置、设备及介质 |
CN112957740A (zh) * | 2021-03-26 | 2021-06-15 | 南京大学 | 一种适配分层强化学习的自动分解游戏环境的方法 |
CN113082711A (zh) * | 2021-03-22 | 2021-07-09 | 北京达佳互联信息技术有限公司 | 游戏机器人的控制方法、装置、服务器及存储介质 |
CN113708976A (zh) * | 2021-09-23 | 2021-11-26 | 中国人民解放军国防科技大学 | 一种基于深度强化学习的异质作战网络瓦解方法 |
CN114404975A (zh) * | 2022-01-20 | 2022-04-29 | 腾讯科技(深圳)有限公司 | 决策模型的训练方法、装置、设备、存储介质及程序产品 |
CN115212575A (zh) * | 2022-09-19 | 2022-10-21 | 南京惠积信息科技有限公司 | 连续状态空间智能体构建方法 |
CN117883788A (zh) * | 2024-03-14 | 2024-04-16 | 腾讯科技(深圳)有限公司 | 智能体训练方法、游戏对战方法、装置及电子设备 |
-
2020
- 2020-10-27 CN CN202011164804.7A patent/CN112221152A/zh active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112717415A (zh) * | 2021-01-22 | 2021-04-30 | 上海交通大学 | 一种基于信息瓶颈理论的强化学习对战游戏ai训练方法 |
CN112870722A (zh) * | 2021-03-11 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 对战格斗类ai游戏模型的生成方法、装置、设备及介质 |
CN112870722B (zh) * | 2021-03-11 | 2022-07-22 | 腾讯科技(深圳)有限公司 | 对战格斗类ai游戏模型的生成方法、装置、设备及介质 |
CN113082711A (zh) * | 2021-03-22 | 2021-07-09 | 北京达佳互联信息技术有限公司 | 游戏机器人的控制方法、装置、服务器及存储介质 |
CN113082711B (zh) * | 2021-03-22 | 2023-08-29 | 北京达佳互联信息技术有限公司 | 游戏机器人的控制方法、装置、服务器及存储介质 |
CN112957740A (zh) * | 2021-03-26 | 2021-06-15 | 南京大学 | 一种适配分层强化学习的自动分解游戏环境的方法 |
CN112957740B (zh) * | 2021-03-26 | 2023-09-29 | 南京大学 | 一种适配分层强化学习的自动分解游戏环境的方法 |
CN113708976A (zh) * | 2021-09-23 | 2021-11-26 | 中国人民解放军国防科技大学 | 一种基于深度强化学习的异质作战网络瓦解方法 |
CN113708976B (zh) * | 2021-09-23 | 2023-09-01 | 中国人民解放军国防科技大学 | 一种基于深度强化学习的异质作战网络瓦解方法 |
CN114404975A (zh) * | 2022-01-20 | 2022-04-29 | 腾讯科技(深圳)有限公司 | 决策模型的训练方法、装置、设备、存储介质及程序产品 |
CN115212575A (zh) * | 2022-09-19 | 2022-10-21 | 南京惠积信息科技有限公司 | 连续状态空间智能体构建方法 |
CN115212575B (zh) * | 2022-09-19 | 2022-12-20 | 南京惠积信息科技有限公司 | 连续状态空间智能体构建方法 |
CN117883788A (zh) * | 2024-03-14 | 2024-04-16 | 腾讯科技(深圳)有限公司 | 智能体训练方法、游戏对战方法、装置及电子设备 |
CN117883788B (zh) * | 2024-03-14 | 2024-06-04 | 腾讯科技(深圳)有限公司 | 智能体训练方法、游戏对战方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112221152A (zh) | 人工智能ai模型的训练方法、装置、设备及介质 | |
CN111589142B (zh) | 虚拟对象的控制方法、装置、设备及介质 | |
CN109445662B (zh) | 虚拟对象的操作控制方法、装置、电子设备及存储介质 | |
CN112717421B (zh) | 组队匹配方法、装置、终端、服务器及存储介质 | |
CN109529356B (zh) | 对战结果确定方法、装置及存储介质 | |
CN111013142B (zh) | 互动效果显示方法、装置、计算机设备及存储介质 | |
CN111672114B (zh) | 目标虚拟对象确定方法、装置、终端及存储介质 | |
CN111760278B (zh) | 技能控件的显示方法、装置、设备及介质 | |
CN112221140B (zh) | 虚拟对象的动作确定模型训练方法、装置、设备及介质 | |
CN110917623B (zh) | 互动信息显示方法、装置、终端及存储介质 | |
CN112569607B (zh) | 预购道具的显示方法、装置、设备及介质 | |
CN111672104B (zh) | 虚拟场景的显示方法、装置、终端及存储介质 | |
CN112402961B (zh) | 互动信息的显示方法、装置、电子设备及存储介质 | |
CN110448908B (zh) | 虚拟环境中瞄准镜的应用方法、装置、设备及存储介质 | |
CN110826717A (zh) | 基于人工智能的博弈业务执行方法、装置、设备及介质 | |
CN111589139A (zh) | 虚拟对象展示方法、装置、计算机设备及存储介质 | |
CN111672118A (zh) | 虚拟对象的瞄准方法、装置、设备及介质 | |
CN112870705A (zh) | 对局结算界面的显示方法、装置、设备及介质 | |
CN114130012A (zh) | 用户界面的显示方法、装置、设备、介质及程序产品 | |
CN116956007A (zh) | 人工智能模型的预训练方法、装置、设备及存储介质 | |
CN114130020A (zh) | 虚拟场景显示方法、装置、终端及存储介质 | |
CN114130018A (zh) | 虚拟物品的获取方法、装置、设备、介质及程序产品 | |
CN114404977A (zh) | 行为模型的训练方法、结构扩容模型的训练方法 | |
CN111921200B (zh) | 虚拟对象的控制方法、装置、电子设备及存储介质 | |
CN112156454A (zh) | 虚拟对象的生成方法、装置、终端及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40037776 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |