一种基于反事实遗憾最小化的虚拟自我对弈方法和装置与流程

文档序号:27553304发布日期:2021-11-24 23:21阅读:328来源:国知局
一种基于反事实遗憾最小化的虚拟自我对弈方法和装置与流程

1.本发明属于人工智能及智能博弈对抗的技术领域,特别涉及一种基于反事实遗憾最小化的虚拟自我对弈方法和装置。


背景技术:

2.人工智能在各种环境中的应用已经取得了瞩目的成就,如人工智能当前已经能够准确地识别部分人脸和部分语音,如公开号为cn109272990a的专利申请公开的基于卷积神经网络的语音识别方法,再如公开号为cn104346607a的专利申请公开的基于卷积神经网络的人脸识别方法。
3.人工智能能够有效地对环境产生反馈,甚至在部分游戏领域已经超越了人类的得分。研究高级的人工智能不仅可以将更高级的人工智能应用至更高级的生活应用,也能在决策方面辅助人类,扩充人类的决策视野,促进更优决策的产生。
4.尽管现在的人工智能已经在多个对抗领域战胜了人类职业选手,但是很少有人工智能可以从博弈论知识的领域来解答和优化。将博弈论结合至对抗领域的人工智能中,可以有效地对人工智能的训练过程和训练结果进行分析,对其策略进行分析和解读,增强人类对人工智能算法的理解,也加强了人工智能算法的可靠性。
5.在利用博弈论的研究中,典型的有反事实遗憾最小化算法。该算法是一种迭代式更新策略的算法,通过遍历博弈树,计算树中各个节点的回报值和遗憾值并使其最小化来更新策略,最终使得该策略成为纳什均衡策略。


技术实现要素:

6.鉴于上述,本发明的目的是提供一种基于反事实遗憾最小化的虚拟自我对弈方法和装置,通过结合博弈论领域的反事实遗憾最小化算法和神经网络,来求解并优化多方参与的虚拟自我对弈策略,以降低计算的复杂度同时提高虚拟自我对弈策略的收敛速度和训练效率,以保证虚拟自我对弈策略的收敛性。
7.第一方面,实施例提供的基于反事实遗憾最小化的虚拟自我对弈方法,所述虚拟自我对弈方法应用在多方智能体参与的博弈环境中,多方智能体采用相同算法生成策略,每个策略对应待优化的算法参数,决定算法输出动作的概率值;
8.所述虚拟自我对弈方法包括以下步骤:
9.每个智能体采用遗憾最小化算法根据博弈环境状态生成针对全局策略的最佳回应策略;提取每个智能体的历史回应策略平均化后的动作的概率值得到每个智能体的平均策略;
10.按照一定比例分别对最佳回应策略和平均策略进行采样,将采样得到的环境状态、动作的概率值以及对应的回报分别存储到平均策略经验池和最佳回应策略经验池;
11.从平均策略经验池和最佳回应经验池中采样环境状态、动作的概率值以及对应的回报更新最佳回应策略和平均策略。
12.第二方面,实施例提供的一种基于反事实遗憾最小化的虚拟自我对弈装置,所述虚拟自我对弈装置应用在多方智能体参与的博弈环境中,多方智能体采用相同算法生成策略,每个策略对应待优化的算法参数,决定算法输出动作的概率值;包括:
13.最佳回应策略生成模块,用于每个智能体采用遗憾最小化算法根据博弈环境状态生成针对全局策略的最佳回应策略;
14.平均策略生成模块,用于提取每个智能体的历史回应策略平均化后的动作的概率值得到每个智能体的平均策略;
15.采样模块,用于按照一定比例分别对最佳回应策略和平均策略进行采样,将采样得到的环境状态、动作的概率值以及对应的回报分别存储到平均策略经验池和最佳回应策略经验池;
16.策略更新模块,用于从平均策略经验池和最佳回应经验池中采样环境状态、动作的概率值以及对应的回报更新最佳回应策略和平均策略。
17.经验回放模块,包括平均策略经验池、最佳回应策略经验池,用于存储对最佳回应策略和平均策略进行采样得到的环境状态、动作的概率值以及对应的回报。
18.上述实施例提供的基于反事实遗憾最小化的虚拟自我对弈方法和装置,应用在多方智能体参与的博弈环境中,多方智能体采用相同算法生成策略,且处于同一博弈环境中,因此对每个智能体的策略进行优化过程中,多方智能体对彼此策略的影响可以看作智能体的虚拟自我对弈的过程。在智能体的虚拟自我对弈过程中,每个智能体结合反事实遗憾最小化算法和神经网络生成回应策略,以降低策略生成的计算复杂度提升策略的收敛速度。
附图说明
19.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。
20.图1是一实施例提供的基于反事实遗憾最小化的虚拟自我对弈方法的流程图;
21.图2是一实施例提供的最佳回应策略生成及采样流程图;
22.图3是一实施例提供的平均策略的采样流程图;
23.图4是一实施例提供的策略更新流程图;
24.图5是一实施例提供的整体采样流程图。
具体实施方式
25.为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
26.针对在多个参与方(玩家)参与的博弈环境中的建模和模拟过程中,玩家在做出决策之前只能部分获得对手的知识。这类似于现实场景,例如贸易、交通路线规划、公开拍卖以及游戏,不同公司之间的商业竞争、拍卖场景中的竞标关系以及欺诈方与反欺诈方之间的博弈关系。由于信息隐藏,玩家必须在对对手的信息不确定的情况下做出决策,并且其还
需要采取行动以利用对手对自己的信息不确定的优势。因此,在多方玩家的策略求解计算上是昂贵且耗时的。基于此,本发明实施例提供了一种基于反事实遗憾最小化的虚拟自我对弈方法和装置。
27.图1是一实施例提供的基于反事实遗憾最小化的虚拟自我对弈方法的流程图。如图1所示,实施例提供的一种基于反事实遗憾最小化的虚拟自我对弈方法,所述虚拟自我对弈方法应用在多方智能体参与的博弈环境中,多方智能体采用相同算法生成策略,每个策略对应待优化的算法参数,决定算法输出动作的概率值。具体地,该方法包括以下步骤:
28.步骤1,每个智能体采用反事实遗憾最小化算法根据博弈环境状态生成针对全局策略的最佳回应策略。
29.实施例中,每个智能体根据环境状态使用基于优势的遗憾匹配算法(advantage

based regret minimization)生成其策略,是一种将遗憾值计算和匹配应用到传统强化学习领域的方法,具体包括:将遗憾值计算过程转变为传统强化学习领域中的优势值;按照预设神经网络结构构造q神经网络;以q神经网络对传统优势值中的q值和v值进行拟合得到cf值(采用确定行为的反事实收益)和期望q值(所有行为选择的期望收益);cf值减去q值后向量各值为所述遗憾值ω;使用以最小化策略更新过程中产生的遗憾总和为目的的所述最佳回应策略更新方法计算最佳回应策略。
30.如图2所示,最佳回应策略生成及采样流程包括:
31.根据环境数据由神经网络计算出当前的q值(q值维度为动作数量+1)、q值取前n位为各动作对应的cf值,第n+1位为期望q值、cf值减去q值并去正数剪枝、对剪枝后的值进行标准化、将标准化后的数据作为各动作的选取概率选择一个决策动作,并将各动作的选取概率和环境状态组成最佳回应,存储在最佳回应策略经验池和平均策略经验池中。
32.步骤2,对每个智能体的历史回应策略进行平均化得到每个智能体的平均策略。
33.实施例中,从最佳回应策略经验池中提取环境状态,动作的概率值和对应的回报,判断环境状态是否在平均策略中,若无,则新建该环境状态的平均策略为该动作的概率值;若有,则原平均策略的对应动作概率值加乘以提取的动作的概率值为新的动作概率值。最佳回应策略经验池中所有数据都提取过后平均策略更新完成。
34.步骤3,按照一定比例分别对最佳回应策略和平均策略进行采样,将采样得到的环境状态、动作的概率值以及对应的回报分别存储到平均策略经验池和最佳回应策略经验池。
35.实施例中,针对每个智能体均是按照一定比例对最佳回应策略和平均策略进行采样,并执行的。如图5所示,针对每个智能体,执行0~1之间的随机浮点数,在随机数小于预设比例α时,选择最佳回应策略并执行依据最佳回应策略得到的决策动作;当随机数大于等于预设比例α时,选择平均策略并执行依据平均策略得到的决策动作。也就是针对每个智能体(动作玩家),执行0~1的随机数,并判断随机数是否小于预设比例α,当小于预设比例α时,则选择执行最佳回应策略,否则选择执行平均策略,智能体依据选择的策略对应的输出动作概率值确定决策动作并执行,至此采样结束。
36.实施例中,对最佳回应策略进行采样包括:从最佳回应策略对应的输出动作的概率值进行筛选并输出决策动作,得到环境状态、动作的概率值以及对应的回报并存储到最
佳回应策略经验池和和平均策略经验池。
37.实施例中,如图3所示,对平均策略进行采样包括:当输入的环境状态存在于平均策略时,对该平均策略对应的输出动作的概率值进行筛选并输出决策动作,以得到环境状态、动作的概率值以及对应的回报并存储到平均策略经验池;
38.当输入的环境状态不存在于平均策略时,依据输入的环境状态从最佳回应策略进行采样,即从最佳回应策略对应的输出动作的概率值进行筛选并输出决策动作,得到环境状态、动作的概率值以及对应的回报并存储到平均策略经验池。
39.步骤4,从平均策略经验池和最佳回应经验池中采样环境状态、动作的概率值以及对应的回报更新最佳回应策略和平均策略。
40.实施例中,最佳回应策略和平均策略的更新过程为:
41.在最佳回应策略经验池大小小于预设阈值、且迭代次数小于预设迭代次数时,从平均策略经验池采样环境状态、动作的概率值以及对应的回报更新最佳回应策略;从最佳回应策略经验池采样环境状态、动作的概率值以及对应的回报按照比例更新平均策略;否则迭代更新结束。
42.假设预设阈值为4000,预设迭代次数为1000,如图4所示,策略更新过程为:判断最佳回应策略经验池大小是否超过4000,若不超过则不执行,更新结束,若超过则执行下一步判断迭代次数是否小于1000(初始为0),若是则分别从平均策略经验池和最佳回应策略经验池采样数据,利用数据分别更新最佳回应策略和平均策略(按照α比例,即池子中的数据为α,原数据为1

α)、迭代次数加1后继续判断迭代次数、迭代次数为1000时结束策略更新过程。其中,最佳回应策略经验池中每条包含环境状态、动作的概率值以及汇报的数据的大小为1,判断最佳回应策略经验池大小是否超过4000,就是判断最佳回应策略经验池中数据条数是否超过4000。
43.实施例中,最佳回应策略和平均策略的更新方式为:
44.π
i+1
=(1

α)π
i
+αβ
i+1

i
)
[0045][0046]
其中,i代表第i次更新迭代,α表示更新比例,π
i
表示第i次迭代下的平均策略,β
i+1

i
)表示平均策略π
i
的最佳回应策略,ω
i
为平均策略π
i
下各动作的遗憾值,其中,动作的遗憾值表示为采用决策动作得到的回报与按照平均策略π
i
对应的输出动作的概率值选择动作得到的回报期望之差,差值越大,表示选择决策动作越可能取得更大的回报,越对未采用决策动作产生的遗憾越大。
[0047]
平均策略的更新方式为,从最佳回应策略经验池中提取环境状态,动作的概率值和对应的回报,判断环境状态是否在平均策略中,若无,则新建该环境状态的平均策略为该动作的概率值;若有,则原平均策略的对应动作概率值加乘以提取的动作的概率值为新的动作概率值。最佳回应策略经验池中所有数据都提取过后平均策略更新完成。
[0048]
实施例还提供了一种基于反事实遗憾最小化的虚拟自我对弈装置,该所述虚拟自我对弈装置同样应用在多方智能体参与的博弈环境中,多方智能体采用相同算法生成策略,每个策略对应待优化的算法参数,决定算法输出动作的概率值;具体地,该装置包括:
[0049]
最佳回应策略生成模块,用于每个智能体采用遗憾最小化算法根据博弈环境状态生成针对全局策略的最佳回应策略;
[0050]
平均策略生成模块,用于提取每个智能体的历史回应策略平均化后的动作概率值得到每个智能体的平均策略;
[0051]
采样模块,用于按照一定比例分别对最佳回应策略和平均策略进行采样,将采样得到的环境状态、动作的概率值以及对应的回报分别存储到平均策略经验池和最佳回应策略经验池;
[0052]
策略更新模块,用于从平均策略经验池和最佳回应经验池中采样环境状态、动作的概率值以及对应的回报更新最佳回应策略和平均策略。
[0053]
经验回放模块,包括平均策略经验池、最佳回应策略经验池,用于存储对最佳回应策略和平均策略进行采样得到的环境状态、动作的概率值以及对应的回报。
[0054]
特别地,上述实施例提供的虚拟自我对弈装置在进行虚拟自我对弈时,应以上述各功能模块的划分进行举例说明,可以根据需要将上述功能分配由不同的功能模块完成,即在终端或服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的虚拟自我对弈装置与虚拟自我对弈方法实施例属于同一构思,其具体实现过程详见虚拟自我对弈方法实施例。
[0055]
上述装置执行的基于反事实遗憾最小化的虚拟自我对弈方法包括:环境将环境数据发送至采样模块,由采样模块根据比例α选择输出的策略,如选择最佳回应则使用最佳回应生成模块,平均策略同理;对应的策略生成模块选择动作并输出回环境;此时环境信息和动作的概率值会保存至经验回放模块中,最佳回应保存至最佳回应策略经验池和平均策略经验池,平均策略保存至平均策略经验池;在经验池大小满足条件时,执行策略更新过程。
[0056]
实施例中,虚拟自我对弈,为一种对抗过程中使用相同算法进行对抗训练的方法,在同样的策略产生方式和更新方式下,对抗过程中多方参与者对应算法的策略被认为在同一个策略组合中,是等价的。
[0057]
上述方法和装置,通过结合博弈论领域的反事实遗憾最小化方法,优化基于传统强化学习方法的虚拟自我对弈方法,增强了原方法的性能和算法训练效率,并且加强了原方法的博弈论可解释性,算法收敛保证性,且能纳什均衡,还能缩小了原方法的计算开销。
[0058]
实验例
[0059]
基于反事实遗憾最小化的虚拟自我对弈方法的具体实施方案为:使用python作为编程语言,建立虚拟自我对弈类对象(nfsp对象)为智能体(agent);建立对应的环境实例,实施例中为leduc_poker,是一种简化的德州扑克游戏环境;在约定的循环次数下(如1500万次),初始化该游戏,从游戏环境中获取环境的信息,包括当前的玩家号码;将环境信息发送给玩家号码对应的agent对象,agent对象根据环境信息和采样模块输出选择的动作;根据agent选择的动作在游戏环境中执行一步游戏,重复此过程直到约定的游戏循环次数结束后,保存模型信息,输出模型的纳什均衡评估结果。
[0060]
最佳回应生成模块的具体实施方案为:使用python作为编程语言,执行如下步骤:获取环境信息;输入环境信息,得到神经网络的拟合结果为q;将q的前n(动作的数量)位作为cf值,第n+1位为期望q值;执行cf

q,对得到的动作值取正数进行剪枝;对得到的动作值进行标准化;以标准化结果中各动作对应的数值为概率,根据概率选择输出的动作,反馈给
游戏环境。
[0061]
平均策略生成模块的具体实施方案为:使用python作为编程语言,执行如下步骤:获取环境信息;在自己的策略组中寻找该环境信息对应的历史平均策略;若找到该策略,根据策略中各动作对应的概率值筛选后进行输出;若未找到,则调用最佳回应生成模块生成策略,并加入到经验回放模块的最佳回应策略经验池和平均策略经验池中。
[0062]
策略组更新过程的具体实施方案为:使用python作为编程语言,执行如下步骤:判断当前最佳回应策略经验池的大小;当最佳回应策略经验池大于4000个数据时,同时对最佳回应生成模块和平均策略生成模块进行策略更新,其中最佳回应生成模块的更新由tensorflow负责,对神经网络参数进行更新,平均策略生成模块的更新为针对所有存储的环境信息,对该环境信息对应的策略和最佳回应经验池中存储的策略进行平均化处理,处理后进行标准化;清空最佳回应经验池和平均策略经验池。
[0063]
经验回放模块包括最佳回应策略经验池和平均策略经验池,各部分的具体实施方案如下:最佳回应经验池以(环境信息动作的概率,得到的回报)的形式存储,其中环境信息来自于环境,动作的概率来自于最佳回应生成策略输出动作的概率,所述得到的回报为本次使用最佳回应生成模块输出的一组从游戏开始到游戏结束的动作序列中,根据最终结果反馈得到的回报,即如果该序列最终得到的回报为1,则该输出的动作得到的回报也为1。
[0064]
平均策略经验池以(环境信息,动作的概率,得到的回报)的形式存储,其中环境信息来自于环境,动作的概率来自于最佳回应生成模块和平均策略生成模块输出的动作概率,得到的回报为使用该动作所属模块输出的一组从游戏开始到游戏结束的动作序列中,根据最终结果反馈得到的回报。实施例中,回报的计算方式为:首先假设该局胜利回报为1,则该动作序列的基础回报为[0,0,

0,1],序列中某动作取得的回报r1按下列公式取得:r1*1+r2*gamma+r3*gamma2+

r
n
*gamma
n
‑1,其中预设未来奖励折扣gamma为0.9,预设n为3,当r
n
不为结束状态的回报值时,采用与更新开始前q神经网络参数、网络结构一样的target神经网络输出的q值,以q*gamma
n
作为该动作的回报值r1。
[0065]
采样模块的具体实施方案为:使用python作为交互对接模块,在每一轮游戏开始前,对本方法基于反事实遗憾最小化的虚拟自我对弈方法进行一次输出模块选择,选择结果根据设定比例进行概率选择,如选择最佳回应输出模块的概率为40%,则进行一次随机数判断,小于0.4,本轮游戏使用最佳回应生成模块作为策略输出模块,否则使用平均策略模块作为策略输出模块。
[0066]
以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1