本发明涉及云游戏技术领域,特别涉及一种基于强化学习的云游戏引擎智能优化方法及装置。
背景技术:
得益于云计算技术的飞速发展,在云计算强大图形处理和数据运算能力的支持下,云游戏作为一种新兴游戏形态,通过云端完成游戏运行与画面渲染,降低了对游戏终端设备运算能力的要求,使一些性能相对有限的游戏终端设备也可以体验高品质的游戏。目前,传统游戏引擎主要依靠游戏玩家的搜索和下载记录来判断玩家的兴趣爱好,并据此进行游戏内容投放,效果不佳,投资回报率低。随着云游戏产业规模的扩大,对游戏发行商来说,提升云游戏引擎的智能化,将游戏用户最感兴趣的内容更精准地推送到各个游戏终端,以增强游戏用户与游戏的粘性,节省云游戏引擎开销,是一项迫切需要解决的问题,直接影响经济效益。
强化学习是机器学习范式的一种,用于描述和解决智能体在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题,是最接近于自然界动物学习本质的一种学习范式。将强化学习应用于云游戏引擎智能的优化上,云游戏引擎以“试错”的方式进行学习,不预先给定任何指导数据,通过接收云游戏用户对动作的反馈获得学习信息并不断更新模型参数,可以很好地提升云游戏引擎的智能化程度,解决游戏内容推送不精准的问题。
技术实现要素:
本发明实施例提供了一种基于强化学习的云游戏引擎智能优化方法及装置,可以很好地提升云游戏引擎的智能化程度,解决游戏内容推送不精准的问题。所述技术方案如下:
一方面,提供了一种基于强化学习的云游戏引擎智能优化方法,该方法应用于电子设备,该方法包括:
获取云游戏用户的历史数据;
从所述历史数据中提取特征并融合抽象成数学表示;
基于所述数学表示,用马尔科夫决策过程描述所述云游戏引擎和所述云游戏用户之间的交互,构建强化学习模型并进行模型评估和优化;
基于所述强化学习模型的最优策略对所述云游戏引擎进行智能优化。
可选地,所述云游戏用户的历史数据包括静态数据和动态数据,其中所述静态数据包括所述云游戏用户的基本信息、游戏角色信息、游戏段位信息、游戏中的消费信息;所述动态数据包括所述云游戏用户对游戏画面的实际点击次数、成为游戏有效用户的成功次数。
可选地,所述从历史数据中提取特征值并融合抽象成数学表示,包括:
以向量(u,q)i表示所述历史数据,其中u表示所述静态数据,q表示所述动态数据,对于每个所述云游戏用户,所述云游戏引擎实时感知并计算所述向量(u,q)i,且将其作为排序因子,输入到一个最终排序的总序列中。
可选地,所述用马尔科夫决策过程描述所述云游戏引擎和所述云游戏用户之间的交互,构建强化学习模型并进行模型评估和优化,包括:
将所述云游戏引擎推送游戏画面的过程描述成所述云游戏引擎和所述云游戏用户交互的马尔科夫决策过程,以所述云游戏引擎作为智能体,所述云游戏用户的历史数据作为状态,推送策略作为动作,所述云游戏用户的反馈作为奖赏;
所述强化学习模型由状态、动作、奖赏三部分组成,所述状态表达式为:
s=(u,q,a1,a2,...,an,t)
其中,u表示静态数据,q表示动态数据,ai表示动作,t表示当前决策的总步骤;
对于每个状态,动作ai∈{skip,eval},其中,skip代表特征xi被保留作为排序特征,反之,skip表示xi不被保留作为排序特征;
所述奖赏的损失函数表示为:
其中,l(b(θ))是
则奖赏可表示为:
其中,q表示引擎序列特征总数,
其中,pθ(τ)是轨迹τ出现的概率,
可选地,所述奖赏的损失函数用演员-评论家算法进行优化,设定策略网络为演员,利用参数化的网络评估状态sk的值函数,其评判网络的目标函数表达式为:
其中,目标值由参数化的不同时刻状态值函数的平方差来表示,v(·)表示评判网络值函数,rk+1表示惩罚项,γ表示折扣因子,θc表示评判网络的全局参数,通过评判网络得到的值函数引导全局参数不断更新,最终收敛得到最优的全局参数θc。。
一方面,提供了一种基于强化学习的云游戏引擎智能优化装置,该装置应用于电子设备,包括:
用户数据获取单元,用于获取云游戏用户的历史数据;
特征提取和融合单元,用于从所述历史数据中提取特征并融合抽象成数学表示;
建模及模型评估优化单元,用于基于所述数学表示,使用马尔科夫决策过程描述所述云游戏引擎和所述云游戏用户之间的交互,构建强化学习模型并进行模型评估和优化;
引擎优化单元,用于基于所述强化学习模型的最优策略对所述云游戏引擎进行智能优化。
可选地,所述云游戏用户的历史数据包括静态数据和动态数据,其中所述静态数据包括所述云游戏用户的基本信息、游戏角色信息、游戏段位信息、游戏中的消费信息;所述动态数据包括所述云游戏用户对游戏画面的实际点击次数、成为游戏有效用户的成功次数。
可选地,所述特征提取和融合单元,用于:
以向量(u,q)i表示所述历史数据,其中u表示所述静态数据,q表示所述动态数据。对于每个所述云游戏用户,所述云游戏引擎实时感知并计算所述向量(u,q)i,且将其作为排序因子,输入到一个最终排序的总序列中。
可选地,所述建模及模型评估优化单元,用于:
将所述云游戏引擎推送游戏画面的过程描述成所述云游戏引擎和所述云游戏用户交互的马尔科夫决策过程,以所述云游戏引擎作为智能体,所述云游戏用户的历史数据作为状态,推送策略作为动作,所述云游戏用户的反馈作为奖赏;
所述强化学习模型由状态、动作、奖赏三部分组成,所述状态表达式为:
s=(u,q,a1,a2,...,an,t)
其中,u表示静态数据,q表示动态数据,ai表示动作,t表示当前决策的总步骤;
对于每个状态,动作ai∈{skip,eval},其中,skip代表特征xi被保留作为排序特征,反之,skip表示xi不被保留作为排序特征;
所述奖赏的损失函数表示为:
其中,l(b(θ))是
则奖赏可表示为:
其中,q表示引擎序列特征总数,
其中,pθ(τ)是轨迹τ出现的概率,
可选地,所述奖赏的损失函数用演员-评论家算法进行优化,设定策略网络为演员,利用参数化的网络评估状态sk的值函数,其评判网络的目标函数表达式为:
其中,目标值由参数化的不同时刻状态值函数的平方差来表示,v(·)表示评判网络值函数,rk+1表示惩罚项,γ表示折扣因子,θc表示评判网络的全局参数,通过评判网络得到的值函数引导全局参数不断更新,最终收敛得到最优的全局参数θc。
一方面,提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述云游戏引擎智能优化方法。
一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述云游戏引擎智能优化方法。
本发明实施例提供的技术方案带来的有益效果至少包括:
本发明实施例中,基于强化学习模型对云游戏引擎进行智能优化,提升了云游戏引擎的性能,降低了云游戏引擎运行开销,节省了服务器端的系统资源;针对用户偏好来进行云游戏画面推送,增加了推送内容的准确性和相关性,进而加强了云游戏与用户之间的粘性,有利于提高游戏开发商的运营收益。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于强化学习的云游戏引擎智能优化方法的流程图;
图2是本发明实施例中强化学习模型的交互示意图;
图3是本发明实施例中演员-评论家算法的框架示意图;
图4是本发明实施例中基于强化学习模型对云游戏引擎进行智能优化的示意图;
图5是本发明实施例提供的一种基于强化学习的云游戏引擎智能优化装置的示意图;
图6是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
第一实施例
本实施例提供了一种基于强化学习的云游戏引擎智能优化方法,该方法可以由电子设备实现。如图1所示的基于强化学习的云游戏引擎智能优化方法流程图,该方法的处理流程可以包括如下的步骤:
s101,获取云游戏用户的历史数据。
可选地,云游戏用户的历史数据是指最近一周的游戏数据,包括静态数据和动态数据,其中静态数据包括云游戏用户的基本信息、游戏角色信息、游戏段位信息、游戏中的消费信息等;动态数据包括云游戏用户对游戏画面的实际点击次数、成为游戏某个道具或装扮的有效用户的成功次数等。
s102,从s101获取的历史数据中提取特征并融合抽象成数学表示。
特征提取与构造是数据分析过程的关键步骤,也是后续机器学习表达数据信息所依赖的对象。本实施例对s101获取的历史数据进行了特征抽取和融合。可选地,以向量(u,q)i表示历史数据,其中u表示静态数据,q表示动态数据,对于每个云游戏用户,云游戏引擎实时感知并计算向量(u,q)i,且将其作为排序因子,输入到一个最终排序的总序列中。
s103,基于s102获取的数学表示,用马尔科夫决策过程描述云游戏引擎和云游戏用户之间的交互,构建强化学习模型并进行模型评估和优化。
将云游戏引擎推送游戏画面的过程描述成云游戏引擎和云游戏用户交互的马尔科夫决策过程,以云游戏引擎作为智能体(agent),云游戏用户的历史数据作为状态(state),推送策略作为动作(action),云游戏用户的反馈作为奖赏(reward)。
具体的,我们用xj来指代云游戏用户xj(u,q),针对某一个云游戏用户(u,q),有m个需要推送的画面,此时对于游戏引擎的排序总分可以表示为:
fa=[f(πs(s(p1))),f(πs(s(p2))),...,f(πs(s(pm)))]
其中,f的形式没有做假设,s(p)=(x1(p),x2(p),....,xn(p))∈rn。表示每个推送的n个排序因子。
取一个子集s∈ω,计算近似值
fa=[f(πs(s(p1))),f(πs(s(p2))),...,f(πs(s(pm)))]
其中,πs(·)指的是因子全集向子集的映射,问题的优化目标是在使用因子尽量少的的情况下,尽可能逼近原先的函数。因此,可以把目标写成:
其中,d(fo||fa)表示的是kl距离,第二项是子集的大小。这可以被证明是一个多项式复杂程度的非确定性问题(np-hard,non-deterministicpolynomial)问题,本实施例通过在云游戏用户的特征表示层上进行泛化,不直接求子集,而是通过定义:
su,q=h(u,q|θ)
其中,θ是全局模型的参数,本发明通过强化学习模型推导出最优的参数,寻找问题的最优近似解。
在网络资源匮乏且数据量大的云计算环境中,游戏引擎往往会把高品质的游戏渲染后的画面传送给玩家客户端,大量探索式的游戏玩家与游戏引擎的交互是非常耗时且不可取的。因此,需要去优化云游戏画面推送策略,强化学习模型是一种可以很好的刻画出游戏玩家与游戏引擎交互场景的机器学习模型。如图2所示,输入的是游戏玩家的特征信息,首先经过引擎网络,输出引擎的动作,然后,产生游戏玩家行为,即是否浏览、装饰或购买等行为,另外评判网络会根据相应的权重给出奖励。
具体地,强化学习模型由状态、动作、奖赏三部分组成,状态表达式为:
s=(u,q,a1,a2,...,an,t)
其中,u表示静态数据,q表示动态数据,ai表示动作,t表示当前决策的总步骤;
对于每个状态,动作ai∈{skip,eval},其中,skip代表特征xi被保留作为排序特征,反之,skip表示xi不被保留作为排序特征;
奖赏的损失函数表示为:
其中,l(b(θ))是
则奖赏可表示为:
其中,q表示引擎序列特征总数,
其中,pθ(τ)是轨迹τ出现的概率,
可选地,奖赏的损失函数用演员-评论家算法进行优化,其框架图如图3所示,设定策略网络为演员,利用参数化的网络评估状态sk的值函数,其评判网络的目标函数表达式为:
其中,目标值由参数化的不同时刻状态值函数的平方差来表示,v(·)表示评判网络值函数,rk+1表示惩罚项,γ表示折扣因子,θc表示评判网络的全局参数,通过评判网络得到的值函数引导全局参数不断更新,最终收敛得到最优的全局参数θc。
s104,基于s103中获取的强化学习模型最优策略对云游戏引擎进行智能优化。
如图4所示,实现了前端与后端的智能交互,云游戏引擎通过不断的探索实践其性能逐步达到了最优。具体的,在客户端,状态服务部分,提供游戏玩家的相关状态做云端的引擎优化。在云端,获取游戏玩家的基本信息及游戏日志数据,析取玩家相关属性数据。提取相关特征,玩家特征排序是实现游戏引擎优化的有力抓手,也是优化云游戏引擎性能的重要因子。实时样本生成,进而输出到强化学习模型的训练与评估中。在分布式强化学习算法中执行演员-评论家学习逻辑,探索实践展现奖赏信息的汇总。模型服务导出实时模型,供云游戏引擎访问。
本实施例中,基于强化学习模型对云游戏引擎进行智能优化,提升了云游戏引擎的性能,降低了云游戏引擎运行开销,节省了服务器端的系统资源;针对用户偏好来进行云游戏画面推送,增加了推送内容的准确性和相关性,进而加强了云游戏与用户之间的粘性,有利于提高游戏开发商的运营收益。
第二实施例
本实施例提供了一种基于强化学习的云游戏引擎智能优化装置,该装置如图5所示,包括:
用户数据获取单元201,用于获取云游戏用户的历史数据;
特征提取和融合单元202,用于从所述历史数据中提取特征并融合抽象成数学表示;
建模及模型评估优化单元203,用于基于所述数学表示,使用马尔科夫决策过程描述所述云游戏引擎和所述云游戏用户之间的交互,构建强化学习模型并进行模型评估和优化;
引擎优化单元204,用于基于所述强化学习模型的最优策略对所述云游戏引擎进行智能优化。
本实施例的基于强化学习的云游戏引擎智能优化装置与上述第一实施例的基于强化学习的云游戏引擎智能优化方法相对应;其中,本实施例的基于强化学习的云游戏引擎智能优化装置中的各单元所实现的功能与上述第一实施例的基于强化学习的云游戏引擎智能优化方法中的各流程步骤一一对应;故,在此不再赘述。
第三实施例
本实施例提供一种电子设备300,如图6所示,其包括处理器301和存储器302;其中,存储器302中存储有至少一条指令,所述指令由处理器301加载并执行,以实现第一实施例的方法。
该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)和一个或一个以上的存储器,其中,存储器中存储有至少一条指令,所述指令由处理器加载并执行以下步骤:
s101,获取云游戏用户的历史数据;
s102,从所述历史数据中提取特征并融合抽象成数学表示;
s103,基于所述数学表示,用马尔科夫决策过程描述所述云游戏引擎和所述云游戏用户之间的交互,构建强化学习模型并进行模型评估和优化;
s104,基于所述强化学习模型的最优策略对所述云游戏引擎进行智能优化。
本实施例中,基于强化学习模型对云游戏引擎进行智能优化,提升了云游戏引擎的性能,降低了云游戏引擎运行开销,节省了服务器端的系统资源;针对用户偏好来进行云游戏画面推送,增加了推送内容的准确性和相关性,进而加强了云游戏与用户之间的粘性,有利于提高游戏开发商的运营收益。
第四实施例
本实施例提供一种计算机可读存储介质,该存储介质中存储有至少一条指令,所述指令由处理器加载并执行,以实现上述方法。其中,该计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。其内存储的指令可由终端中的处理器加载并执行以下步骤:
s101,获取云游戏用户的历史数据;
s102,从所述历史数据中提取特征并融合抽象成数学表示;
s103,基于所述数学表示,用马尔科夫决策过程描述所述云游戏引擎和所述云游戏用户之间的交互,构建强化学习模型并进行模型评估和优化;
s104,基于所述强化学习模型的最优策略对所述云游戏引擎进行智能优化。
本实施例中,基于强化学习模型对云游戏引擎进行智能优化,提升了云游戏引擎的性能,降低了云游戏引擎运行开销,节省了服务器端的系统资源;针对用户偏好来进行云游戏画面推送,增加了推送内容的准确性和相关性,进而加强了云游戏与用户之间的粘性,有利于提高游戏开发商的运营收益。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。