CN110175619B - 基于机器学习模型的出牌牌组确定方法、设备及存储介质 - Google Patents
基于机器学习模型的出牌牌组确定方法、设备及存储介质 Download PDFInfo
- Publication number
- CN110175619B CN110175619B CN201811427812.9A CN201811427812A CN110175619B CN 110175619 B CN110175619 B CN 110175619B CN 201811427812 A CN201811427812 A CN 201811427812A CN 110175619 B CN110175619 B CN 110175619B
- Authority
- CN
- China
- Prior art keywords
- card
- playing
- log
- model
- data
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/32—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
- G07F17/3286—Type of games
- G07F17/3293—Card games, e.g. poker, canasta, black jack
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请是关于一种基于机器学习模型的出牌牌组确定方法。该方法包括:获取牌类竞技项目的至少两个纸牌集合的出牌记录,以及至少两个纸牌集合中的目标纸牌集合的纸牌数据;将至少两个纸牌集合的出牌记录以及目标纸牌集合的纸牌数据输入主出牌模型,获得第一牌组;当第一牌组是指定类型牌组时,将至少两个纸牌集合的出牌记录、目标纸牌集合的纸牌数据以及第一牌组输入辅助出牌模型,获得第二牌组;将第一牌组和第二牌组组合为本次出牌牌组。本申请基于层次化策略的出牌模型,很好的控制主出牌模型和辅助出牌模型的复杂度,从而降低主出牌模型和辅助出牌模型的训练难度和训练瓶颈,提高模型的准确性以及通过模型预测出牌牌组的效率。
Description
技术领域
本申请实施例涉及计算机应用技术领域,特别涉及一种基于机器学习模型的出牌牌组确定方法、设备及存储介质。
背景技术
目前很多支持牌类竞技项目的应用程序中,系统有对牌类竞技项目中某一方的纸牌集合的出牌动作进行自动控制的需求。
在牌类竞技项目中,每个出牌动作对应一种出牌牌组,系统对某一方纸牌集合的出牌动作的自动控制可以通过预先训练好的单一分类模型来实现。具体比如,系统将当前控制的纸牌集合的相关数据输入到单一分类模型中进行处理,单一分类模型输出出牌概率最高的一个出牌牌组,系统按照模型输出的出牌牌组控制当前纸牌集合执行出牌动作。
然而,牌类竞技项目的出牌动作通常达到上万种以上,即单一分类模型输出的分类也达到上万种,出牌动作的数量直接影响单一分类模型的训练的准确性,从而导致后续出牌控制的准确性较低。
发明内容
本申请实施例提供了一种基于机器学习模型的出牌牌组确定方法、装置、计算机设备及存储介质,可以用于解决相关技术中单一分类模型输出的分类的数量影响单一分类模型的训练的准确性,导致后续出牌控制的准确性较低的问题,技术方案如下:
一方面,提供了一种基于机器学习模型的出牌牌组确定方法,所述方法由计算机设备执行,所述方法包括:
获取牌类竞技项目的至少两个纸牌集合的出牌记录,以及所述至少两个纸牌集合中的目标纸牌集合的纸牌数据,所述纸牌数据包括对应的纸牌集合当前包含的纸牌;
将所述至少两个纸牌集合的出牌记录以及所述目标纸牌集合的纸牌数据输入主出牌模型,获得所述主出牌模型输出的第一牌组;所述主出牌模型用于预测输入的纸牌数据对应的纸牌集合打出的主牌;
当所述第一牌组是指定类型牌组时,将所述至少两个纸牌集合的出牌记录、所述目标纸牌集合的纸牌数据以及所述第一牌组输入辅助出牌模型,获得所述辅助出牌模型输出的第二牌组;所述辅助出牌模型用于预测输入的纸牌数据对应的纸牌集合打出的附加牌;
将所述第一牌组和所述第二牌组组合为所述目标纸牌集合本次的出牌牌组。
另一方面,提供了一种基于机器学习模型的出牌牌组确定装置,所述装置设置在计算机设备中行,所述装置包括:
数据记录获取模块,用于获取牌类竞技项目的至少两个纸牌集合的出牌记录,以及所述至少两个纸牌集合中的目标纸牌集合的纸牌数据,所述纸牌数据包括对应的纸牌集合当前包含的纸牌;
第一输入模块,用于将所述至少两个纸牌集合的出牌记录以及所述目标纸牌集合的纸牌数据输入主出牌模型,获得所述主出牌模型输出的第一牌组;所述主出牌模型用于预测输入的纸牌数据对应的纸牌集合打出的主牌;
第二输入模块,用于当所述第一牌组是指定类型牌组时,将所述至少两个纸牌集合的出牌记录、所述目标纸牌集合的纸牌数据以及所述第一牌组输入辅助出牌模型,获得所述辅助出牌模型输出的第二牌组;所述辅助出牌模型用于预测输入的纸牌数据对应的纸牌集合打出的附加牌;
组合模块,用于将所述第一牌组和所述第二牌组组合为所述目标纸牌集合本次的出牌牌组。
可选的,所述第一输入模块,具体用于根据所述至少两个纸牌集合的出牌记录以及所述目标纸牌集合的纸牌数据提取第一输入数据;将所述第一输入数据输入所述主出牌模型获得所述第一牌组。
可选的,所述第一输入数据包括以下数据中的至少一种:
所述目标纸牌集合中现存的纸牌、开局被公开的底牌、所述目标纸牌集合已经打出的纸牌、所述至少两个纸牌集合中除了所述目标纸牌集合之外的其它纸牌集合各自已经打出的纸牌、所述其它纸牌集合中的纸牌的总和、上一次被打出的纸牌、所述至少两个纸牌集合中的每个纸牌集合历次打出的纸牌、所述目标纸牌集合的身份信息、所述目标纸牌集合是否是上一次出牌的纸牌集合、上一次出牌的纸牌集合与所述目标纸牌集合之间的敌友关系、当前出牌的轮次以及所述至少两个纸牌集合各自的纸牌数量。
可选的,所述第二输入模块,具体用于根据所述至少两个纸牌集合的出牌记录、所述目标纸牌集合的纸牌数据以及所述第一牌组提取第二输入数据;将所述第一输入数据输入所述辅助出牌模型获得所述第二牌组。
可选的,所述第二输入数据包括以下数据中的至少一种:
所述目标纸牌集合减去所述第一牌组后剩余的纸牌、所述目标纸牌集合是否是上一次出牌的纸牌集合、上一次被打出的纸牌、当前出牌的轮次以及所述至少两个纸牌集合各自的纸牌数量。
可选的,所述指定类型牌组包括至少两个子类型牌组,所述辅助出牌模型包含至少两个子出牌模型,每个所述子类型牌组对应一个所述子出牌模型,
所述第二输入模块,具体用于将所述至少两个纸牌集合的出牌记录、所述目标纸牌集合的纸牌数据以及所述第一牌组输入目标模型,获得所述目标模型输出的所述第二牌组,所述目标模型是与所述第一牌组所属的所述子类型牌组相对应的所述子出牌模型。
可选的,所述装置还包括:
第一日志集合获取模块,用于在所述第一牌组获取模块将所述第一输入模块将所述至少两个纸牌集合的出牌记录以及所述目标纸牌集合的纸牌数据输入主出牌模型之前,获取出牌日志集合,所述出牌日志集合包含所述牌类竞技项目的各个纸牌集合每一轮的出牌日志,所述出牌日志包括对应的纸牌集合当轮的纸牌数据、当局的各个纸牌集合的出牌记录以及对应的纸牌集合的当轮出牌牌组;
附加牌删除模块,用于对于所述出牌日志集合中的第一出牌日志,将所述第一出牌日志的当轮出牌牌组中的附加牌删除;所述第一出牌日志的当轮出牌牌组为所述指定类型牌组和附加牌的组合;
第一训练模块,用于根据删除附加牌之后的所述出牌日志集合进行机器训练,获得所述主出牌模型。
可选的,所述装置还包括:
第二日志集合获取模块,用于在所述第二输入模块将所述至少两个纸牌集合的出牌记录、所述目标纸牌集合的纸牌数据以及所述第一牌组输入辅助出牌模型之前,获取出牌日志集合,所述出牌日志集合包含所述牌类竞技项目的各个纸牌集合每一轮的出牌日志,所述出牌日志包括对应的纸牌集合当轮的纸牌数据、当局的各个纸牌集合的出牌记录以及对应的纸牌集合的当轮出牌牌组;
出牌日志确定模块,用于确定所述出牌日志集合中的第一出牌日志和第三出牌日志,所述第一出牌日志的当轮出牌牌组为所述指定类型牌组和附加牌的组合,所述第三出牌日志的当轮出牌牌组为所述指定类型牌组;
指定类型牌组删除模块,用于将所述第一出牌日志和所述第三出牌日志各自的当轮出牌牌组中的所述指定类型牌组删除;
第二训练模块,用于根据删除所述指定类型牌组之后的所述第一出牌日志和所述第三出牌日志进行机器训练,获得所述辅助出牌模型。
可选的,所述装置还包括:
无效日志确定模块,用于在所述第一训练模块根据删除附加牌之后的所述出牌日志集合进行机器训练之前,确定所述出牌日志集合中的无效日志,所述无效日志是对应的纸牌集合的当轮出牌牌组为空,且对应的纸牌集合当轮不存在可出牌组的出牌日志;
无效日志删除模块,用于将所述无效日志从所述出牌日志集合中删除。
可选的,所述出牌日志确定模块,还用于在所述第一训练模块根据删除附加牌之后的所述出牌日志集合进行机器训练之前,从删除所述无效日志之后的所述出牌日志集合中确定第五出牌日志,所述第五出牌日志是对应的纸牌集合的当轮出牌牌组为空的日志;
所述装置还包括,
抽样模块,用于对所述第五出牌日志进行抽样;
抽样日志删除模块,用于将未抽样到的日志从所述出牌日志集合中删除。
另一方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的基于机器学习模型的出牌牌组确定方法。
又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的基于机器学习模型的出牌牌组确定方法。
本申请通过基于层次化策略的出牌模型进行出牌牌组的预测,对于主牌和附加牌的组合的出牌牌组,通过主出牌模型预测主牌,并通过辅助出牌模型预测附加牌,可以控制主出牌模型和辅助出牌模型的复杂度,从而降低主出牌模型和辅助出牌模型的训练难度和训练瓶颈,提高模型的准确性以及通过模型预测出牌牌组的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的牌类竞技项目服务系统的结构示意图;
图2是根据一示例性实施例示出的一种模型训练及确定出牌牌组的框架图;
图3是根据一示例性实施例实施例示出的一种出牌牌组确定流程图;
图4是图3所示实施例涉及的一种基于主出牌模型和辅助出牌模型的出牌控制流程示意图;
图5是根据一示例性实施例实施例示出的一种模型训练流程的流程图;
图6是图5所示实施例涉及的一种出牌动作空间示意图;
图7是图5所示实施例涉及的主出牌模型的准确性曲线;
图8是图5所示实施例涉及的单一分类模型的准确性曲线;
图9是图5所示实施例涉及的附加牌的基础元素示意图;
图10是图5所示实施例涉及的辅助出牌模型的准确性曲线;
图11是图5所示实施例涉及的一种模型对比示意图;
图12是根据一示例性实施例示出的基于机器学习模型的出牌牌组确定装置的结构方框图;
图13是根据一示例性实施例示出的一种计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
本申请实施例提出了一种用于控制牌类竞技项目的出牌动作的机器学习模型的训练及应用方案,该方案能够快速且准确的训练出牌模型,并通过训练出的出牌模型实现牌类竞技项目的出牌控制。为了便于理解,下面对本申请实施例涉及的几个名词进行解释。
(1)牌类竞技项目:通常指通过实体或虚拟纸牌进行竞技的项目,比如,基于扑克牌或者桥牌进行的游戏项目。
牌类竞技项目通常是非完全信息博弈,允许参与者拥有“私有信息”,即博弈中至少有一个参与者不完全知道其他参与者的收益函数。因此,博弈时需根据历史信息对其它参与者的私有信息进行概率估算,进而确定自己的行动。
可选的,本申请中的牌类竞技项目是通过出牌达到获胜目的的竞技项目。例如,以基于扑克牌的游戏项目为例,该牌类竞技项目是斗地主(比如,斗地主游戏最少由2个玩家进行,使用一副54张牌,其中一方为地主,剩余玩家为另一方农民,双方对战,先出完牌的一方获胜)或者跑得快(游戏最少由2个玩家进行,使用一副54张牌,双方或多方对战,先出完牌的一方获胜)等游戏项目。
(2)出牌空间:指牌类竞技项目中规定的所有合法的出牌动作构成的集合。出牌动作是牌类竞技项目的参与者的一次合法出牌,即从参与者当前手上的纸牌集合中选择满足规定的出牌牌组并打出的动作。
(3)层次化策略:在本申请中,层次化策略是针对单一策略而言,即使用多个机器学习模型来完成一次出牌预测,同时,机器学习模型之间具有上下级的层次关系,下级机器学习模型只有在上级机器学习模型的输出符合某一条件时才会被调用。
(4)监督学习:机器学习的一类方法,其指利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程。在牌类竞技项目中,监督学习的样本主要指实际中的牌类竞技项目参与者(比如牌类游戏的玩家)之间的对局日志。
(5)类别不均衡:分类任务中一个典型的存在的问题。简而言之,即数据集中,每个类别下的样本数目相差很大。常见的解决类别不均衡的方法有采样、阈值移动、调整权重法等。
(6)卷积神经网络模型(Convolutional Neural Network,CNN):卷积神经网络是深度学习框架中的重要算法之一,卷积神经网络的基本组件有卷积层、线性整流层、池化层和全连接层。常用的卷积神经网络有LeNet5、视觉几何组(Visual Geometry Group,VGG)模型、GoogLeNet等。
图1是根据一示例性实施例示出的一种牌类竞技项目服务系统的结构示意图。该系统包括:若干个终端120和服务器集群140。
终端120可以是手机、平板电脑、电子书阅读器、智能眼镜、智能手表、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
终端120中可以安装有支持牌类竞技项目服务的应用程序,相应的,服务器集群140可以是支持牌类竞技项目的应用程序对应的服务器。
终端120与服务器集群140之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
服务器集群140是一台服务器,或者由若干台服务器,或者是一个虚拟化平台,或者是一个云计算服务中心。
在本申请实施例中,服务器集群140向终端120提供参与牌类竞技项目的的服务。即终端120对应的用户,可以通过终端120中安装的应用程序接入服务器,并作为牌类竞技项目的一局博弈中的一个参与方,与同一局中的其它参与方进行对抗。其中,其它参与方可以是其它用户,或者,其他参与方也可以是服务器集群140中运行的人工智能(ArtificialIntelligence,AI)。
可选的,该系统还可以包括管理设备160,该管理设备160与服务器集群140之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible MarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet ProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
在本申请实施例中,终端120或者服务器集群140中可以设置预先训练好的出牌模型,在某一局牌类竞技项目中,终端120或者服务器集群140可以通过该出牌模型确定当前控制的纸牌集合当次的出牌牌组,以控制纸牌集合出牌,或者,向用户发出出牌提示。
本申请实施例的方案包括模型训练阶段和识别阶段。图2是根据一示例性实施例示出的一种模型训练及确定出牌牌组的框架图。如图2所示,在模型训练阶段,模型训练设备210获取牌类竞技项目中各个纸牌集合的出牌日志,并根据出牌日志提取训练数据集,通过提取的训练数据集训练出牌模型,在确定出牌牌组的阶段,模型应用设备220(可以是上述终端120或者服务器集群140)根据训练好的出牌模型以及当前纸牌集合相关的输入数据确定出牌牌组。
在相关技术中,上述模型训练设备210训练出的出牌模型是单一分类模型,在模型应用过程中,该单一分类模型接收输入数据后,处理并输出牌类竞技项目中的每一个牌组的概率值,并将其中概率值最大的一个牌组输出为当次的出牌牌组。
然而,牌类竞技项目的出牌空间通常都很大,当使用单一分类模型来确定出牌牌组时,会因为分类空间太大而需要更长的训练时间以及更多的训练数据,从而导致训练瓶颈。
以斗地主游戏为例,单是出牌牌型中的“飞机带翅膀”(比如,以“三顺”带两个“单牌”为例,其中“三顺”是“飞机”,两个“单牌”是“翅膀”)的出牌动作就高达上万种,比如,在斗地主游戏中,游戏的出牌空间共有14种,总共的出牌动作数目有13551个,就模型的网络结构而言,当单一多分类模型使用CNN卷积神经网络框架来构建时,最后一层网络层多为全连接层,将倒二层的卷积层的每个神经元摊平成向量形式后(一般达上万维,假设有m个)与最后的输出层(神经元数量等于类别数量,假设有n个)做全连接,该层的参数数量为m*n,也就是说,出牌动作空间大小直接影响了整个模型网络的参数数量。而参数数量表示了模型的复杂度,决定了训练时长与训练数据量以及是否容易过拟合等。在斗地主游戏中,由于出牌动作达上万维,因此,模型的参数数量达到上亿级别,参数数量庞大使得模型训练变得困难,导致训练出的出牌模型通常准确性不高,并且实际应用过程中也会因为模型复杂度太高而影响出牌牌组的预测效率。
另一方面,还是以斗地主游戏为例,在总共13551个出牌动作中,四带2单和四带2对的出牌动作的数目有2041个,飞机带单牌翅膀和飞机带对牌翅膀的出牌动作的数目有10983个。这四种出牌动作的数目占总出牌动作的数目的96%。而分析实际应用中的真实玩家控制的纸牌集合的出牌日志,上述四种出牌动作的出牌概率不到1%,再细分到这四种出牌动作中的每个出牌动作,其出牌概率甚至不到这1%。这使得使用单一分类模型进行训练时,训练数据集中在4%的类别中,而其它96%的类别由于数据量过于稀疏而得不到充分的训练,即分类模型中的类别严重不均衡。在模型可视化系统上观测单一分类模型的出牌预测情况,单一分类模型对上述四种出牌动作的预测不够合理,经常出现拆对子或者拆顺子的情况,说明相关技术中单一分类模型对上述四种出牌动作的训练不够充分。
针对上述相关技术中单一分类模型因分类数目(即出牌动作的数量)过大导致模型过于复杂和训练数据分类不均衡,从而引起训练瓶颈的问题,本申请后续实施例提供一种基于层次化策略的出牌牌组确定方式,通过多层模型替换上述的单一分别类模型,以达到有效地减少模型的训练时长,并提高模型预测出牌牌组的准确率和效率。
图3是根据一示例性实施例实施例示出的一种基于机器学习模型的出牌牌组确定流程图。如图3所示,本申请实施例中的出牌模型可以应用在计算机设备(比如图1所示系统中的终端120或者服务器集群140)中,该计算机设备对应一局牌类竞技项目中的至少两个纸牌集合中的目标纸牌集合,基于层次化策略的出牌模型包括主出牌模型和辅助出牌模型,计算机设备通过出牌模型,执行基于机器学习模型的出牌牌组确定方法,以确定目标纸牌集合某一次出牌时的出牌牌组,该方法的执行过程如下:
S31,获取牌类竞技项目的至少两个纸牌集合的出牌记录,以及该至少两个纸牌集合中的目标纸牌集合的纸牌数据。
其中,该纸牌数据包括对应的纸牌集合当前包含的纸牌。
在本申请实施例中,在一局牌类竞技项目中,计算机设备获取当局至少两个纸牌集合每次的出牌动作,以生成至少两个纸牌集合的出牌记录,当轮到目标纸牌集合出牌时,获取该目标纸牌集合当前的纸牌数据,以及生成的至少两个纸牌集合的出牌记录。
S32,将该至少两个纸牌集合的出牌记录以及该目标纸牌集合的纸牌数据输入主出牌模型,获得该主出牌模型输出的第一牌组。
其中,该主出牌模型用于预测输入的纸牌数据对应的纸牌集合打出的主牌。
在本申请实施例中,主牌是指纸牌集合单次打出的牌组中,决定出牌大小的纸牌,主出牌模型的作用是预测当前纸牌集合要打出的纸牌中的主牌。比如,以斗地主游戏为例,“四带一”是指四张相同字的牌带一张不同字的牌,比如四张“3”带一张“5”,其中四张“3”决定了本次出牌的大小,而一张“5”则对本次出牌的大小没有影响,在本次出牌中,四张“3”就是主牌;主牌也可以单独打出,比如,“对子”是指两张相同字的牌,比如对“2”就是“22”,当出牌牌组为“22”,该对子“22”本身就是主牌;此外,“不出”(即本轮放弃出牌)作为一种特殊的出牌动作,其对应的主牌为空。
其中,上述主出牌模型是根据预先设置的第一训练数据以及第一训练数据对应的第一标记牌组训练获得的机器学习模型。其中,第一训练数据包括上述牌类竞技项目的历史出牌记录中,某一局中的一个纸牌集合某一轮出牌前的纸牌数据,以及该局中各个纸牌集合的在该纸牌集合本轮出牌前的出牌记录,该第一标记牌组包括该纸牌集合本轮打出的主牌。
可选的,在将该至少两个纸牌集合的出牌记录以及该目标纸牌集合的纸牌数据输入主出牌模型,获得该主出牌模型输出的第一牌组时,计算机设备可以根据该至少两个纸牌集合的出牌记录以及该目标纸牌集合的纸牌数据提取第一输入数据;并将该第一输入数据输入该主出牌模型获得该第一牌组。
可选的,该第一输入数据包括以下数据中的至少一种:该目标纸牌集合中现存的纸牌、该至少两个纸牌集合中除了该目标纸牌集合之外的其它纸牌集合中的纸牌的总和、上一次被打出的纸牌、该目标纸牌集合的身份信息、该目标纸牌集合是否是上一次出牌的纸牌集合、上一次出牌的纸牌集合与该目标纸牌集合之间的敌友关系、当前出牌的轮次以及该至少两个纸牌集合各自的纸牌数量。
可选的,上述第一输入数据还包括一下数据中的至少一种:该至少两个纸牌集合中的每个纸牌集合历次打出的纸牌、至少两个纸牌集合已经打出的纸牌(包括该目标纸牌集合已经打出的纸牌,以及该至少两个纸牌集合中除了该目标纸牌集合之外的其它纸牌集合各自已经打出的纸牌)以及开局被公开的底牌。
S33,当第一牌组是指定类型牌组时,将该至少两个纸牌集合的出牌记录、该目标纸牌集合的纸牌数据以及该第一牌组输入辅助出牌模型,获得该辅助出牌模型输出的第二牌组。
其中,该辅助出牌模型用于预测输入的纸牌数据对应的纸牌集合打出的附加牌。也就是说,辅助出牌模型是用于预测与主出牌模型输出的主牌搭配打出的附加牌的机器学习模型。
其中,附加牌是指主牌携带的,对本次出牌大小没有影响的牌,比如,还是以斗地主游戏中的“四带一”,比如四张“3”带一张“5”为例,其中,一张“5”则对本次出牌的大小没有影响,因此在本次出牌中,一张“5”就是附加牌。
在本申请实施例中,主出牌模型确定出的第一牌组并不是都需要携带附加牌,只有当主出牌模型预测出的主牌是指定类型牌组时,才确定可能需要携带附加牌。
其中,指定类型牌组是牌类竞技项目中,被允许与辅助牌组合打出的主牌中的全部或者部分牌组。
比如,以斗地主游戏为例,出牌动作的种类可以分为“不出”、“王炸/火箭”、“单张”、“对子”、“三张”、“炸弹/四张”、“单顺”、“双顺”、“三顺”、“三带一”、“三带二”、“四带一”、“四带二”、“三顺带两张”以及“三顺带两对”等,其中,“四带一”可以看作是主牌“炸弹/四张”与附加牌“单张”的组合,“四带二”可以看作是主牌“炸弹/四张”与附加牌“对子”的组合,“三顺带两张”可以看作是主牌“三顺”与附加牌两个“单张”的组合,“三顺带两对”可以看作是主牌“三顺”与附加牌两个“对子”的组合,其中,主出牌模型可以预测“不出”、“王炸/火箭”、“单张”、“对子”、“三张”、“炸弹/四张”、“单顺”、“双顺”、“三顺”、“三带一”以及“三带二”这几种主牌,而其中只有“炸弹/四张”以及“三顺”才可能携带附加牌,即“炸弹/四张”和“三顺”是上述指定类型牌组。
其中,上述辅助出牌模型是根据预先设置的第二训练数据以及第二训练数据对应的第二标记牌组训练获得的机器学习模型。其中,第二训练数据包括上述牌类竞技项目的历史出牌记录中,某一局中的一个纸牌集合某一轮出牌前的纸牌数据,以及该局中各个纸牌集合的在该纸牌集合本轮出牌前的出牌记录,该第二标记牌组包括该纸牌集合本轮打出的,包含指定类型牌组的纸牌组合中,除了指定类型牌组之外的附加牌。
可选的,将该至少两个纸牌集合的出牌记录、该目标纸牌集合的纸牌数据以及该第一牌组输入辅助出牌模型,获得该辅助出牌模型输出的第二牌组时,计算机设备根据该至少两个纸牌集合的出牌记录、该目标纸牌集合的纸牌数据以及该第一牌组提取第二输入数据;并将该第一输入数据输入该辅助出牌模型获得该第二牌组。
可选的,该第二输入数据包括以下数据中的至少一种:该目标纸牌集合减去该第一牌组后剩余的纸牌、该目标纸牌集合是否是上一次出牌的纸牌集合、上一次被打出的纸牌、当前出牌的轮次以及该至少两个纸牌集合各自的纸牌数量。
可选的,该指定类型牌组包括至少两个子类型牌组,该辅助出牌模型包含至少两个子出牌模型,每个该子类型牌组对应一个该子出牌模型,在获得辅助出牌模型输出的第二牌组时,可以将该至少两个纸牌集合的出牌记录、该目标纸牌集合的纸牌数据以及该第一牌组输入目标模型,获得该目标模型输出的该第二牌组,其中,该目标模型是与该第一牌组所属的该子类型牌组相对应的该子出牌模型。
其中,上述子类型牌组的数量和子出牌模型的数量可以相同,此时,子类型牌组和子出牌模型一一对应,或者,上述子类型牌组的数量也可以大于子出牌模型的数量,此时,两种或者两种以上子类型牌组可以对应一个子出牌模型。也就是说,一种子类型牌组对应一个子出牌模型,但是一个子出牌模型可以对应一种或多种子类型牌组。在获取第二牌组时,可以首先确定第一牌组所属的子类型牌组,然后确定该子类型牌组对应的子出牌模型,再将上述出牌记录、纸牌数据以及第一牌组输入到确定出的子出牌模型,以获得该子出牌模型输出的第二牌组。
在牌类竞技项目中,被允许与附加牌组合打出的主牌可能有多个子分类,相应的,上述指定类型牌组也可以细分为至少两个子类型牌组,比如,以斗地主游戏为例,被允许与附加牌组合打出的主牌的类型有“三张”、“四张”和“三顺”,其中,“四张”和“三顺”对应的牌组可以被设置为指定类型牌组,即指定类型牌组包含两种子类型牌组,一种是“四张”,比如“3333”、“4444”等,另一种是“三顺”,比如“333444”、“555666”等。
在一种可能的实现方案中,上述两种子类型牌组可以对应相同的辅助出牌模型,也就是说,无论主出牌模型输出的第一牌组是“三顺”还是“四张”,都通过单独的一个辅助出牌模型输出第二牌组。
或者,在另一种可能的实现方案中,上述两种子类型牌组可以对应不同的辅助出牌模型,比如,“三顺”对应辅助出牌模型中的子出牌模型a,“四张”对应辅助出牌模型中的子出牌模型b。当主出牌模型输出的第一牌组是“三顺”时,通过子出牌模型a输出第二牌组,当主出牌模型输出的第一牌组是“四张”时,通过子出牌模型b输出第二牌组。
S34,将该第一牌组和该第二牌组组合为该目标纸牌集合本次的出牌牌组。
比如,请参考图4,其示出了本申请实施例涉及的一种基于主出牌模型和辅助出牌模型的出牌控制流程示意图。如图4所示,该流程如下:
1)计算机设备获取目标纸牌集合的纸牌数据以及至少两个纸牌集合的出牌记录。
2)计算机设备根据获取到的纸牌数据和出牌记录提取第一输入数据。
3)计算机设备将第一输入数据输入主出牌模型,获得第一牌组。
4)当第一牌组不是指定类型牌组时,计算机设备将第一牌组输出为目标纸牌集合本次的出牌牌组。
比如,以斗地主游戏为例,当第一牌组属于“不出”、“王炸/火箭”、“单张”、“对子”、“三张”、“单顺”、“双顺”、“三带一”以及“三带二”中的任意一种时,计算机设备可以直接将第一牌组输出为目标纸牌集合本次的出牌牌组。
5)当第一牌组是指定类型牌组时,计算机设备根据获取到的纸牌数据和出牌记录,以及上述第一牌组提取第二输入数据。
比如,以斗地主游戏为例,当第一牌组属于“炸弹/四张”或者“三顺”时,确定本次出牌除了包括第一牌组之外,还可能带有附加牌,因此执行提取第二输入数据的步骤。
6)计算机设备将第一输入数据输入辅助出牌模型,获得第二牌组。
7)当第二牌组不为空时,计算机设备将第一牌组和第二牌组组合为目标纸牌集合本次的出牌牌组。
8)当第二牌组为空时,计算机设备将第一牌组输出为目标纸牌集合本次的出牌牌组。
在本申请实施例中,上述指定类型牌组是既可以单独出牌,也可以与满足特定牌组结构的附加牌(比如单张或对子)进行组合出牌的牌组,这种指定类型牌组与附加牌组合的牌型也被称为带牌牌型。并且,在通常情况下,带牌牌型的出牌动作的数量通常占总出牌动作的绝大部分。
比如,在斗地主游戏中,四个带牌牌型(四带2单、四带2对、飞机带单牌翅膀、飞机带对牌翅膀)的特点,都是主牌(即指定类型牌组)带附加牌的方式,同时,主牌的选择与附加牌的选择独立,主牌通常是用于考虑是否可以压制上一活跃玩家,或者自己自由出牌时,出该主牌能否收回主动权等。而附加牌的选择通常是确定主牌后,从纸牌集合剩下的纸牌中选择若干张弃牌,使得剩下的牌面尽可能的好。
基于上述考虑,本申请实施例将带牌牌型的出牌动作与对应的指定类型牌组的出牌动作进行合并,将其视为同属于一个指定类型牌组的集合,并将其归并为一类。例如,以斗地主游戏为例,33344455、33344466、3334445566,都属于333444这一个集合,可以将33344455、33344466和3334445566这些由333444带两单或者两对的出牌动作都归类为333444这一出牌动作,在这样的操作下,四个带牌牌型的出牌动作数量可以由原来的13024降到58,出牌的总动作空间由原来的13551降到527,出牌模型的类别数量实现了指数级的下降,出牌模型的参数继而也急剧的减少,极大的降低了出牌模型复杂度,在缩短了出牌模型训练时间的同时,出牌模型具备了更好的泛化能力。此外,由于相同指定类型牌组的出牌动作进行了合并,使得指定类型牌组(比如三顺和四张)的出牌动作变得更加集中,缓和类别分布不均匀的问题。
基于上述分析,本申请实施例设置两层出牌模型,其中第一层出牌模型称为主出牌模型,当主出牌模型的确定结果(即上述第一牌组)为指定类型牌组(比如三顺和四张)时,再通过下一层出牌模型(即上述辅助出牌模型)对第一牌组带的附加牌进行确定,以确定第一牌组是否带附加牌,以及带哪些附加牌。
结合上述斗地主游戏的举例分析,本申请实施例提出的基于层次化策略的出牌模型,对于主牌和附加牌的组合的出牌牌组,通过主出牌模型预测主牌,并通过辅助出牌模型预测附加牌,可以很好的控制主出牌模型和辅助出牌模型的复杂度,从而降低主出牌模型和辅助出牌模型的训练难度和训练瓶颈,提高模型的准确性以及通过模型预测出牌牌组的效率。
在本申请上述实施例中,由于采用了基于层次化策略的出牌模型,将指定类型牌组单独出牌的出牌动作和指定类型牌组与附加牌组合出牌的出牌动作进行合并,相应的,在训练过程中,也需要对用于训练的出牌日志中的相应出牌动作进行合并后提取训练数据。
图5是根据一示例性实施例实施例示出的一种模型训练流程的流程图。该模型训练流程可以由模型训练设备执行,该模型训练设备可以是上述图1所示的服务器集群140,或者,该模型训练设备也可以是独立于服务器集群140的其它计算机设备,比如管理设备160或者其它计算机设备(比如终端120等)。该模型训练设备可以用于训练如图3所示的基于层次化策略的出牌模型。如图4所示,该模型训练流程如下:
步骤501,获取出牌日志集合,该出牌日志集合包含该牌类竞技项目的各个纸牌集合每一轮的出牌日志,该出牌日志包括对应的纸牌集合当轮的纸牌数据、当局的各个纸牌集合的出牌记录以及对应的纸牌集合的当轮出牌牌组。
比如,以参与当局牌类竞技项目的纸牌集合(即上述当局的各个纸牌集合)有3个纸牌集合为例,对于该3个纸牌集合中的任意一个纸牌集合,服务器可以统计该纸牌集合从开局开始,每一轮出牌前的纸牌和打出的出牌牌组,同时统计其它两个纸牌集合每一轮打出的出牌牌组,可选的,对于某些具有底牌规则(即有部分牌是开局被所有参与方所共知的明牌,比如3人斗地主中由作为“地主”的纸牌集合所有,且明示给其它各个参与方的底牌)的牌类竞技项目,服务器还统计底牌。服务器将每一个纸牌集合每一轮的统计数据作为一条出牌日志进行存储。
也就是说,每一条出牌日志,是该出牌日志对应的纸牌集合当轮出牌之前的牌面(即出牌前有哪些纸牌)、当轮出牌牌组(即当轮打出了哪些牌)以及从开局开始到对应的纸牌集合当轮出牌之前,各个参与的纸牌集合(即上述当局的各个纸牌集合,包括该日志对应的纸牌集合)每一轮打出的纸牌,可选的,当牌类竞技项目具有底牌规则时,每一条出牌日志中还包含当局的底牌。
服务器统计的出牌日志可以称为原始日志,可选的,在本申请实施例中,在根据出牌日志进行模型训练之前,模型训练设备可以对原始日志进行劣质数据筛除。其中,劣质数据包括但不限于错误的日志数据、重复的日志数据、不完整的日志数据、非正常玩家的日志数据、托管掉线的日志数据、低等级玩家的日志数据以及新手玩家的日志数据等。
步骤502,确定该出牌日志集合中的无效日志,该无效日志是对应的纸牌集合的当轮出牌牌组为空,且对应的纸牌集合当轮不存在可出牌组的出牌日志。
在牌类竞技项目中,有一种出牌动作为“不出”(也称为“过”或者“pass”),即在某一次出牌过程中,纸牌集合在有纸牌的情况下不打出任何牌组,也就是当轮出牌牌组为空,由于“不出”是所有状态下的合法出牌动作,因此,在出牌日志中,“不出”这一出牌动作的数据占比通常较大,通过对原始日志进行统计发现,“不出”这一出牌动作可以占到全部动作的接近一半,而占比排其次的出牌动作(比如打出单牌“2”这一出牌动作)占全部动作的很小比例,因此原始日志中出牌动作的类别不均衡的现象很明显。
步骤503,将无效日志从出牌日志集合中删除。
在本申请实施例中,为了缓解出牌动作不均衡的情况,可以对占比最高的出牌动作(即“不出”)动作进行筛选,其中,纸牌集合选择“不出”的情况有两种,一种是无牌可出,即当前纸牌集合中没有足够压住上一出牌动作的出牌牌组(对应上述的当轮不存在可出牌组),另一种是有牌可出但是策略性选择“不出”,即当前纸牌集合中有足够压住上一出牌动作的出牌牌组(即当轮存在可出牌组),但依据某些策略故意选择“不出”。其中,第一种情形下“不出”的出牌动作对后续模型训练并无帮助,因此,本申请实施例可以剔除无牌可出的相关日志,以减少“不出”这一出牌动作的出牌日志的数量。
步骤504,从删除该无效日志之后的该出牌日志集合中确定第五出牌日志,该第五出牌日志是对应的纸牌集合的当轮出牌牌组为空的日志。
步骤505,对该第五出牌日志进行抽样,将未抽样到的日志从该出牌日志集合中删除。
由于剔除无牌可出的相关日志之后,“不出”这一出牌动作对应的出牌日志的数量依然较大,因此,在本申请实施例中,为了进一步缓解分类不均衡的问题,模型训练设备对于剔除无牌可出的相关日志后剩余的“不出”这一出牌动作对应的出牌日志进行采样,比如,按照1/10的采样率进行采样(即在第五出牌日志中每10个出牌日志采样出一个出牌日志,其余9个出牌日志删除)。
步骤506,对于该出牌日志集合中的第一出牌日志,将该第一出牌日志的当轮出牌牌组中的附加牌删除。
其中,该第一出牌日志的当轮出牌牌组为指定类型牌组和附加牌的组合。
其中,上述指定类型牌组是既可以单独出牌,也可以带其它附加牌进行组合出牌的牌组中的全部或者部分,比如,以斗地主游戏为例,即可以单独出牌,也可以带其它附加牌进行组合出牌的牌组类型可以包括“三张”(三张相同字的牌,比如“333”)、“四张/炸弹”(即四张相同字的牌,比如“4444”)、“三顺”(连续两个相同字的牌各三张,比如“333444”)。在本申请实施例中,可以将上述三种可以带其它附加牌的牌组类型都设置为指定类型牌组,也可以将其中的部分(比如四张和三顺)设置为指定类型牌组。
在本申请实施例中,将牌类竞技项目中每一个出牌动作定义为出牌模型的一个标签(也称一个类别)。同时,在主出牌模型训练过程中,省去了指定类型牌组+附加牌的出牌动作,将其归类到对应的指定类型牌组单独出牌的标签中。
比如,请参考图6,其示出了本申请实施例涉及的一种出牌动作空间示意图。如图6所示,在斗地主的出牌动作空间中,以一副54张的扑克牌为例,“不出”的出牌动作数量只有1个,“火箭/王炸”(即大小王同时出牌)的出牌动作数量也只有1个,“单张”(即A~K、大王、小王)的出牌动作为15,“对子”(即对A~对K)、“三张”和“炸弹”(也就是四张)的出牌动作分别为13,“三带一”(即3张相同字的牌+1张不同字的牌)和“三带二”(即3张相同字的牌+1个对子)的出牌动作分别为182和156,“单顺”(即至少5张单牌且该至少5张单牌数字连续)、“双顺”(即至少3个对子,且该至少3个对子的数字连续)、“三顺”(至少2个三张,且该至少2个三张的数字连续)的出牌动作分别为36、52和47。
在斗地主中,除了图6中的出牌类型之后,还有飞机带翅膀(即三顺带两单或者三顺带两对)、四张带一单以及者四张带一对这几种出牌类型,在本申请实施例中,将飞机带翅膀的出牌动作中的附加牌(即两单或两对)删除,并将对应的日志归类到出牌动作为三顺的出牌日志中;另外,将四张带一单或者四张带一对的出牌动作中的附加牌删除,并将对应的日志归类到出牌动作为四张/炸弹的出牌日志中。如图6所示,最终得到的出牌动作共527个,即主出牌模型的输出层的神经元数量为527个,相比于单一分类模型的13551个神经元数量来说,主出牌模型的神经元数量层指数下降。
步骤507,根据删除附加牌之后的该出牌日志集合进行机器训练,获得主出牌模型。
其中,模型训练设备可以从删除附加牌之后的出牌日志结合中提取第一训练数据集,并根据第一训练数据集训练获得主出牌模型。
其中,在提取第一训练数据集时,模型训练设备对于第二出牌日志,根据该第二出牌日志对应的纸牌集合当轮的纸牌数据,以及当局的各个纸牌集合的出牌记录,获取第一训练数据;该第二出牌日志是删除附加牌之后的该出牌日志集合中的任意出牌日志;模型训练设备将该第二出牌日志对应的纸牌集合的当轮出牌牌组获取为第一标记牌组,并将该第一训练数据和该第一标记牌组对应添加入该第一训练数据集。
其中,,其中,该第一训练数据与上述图3所示实施例中的第一输入数据的数据类型相同,即第一训练数据包括以下数据中的至少一种:
第二出牌日志对应的纸牌集合中现存的纸牌、开局被公开的底牌、第二出牌日志对应的纸牌集合已经打出的纸牌、当局的各个纸牌集合中除了第二出牌日志对应的纸牌集合之外的其它纸牌集合各自已经打出的纸牌、其它纸牌集合中的纸牌的总和、上一次被打出的纸牌、至少两个纸牌集合中的每个纸牌集合历次打出的纸牌、第二出牌日志对应的纸牌集合的身份信息、第二出牌日志对应的纸牌集合是否是上一次出牌的纸牌集合、上一次出牌的纸牌集合与第二出牌日志对应的纸牌集合之间的敌友关系、当前出牌的轮次以及至少两个纸牌集合各自的纸牌数量。
在本申请实施例中,用于训练主出牌模型的训练数据可以分为牌面信息特征数据和非牌面信息特征数据,牌面信息是指跟具体牌面内容有关的信息,非牌面信息则是一些角色、类别等信息。
比如,对于斗地主游戏的主出牌模型,可以定义7个牌面特征,分别是底牌、当前玩家手上的牌和打出去的所有牌、另外两个玩家分别打出去的牌、另外两个玩家手上的所有牌、上一个活跃玩家打出去的牌以及历史出牌信息,其中,每个玩家对应一个纸牌集合。各个特征的定义请见表1。
表1
非牌面信息包括6个特征,分别为:当前玩家角色、当前玩家是否是地主,当前玩家是否是上一活跃玩家、上一活跃玩家是否是对手、当前玩家当前所在轮次、以及各个玩家手上的牌的张数。其中,非牌面信息总是表示成向量的形式。非牌面信息特征及其含义请见表2。
表2
本申请实施例通过监督式学习方法进行出牌模型的训练,在训练主出牌模型时,将第一训练数据以及第一训练数据对应的第一标记牌组输入以卷积神经网络为主要框架的机器学习模型进行训练,获得主出牌模型。该主出牌模型的主要思想是,通过根据当前纸牌集合的纸牌数据以及出牌记录提取的输入数据,输出玩家当前的合理出牌动作的概率分布,其中概率分布最高的一个出牌动作对应的牌组即为当前纸牌集合的主牌。
在模型训练中,以一个批次(batch)的数据量设置为32,迭代的次数epoch为1,L2正则项的参数设为0.00001,同时选择AdamOptimizer优化器进行梯度优化为例,在单图形处理器(Graphics Processing Unit,GPU)上训练24h,获得的主出牌模型的准确性(accuracy)曲线如图7所示。从图7可以看出,本申请实施例中的主出牌模型训练过程快速收敛,同时预测准确率大约在80%左右。
对比单一分类模型的训练结果,请参考图8,其示出了本申请实施例涉及的单一分类模型的准确性曲线,由于单一分类模型的训练速度缓慢,通过更多轮次的迭代来训练单一分类模型,训练时长为48h,图8展示了单一分类模型准确率变化情况。从图8可以看出,单一分类模型在进行了1200k次迭代时才开始接近收敛,模型收敛速度非常慢,同时,模型最后的精确稳定在了73%,相较于主出牌模型,精确度低了7%。从精确率和收敛速度上看,本申请实施例提出的主出牌模型都得到了很大的提升。
步骤508,确定该出牌日志集合中的第一出牌日志和第三出牌日志,该第一出牌日志的当轮出牌牌组为该指定类型牌组和附加牌的组合,该第三出牌日志的当轮出牌牌组为该指定类型牌组。
比如,以指定类型牌组是斗地主游戏中的“三顺”和“四张”为例,在本申请实施例中,模型训练设备可以将出牌日志集合中,所有出牌牌组中包含“三顺”和“四张”的日志获取出来,包括单独打出“三顺”或“四张”的出牌日志,以及打出“三顺”或“四张”加上附加牌的组合的出牌日志,作为用于训练辅助出牌模型的出牌日志。
步骤509,将该第一出牌日志和该第三出牌日志各自的当轮出牌牌组中的指定类型牌组删除。
由于辅助出牌模型仅仅在主出牌模型输出的第一牌组是指定类型牌组时,确定该第一牌组是否携带附加牌,以及携带哪些附加牌,而用于训练辅助出牌模型的第一出牌日志和第三出牌日志各自的当轮出牌牌组中都包含指定类型牌组,为了避免指定类型牌组对训练结果造成干扰,在本申请实施例中,模型训练设备根据第一出牌日志和第三出牌日志提取用于训练辅助出牌模型的训练数据之前,首先将第一出牌日志和第三出牌日志各自的当轮出牌牌组中的指定类型牌组去除,只保留去除指定类型牌组之后的当轮出牌牌组。
比如,某个第一出牌日志的当轮出牌牌组为“33344455”,其中指定类型牌组为“333444”,附加牌为“55”,在提取用于训练辅助出牌模型的训练数据之前,模型训练设备首先将该出牌日志的当轮出牌牌组中的牌组“333444”删除,即该删除指定类型牌组后,该出牌日志的当轮出牌牌组为“55”。
再比如,某个第二出牌日志的当轮出牌牌组为“333444”,其中指定类型牌组为“333444”,无附加牌,在提取用于训练辅助出牌模型的训练数据之前,模型训练设备首先将该出牌日志的当轮出牌牌组中的“333444”删除,该删除指定类型牌组后,该出牌日志的当轮出牌牌组为空,即当轮出牌动作为“不出”。
步骤510,根据删除该指定类型牌组之后的该第一出牌日志和该第三出牌日志进行机器训练,获得该辅助出牌模型。
可选的,模型训练设备在训练福主出牌模型时,根据删除该指定类型牌组之后的该第一出牌日志和该第三出牌日志获取第二训练数据集,并根据该第二训练数据集进行机器训练,获得该辅助出牌模型。
可选的,在根据删除该指定类型牌组之后的该第一出牌日志和该第三出牌日志获取第二训练数据集时,模型训练设备对于第四出牌日志,根据该第四出牌日志对应的纸牌集合当轮的纸牌数据以及当局的各个纸牌集合的出牌记录,获取第二训练数据;该第四出牌日志是删除该指定类型牌组之后的该第一出牌日志和该第三出牌日志中的任意出牌日志;将该第四出牌日志对应的纸牌集合的当轮出牌牌组获取为第二标记牌组;将该第二训练数据和该第二标记牌组对应添加入该第二训练数据集。
其中,该第二训练数据的数据类型与上述图3所示实施例中的第二输入数据的数据类型相同,即第二训练数据包括以下数据中的至少一种:
第四出牌日志对应的纸牌集合减去当轮出牌牌组中被删除的指定类型牌组后剩余的纸牌、第四出牌日志对应的纸牌集合是否是上一次出牌的纸牌集合、上一次被打出的纸牌、当前出牌的轮次以及至少两个纸牌集合各自的纸牌数量。
以斗地主游戏为例,由于附加牌的选择通常是选择一些弃牌,基本上取决于当前玩家的手上牌面。因此,不同于主出牌模型,本申请实施例对辅助出牌模型的输入数据进行了大量的简化,只输入了会影响附加牌选择的特征。比如,辅助出牌模型共选择了5个特征,分别为:玩家手上牌减去当轮打出的指定类型牌组、是否上一活跃玩家、上一活跃玩家打出去的牌、当前所在轮次以及所有玩家手上牌数目,各个特征的含义见表4。
表4
还是以斗地主游戏为例,不同于主出牌模型,这里训练辅助出牌模型时不再使用分类模型,这是因为“飞机”的主牌有双飞机、三飞机、四飞机等多种情况,对应不同数量的小牌动作。虽然将主牌和附加牌拆分,极大地减少了主出牌模型的类别数量,但是附加牌的类别数量仍然达上千维。同样面临着和之前单一分类模型一样的困境。
再深入分析附加牌选择的过程,总是从当前纸牌集合中一张一张(或者是一对一对)的挑选出对自己当前牌面贡献值最小的牌。同样,多张附加牌之间的选择是独立的,对此本申请实施例提出了一个实用的方法-多标签模型。即将附加牌的组成进行分解,将一个单张或者一个对子作为组成附加牌的基础元素,一个附加牌由一个或多个元素组成,所有的基础元素共有29个,因此,可用29维的向量进行表示,将附加牌标签化时,就在对应元素的位置标1,其余位置标0。请参考图9,其示出了本申请实施例涉及的附加牌的基础元素示意图。
可选的,该指定类型牌组包括至少两个子类型牌组,在训练辅助出牌模型时,可以训练至少两个子出牌模型,其中,每个子类型牌组对应一个子出牌模型。
比如,以指定类型牌组包含两种子类型牌组,一种是“四张”,另一种是“三顺”为例,模型训练设备可以按照上述步骤508至步骤510所示的方案,通过出牌牌组为“四张”以及“四张”带附加牌的出牌日志获取训练数据和标记牌组,训练获得子类型牌组“四张”对应的子出牌模型a,并通过出牌牌组为“三顺”以及“三顺”带附加牌的出牌日志获取训练数据和标记牌组,并训练获得子类型牌组“三顺”对应的子出牌模型b。
通过本申请实施例所示的方案,请参考图10,其示出了本申请实施例涉及的辅助出牌模型的准确性曲线,在原始日志中筛选出附加牌相关的数据,大约20万的数据量,进行了3轮的数据迭代,共计6h的训练,获得的训练结果如图10所示,从图10可以看出,辅助出牌模型的精度上升的非常快,在20k batch时就达到了90%,在迭代至40k batch时,模型精确度就基本稳定在92%,在只用少量数据的情况下就基本掌握了玩家出附加牌的规律,也可以从实践中证明,使用多标签模型来训练辅助出牌模型是非常有效的。
本申请上述实施例所示的方案,针对牌类竞技项目的出牌空间太大,当使用单一分类模型来预测出牌时,因为分类空间大使得需要更长的训练时间以及更多的训练数据,从而导致训练瓶颈的问题,提出了一种层次化策略方案。请参考图11,其示出了本申请实施例涉及的一种模型对比示意图。如图11所示,本申请所示的方案将单一分类模型优化为主出牌模型和辅助出牌模型,对牌型中的组合情况进行分解,以斗地主游戏为例,分解“飞机带翅膀牌型”中的“飞机”的主体(即主牌)与翅膀(即附加牌),从而实现将飞机主体与翅膀的组合数量由乘法关系改变为加法关系,极大地降低了主出牌模型的类别数量。而在模型应用上,在使用主出牌模型进行出牌预测,当确定出牌牌型可能为“飞机”时,再用辅助出牌模型对“飞机”带的翅膀进行出牌预测,从而通过多模型层次化预测来解决单一分类模型出牌空间大带来的训练瓶颈。
相对于单一分类模型,本申请实施例中使用层次化策略的多模型在模型精度上提升了7个百分点,由单一分类模型的73%提升到了80%,同时,也降低了模型的训练时长,由原来的48h降低为24h,再者,模型的收敛速度也得到很大的提高,由原来在1200k次迭代时模型才开始收敛,到本申请的层次化策略模型中,200k次迭代就已经充分收敛到80%的精度。同时,在可视化系统上看,本申请基于层次化策略的模型的出牌也更加合理,效果提升非常显著。
综上所述,本申请实施例所示的模型训练方案,将牌类竞技项目的出牌模型划分为基于层次化策略的主出牌模型和辅助出牌模型,可以很好的控制主出牌模型和辅助出牌模型的复杂度,从而降低主出牌模型和辅助出牌模型的训练难度和训练瓶颈,提高模型的准确性以及通过模型预测出牌牌组的效率。
此外,本申请实施例所示的模型训练方案,将出牌牌组为指定类型牌组与附加牌的组合的出牌日志,归类到出牌牌组为指定类型牌组的出牌日志中,从而增加了出牌牌组为指定类型牌组的出牌日志的样本数量,缓解样本分布不均匀的情况。
另外,本申请实施例所示的模型训练方案,在训练主出牌模型之前,对获取到的出牌日志中,出牌动作为“不出”的出牌日志进行筛选和采样,将没有合适的牌组可出的出牌日志去除,并从有合适的牌组可出但是策略性选择不出的出牌日志中采样出部分出牌日志参与训练,从而降低了出牌动作为“不出”的出牌日志在训练样本中的占比,缓解样本分布不均匀的情况,提高主出牌模型的训练准确性。
图12是根据一示例性实施例示出的基于机器学习模型的出牌牌组确定装置的结构方框图。该基于机器学习模型的出牌牌组确定装置可以通过硬件或者软硬结合方式设置在计算机设备中,以执行图3或图5所示实施例中的全部或者部分步骤。该基于机器学习模型的出牌牌组确定装置可以包括:
数据记录获取模块1201,用于获取牌类竞技项目的至少两个纸牌集合的出牌记录,以及所述至少两个纸牌集合中的目标纸牌集合的纸牌数据,所述纸牌数据包括对应的纸牌集合当前包含的纸牌;
第一输入模块1202,用于将所述至少两个纸牌集合的出牌记录以及所述目标纸牌集合的纸牌数据输入主出牌模型,获得所述主出牌模型输出的第一牌组;所述主出牌模型用于预测输入的纸牌数据对应的纸牌集合打出的主牌;
第二输入模块1203,用于当所述第一牌组是指定类型牌组时,将所述至少两个纸牌集合的出牌记录、所述目标纸牌集合的纸牌数据以及所述第一牌组输入辅助出牌模型,获得所述辅助出牌模型输出的第二牌组;所述辅助出牌模型用于预测输入的纸牌数据对应的纸牌集合打出的附加牌;
组合模块1204,用于将所述第一牌组和所述第二牌组组合为所述目标纸牌集合本次的出牌牌组。
可选的,所述第一输入模块1202,具体用于,
根据所述至少两个纸牌集合的出牌记录以及所述目标纸牌集合的纸牌数据提取第一输入数据;
将所述第一输入数据输入所述主出牌模型获得所述第一牌组。
可选的,所述第一输入数据包括以下数据中的至少一种:
所述目标纸牌集合中现存的纸牌、开局被公开的底牌、所述目标纸牌集合已经打出的纸牌、所述至少两个纸牌集合中除了所述目标纸牌集合之外的其它纸牌集合各自已经打出的纸牌、所述其它纸牌集合中的纸牌的总和、上一次被打出的纸牌、所述至少两个纸牌集合中的每个纸牌集合历次打出的纸牌、所述目标纸牌集合的身份信息、所述目标纸牌集合是否是上一次出牌的纸牌集合、上一次出牌的纸牌集合与所述目标纸牌集合之间的敌友关系、当前出牌的轮次以及所述至少两个纸牌集合各自的纸牌数量。
可选的,所述第二输入模块1203,具体用于,
根据所述至少两个纸牌集合的出牌记录、所述目标纸牌集合的纸牌数据以及所述第一牌组提取第二输入数据;
将所述第一输入数据输入所述辅助出牌模型获得所述第二牌组。
可选的,所述第二输入数据包括以下数据中的至少一种:
所述目标纸牌集合减去所述第一牌组后剩余的纸牌、所述目标纸牌集合是否是上一次出牌的纸牌集合、上一次被打出的纸牌、当前出牌的轮次以及所述至少两个纸牌集合各自的纸牌数量。
可选的,所述装置还包括:
第一日志集合获取模块,用于在所述第一牌组获取模块将所述第一输入模块将所述至少两个纸牌集合的出牌记录以及所述目标纸牌集合的纸牌数据输入主出牌模型之前,获取出牌日志集合,所述出牌日志集合包含所述牌类竞技项目的各个纸牌集合每一轮的出牌日志,所述出牌日志包括对应的纸牌集合当轮的纸牌数据、当局的各个纸牌集合的出牌记录以及对应的纸牌集合的当轮出牌牌组;
附加牌删除模块,用于对于所述出牌日志集合中的第一出牌日志,将所述第一出牌日志的当轮出牌牌组中的附加牌删除;所述第一出牌日志的当轮出牌牌组为所述指定类型牌组和附加牌的组合;
第一训练模块,用于根据删除附加牌之后的所述出牌日志集合进行机器训练,获得所述主出牌模型。
可选的,所述装置还包括:
第二日志集合获取模块,用于在所述第二输入模块将所述至少两个纸牌集合的出牌记录、所述目标纸牌集合的纸牌数据以及所述第一牌组输入辅助出牌模型之前,获取出牌日志集合,所述出牌日志集合包含所述牌类竞技项目的各个纸牌集合每一轮的出牌日志,所述出牌日志包括对应的纸牌集合当轮的纸牌数据、当局的各个纸牌集合的出牌记录以及对应的纸牌集合的当轮出牌牌组;
出牌日志确定模块,用于确定所述出牌日志集合中的第一出牌日志和第三出牌日志,所述第一出牌日志的当轮出牌牌组为所述指定类型牌组和附加牌的组合,所述第三出牌日志的当轮出牌牌组为所述指定类型牌组;
指定类型牌组删除模块,用于将所述第一出牌日志和所述第三出牌日志各自的当轮出牌牌组中的所述指定类型牌组删除;
第二训练模块,用于根据删除所述指定类型牌组之后的所述第一出牌日志和所述第三出牌日志进行机器训练,获得所述辅助出牌模型。
可选的,所述装置还包括:
无效日志确定模块,用于在所述第一训练模块根据删除附加牌之后的所述出牌日志集合进行机器训练之前,确定所述出牌日志集合中的无效日志,所述无效日志是对应的纸牌集合的当轮出牌牌组为空,且对应的纸牌集合当轮不存在可出牌组的出牌日志;
无效日志删除模块,用于将所述无效日志从所述出牌日志集合中删除。
可选的,所述出牌日志确定模块,还用于在所述第一训练模块根据删除附加牌之后的所述出牌日志集合进行机器训练之前,从删除所述无效日志之后的所述出牌日志集合中确定第五出牌日志,所述第五出牌日志是对应的纸牌集合的当轮出牌牌组为空的日志;
所述装置还包括,
抽样模块,用于对所述第五出牌日志进行抽样;
抽样日志删除模块,用于将未抽样到的日志从所述出牌日志集合中删除。
图13是根据一示例性实施例示出的一种计算机设备的结构示意图。所述计算机设备1300包括中央处理单元(CPU)1301、包括随机存取存储器(RAM)1302和只读存储器(ROM)1303的系统存储器1304,以及连接系统存储器1304和中央处理单元1301的系统总线1305。所述计算机设备1300还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1306,和用于存储操作系统1313、应用程序1314和其他程序模块1315的大容量存储设备1307。
所述基本输入/输出系统1306包括有用于显示信息的显示器1308和用于用户输入信息的诸如鼠标、键盘之类的输入设备1309。其中所述显示器1308和输入设备1309都通过连接到系统总线1305的输入输出控制器1310连接到中央处理单元1301。所述基本输入/输出系统1306还可以包括输入输出控制器1310以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1310还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1307通过连接到系统总线1305的大容量存储控制器(未示出)连接到中央处理单元1301。所述大容量存储设备1307及其相关联的计算机可读介质为计算机设备1300提供非易失性存储。也就是说,所述大容量存储设备1307可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1304和大容量存储设备1307可以统称为存储器。
计算机设备1300可以通过连接在所述系统总线1305上的网络接口单元1311连接到互联网或者其它网络设备。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器1301通过执行该一个或一个以上程序来实现图3或图5所示的方法的全部或者部分步骤。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括计算机程序(指令)的存储器,上述程序(指令)可由计算机设备的处理器执行以完成本申请各个实施例所示的方法的全部或者部分步骤。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (15)
1.一种基于机器学习模型的出牌牌组确定方法,其特征在于,所述方法由计算机设备执行,所述方法包括:
获取牌类竞技项目的至少两个纸牌集合的出牌记录,以及所述至少两个纸牌集合中的目标纸牌集合的纸牌数据,所述纸牌数据包括对应的纸牌集合当前包含的纸牌;
将所述至少两个纸牌集合的出牌记录以及所述目标纸牌集合的纸牌数据输入主出牌模型,获得所述主出牌模型输出的第一牌组;所述主出牌模型用于预测输入的纸牌数据对应的纸牌集合打出的主牌;
当所述第一牌组是指定类型牌组时,将所述至少两个纸牌集合的出牌记录、所述目标纸牌集合的纸牌数据以及所述第一牌组输入辅助出牌模型,获得所述辅助出牌模型输出的第二牌组;所述辅助出牌模型用于预测输入的纸牌数据对应的纸牌集合打出的附加牌;
将所述第一牌组和所述第二牌组组合为所述目标纸牌集合本次的出牌牌组。
2.根据权利要求1所述的方法,其特征在于,所述将所述至少两个纸牌集合的出牌记录以及所述目标纸牌集合的纸牌数据输入主出牌模型,获得所述主出牌模型输出的第一牌组,包括:
根据所述至少两个纸牌集合的出牌记录以及所述目标纸牌集合的纸牌数据提取第一输入数据;
将所述第一输入数据输入所述主出牌模型获得所述第一牌组。
3.根据权利要求2所述的方法,其特征在于,所述第一输入数据包括以下数据中的至少一种:
所述目标纸牌集合中现存的纸牌、开局被公开的底牌、所述目标纸牌集合已经打出的纸牌、所述至少两个纸牌集合中除了所述目标纸牌集合之外的其它纸牌集合各自已经打出的纸牌、所述其它纸牌集合中的纸牌的总和、上一次被打出的纸牌、所述至少两个纸牌集合中的每个纸牌集合历次打出的纸牌、所述目标纸牌集合的身份信息、所述目标纸牌集合是否是上一次出牌的纸牌集合、上一次出牌的纸牌集合与所述目标纸牌集合之间的敌友关系、当前出牌的轮次以及所述至少两个纸牌集合各自的纸牌数量。
4.根据权利要求1所述的方法,其特征在于,所述将所述至少两个纸牌集合的出牌记录、所述目标纸牌集合的纸牌数据以及所述第一牌组输入辅助出牌模型,获得所述辅助出牌模型输出的第二牌组,包括:
根据所述至少两个纸牌集合的出牌记录、所述目标纸牌集合的纸牌数据以及所述第一牌组提取第二输入数据;
将所述第二输入数据输入所述辅助出牌模型获得所述第二牌组。
5.根据权利要求4所述的方法,其特征在于,所述第二输入数据包括以下数据中的至少一种:
所述目标纸牌集合减去所述第一牌组后剩余的纸牌、所述目标纸牌集合是否是上一次出牌的纸牌集合、上一次被打出的纸牌、当前出牌的轮次以及所述至少两个纸牌集合各自的纸牌数量。
6.根据权利要求1所述的方法,其特征在于,所述指定类型牌组包括至少两个子类型牌组,所述辅助出牌模型包含至少两个子出牌模型,每个所述子类型牌组对应一个所述子出牌模型,所述将所述至少两个纸牌集合的出牌记录、所述目标纸牌集合的纸牌数据以及所述第一牌组输入辅助出牌模型,获得所述辅助出牌模型输出的第二牌组,包括:
将所述至少两个纸牌集合的出牌记录、所述目标纸牌集合的纸牌数据以及所述第一牌组输入目标模型,获得所述目标模型输出的所述第二牌组,所述目标模型是与所述第一牌组所属的所述子类型牌组相对应的所述子出牌模型。
7.根据权利要求1至6任一所述的方法,其特征在于,所述将所述至少两个纸牌集合的出牌记录以及所述目标纸牌集合的纸牌数据输入主出牌模型,获得所述主出牌模型输出的第一牌组之前,还包括:
获取出牌日志集合,所述出牌日志集合包含所述牌类竞技项目的各个纸牌集合每一轮的出牌日志,所述出牌日志包括对应的纸牌集合当轮的纸牌数据、当局的各个纸牌集合的出牌记录以及对应的纸牌集合的当轮出牌牌组;
对于所述出牌日志集合中的第一出牌日志,将所述第一出牌日志的当轮出牌牌组中的附加牌删除;所述第一出牌日志的当轮出牌牌组为所述指定类型牌组和附加牌的组合;
根据删除附加牌之后的所述出牌日志集合进行机器训练,获得所述主出牌模型。
8.根据权利要求1至6任一所述的方法,其特征在于,所述将所述至少两个纸牌集合的出牌记录、所述目标纸牌集合的纸牌数据以及所述第一牌组输入辅助出牌模型,获得所述辅助出牌模型输出的第二牌组之前,还包括:
获取出牌日志集合,所述出牌日志集合包含所述牌类竞技项目的各个纸牌集合每一轮的出牌日志,所述出牌日志包括对应的纸牌集合当轮的纸牌数据、当局的各个纸牌集合的出牌记录以及对应的纸牌集合的当轮出牌牌组;
确定所述出牌日志集合中的第一出牌日志和第三出牌日志,所述第一出牌日志的当轮出牌牌组为所述指定类型牌组和附加牌的组合,所述第三出牌日志的当轮出牌牌组为所述指定类型牌组;
将所述第一出牌日志和所述第三出牌日志各自的当轮出牌牌组中的所述指定类型牌组删除;
根据删除所述指定类型牌组之后的所述第一出牌日志和所述第三出牌日志进行机器训练,获得所述辅助出牌模型。
9.根据权利要求7所述的方法,其特征在于,在根据删除附加牌之后的所述出牌日志集合进行机器训练,获得所述主出牌模型之前,还包括:
确定所述出牌日志集合中的无效日志,所述无效日志是对应的纸牌集合的当轮出牌牌组为空,且对应的纸牌集合当轮不存在可出牌组的出牌日志;
将所述无效日志从所述出牌日志集合中删除。
10.根据权利要求9所述的方法,其特征在于,在根据删除附加牌之后的所述出牌日志集合进行机器训练,获得所述主出牌模型之前,还包括:
从删除所述无效日志之后的所述出牌日志集合中确定第五出牌日志,所述第五出牌日志是对应的纸牌集合的当轮出牌牌组为空的日志;
对所述第五出牌日志进行抽样;
将未抽样到的日志从所述出牌日志集合中删除。
11.一种基于机器学习模型的出牌牌组确定装置,其特征在于,所述装置设置在计算机设备中行,所述装置包括:
数据记录获取模块,用于获取牌类竞技项目的至少两个纸牌集合的出牌记录,以及所述至少两个纸牌集合中的目标纸牌集合的纸牌数据,所述纸牌数据包括对应的纸牌集合当前包含的纸牌;
第一输入模块,用于将所述至少两个纸牌集合的出牌记录以及所述目标纸牌集合的纸牌数据输入主出牌模型,获得所述主出牌模型输出的第一牌组;所述主出牌模型用于预测输入的纸牌数据对应的纸牌集合打出的主牌;
第二输入模块,用于当所述第一牌组是指定类型牌组时,将所述至少两个纸牌集合的出牌记录、所述目标纸牌集合的纸牌数据以及所述第一牌组输入辅助出牌模型,获得所述辅助出牌模型输出的第二牌组;所述辅助出牌模型用于预测输入的纸牌数据对应的纸牌集合打出的附加牌;
组合模块,用于将所述第一牌组和所述第二牌组组合为所述目标纸牌集合本次的出牌牌组。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第一日志集合获取模块,用于在所述第一牌组获取模块将所述第一输入模块将所述至少两个纸牌集合的出牌记录以及所述目标纸牌集合的纸牌数据输入主出牌模型之前,获取出牌日志集合,所述出牌日志集合包含所述牌类竞技项目的各个纸牌集合每一轮的出牌日志,所述出牌日志包括对应的纸牌集合当轮的纸牌数据、当局的各个纸牌集合的出牌记录以及对应的纸牌集合的当轮出牌牌组;
附加牌删除模块,用于对于所述出牌日志集合中的第一出牌日志,将所述第一出牌日志的当轮出牌牌组中的附加牌删除;所述第一出牌日志的当轮出牌牌组为所述指定类型牌组和附加牌的组合;
第一训练模块,用于根据删除附加牌之后的所述出牌日志集合进行机器训练,获得所述主出牌模型。
13.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第二日志集合获取模块,用于在所述第二输入模块将所述至少两个纸牌集合的出牌记录、所述目标纸牌集合的纸牌数据以及所述第一牌组输入辅助出牌模型之前,获取出牌日志集合,所述出牌日志集合包含所述牌类竞技项目的各个纸牌集合每一轮的出牌日志,所述出牌日志包括对应的纸牌集合当轮的纸牌数据、当局的各个纸牌集合的出牌记录以及对应的纸牌集合的当轮出牌牌组;
出牌日志确定模块,用于确定所述出牌日志集合中的第一出牌日志和第三出牌日志,所述第一出牌日志的当轮出牌牌组为所述指定类型牌组和附加牌的组合,所述第三出牌日志的当轮出牌牌组为所述指定类型牌组;
指定类型牌组删除模块,用于将所述第一出牌日志和所述第三出牌日志各自的当轮出牌牌组中的所述指定类型牌组删除;
第二训练模块,用于根据删除所述指定类型牌组之后的所述第一出牌日志和所述第三出牌日志进行机器训练,获得所述辅助出牌模型。
14.一种计算机设备,其特征在于,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至10任一所述的基于机器学习模型的出牌牌组确定方法。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至10任一所述的基于机器学习模型的出牌牌组确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811427812.9A CN110175619B (zh) | 2018-11-27 | 2018-11-27 | 基于机器学习模型的出牌牌组确定方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811427812.9A CN110175619B (zh) | 2018-11-27 | 2018-11-27 | 基于机器学习模型的出牌牌组确定方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110175619A CN110175619A (zh) | 2019-08-27 |
CN110175619B true CN110175619B (zh) | 2023-02-03 |
Family
ID=67689255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811427812.9A Active CN110175619B (zh) | 2018-11-27 | 2018-11-27 | 基于机器学习模型的出牌牌组确定方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110175619B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110585732A (zh) * | 2019-09-12 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种操牌信息确定方法、装置、服务器及存储介质 |
CN110782004B (zh) * | 2019-09-26 | 2022-06-21 | 超参数科技(深圳)有限公司 | 模型训练方法、模型调用方法、设备及可读存储介质 |
CN110852436B (zh) * | 2019-10-18 | 2023-08-01 | 桂林力港网络科技股份有限公司 | 一种电子扑克游戏的数据处理方法、装置及存储介质 |
CN111185010B (zh) * | 2019-12-25 | 2021-08-03 | 北京理工大学 | 一种用脉冲神经网络构建斗地主出牌程序的系统与方法 |
CN111729316B (zh) * | 2020-06-15 | 2024-05-17 | 北京智明星通科技股份有限公司 | 一种卡牌对战类游戏中的出牌推荐方法、系统及游戏终端 |
CN113274738B (zh) * | 2021-06-09 | 2024-06-21 | 浙江畅唐网络股份有限公司 | 一种掼蛋游戏的牌型数据获取方法及相关装置 |
CN113262496B (zh) * | 2021-06-09 | 2024-06-28 | 浙江畅唐网络股份有限公司 | 一种掼蛋游戏的牌型数据处理方法及相关装置 |
CN113384884B (zh) * | 2021-06-15 | 2024-03-26 | 北京达佳互联信息技术有限公司 | 基于虚拟牌的出牌提示方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101732861A (zh) * | 2008-11-14 | 2010-06-16 | 康佳集团股份有限公司 | 一种电子扑克牌游戏中自动选牌方法及系统 |
CN101901304A (zh) * | 2010-08-05 | 2010-12-01 | 上海酷吧信息技术有限公司 | 斗地主游戏中计算机玩家智能算法的实现方法 |
US7892080B1 (en) * | 2006-10-24 | 2011-02-22 | Fredrik Andreas Dahl | System and method for conducting a game including a computer-controlled player |
CN104166779A (zh) * | 2013-05-17 | 2014-11-26 | 腾讯科技(深圳)有限公司 | 在游戏终端中模拟纸牌游戏的实现方法及装置 |
CN106055339A (zh) * | 2016-06-08 | 2016-10-26 | 天津联众逸动科技发展有限公司 | 二打一游戏中确定计算机玩家出牌策略的方法 |
-
2018
- 2018-11-27 CN CN201811427812.9A patent/CN110175619B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7892080B1 (en) * | 2006-10-24 | 2011-02-22 | Fredrik Andreas Dahl | System and method for conducting a game including a computer-controlled player |
CN101732861A (zh) * | 2008-11-14 | 2010-06-16 | 康佳集团股份有限公司 | 一种电子扑克牌游戏中自动选牌方法及系统 |
CN101901304A (zh) * | 2010-08-05 | 2010-12-01 | 上海酷吧信息技术有限公司 | 斗地主游戏中计算机玩家智能算法的实现方法 |
CN104166779A (zh) * | 2013-05-17 | 2014-11-26 | 腾讯科技(深圳)有限公司 | 在游戏终端中模拟纸牌游戏的实现方法及装置 |
CN106055339A (zh) * | 2016-06-08 | 2016-10-26 | 天津联众逸动科技发展有限公司 | 二打一游戏中确定计算机玩家出牌策略的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110175619A (zh) | 2019-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110175619B (zh) | 基于机器学习模型的出牌牌组确定方法、设备及存储介质 | |
CN111632379B (zh) | 游戏角色行为控制方法、装置、存储介质及电子设备 | |
Stanescu et al. | Evaluating real-time strategy game states using convolutional neural networks | |
JP7399277B2 (ja) | 情報処理方法、装置、コンピュータプログラム及び電子装置 | |
CN108499108A (zh) | 视频游戏应用程序内玩游戏参数的实时动态修改和优化 | |
CN110665233B (zh) | 游戏行为识别方法、装置、设备及介质 | |
CN109011580B (zh) | 残局牌面获取方法、装置、计算机设备及存储介质 | |
CN108304853A (zh) | 游戏相关度的获取方法、装置、存储介质和电子装置 | |
Khan et al. | Optimal Skipping Rates: Training Agents with Fine‐Grained Control Using Deep Reinforcement Learning | |
Porokhnenko et al. | Machine learning approaches to choose heroes in dota 2 | |
Wang et al. | A novel deep residual network-based incomplete information competition strategy for four-players Mahjong games | |
CN111310918A (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN111701240A (zh) | 虚拟物品的提示方法、装置、存储介质和电子装置 | |
Li et al. | Research on fight the landlords’ single card guessing based on deep learning | |
Grutzik et al. | Predicting outcomes of professional dota 2 matches | |
Islam et al. | A machine learning based approach to predict online gaming addiction in the context of Bangladesh | |
CN110909890B (zh) | 游戏人工智能训练方法、装置及服务器和存储介质 | |
Wan et al. | Imitation learning for playing shogi based on generative adversarial networks | |
Fischer | Using reinforcement learning for games with nondeterministic state transitions | |
Suatap et al. | Game genre classification from icon and screenshot images using convolutional neural networks | |
Joseph | Time series approaches to predict soccer match outcome | |
CN117959730A (zh) | 游戏对象匹配方法、装置、电子设备和计算机存储介质 | |
Indulkar | PUBG Winner Ranking Prediction using R Interface ‘h2o’Scalable Machine Learning Platform | |
Moudřík et al. | Determining player skill in the game of go with deep neural networks | |
Bhatnagar et al. | Estimating the Chances of Winning IPL Match using Machine Learning |
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 |