多状态连续动作空间的合作式方法及系统与流程

文档序号:17182097发布日期:2019-03-22 20:59阅读:1808来源:国知局
多状态连续动作空间的合作式方法及系统与流程

本发明涉及强化学习领域,尤其涉及一种多状态连续动作空间的合作式方法及系统。



背景技术:

目前强化学习领域已有很多工作被设计用来学习连续动作空间问题的最优解,然而大部分工作还是集中在单智能体学习上。在多智能体协作领域遇到的一些问题,如非平稳性和随机性问题,依旧是连续动作空间问题上的巨大挑战。

现实中有很多研究领域涉及到连续动作空间上的多智能体协作问题,如机器人足球[1]和多人在线竞技游戏[2]。在这类问题中,智能体不仅需要解决连续动作空间上的无穷大动作集选择问题,还需要同其他智能体有效地协作来寻求群体回报最优。

到目前为止,已经有很多研究用于解决多智能体环境情况下的协作问题。最常见的为基于q学习扩展类的算法,如distributed-q学习[3]、hysteretic-q学习[4]、lenient学习[5]、lenient-faq[6]、lmrl2[7]、lenient-dqn[8]和rfmq[9]。这些算法能解决一定程度的多智能体系统的协作问题,但是它们只能应用在离散的动作空间中。

另一方面,一些工作集中于研究连续动作空间下的控制问题,如值函数近似(valueapproximation)算法[10-14]和策略近似(policyapproximation)算法[15-18]。值函数近似类算法按照训练样本估计在状态-动作空间对应的值函数,而策略近似类算法将策略定义为连续空间上的某种分布的概率密度函数,然后直接学习策略。这两类类算法的学习性能依赖于被估计的值函数的特性,而常见的问题中状态-动作对应的值函数通常具有复杂的结构,如非线性性。另一类解决连续动作空间问题的算法为基于蒙特卡洛(monte-carlo-based)采样类方法[19,20],这类算法使用采样来解决连续动作空间上的探索问题,可以很方便的和传统的离散类强化学习算法结合。上述两类算法都是设计在单智能体环境中的,并不能直接应用在多智能体协作问题中。因为多智能体环境下,智能体对自己当前策略下回报函数的估计并不能反映其当前的策略[21]。此外还有一些工作研究在连续动作空间的多智能体环境中的问题,但并不是针对多智能体协作问题,如针对公平性的学习算法[22],以及使用连续玻尔兹曼探索策略中算法在稳定状态下的理论模型分析[23]。



技术实现要素:

为解决现有技术中的问题,本发明提供一种多状态连续动作空间的合作式方法及系统。

本发明多状态连续动作空间的合作式方法包括如下步骤:

(1):对于任意状态s∈s,初始化采样的动作集ai(s)为集智能体i的连续动作空间中随机样的n个动作,其中,s为状态集合;

(2):对于对任意的状态s∈s和动作a∈ai(s),初始化智能体i在状态s下关于动作a的期望回报qi(s,a),历史最大回报和加权平均回报ei(s,a),智能体i在状态s下的平均期望回报vi(s),初始化在状态s下选择动作a的概率πi(s,a),出现回报最大值的频率的估计fi(s,a),及探索率li(s)为设定值;

(3):重复执行以下步骤直至智能体i在状态s下的回报收敛,

(31):初始化状态s←s0;

(32):重复以下步骤直到状态s到达终止态

(321):判断是否需要更新动作集,如果否,执行步骤(322),如果是,对动作集进行重采样,保留最大回报动作,并在该动作一定范围内采集新的动作作为新的动作集,然后执行步骤(322);

(322):对于任意的a∈ai(s),按照具有最高回报的动作被最高概率的选择原则更新πi(s,a)和qi(s,a);

(323):更新状态:s←s′。

本发明作进一步改进,在步骤(1)中,设置各状态最开始的采样动作集ai(s)为连续动作空间中等距离采样的n个动作。

本发明作进一步改进,采用分片双线性差值算法将n个离散动作转化为连续动作空间上的连续动作。

本发明作进一步改进,在步骤(31)中,通过协作式采样策略进行重采样,更新动作集,采用可变的探索率li(s)控制所述协作式采样策略在最大回报动作周围采样新动作的范围。

本发明作进一步改进,所述协作式采样策略的处理方法为:

a1:更新探索率li(s):

如果当前动作集的平均期望回报大于或等于之前的各动作集的累计平均期望回报vi(s),则减少探索率li(s)为li(s)δd,否则增加li(s)为li(s)δl,其中,δl为大于1的正实数,δd为小于1的正实数;

a2:更新累计平均期望回报:其中αs为学习率;

a3:按照探索率li(s)重新采样动作集:

计算当前回报最大的动作保留当前集合中具有最大的期望回报的|ai(s)|/3个动作,并从半径为li(s)的amax的邻域内随机选择2|ai(s)|/3个新的动作,共同组成新的动作集;

a4:初始化每个动作新的动作下的策略πi(s,a)和对应的期望回报qi(s,a)为起始的设定值。

本发明作进一步改进,在步骤(32)中,智能体i采用多状态递归频率最大q值学习算法进行学习更新。

本发明作进一步改进,所述多状态递归频率最大q值学习算法的处理方法为:

b1:判断当前的动作集是否更新过,如果否,直接执行步骤b2,如果是,初始化当前状态下所有动作对应的fi(s,a)、和ei(s,a),然后执行步骤b2;

b2:以一定的探索率按照策略πi(s,a)选择状态s下的行为a∈ai(s);

b3:从环境中观察到回报r和下一步状态s′,并更新当前s和a对应的状态动作值qi(s,a):qi(s,a)←(1-α)qi(s,a)+α(r+γmaxa′qi(s′,a′)),

其中,α为学习率,γ为折扣因子,为下一步状态s′时,动作a’时的最大状态动作值;

b4:按照递归最大值优先思想估计ei(s,a);

b5:依据ei(s,a)使用策略爬山算法更新策略πi(s,a),即增加选择具有最大ei(s,a)值的动作的概率,同时选择减小其它动作的概率。

本发明还提供了一种实现所述多状态连续动作空间的合作式方法的系统,包括:

初始化动作集模块:用于对于任意状态s∈s,初始化采样的动作集ai(s)为集智能体i的连续动作空间ai(s)中随机样的n个动作;

初始化参数模块:对于对任意的状态s∈s和动作a∈ai(s),初始化智能体i在状态s下关于动作a的期望回报qi(s,a),历史最大回报和加权平均回报ei(s,a),智能体i在状态s下的平均期望回报vi(s),初始化在状态s下选择动作a的概率πi(s,a),出现回报最大值的频率的估计fi(s,a),及探索率li(s)为设定值;

收敛模块:用于重复执行以下单元直至智能体i在状态s下的回报收敛,

动作集修正单元:用于判断是否需要更新动作集,如果否,执行策略评估和更新单元,如果是,对动作集进行重采样,保留最大回报动作,并在该动作一定范围内采集新的动作作为新的动作集,然后执行策略评估和更新单元;

策略评估和更新单元:用于对于任意的a∈ai(s),按照具有最高回报的动作被最高概率的选择原则更新πi(s,a)和qi(s,a);

状态更新单元:用于更新状态s←s′。

本发明作进一步改进,所述动作集修正单元通过协作式采样策略进行重采样,更新动作集,采用可变的探索率li(s)控制所述协作式采样策略在最大回报动作周围采样新动作的范围。

本发明作进一步改进,所述策略评估和更新单元采用多状态递归频率最大q值学习算法进行学习更新。

与现有技术相比,本发明的有益效果是:解决连续动作空间中马尔科夫游戏的协作问题,本发明的协作式从采样策略通过重采样可用的动作集解决连续动作空间问题,而多状态递归频率最大q值学习算法评估采样到的动作集并给出相应的协作策略。通过对两个部分分别考虑相应的协作机制,本发明能够很好的处理连续动作空间中多智能体的协作问题。

附图说明

图1为本发明结构示意图;

图2为本发明方法流程图;

图3为连续版cg示意图;

图4为在连续版cg游戏中,smc、rfmq、cala和scc-rfmq的实验对比参考图;

图5为在连续版pscg游戏中,smc、rfmq、cala和scc-rfmq的实验对比参考图;

图6为多智能体船过河游戏示意图;

图7为scc-rfmq和smc在船过河游戏中的实验对比参考图。

具体实施方式

下面结合附图和实施例对本发明做进一步详细说明。

针对连续动作空间上的多智能体协作问题,本发明提出一个智能体独立学习的强化学习方法scc-rfmq(samplecontinuouscoordinationwithrecursivefrequencymaximumq-value,连续协作式采样-递归频率最大q值)。本发明scc-rfmq将连续动作空间中的协调过程分为两层:动作集修正层(actionsetmodification)和策略评估更新层(policyevaluationandupdating)。第一层受[20]中的采样思想启发,针对性的设计了重新采样机制,使其采样过程可以更好的应对其它智能体策略的变化。新的重新采样机制保留每个智能体状态的最佳行为,同时使用可变探索率来控制重采样的概率分布和重采样机制的收敛时间。这里的可变探索率使用赢或学习(wolm)原则进行调整,以应对在动作集更新过程中由多智能体协作引出的非平稳性和随机性问题[9]。在策略策略评估和更新层,将rfmq策略[9]引入phc(policyhill-climbing)算法[24],以便它可以处理多状态环境中的多智能体协作问题。最后,通过与其他强化学习方法的比较,分析了scc-rfmq学习算法的性能。

接下来,对本发明运用到的技术和必要的基本概念进行说明:

1、连续动作合作式马尔科夫博弈

马尔科夫博弈(markovgame)是多智能体强化学习研究的基础,是重复博弈(repeatedgame)和马尔科夫决策过程(markovdecisionprocess)的结合。通常马尔科夫博弈可由下面的五元组<s,n,ai,t,ri>表示:

s:状态集合;

n:智能体集合;

ai:智能体$i$的动作空间;

t:s×a×s→[0,1]:状态转移函数;

ri:s×a→r:智能体i的回报函数.

这里a=a1×…×an,并且对任意i∈n有ai∈[0,1]。

在马尔科夫博弈中,所有智能体都可观察到全部状态s。状态转移函数和回报函数取决于各智能体的联合动作。称一个马尔科夫博弈为协作马尔科夫博弈(或联盟游戏),当指马尔科夫博弈中各智能体可按其所处环境分为多相互竞争的多个组,每组智能体共同完成同一个目标。特殊的,如果一个马尔科夫博弈中,所有的智能体的回报都永远相等,称这个游戏为完全协作马尔科夫博弈。智能体的动作空间ai可以是连续的也可以是离散的。目前大部分强化学习工作都集中在离散的动作空间中。然而现实环境中,比如一些高精度控制类问题,其动作的轻微改变可能会导致较大的损失。要解决这类问题,对连续动作空间做简单的离散化处理往往不尽人意,人们通常需要直接在整个连续的空间中寻找最优策略。

在协作式马尔科夫博弈中,智能体学习的一个常见的目标是通过独立学习去寻找帕累托最优解(pareto-optimalsolution)。帕累托最优解是指在该策略下,没有任何一个智能体可以在其它智能体回报不减少的情况下获得更高的期望回报。形式化的,策略(πi,π-i)是一个帕累托最优,当且仅当不存在任何一个策略(π′i,π′-i)使得对任何一个智能体i都有ri(π′i,π′-i)≥ri(πi,π-i),并且其中存在一个严格大于的智能体。同纳什均衡策略不同,帕累托最优是从静态全局的角度来看待问题,是问题的最优解;而纳什均衡是从动态局部的角度来看待问题,是问题求解过程中的临时解。两个概念并无交集,例如在囚徒困境博弈中,背叛策略(d,d)为纳什均衡,而协作策略(c,c)为帕累托最优。但是需注意到帕累托最优并不等同于群体最优解,群体最优解和各智能体回报和最大的解。

在一个协作式马尔科夫博弈中,对强化学习最大的挑战就是如何让智能体通过独立学习学习到帕累托最优的纳什均衡。前面几章工作中已经介绍,各智能体以自己最优利益为目标学习的结果大多数情况下最终会收敛到纳什均衡。如果一个游戏含有多个纳什均衡,那么寻找到帕累托最优的纳什均衡将是更合理的选择。另外两个可能导致多个智能体无法找到最优协作策略的因素是非平稳性问题(non-stationarityproblem)和随机性问题(stochasticityproblem)[9]。在单智能体学习中,马尔科夫性和平稳性是算法可以学习到最优解的必要条件,然而在多智能体协同环境下这两个条件不再满足。同时,如果回报函数是随机的,环境中的噪声和其它智能体的策略变化都会对回报造成影响,导致智能体无法判断导致回报变化的来源。在传统的单智能体强化学习算法中,非平稳问题和随机性问题可能会导致算法学习不到好的协作策略。

本发明提出一个协作算法来学习连续动作空间下的协作式马尔科夫博弈的帕累托最优策略的纳什均衡。

2、策略爬山算法(policyhillclimbing,phc)

策略爬山算法phc(policyhillclimbing)是梯度上升策略在q学习中的简单扩展,用以混合策略上学习。对比q学习,phc智能体维持状态值估计q(s,a)的同时还有一个混合策略π(s,a),表示智能体状态s下选择动作a的概率。然后与环境以及其它智能体交互,获得回报r和下一个状态s′。然后按照下式更新估计q(s,a)和策略π(s,a),

q(s,a)←(1-α)q(s,a)+α(r+γmaxa′q(s′,a′))

其中α和δ为学习率,γ为折扣因子,以及|as|为智能体在状态s下可选的动作的数目。估值q(s,a)的更新与q学习算法一致。从上式可以看出,混合策略的更新方式是逐步增加选择的q最大的动作的概率,减少选择其他动作的概率。注意到,当学习率为最大值1时,phc将等价于q学习算法。在多智能体学习环境下,phc智能体能够出学习对其它智能体的最佳响应的混合策略。

3、连续动作空间上的smc学习算法

目前已有部分工作研究真实环境中的连续动作空间强化学习问题。smc学习[20]是其中一个具有代表性的算法。该算法是一种actor-critic方法,通过序列蒙特卡罗(smc)采样方法来近似连续空间上选择动作的概率分布。下面我们简要介绍该算法的学习流程。

smc学习算法是一种基于采样的actor-critic方法。actor-critic架构的主要思路是策略的估计和策略的更新在独立的进程中分别学习,处理策略估计部分称为critic,策略更新的部分称为actor。在smc学习算法中,actor为蒙特卡洛抽样方法的随机策略。具体地,对任意状态s,对应一个从连续动作空间中随机采样得出的离散的动作集a(s)。集合中的每一个动作样本ai∈a(s)对应一个重要性权重ωi。在动作采样过程中,actor按照权重ωi随机的从动作集a(s)中选择一个动作。随后critic按照回报估计响应状态的动作值函数q。最后actor再按照critic提供的值估计函数按照重要性采样原则(importancesamplingprinciple)更新策略的概率分布。重要性采样原则是指具有高期望回报的动作的点被采样到的概率相对也应该更高一些。

在状态s中所有动作a∈a(s)对应的权重是该状态下连续动作空间的策略密度函数的一个估计。当动作集a(s)中一些动作对应的权重很小或者很大时,意味着集合a(s)包含一些具有特别小回报的动作,因此actor需要重新采样一些新的动作来换掉这些不好的动作。这里重采样的规则也是按照重要性采样原则,即具有高期望回报的动作的附近的点被采样到的概率相对也应该更高。因为样本的权重与该行为的预期回报成正比,具有高期望回报点附近的概率密度函数也应该较高,要提高期望回报这些动作就需要被更频繁地采样和执行。

smc学习算法是为单智能体环境的马尔科夫下学习最优设计的连续动作空间的学习算法,如前文所述,其不能被直接的应用在多智能体环境中。后面的工作中我们基于smc的重采样机制,设计了一个针对连续动作空间中多智能体合作问题的强化学习算法。

4、协作博弈中的rfmq算法

在多智能体环境中的协作性问题,目前已有很多显著的研究工作。其中一些工作通过改进q学习算法来应用到协作式多智能体系统中,如分布式q学习[3]和频率最大q值学习(fmq)[25]。这里介绍fmq的一个改进算法,递归fmq算法(recursivefmq,rfmq[9]),用来帮助解决多智能体的协作问题。

rfmq是一个为矩阵博弈设计的单状态的多智能体强化学习算法。在rfmq中,对每一个动作a,算法在计算更新值函数q(a)的同时,记录该动作下智能体曾经收到的最大回报qmax(a)(注意到单状态环境下q值就是对即时回报r的估计)。频率f(a)为算法对在选择动作a时收到最大回报在所有回报中所占的比例的估计。

具体的,f(a)按照学习率αf在学习过程中递归的更新,

这里r为当前状态下选择动作$a$时收到的回报,需注意其在多智能体环境中由各智能体的联合动作决定。rfmq的关键思想是按照频率f(a)去权衡该动作下的期望回报q(a)和最高回报qmax(a),即e(a)=(1-f(a))q(a)+f(a)qmax(a),然后按照加权后的回报e(a)选择下一步的动作。原rfmq中的动作选择基于∈贪婪(∈-greedy)原则:依概率∈按照均匀分布从动作空间中选择动作,或者依概率1-∈从动作空间中选择具有最高的e值的动作。

简单的说,通过采用q(a)和qmax(a)的加权值e(a)选择动作,rfmq增加了选择出现过最大回报的动作的概率。而在协作博弈中,其他智能体在该回报中对应的动作往往也是一个比较好的选择。因此这样做可以更好的应对多智能体协同过程中遇到的帕累托选择问题和非平稳问题。随机环境中存在这种可能性,某动作虽然曾经产生过很大的回报,但是其期望回报并不是最好的回报。rfmq中递归减小式的权重设计,可以有效的防止算法收敛到这中动作中。该算法已经在matignon等人[9]的工作中实验验证过可以解决在部分随机矩阵博弈的协作学习中遇到的非平稳问题和随机性问题。

该算法最大的限制是其只能应用在纯策略的矩阵博弈中。为此,本发明将rfmq中的递归最大值优先思想引入到phc算法中,用来解决多状态下混合策略的协同学习问题。

5、分片双线性差值算法

分片双线性插值算法又称双线型内插值算法,是由两个变量的插值函数的线性插值扩展,其核心思想是在两个方向分别进行一次线性插值。分片双线性插值作为数值分析中的一种插值算法,广泛应用在信号处理,数字图像和视频处理等方面。

如图1所示,对于目的点c=(x,y)(图中中间的点所示),根据与之相邻的最近的四个已知点a11=(x1,y1),a12=(x1,y2),a21=(x2,y1)和a22=(x2,y2)的值分别为f(a11),f(a12),f(a21)和f(a22),这四个点构成一个平行于坐标轴的矩形,使用双线性插值算法计算值f(c)。首先做两次线性插值,分别求出点b1=(x,y1)和点b2=(x,y2)(图中c点垂直两侧的点)的插值,然后再用这两个点再做一次线性插值,就可以求出点c=(x,y)的插值。具体的,

上述步骤可简化为以下矩阵乘的形式,

使用分片双线性插值可以生成连续的函数,常被用来做图像的缩放。本发明使分片双线性插值算法连续化两个经典的离散矩阵游戏,然后用连续化后的游戏来检验本发明提出的scc-rfmq方法的性能。

以下对本发明进行详细说明:

受smc学习的采样机制和rfmq算法的协作方法的启发,本发明提出了一个在连续动作空间上多智能体协作问题中各智能体独立学习的强化学习方法,称之为scc-rfmq(samplecontinuouscoordinationwithrecursivefrequencymaximumq-value)方法。这里需指出,scc-rfmq并不是smc学习和rfmq算法的简单结合。具体地,scc-rfmq将马尔科夫博弈中连续动作空间上的协同问题分为动作集修正层(actionsetmodificationlayer)和策略评估和更新层(policyevaluationandupdatinglayer)两层学习。针对前面提到的协作学习中可能会遇到的帕累托选择问题、非平稳性问题和随机性问题,本发明在这两层中各引入了相应的协作机制:可变探索率机制和递归最大值优先机制。在动作集修正层,提出一种新的重采样策略,协作式重采样策略(coordinationresample),其使用可变的探索率来解决多智能体环境下连续动作空间中的动作选择问题。而在策略评估和更新层,本发明将rfmq算法中的递归最大值优先思想引入到爬山算法(phc[24])中,用来解决马尔科夫博弈中的策略评估问题。

作为本发明的一个实施例,本例scc-rfmq的具体算法框架见算法1,

算法1n样本scc-rfmq智能体i的学习动态

如图2所示,在本发明scc-rfmq中,首先初始化采样的动作集合(步骤(1))。本例将各状态最开始的采样动作集ai(s)可设置为连续动作空间ai(s)中等距离采样的n个动作。步骤(2):初始化其它参数。本例按照第(2)步设定的值进行初始化。其中qi(s,a)、和ei(s,a)分别为智能体i在状态s下关于动作a的期望回报、历史最大回报和加权平均回报,vi(s)为i在s下的平均期望回报,πi(s,a)为在状态s下选择a的概率,fi(s,a)为出现最大值的频率的估计,li(s)为探索率。第(3)步为本发明方法的主要学习过程。本发明在每一轮非终止态上的学习包含两个关键步骤:动作集修正步骤(第3.2.1步)和策略评估和更新步骤(第3.2.2步)。在动作集修正步骤中,算法首先判断是否需要更新动作集,若需要则更新动作,否则直接跳过该层。本例使用协作式采样策略进行动作集的修正(具体见算法2))。本例的判定条件可依环境而定。在本例的实验部分,本发明使用一个较为简单的判定条件,即每固定次数次学习(c=200)就更新一次动作集,因为在phc类具有固定的策略更新率的算法中,c=200次已经足够使算法学习到相对准确的估计值了。之后是策略评估和更新层。在该层中,对任意的动作a∈ai(s)按照改进后的phc算法,也就是多状态rfmq(具体见算法3))评估qi(s,a)并更新策略πi(s,a)。本发明scc-rfmq的其它步骤同传统的多状态多智能体马尔科夫博弈的强化学习算法相同,因此不做详细的介绍。本例在下面详细介绍算法2和3。

1、协作式重采样策略

本例scc-rfmq的第一个关键步骤:协作式重采样策略(coordinationresamplestrategy)。在动作集修正层,需要考虑两个问题:一个是如何去寻找一个比当前策的动作集更好动作集;另一个是如何有效的协作来保证算法最终能够学习到最好的动作。对第一个问题,协作式重采样策略在每次重采样过程中保留具有最大回报的动作,然后再该动作周围的一定范围内按照一定的策略重新采样n-1个新的动作,因此本发明在保证动作集不会变坏的情况下增加了采样到更好的动作的概率。对第二个问题,本发明使用一个可变的探索率来控制算法在最大动作周围采样新动作的范围。这里按照wolm(winorlearnmore,赢或学习)原则控制探索率的大小。该原则受bowling等人的wolf[24](winorlossfast,赢则慢速学习规则)原则启发,直观地,wolm原则在当前的动作集的平均期望回报大于历史上其他动作集的平均期望回报时,选择更小的探索范围,反之则增加探索范围。这样设计的初衷同smc学习的重要性采样原则一样,都是为了增加在较好的动作周围采样的机率。不同点是wolm策略提供了一个探索率变大的机会,这在多智能体环境中至关重要,因为环境的不平稳性和可能导致当前最大估值的动作在将来变成不好的动作。此外,wolm策略还可以增加算法寻找到全局最优的机率。算法2是该协作式重采样策略的具体过程。

算法2协作式重采样策略

首先使用wolm原则更新探索率li(s)(第1步):如果当前动作集的平均期望回报大于或等于之前的各动作集的累计平均期望回报vi(s),则减少探索率li(s)为li(s)δd(δd<1),否则增加li(s)为li(s)δl(δl>1)。这里δl和δd为两个正的实数。在算法1中li(s)的初始值设为1/2,目的是在算法前期有个较大的探索范围。随后第2步更新累计平均期望回报vi(s),其中αs为学习率。然后按照该探索率重新采样动作集(第3步):保留当前集合中具有最大的期望回报的|ai(s)|/3个动作,并按照均匀分布u[amax-li(s),amax+li(s)]从半径为li(s)的amax的邻域内随机选择2|ai(s)|/3个新的动作,和amax共同组成新的动作集。注意到这一步也可以按照其它的概率分布进行采样,如均值和标准差分别为amax和li(s)的正态分布。保留前1/3的具有最大回报的动作是为了增加算法的准确率。最后初始化每个动作新的动作下的策略πi(s,a)和对应的期望回报qi(s,a)。注意到这里并没有直接继承原来点的q值和π值,一方面考虑到多智能体环境下智能体策略的回报会因为对手策略的改变而变化,另一方面也是为了增加有限次探索中其它动作的采样次数以保证对动作回报的准确估值。综上,通过使用上述策略机制,该协同算法能够在采样环节有效的处理协作博弈中遇到的的非平稳性和随机性问题,同时可以避免过早的收敛到局部最优(从个体角度是局部最优,从多智能体角度即帕累托选择问题)。

2、多状态rfmq策略

本发明scc-rfmq的第二个关键部分:多状态rfmq策略。结合rfmq的递归最大值优先思想,本发明扩展phc算法[24]到多智能体协作博弈中。phc算法是一个在多状态多智能体环境中学习混合策略的强化学习算法,虽然在竞争的环境中有可能会不收敛,但是在协作式博弈中算法是能收敛的。同时递归最大值优先思想的引入也可以保证算法在智能体独立学习中学习到更好的策略。此外,由于scc-rfmq的重采样机制,原则上也不需要这一步骤中算法能严格的保证收敛,只需要具有最高回报的动作能被最高的概率的选择就可以。算法3是多状态rfmq策略的具体描述。

算法3智能体i的多状态rfmq策略

本方法中,首先判断当前的动作集是不是更新过,若更新过则初始化当前状态下所有动作对应的fi(s,a)、和ei(s,a),否则直接跳过(第1步)。然后按照一定的概率使用混合策略πi(s,a)选择动作a,并执行(第2步)。接着从环境中观察到回报r和下一步状态s′,并按照q学习方法更新当前s和a对应的状态动作值qi(s,a)(第3步)。这两步与传统的q学习方法一样,这里不做详细描述。第4步和第5步按照递归最大值优先思想估计ei并更新策略πi(s,a),这里参数αf,απ∈(0,1)为学习率。不同于rfmq,这里使用长期最大回报来表述状态s下动作a曾经得到的最大的长期回报,这里记录动作a下r+γmaxa′qi(s′,a′)的最大值。这样做是对q学习在多状态环境中的一个自然扩展。其它变量如,fi(s,a)、和ei(s,a)的更新同原始的rfmq一样。最后依据ei(s,a)使用phc策略更新策略πi(s,a)(第5步),即增加选择具有最大ei(s,a)值的动作的概率,同时选择减小其它动作的概率。通过将单状态的rfmq递归最大值优先思想引入到phc学习中,算法可以有效的解决复杂环境中多智能体的协作问题。

最后,很对本发明的效果进行了实验与仿真,从而说明其性能和技术效果。

1.实验与仿真

本例通过与其它相关算法比较,检验本发明scc-rfmq算法的性能。注意到大多数相关工作都是基于两个智能体环境的[7-9]。本发明针对单状态和多状态的环境,分别构建了两个具有代表性的多智能体游戏:对单状态环境,本发明基于两个经典的矩阵博弈游戏,针对性的够造了两个满足非平稳性和随机性的连续动作空间上的游戏;对于多状态的环境,本发明使用一个改进版的船过河游戏[20,26]来检验算法的性能。

1.1单状态协作博弈——爬山游戏

首先考虑单状态的游戏环境。本发明将表1和2中的两个经典的矩阵博弈游戏使用分片双线性差值技术转化的连续动作空间上的游戏。这两个矩阵游戏因其简单但具备各种导致协作失败的性质,如非平稳性和随机性,在离散动作的协作学习研究中备受关注[27-29]。其中cg通常用于测试算法处理非平稳性问题的能力,pscg还可用于测试解决随机性问题的能力。

表1爬山游戏(cg,climbinggame)

表2半随机爬山游戏(pscg,partiallystochasticclimbinggame)

1.1.1游戏描述:

爬山游戏(cg,theclimbinggames,表1是一个完全协作式的矩阵博弈游戏。游戏中,每个智能体有a,b和c三个动作选项,矩阵中的值为联合动作对应的回报。kapetanakis等人[25]提出的半随机爬山游戏(pscg,partiallystochasticcg,表2)是cg游戏的一个变种。不同于cg游戏,pscg的联合动作<b,b>对应的回报为等概率的取14或0。从统计上来说,pscg和cg游戏的平均回报是相等的,因为智能体在两个游戏中持续选择<b,b>后的平均回报都是7。这两游戏虽然简单,但是具有一些很有意思的特性。首先,cg和pscg都有两个纳什均衡点,即<a,a>和<b,b>,其中<a,a>是帕累托最优。此外如果每个智能体都随机选择动作,那么最终回报最高的联合策略不是<a,a>或<b,b>,而是<c,c>。这些性质凸显了非平稳性的影响,将导致一些单智能体的学习算法无法学习到帕累托最优。此外对pscg,由于14远远大于其他的回报,其随机性还会增加算法陷入到<b,b>的机率。

为了验证本发明scc-rfmq在连续动作空间上解决协作问题的能力,这里需要将这两个游戏连续化。首先将cg和pscg中的动作用一个连续变量ai∈[0,1]表示,其中ai=0,ai=0.5和ai=1分别代表动作a,b和c。同时,定义智能体的回报r为[0,1]到r上的映射r:[0,1]×[0,1]→r。该映射满足ai∈{0,0.5,1}时,r(a1,a2)等于原cg和pscg对应的回报。对于时的情况,本发明使用分片双线性差值算法[30]进行连续化。在数值分析领域,分片双线性插值是线性插值在二元函数定义域空间上的一个扩展。图3为使用分片双线性插值算法连续化后的cg游戏的回报函数在动作空间上取值的颜色图。图3中,坐标a1和a2分别代表智能体1和2的连续动作,而联合动作对应的回报值的大小按颜色的深浅表示。从图中可观察出,同原cg游戏一样,连续化版的cg游戏有两个平衡点:全局最优r(0,0)=11和局部最优r(0.5,0.5)=7,其中r(0,0)=11还是帕累托最优。注意到梯度指向帕累托最优点(0,0)的所有点所占的面积,即点(0,0),(0.5,0)和(0,0.5)围成的三角形所占的面积,不到全部动作空间的1/8,这将导致传统的基于梯度的算法更容易学习到局部最优而不是帕累托最优。同时,整个空间中回报大于7的点只有左下角很小一部分,大致占总面积的1/1000,这将导致传统的基于离散采样的学习算法学习到较高的回报需要特别精细的离散采样,将严重增加算法的计算时间和空间成本,而且从大容量的离散动作空间中能够学习到最优本身也是离散学习算法的一个挑战。此外,局部最优点(0.5,0.5)附近的点的梯度几乎不变(颜色变化慢),这也会对传统的梯度类学习算法造成一定的影响,使他们甚至无法学习到局部最优。最后一点,如果只考虑平均回报的话,局部最优点(0.5,0.5)附近的平均回报也要高于全局最优点,这也会影响基于随机采样类学习算法的学习性能,如果不考虑对手策略,算法将很容易收敛到局部最优。

对pscg游戏的连续化,首先用分片双线性插值算法分别对r(0.5,0.5)=14和0构建两个确定性的连续动作游戏,然后对任意一个联合动作按照等概率从这两个确定性游戏中随机读取回报。这里不再详细描述。

1.1.2实验仿真及结果

本例在连续化的cg和pscg游戏上对scc-rfmq对比几个经典的算法,即smc[20]、rfmq[9]和cala[16,22],其中smc和cala为两个经典的连续动作空间上的单智能体学习算法,而rfmq为一个常用的离散动作空间上的多智能体协作算法。

各学习算法的参数设置见表3。为公平起见,对smc和rfmq中与scc-rfmq的相同参数(如αq和γ)采用一样的设置,而对其他参数本发明通过多次实验选取最好的参数配置。对所有算法,参数αq在连续版fcg和pscg中取αq=0.5,在船过河游戏中αq=0.9。算法smc的参数σ和τ的设置同原论文(lazaric等[20])。算法cala的参数配置同原论文(dejong等[22])。

表3参数设置

图4给出各方法在连续化版的cg游戏中50次平均实验结果,其中,横坐标interactionround为算法交互次数,纵坐标reward为回报。这里使用智能体在每轮收到的回报(纵坐标)作为性能的评估指标。对于rfmq算法,本例分别在连续空间上均匀取5个和10个动作作实验。这些动作对应的回报同连续版的cg和pscg一样。为了公平起见,smc和scc-rfmq也用5个和10个样本初始化,且各组实验的初始动作集避开了全局最优的点。从图4中可以看出,在所有情况下,scc-rfmq算法都要显着优于其他三种算法,其次是smc学习,而cala性能最差。此外从图4中还可观察得出,算法scc-rfmq,smc和rfmq在更多样本或动作时结果要更好。

图5给出各方法在连续版pscg游戏上的实验结果,其中,横坐标interactionround为算法交互次数,纵坐标aeragereward为平均回报。实验设置同连续版cg游戏一样。考虑到游戏的随机性,这里使用累积平均回报(纵坐标)作为各算法实验结果的评估指标。同样各算法取50次实验的平均结果。从图5中可得,各实验的结果与连续的cg游戏相似,除了需要更多的收敛时间。此外,对smc、rfmq和cala,其在连续的pscg游戏上的实验结果要稍微好于连续cg。他们的回报结果更接近7,而且对smc和rfmq,不同数目的采样样本或动作对实验结果的影响也相对小一些。综上,scc-rfmq算法在处理单状态连续动作空间的多智能体合作问题上要优于其它的几个算法。

1.2多状态协作博弈——船过河游戏

为了进一步检验本发明的性能,本发明考虑一个经典的多状态连续动作空间游戏,即船过河游戏。这个问题最初由jouffe[26]和lazaric[20]中提出,本发明以一种更一般的方式重新定义它。

1.2.1游戏描述

船过河游戏的目标是控制船的速度和方向让其从河一边的码头运动到河对岸的码头(如图6所示)。游戏中的船受前进和转向两个发动机控制,分别控制船的前进加速度和转向加速度。这里两个发动机由两个独立的智能体分别控制,因此,两个智能体需要学习如何协作而得到共同的目的。船的状态可由四元组<x,y,θ,v>表示,其中x∈[0,50]和y∈[0,100]表示船的位置坐标,θ∈[-π/3,π/3]为船的角度(船前进的方向),而v∈[2,5]为船的速度。为增加游戏难度,定义河水的流速为e(x)=fc[x/50-(x/50)2],其中fc为一个服从正态分布n(4,0.32)的随机变量。这样的假设更符合实际环境,一方面水的流速在河中央高两边低,另一方面具有一定的随机性。同时,也为本发明学习到最优提供了一定的挑战。两个智能体(控制器)的动作定义为两个连续变量a∈[-1,2]和ω∈[-1,1],其中a为船的前进加速度,ω为船的角速度。船两头的码头中心坐标分别为(0,50)和(50,50)。船在每一时刻的状态变量按照下式更新,

其中πδ为投影映射,将定义域上的值映射到区间δ中,用来防止变量超出规定范围。

回报函数分为两个域定义。成功域zs对应河对岸的码头区域,而失败域zf为所有其它位置。回报函数可形式化地定义为,

其中d(x,y)=20-2|y-50|为一个回报按输入从0到20逐渐递减的方程,其输入表示位置离码头中心的距离。这里,zs={(x,y)|x=0,y∈(40,60)}。

1.2.2实验仿真及结果

实验中,本发明使用两个智能体分别控制变量a和ω,所以该游戏可以描述为两个智能体的多状态连续动作空间上的一个协作游戏。其目的是训练这两个智能体相互协作以获得尽可能高的回报。位置状态变量x和y按照1离散化,其它状态变量θ和v按其定义区间等分为10个。总计该实验一共有500000个状态。初始状态定义为<0,50,0,0>。该实验配置能保证船按照方程(1)在每一次更新状态时不会出现状态不变的情况,从而导致实验陷入状态的无限循环中。接下来,本发明在不同采样数目下对比scc-rfmq和smc[20]。事实上,本发明也做了其他经典的多智能体算法的相关实验,如wolf-phc[24],分布式q学习[3]和hystereticlearners[4],并发现这些传统的离散动作空间上的算法在该游戏中具有很差的收敛性,因为游戏环境的大规模状态。其他算法,如rfmq和cala,仅适用于单状态游戏中。因此这里不对这些算法做详细对比,仅使用smc算法来代表那些设计在单智能体连续动作空间的游戏环境中的相关算法。各算法的相关参数设计参见表3。

图6给出了算法scc-rfmq和smc在不同数目采样样本下的实验效果对比,其中,横坐标episodes为算法学习的次数(game从初始状态到终止状态的一次循环表示学习一次),纵坐标totalreward为总回报。对这两个方法,分别取4和6个等距离选择的动作,对比各算法在每轮学习中获得的总的回报。实验中给出所有的结果都是100次重复实验后的平均结果。注意到20是理论的最高回报值。观察图6可得,在所有采样数目中,scc-rfmq在收敛速度和学习的最终回报两个方面都要由于smc算法。在4个和6个采样环境中,scc-rfmq最终都成功的学习到了最高的回报20,随后是6个采样动作的smc(学习到19附近)。效果最差的是4个采样动作的smc,收敛到13附近。此外,随着采样数目的增加,scc-rfmq的收敛速度越慢,而smc不具有这样的现象。综上,在连续动作空间中的协作游戏中,scc-rfmq要优于smc这种没有协作机制的学习算法。

2实验结果分析

scc-rfmq算法的收敛时间取决于两个因素:采样数目和两次采样期间的学习次数。尽管较高的采样数目能增加算法的探索能力,因此也提高了算法学习到更好的回报的概率。同时,也会减少算法对环境变化的应对能力,因为更多的采样次数意味着对每个动作观察次数的降低,因此增加了算法收敛的时间。所以在图4、5和7中,具有更多采样动作的scc-rfmq算法的学习速度要慢于较少采样的情况。

图4和5中其它对比实验的不好表现主要归功于游戏在局部最优点<0.5,0.5>附近的低梯度以及其附近的高平均回报。smc和cala由于并非为多智能体协作问题设计,无法应对环境的变化,因此他们很容易陷入局部最优陷阱。已分析过,在连续的cg和pscg游戏中,梯度指向全局最优的点占所有面积的1/8,而回报大于7的点占所有面积的不到1/1000。对rfmq算法,很难让采样动作包含全局最优,所以其效果较差。此外,对比图3和4,发现除了scc-rfmq,所有算法在连续cg游戏中的回报都要稍微优于连续pscg,这是因为连续pscg的随机性导致游戏在局部最优<0.5,0.5>周围的梯度不再那么低,使得各算法能有更高的概率学习到局部最优,从而获得比连续cg游戏更高的回报。

同图4和5中的实验一样,scc-rfmq在船过河游戏中的实验表现要优于smc。scc-rfmq在4和6两个采样数目情况下都较快的学习到了全局最优。smc在图7中的较差表现主要是因为游戏中水流的随机性(受参数fc影响),导致算法无法应对试验环境的变化。

3、总结

本章提出scc-rfmq方法用来解决连续动作空间中马尔科夫游戏的协作问题。scc-rfmq算法包含两个关键部分:协作式重采样策略和多状态rfmq策略。协作式从采样策略通过重采样可用的动作集解决连续动作空间问题,而多状态rfmq策略评估采样到的动作集并给出相应的协作策略。通过对两个部分分别考虑相应的协作机制,scc-rfma算法可以很好的处理连续动作空间中多智能体的协作问题。充足的仿真实验也表明,scc-rfmq要优于其他的强化学习方法。

以上所述之具体实施方式为本发明的较佳实施方式,并非以此限定本发明的具体实施范围,本发明的范围包括并不限于本具体实施方式,凡依照本发明所作的等效变化均在本发明的保护范围内。

本发明中涉及到的标号对应的参考文献如下:

[1]riedmillerm,gabelt,hafnerr,etal.reinforcementlearningforrobotsoccer[j].auton.robots,2009,27(1):55–73.

[2]mengj,williamsd,shenc.channelsmatter:multimodalconnectedness,typesofco-playersandsocialcapitalformultiplayeronlinebattlearenagamers[j].computersinhumanbehavior,2015,52:190–199.

[3]lauerm,riedmillerma.analgorithmfordistributedreinforcementlearningincooperativemulti-agentsystems[c].inproceedingsoftheseventeenthinternationalconferenceonmachinelearning,sanfrancisco,ca,usa,2000:535–542.

[4]matignonl,laurentgj,fort-piatnl.hystereticq-learning:analgorithmfordecentralizedreinforcementlearningincooperativemulti-agentteams[c].inieee/rsjinternationalconferenceonintelligentrobotsandsystemsiros,2007:64–69.

[5]panaitl,sullivank,lukes.lenientlearnersincooperativemultiagentsystems[c].ininternationaljointconferenceonautonomousagentsandmultiagentsystems,2006:801–803.

[6]bloembergend,kaisersm,tuylsk.empiricalandtheoreticalsupportforlenientlearning[c].inthe10thinternationalconferenceonautonomousagentsandmultiagentsystemsvolume3,2011:1105–1106.

[7]weie,lukes.lenientlearninginindependent-learnerstochasticcooperativegames[j].j.mach.learn.res.,2016,17(1):2914–2955.

[8]palmerg,tuylsk,bloembergend,etal.lenientmulti-agentdeepreinforcementlearning[j].corr,2017,abs/1707.04402.

[9]matignonl,laurentgj,lefortpiatn.review:independentreinforcementlearnersincooperativemarkovgames:asurveyregardingcoordinationproblems[j].knowl.eng.rev.,2012,27(1):1–31.

[10]pazisj,lagoudakismg.binaryactionsearchforlearningcontinuous-actioncontrolpolicies[c].inproceedingsofthe26thannualinternationalconferenceonmachinelearning,newyork,ny,usa,2009:793–800.

[11]pazisj,lagoudakismg.reinforcementlearninginmultidimensionalcontinuousactionspaces[c].inieeesymposiumonadaptivedynamicprogramming&reinforcementlearning,2011:97–104.

[12]suttonrs,maeihr,precupd,etal.fastgradient-descentmethodsfortemporal-differencelearningwithlinearfunctionapproximation[c].inproceedingsofthe26thannualinternationalconferenceonmachinelearning,2009:993–1000.

[13]pazisj,parrr.generalizedvaluefunctionsforlargeactionsets[c].ininternationalconferenceonmachinelearning,icml2011,bellevue,washington,usa,2011:1185–1192.

[14]lillicraptp,huntjj,pritzela,etal.continuouscontrolwithdeepreinforcementlearning[j].computerscience,2015,8(6):a187.

[15]kondavr.actor-criticalgorithms[j].siamjournaloncontrolandoptimization,2003,42(4).

[16]thathacharmal,sastryps.networksoflearningautomata:techniquesforonlinestochasticoptimization[j].kluweracademicpublishers,2004.

[17]petersj,schaals.2008specialissue:reinforcementlearningofmotorskillswithpolicygradients[j].neuralnetw.,2008,21(4).

[18]vanhasselth.reinforcementlearningincontinuousstateandactionspaces[m].inreinforcementlearning:state-of-the-art.berlin,heidelberg:springerberlinheidelberg,2012:207–251.

[19]sallansb,hintonge.reinforcementlearningwithfactoredstatesandactions[j].j.mach.learn.res.,2004,5:1063–1088.

[20]lazarica,restellim,bonarinia.reinforcementlearningincontinuousactionspacesthroughsequentialmontecarlomethods[c].inconferenceonneuralinformationprocessingsystems,vancouver,britishcolumbia,canada,2007:833–840

[21]lower,wuy,tamara,etal.multi-agentactor-criticformixedcooperative-competitiveenvironments[j].corr,2017,abs/1706.02275.

[22]dejongs,tuylsk,verbeeckk.artificialagentslearninghumanfairness[c].inproceedingsofthe7thinternationaljointconferenceonautonomousagentsandmultiagentsystems.volume2,2008:863–870.

[23]galstyana.continuousstrategyreplicatordynamicsformulti-agentq-learning[j].autonomousagentsandmulti-agentsystems,2013,26(1):37–53.

[24]bowlingm,veloso.multiagentlearningusingavariablelearningrate[j].artificialintelligence,2002,136(2):215–250.

[25]kapetanakiss,kudenkod.reinforcementlearningofcoordinationincooperativemulti-agentsystems[j].aaai/iaai,2002,2002:326–331.

[26]jouffel.fuzzyinferencesystemlearningbyreinforcementmethods[j].trans.sys.mancyberpartc,1998,28(3):338–355.

[27]clausc,boutilierc.thedynamicsofreinforcementlearningincooperativemultiagentsystems[c].inproceedingsofthefifteenthnational/tenthconferenceonartificialintelligence/innovativeapplicationsofartificialintelligence,menlopark,ca,usa,1998:746–752.

[28]lauerm,riedmillerm.reinforcementlearningforstochasticcooperativemulti-agent-systems[c].inproceedingsofthethirdinternationaljointconferenceonautonomousagentsandmultiagentsystems,2004.aamas2004.,2004:1516–1517.[29]carpenterm,kudenkod.baselinesforjoint-actionreinforcementlearningofcoordinationincooperativemulti-agentsystems[m].inadaptiveagentsandmulti-agentsystemsii:adaptationandmulti-agentlearning.berlinheidelberg:springer,2005:55–72.

[30]saharays.numericalanalysiswithalgorithmsandprogramming[m].bocaraton:crcpress,taylor&francisgroup,2016.

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1