CN113095488A - 一种基于多智能体最大熵强化学习的合作博弈方法 - Google Patents

一种基于多智能体最大熵强化学习的合作博弈方法 Download PDF

Info

Publication number
CN113095488A
CN113095488A CN202110471891.9A CN202110471891A CN113095488A CN 113095488 A CN113095488 A CN 113095488A CN 202110471891 A CN202110471891 A CN 202110471891A CN 113095488 A CN113095488 A CN 113095488A
Authority
CN
China
Prior art keywords
agent
network
strategy
state
fully
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
Application number
CN202110471891.9A
Other languages
English (en)
Inventor
郝东
张冬呈
陈明仁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202110471891.9A priority Critical patent/CN113095488A/zh
Publication of CN113095488A publication Critical patent/CN113095488A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于多智能体最大熵强化学习的合作博弈方法,包括构建合作博弈模型、初始化状态以及各网络参数、与环境交互生成数据并存入经验重放池、从经验重放池中采样数据、计算损失函数和目标函数梯度以及软更新网络参数、随机博弈验证以及合作博弈方法实现这几个步骤。本发明将确定性的策略梯度算法改进为随机性的策略梯度算法,将最大熵模型运用到多智能体强化学习中,并与传统强化学习中的Actor‑Critic框架结合,简化了学习的过程;使用策略梯度算法直观地更新网络,可以更高效且稳定地达到训练要求;另外,使用了经验重放池,通过Off‑Policy的学习方法对网络进行训练,提高了采样效率。

Description

一种基于多智能体最大熵强化学习的合作博弈方法
技术领域
本发明属于机器学习领域,具体涉及一种基于多智能体最大熵强化学习的合作博弈方法。
背景技术
首先进行关键术语定义:
智能体:智能体指任何能通过传感器感知环境并通过执行器作用于环境的实体。
强化学习:强化学习是机器学习的一个子领域,主要是通过制定智能体的奖励和惩罚机制来实现智能体在特定任务下能够获得最大的期望收益,从而使学习到的模型能够针对不同的状态做出最优的决策。
最大熵模型:熵是热力学中表征物质状态的参量之一,其物理意义是体系混乱程度的度量,后由香农引入到信息论。信息熵是信息不确定程度的度量,最大熵原理认为在所有可能的概率模型中,熵最大的模型就是最好的模型。
随机博弈:随机博弈是一类由一个或多个参与者进行的具有状态转移概率的动态博弈,在博弈中的每一阶段的开始,博弈处于某种特定状态,然后每个参与者选取某种动作,接着获得由当前状态和所选动作所决定的收益。之后,博弈发展到下一阶段,处于一个新的初始状态,这个随机的初始状态分布取决于之前状态和每个参与者所选取的动作。在新的状态中重复上述过程,然后随机博弈进行有限或无限个阶段,每个参与者得到的总收益为每个阶段收益的平均值。
合作博弈:是随机博弈中的一种,常见于两个或多个智能体之间的博弈,当每个智能体都选择对自己有利的动作时,所有智能体得到的收益都很低,智能体采取合作的策略才能使收益最大化。
神经网络:人工神经网络,简称为神经网络或称作连接模型,它是一种模仿动物神经网络行为特征,进行分布式并行处理信息的算法数学模型,主要用途是建立输入与输出之间的拟合近似模型。在多智能体强化学习中,动作和状态空间十分巨大,此时需要使用神经网络来近似模拟智能体的收益函数。
Multi-Agent Deep Determined Policy Gradient(MADDPG)算法首次将单智能体强化学习中的Actor-Critic算法扩展到多智能体环境,是一种基于策略的确定性策略梯度算法。现阶段的多智能体强化学习中的技术主要是使用集中式的学习策略,然后分布式的执行动作,在此基础上又提出了很多改进,比如建立对手策略的模型和参数共享等等,MADDPG算法以及它的改进算法在很多场景都取得了不错的效果。
MADDPG等算法虽然在许多场景下表现优异,但是由于随机博弈的特殊性,上述算法无法有效求解合作博弈问题。具体来说包括以下几点:首先,传统强化学习的目标是使智能体自身获得的回报最大化,但是在随机博弈中,智能体均选择自身回报最大的动作反而最后获得的平均收益低,这是因为获得的信息不完全导致的,上述算法会导致每个智能体都选择对自己有利的动作,但是实际回报却并不高;其次,上述算法是确定性策略算法,即针对同一状态,采取的动作是固定的,这样可能会导致智能体陷入局部最优,而无法达到全局最优;最后,强化学习中除了基于策略的算法之外还有基于值的算法,比如QMIX算法,虽然它在星际争霸2中取得了不错的效果,但是在随机博弈的合作环境中还是需要直接学习策略来更好的求解。
发明内容
本发明针对现有技术的不足,提供了一种基于多智能体最大熵强化学习的合作博弈方法。本发明从强化学习方法的角度来说,使用Off-Policy的方式学习到随机策略,同时基于策略梯度的方法直接对策略进行改进;从训练数据的角度来说,采用经验重放机制,可以重复利用生成的数据来进行学习,而不是使用一次就丢弃,提高了采样效率;从神经网络的角度来说,本发明考虑到多智能体强化学习中的状态动作空间巨大,所以考虑使用神经网络来拟合策略和值函数网络,使得本发明提出的方法能在大规模以及连续的环境上适用。
本发明提出了一种基于多智能体最大熵强化学习的合作博弈方法,该方法具体包括如下步骤:
步骤1:建立基于多智能体最大熵强化学习的合作博弈模型,该合作博弈模型包括N个智能体,每个智能体包括四个网络,分别是策略网络、值函数网络、目标策略网络、目标值函数网络,N个智能体就有4*N个网络,N为正整数;任意一个智能体的策略网络和值函数网络统称为该智能体的网络,任意一个智能体的目标策略网络和目标值函数网络统称为该智能体的目标网络,它们之间的区别是智能体的网络的作用是与环境进行交互,而智能体的目标网络的作用是更新自身的策略。策略网络负责生成对应的动作与环境进行交互,同时负责生成值函数网络更新时需要的动作,根据策略网络可以更新目标策略网络。目标策略网络负责生成目标值函数网络更新时需要的动作。值函数网络负责计算出策略网络更新时需要的梯度,同时可以根据值函数网络更新目标值函数网络。目标值函数网络负责生成值函数网络更新时所需的学习目标(即公式1-1和1-2中的y,指的是目标值函数的数值,也就是每个智能体当前时刻期望获得的回报)。所述基于多智能体最大熵强化学习的合作博弈模型还包括一个经验重放池,经验重放池的作用是可以重复利用历史数据,提高本发明提出的方法的学习效率,它的每一条数据是由s、a、r、s′、d组成的一个向量,(s、a、r、s′、d分别表示当前状态、所有智能体动作组合在一起的联合动作、获得的收益、下一状态、是否到达终止状态)。本方法训练时使用的数据都是通过在经验重放池中采样得到。
步骤2:初始化基于多智能体最大熵强化学习的合作博弈模型中所有智能体的策略网络和值函数网络的参数,接下来初始化所有智能体的目标策略网络和目标值函数网络的参数,最后初始化经验重放池。经验重放池中的每条数据包括五个属性,分别是当前状态、联合动作(所有智能体动作组合在一起)、获得的收益、下一状态、是否到达终止状态。训练基于多智能体最大熵强化学习的合作博弈模型的过程共执行D个周期,其中,D为正整数。
步骤3:对于每一个周期,首先初始化随机博弈的初始状态,然后从初始状态所处的时刻开始,执行T轮博弈,每一轮博弈每个智能体都会根据自身选择的动作得到收益,每个周期中每个智能体获得的最终收益为其T轮博弈得到的平均收益,即T轮博弈得到的总收益除以T,其中,T为正整数。
步骤4:对于当前周期中的每一轮博弈,每个智能体根据自己当前的策略网络采样出当前状态下的动作。然后执行所有智能体的动作,并分别获得每个智能体相应的收益和新的状态,将当前时刻下所有智能体的信息整合为一条数据存入经验重放池中,同时将当前状态更新为下一状态,该条数据包括当前状态、联合动作、获得的收益、下一状态、是否到达终止状态这五个属性。
步骤5:针对当前周期中的每一轮博弈,从经验重放池中随机采样出M条数据(M由人为预先设置,如果经验重放池中数据量不足M条,则重复步骤4直到数据量大于M条),由此计算出更新策略网络和值函数网络所需要的损失函数和梯度,更新策略网络和值函数网络参数。通过更新后的策略网络和值函数网络的参数软更新目标策略网络和目标值函数网络的参数,其中,M为正整数。
步骤6:完成了一个周期的训练后,将上一周期训练得到的网络参数作为下一周期训练的初始网络参数,这里的网络指每个智能体的策略网络、值函数网络、目标策略网络、目标值函数网络。
步骤7:重复步骤3至步骤6直到D个周期全部训练完成,得到训练好的基于多智能体最大熵强化学习的合作博弈模型。
步骤8:对训练好的基于多智能体最大熵强化学习的合作博弈模型进行测试验证,通过训练好的基于多智能体最大熵强化学习的合作博弈模型中的策略网络来进行新的一个周期的随机博弈,统计多智能体每一轮博弈作出决策后获得的收益,从而验证学习到的是合作策略(从理论上可以由每个智能体的收益函数计算出合作策略最终的整体回报,然后验证实验中和理论中的整体回报是否一致),得到验证后的基于多智能体最大熵强化学习的合作博弈模型。
步骤9:通过验证后的基于多智能体最大熵强化学习的合作博弈模型中的策略网络来进行新的一个周期的随机博弈,实现随机博弈环境下的合作博弈方法。
通过本发明中的方法在不同的随机博弈环境中训练得到的不同的合作博弈模型就可以实现不同随机博弈环境下的合作博弈方法。
所述步骤5中更新策略网络和值函数网络参数的过程为:
使用Actor-Critic框架对每个智能体的策略网络和值函数网络进行参数更新。首先在经验重放池中采样出M条记录,接下来通过公式1-1计算出值函数网络的损失函数,紧接着通过公式1-3计算出策略网络的梯度,于是通过最小化值函数网络的损失函数和最大化策略网络的梯度就可以更新策略网络和值函数网络参数。重复该训练过程,一共执行5000个周期,每个周期执行100轮博弈,通过策略梯度算法就可以有效地对智能体的网络参数进行更新。
Figure BDA0003045756830000041
其中
Figure BDA0003045756830000042
表示参数为
Figure BDA0003045756830000043
的值函数网络的损失函数,s表示当前状态,ai表示在当前状态智能体i选择的动作,a-i表示在当前状态除了智能体i之外的其他智能体的联合动作,s′表示下一状态,d表示是否达到终止状态,
Figure BDA0003045756830000044
表示经验重放池,
Figure BDA0003045756830000045
表示数据(s,ai,a-i,s′,d)满足在经验重放池
Figure BDA0003045756830000046
中的分布下的期望,y表示值函数网络更新时所需的学习目标,它的定义如下:
Figure BDA0003045756830000047
其中ri(s,ai,a-i)表示在当前状态s,智能体i选择动作ai,同时除了智能体i之外的其他智能体选择动作a-i,智能体i获得的收益,γ表示预设的折扣因子,取值范围为0<γ<1,
Figure BDA00030457568300000410
表示目标值函数网络的参数,
Figure BDA0003045756830000048
表示目标值函数,
Figure BDA0003045756830000049
表示目标值函数网络,s′表示下一状态,ai,′表示下一时刻智能体i采取的动作,a-i,′表示下一时刻除了智能体i之外的其他智能体采取的联合动作,ai,′和a-i,′分别是通过各自在下一状态s′下的策略πi(·∣s′)、π-i(·∣s′)采样而来。
更新策略网络所需的目标函数梯度为:
Figure BDA0003045756830000051
其中πi表示智能体i的策略,θi表示智能体i的策略网络的参数,
Figure BDA0003045756830000052
表示智能体i的策略的目标函数,
Figure BDA0003045756830000053
表示对变量θi求梯度,ρπ表示随机博弈在多智能体选择的联合策略为π=(πi-i)时达到的稳定分布,
Figure BDA0003045756830000054
表示数据(s,ai,a-i)满足分布ρπ下的期望,πi(ai∣s)表示状态s下智能体i采取动作ai的概率,
Figure BDA0003045756830000055
表示值函数网络,
Figure BDA0003045756830000056
表示值函数网络的参数,α表示熵的系数,为预设值,取值范围为0<α<1。
所述步骤5中通过更新后的策略网络和值函数网络的参数软更新目标策略网络和目标值函数网络的参数具体过程为:
当策略网络和值函数网络的参数更新完毕之后,如果直接将参数复制到目标网络中,称为硬更新,反之,只更新一定比例的参数则称为软更新,预先设定软更新系数τ,其取值范围为0<τ<1,然后根据以下公式进行目标策略网络和目标值函数网络的软更新。
θ′i←τθi+(1-τ)θ′i 1-4
Figure BDA0003045756830000057
其中,公式1-4中,θi表示第i个智能体更新后的策略网络参数,下标i表示智能体的编号,箭头右侧的θ′i表示第i个智能体更新前的目标策略网络参数,箭头左侧的θ′i表示第i个智能体更新后的目标策略网络参数。公式1-5中,
Figure BDA0003045756830000058
表示第i个智能体更新后的值函数网络参数,下标i表示智能体的编号,箭头右侧的
Figure BDA0003045756830000059
表示第i个智能体更新前的目标值函数网络参数,箭头左侧的
Figure BDA00030457568300000510
表示第i个智能体更新后的目标值函数网络参数。
步骤8中验证学习到的合作博弈模型中多智能体之间采取的策略是否是合作策略具体包括:首先我们采用训练好的基于多智能体最大熵强化学习的合作博弈模型进行新的一个周期的随机博弈,仍然进行T轮博弈,初始化环境的初始状态,然后可以通过训练到的策略网络来输出当前状态下每个智能体的动作,于是可以得到当前这一轮博弈每个智能体的收益,然后到达下一状态。T轮博弈后得到每个智能体获得的最终收益,将N个智能体获得的最终收益相加再除以N,得到实验情形下智能体的平均收益(即实验中的整体回报);然后通过多智能体的收益函数从理论上计算出合作情形下每个智能体获得的收益,将理论计算得到的N个智能体获得的收益相加再除以N,得到理论情形下智能体的平均收益(即理论中的整体回报);最后对比实验情形下智能体的平均收益和理论情形下智能体的平均收益是否一致就可以验证多智能体之间采取的策略是否是合作策略,如果实验情形下智能体的平均收益和理论情形下智能体的平均收益一致,得到验证后的基于多智能体最大熵强化学习的合作博弈模型。
本发明将确定性的策略梯度算法改进为随机性的策略梯度算法,在随机博弈的一些应用中效果更好,引入了最大熵模型运用到多智能体强化学习中,并与传统强化学习中的Actor-Critic框架结合,进一步地简化了学习的过程。本发明相较之前的技术而言,在很多领域,比如随机博弈和机器人控制中不容易陷入局部最优解,智能体可以学习到合作策略。同时,本发明使用策略梯度算法来直观地更新网络,不同于之前的基于值的强化学习方法,本发明通过求得网络的目标函数和损失函数,在此基础上通过求梯度的方式来进行参数更新,可以更高效且稳定的达到训练要求,从而使智能体的期望收益达到最高。另外,本发明使用了经验重放池,在多智能体强化学习中,通过Off-Policy的学习方法来对网络进行训练,经验重放池可以将智能体与环境交互的结果保存下来,然后在网络训练的过程中重复使用,提高了采样的效率,同时也消除了数据之间的相关性,从而使网络的参数可导,使用策略梯度的方法就可以很好的解决问题。
附图说明
图1为本发明提出的多智能体最大熵强化学习的合作博弈方法流程图。
图2为本发明的合作博弈模型结构示意图。
图3为本发明中策略网络和值函数网络的结构示意图。
图4为本发明的合作博弈方法在实验中的效果示意图。
具体实施方式
为了使本发明的目的更加清楚,以下结合附图对本发明进一步详细介绍。
图1可视化地表示出了本发明提出的基于多智能体最大熵强化学习的合作博弈方法的步骤,包括构建合作博弈模型、初始化状态以及各网络参数、与环境交互生成数据并存入经验重放池、从经验重放池中采样数据、计算损失函数和目标函数梯度以及软更新网络参数、随机博弈验证以及合作博弈方法实现。
本发明提出的一种基于多智能体最大熵强化学习的合作博弈方法具体包括如下步骤:
步骤1:建立基于多智能体最大熵强化学习的合作博弈模型,该合作博弈模型包括N个智能体,每个智能体包括四个网络,分别是策略网络、值函数网络、目标策略网络、目标值函数网络,N个智能体就有4*N个网络,N为正整数;任意一个智能体的策略网络和值函数网络统称为该智能体的网络,任意一个智能体的目标策略网络和目标值函数网络统称为该智能体的目标网络,它们之间的区别是智能体的网络的作用是与环境进行交互,而智能体的目标网络的作用是更新自身的策略。策略网络负责生成对应的动作与环境进行交互,同时负责生成值函数网络更新时需要的动作,根据策略网络可以更新目标策略网络。目标策略网络负责生成目标值函数网络更新时需要的动作。值函数网络负责计算出策略网络更新时需要的梯度,同时可以根据值函数网络更新目标值函数网络。目标值函数网络负责生成值函数网络更新时所需的学习目标(即公式1-2中的y,指的是目标值函数的数值,也就是每个智能体当前时刻期望获得的回报)。所述基于多智能体最大熵强化学习的合作博弈模型还包括一个经验重放池,经验重放池的作用是可以重复利用历史数据,提高本发明提出的方法的学习效率,它的每一条数据是由s、a、r、s′、d组成的一个向量,(s、a、r、s′、d分别表示当前状态、所有智能体动作组合在一起的联合动作、获得的收益、下一状态、是否到达终止状态)。本方法训练时使用的数据都是通过在经验重放池中采样得到。
步骤2:初始化基于多智能体最大熵强化学习的合作博弈模型中所有智能体的策略网络和值函数网络的参数,接下来初始化所有智能体的目标策略网络和目标值函数网络的参数,最后初始化经验重放池。经验重放池中的每条数据包括五个属性,分别是当前状态、联合动作(所有智能体动作组合在一起)、获得的收益、下一状态、是否到达终止状态。训练基于多智能体最大熵强化学习的合作博弈模型的过程共执行D个周期,其中,D为正整数。
步骤3:对于每一个周期,首先初始化随机博弈的初始状态,然后从初始状态所处的时刻开始,执行T轮博弈,每一轮博弈每个智能体都会根据自身选择的动作得到收益,每个周期中每个智能体获得的最终收益为其T轮博弈得到的平均收益,即T轮博弈得到的总收益除以T,其中,T为正整数。
步骤4:对于当前周期中的每一轮博弈,每个智能体根据自己当前的策略网络采样出当前状态下的动作。然后执行所有智能体的动作,并分别获得每个智能体相应的收益和新的状态,将当前时刻下所有智能体的信息整合为一条数据存入经验重放池中,同时将当前状态更新为下一状态,该条数据包括当前状态、联合动作、获得的收益、下一状态、是否到达终止状态这五个属性。
步骤5:针对当前周期中的每一轮博弈,从经验重放池中随机采样出M条数据(M由人为预先设置,如果经验重放池中数据量不足M条,则重复步骤4直到数据量大于M条),由此计算出更新策略网络和值函数网络所需要的损失函数和梯度,更新策略网络和值函数网络参数。通过更新后的策略网络和值函数网络的参数软更新目标策略网络和目标值函数网络的参数,其中,M为正整数。
步骤6:完成了一个周期的训练后,将上一周期训练得到的网络参数作为下一周期训练的初始网络参数,这里的网络指每个智能体的策略网络、值函数网络、目标策略网络、目标值函数网络。
步骤7:重复步骤3至步骤6直到D个周期全部训练完成,得到训练好的基于多智能体最大熵强化学习的合作博弈模型。
步骤8:对训练好的基于多智能体最大熵强化学习的合作博弈模型进行测试验证,通过训练好的基于多智能体最大熵强化学习的合作博弈模型中的策略网络来进行新的一个周期的随机博弈,统计多智能体每一轮博弈作出决策后获得的收益,从而验证学习到的是合作策略(从理论上可以由每个智能体的收益函数计算出合作策略最终的整体回报,然后验证实验中和理论中的整体回报是否一致),得到验证后的基于多智能体最大熵强化学习的合作博弈模型。
步骤9:通过验证后的基于多智能体最大熵强化学习的合作博弈模型中的策略网络来进行新的一个周期的随机博弈,实现随机博弈环境下的合作博弈方法。
通过本发明中的方法在不同的随机博弈环境中训练得到的不同的合作博弈模型就可以实现不同随机博弈环境下的合作博弈方法。
图2直观的展示了本发明合作博弈模型的结构,首先本发明从所有智能体与环境之间的交互可以得到一条包含s、a、r、s′、d的信息(s、a、r、s′、d分别表示当前状态、所有智能体动作组合在一起的联合动作、获得的收益、下一状态、是否到达终止状态)(这里是将每个智能体都做出决策之后形成联合动作,融合成一条信息存入经验重放池),然后将该条信息作为一条数据存入经验重放池中,四个对应的网络(策略网络、值函数网络、目标策略网络、目标值函数网络)可以从经验重放池中采样出数据来更新自己的参数,在更新的过程中,值函数网络是通过TD-Error来实现更新,而策略网络则是通过策略梯度算法来进行更新,具体而言本发明提出的多智能体最大熵强化学习的合作博弈方法步骤5的更新原理如下:
我们将多智能体中的环境称为随机博弈,定义一个随机博弈为一个五元组形式<S,A,r,p,γ>,其中S表示状态空间,A表示联合动作空间,r表示获得的收益,p表示状态转移矩阵,γ表示折扣因子。任意一个智能体i(i=1,2,…,N)的策略定义为
Figure BDA0003045756830000081
其中θi为智能体i的策略网络参数,π表示策略,ai表示第i个智能体选择的动作,上标i表示智能体的编号,
Figure BDA0003045756830000082
表示智能体i的策略,也就是在当前状态s下选择动作ai的概率分布,之后为了简便起见,我们省略掉智能体i的策略的下标θi,即通过πi来代替
Figure BDA0003045756830000091
本发明使用-i来表示除i之外的其他智能体。
最大熵强化学习不仅最大化每个智能体的回报,同时最大化每个智能体策略的熵,满足最大化回报以及最大化策略的熵的策略被称为最优策略,最优策略的定义如下:
Figure BDA0003045756830000092
其中πi,*表示智能体i的最优策略,πi表示智能体i能够选择的策略,我们要在其中选择一个最优的,t枚举了一个周期里面的每一个时间步(指每一轮博弈),st表示当前时刻t环境所处的当前状态,
Figure BDA0003045756830000093
表示在当前时刻t智能体i选择的动作,
Figure BDA0003045756830000094
表示当前时刻t除了智能体i之外的其他智能体的联合动作,
Figure BDA0003045756830000095
表示在当前状态st,智能体i选择动作
Figure BDA0003045756830000096
同时除了智能体i之外的其他智能体选择动作
Figure BDA0003045756830000097
智能体i获得的收益,ρπ表示随机博弈在多智能体选择的联合策略为π=(πi-i)时达到的稳定分布,
Figure BDA0003045756830000098
表示数据
Figure BDA0003045756830000099
满足分布ρπ下的期望,α表示熵的系数,为预设值,取值范围为0<α<1,
Figure BDA00030457568300000910
表示在当前状态st智能体i的策略的熵,它的具体形式如下:
Figure BDA00030457568300000911
其中
Figure BDA00030457568300000912
表示在当前时刻t智能体i选择的动作,
Figure BDA00030457568300000913
表示在当前状态st智能体i选择动作
Figure BDA00030457568300000914
的概率分布。
本发明定义多智能体最大熵强化学习中的值函数为未来收益与策略的熵之和的期望加上当前收益,具体形式如下:
Figure BDA00030457568300000915
其中,
Figure BDA00030457568300000916
表示在当前状态st,智能体i选择动作
Figure BDA00030457568300000917
同时除了智能体i之外的其他智能体选择动作
Figure BDA00030457568300000918
的值函数网络;
Figure BDA00030457568300000919
表示在当前状态st,智能体i选择动作
Figure BDA00030457568300000920
同时除了智能体i之外的其他智能体选择动作
Figure BDA00030457568300000921
智能体i获得的收益;l表示从下一时刻开始到无穷的计数器,γ表示折扣因子,为预设值,取值范围为0<γ<1,即离当前时刻越远的收益和熵对当前时刻的影响越小,
Figure BDA00030457568300000922
表示在时刻t+l智能体i获得的收益,st+l表示在时刻t+l环境所处的状态。
由公式(1)我们可以知道最大熵强化学习不仅最大化每个智能体的回报,同时最大化每个智能体策略的熵,所以本发明可以将每个智能体的目标函数定义为以下形式:
Figure BDA0003045756830000101
最大化目标函数的过程就可以找到最优策略,其中
Figure BDA0003045756830000102
表示智能体i采取策略πi的目标函数,通过求出一个周期中每一轮博弈累计的回报
Figure BDA0003045756830000103
和累计的智能体i的策略的熵
Figure BDA0003045756830000104
来评判一个策略的好坏。
通过公式(3)定义的值函数可以将目标函数改写为:
Figure BDA0003045756830000105
这里为了简便书写,省略了时间步下标t。
对目标函数采用策略梯度的方法进行求导,可以得到:
Figure BDA0003045756830000106
其中
Figure BDA0003045756830000107
表示对变量θi求梯度,θi为智能体i的策略网络参数。
在实际情况中,状态和动作空间可能十分巨大,此时需要用神经网络来拟合值函数,使用参数
Figure BDA0003045756830000108
来拟合Qπ(s,ai,a-i),即
Figure BDA0003045756830000109
(因为从理论上,智能体的值函数是Qπ(s,ai,a-i),但是状态和动作空间可能十分巨大,所以需要用神经网络来拟合真实的值函数,值函数网络的参数为
Figure BDA00030457568300001010
所以拟合的值函数网络可以表示为
Figure BDA00030457568300001011
更新值函数网络所需的损失函数则可以通过均方误差表示为:
Figure BDA00030457568300001012
其中
Figure BDA00030457568300001013
表示参数为
Figure BDA00030457568300001014
的值函数网络的损失函数,s表示当前状态,ai表示在当前状态智能体i选择的动作,a-i表示在当前状态除了智能体i之外的其他智能体的联合动作,s′表示下一状态,d表示是否达到终止状态,
Figure BDA00030457568300001015
表示经验重放池,
Figure BDA00030457568300001016
表示数据(s,ai,a-i,s′,d)满足在经验重放池
Figure BDA00030457568300001017
中的分布下的期望,y表示值函数网络更新时所需的学习目标,它的定义如下:
Figure BDA00030457568300001018
其中ri(s,ai,a-i)表示在当前状态s,智能体i选择动作ai,同时除了智能体i之外的其他智能体选择动作a-i,智能体i获得的收益,γ表示折扣因子,
Figure BDA00030457568300001019
表示目标值函数网络的参数,
Figure BDA00030457568300001020
表示目标值函数,s′表示下一状态,ai,′表示下一时刻智能体i采取的动作,a-i,′表示下一时刻除了智能体i之外的其他智能体采取的联合动作,ai,′和a-i,′分别是通过各自在下一状态s′下的策略πi(·∣s′)、π-i(·∣s′)采样而来。
将公式(6)中的Qπ替换成
Figure BDA0003045756830000111
则可以将更新策略网络所需的目标函数梯度表示为:
Figure BDA0003045756830000112
在实验环境中,本发明在每个周期的每一次博弈更新策略网络和值函数网络参数时通过采样来模拟公式(7)中的期望
Figure BDA0003045756830000113
首先在经验重放池中随机采样出M个样本(sj
Figure BDA0003045756830000114
其中sj表示第j个样本的当前状态;
Figure BDA0003045756830000115
表示第j个样本的联合动作,它是由第j个样本中智能体i的动作和除了智能体i之外的所有智能体的联合动作组成的;
Figure BDA0003045756830000116
表示第j个样本的获得的收益,它是由第j个样本中智能体i的收益和除了智能体i之外的所有智能体的联合收益组成的;sj′表示第j个样本中的下一状态;dj表示第j个样本是否到达终止状态。接下来通过采样来模拟公式(9)中的期望
Figure BDA0003045756830000117
(实验中获得准确的期望值是不可能实现的,因为状态动作空间很大,所以通过随机采样的方式来模拟),针对任意第j个样本的当前状态sj,对于每个智能体根据πi(·∣sj)和π-i(·∣sj)采样出动作
Figure BDA0003045756830000118
Figure BDA0003045756830000119
在公式(9)中使用从经验重放池中采样出的状态sj和从策略πi(·∣sj)和π-i(·∣sj)采样出的动作
Figure BDA00030457568300001110
Figure BDA00030457568300001111
综上,目标函数梯度可以改写为以下形式:
Figure BDA00030457568300001112
其中j表示遍历采样的M个样本的下标,
Figure BDA00030457568300001113
表示第j个样本中环境处于状态sj时,智能体i选择动作
Figure BDA00030457568300001114
的概率,
Figure BDA00030457568300001115
表示第j个样本中,环境处于状态sj,智能体i选择动作
Figure BDA00030457568300001116
除了智能体i之外的所有智能体选择联合动作
Figure BDA00030457568300001117
时值函数网络的值。
同理,将公式(7)中的值函数网络的损失函数可以改写为以下形式:
Figure BDA00030457568300001118
其中yj表示第j个样本的学习目标,由公式(8)我们可以得到:
Figure BDA00030457568300001119
因为到了终止状态之后就没有下一时刻的回报了,所以会加上(1-dj),也就是终止状态只有当前的
Figure BDA0003045756830000121
而没有未来的回报了,dj表示第j个样本是否到达终止状态。
Figure BDA0003045756830000122
表示目标值函数网络的参数,
Figure BDA0003045756830000123
表示目标值函数网络,sj′表示第j个样本的下一状态,
Figure BDA0003045756830000124
表示第j个样本中下一时刻智能体i采取的动作,
Figure BDA0003045756830000125
表示第j个样本中下一时刻除了智能体i之外的所有智能体采取的联合动作,
Figure BDA0003045756830000126
Figure BDA0003045756830000127
分别是通过各自在下一状态sj′下的策略πi(·∣sj′)、π-i(·∣sj′)采样而来。
通过最大化公式(10)和最小化公式(11)来更新策略网络和值函数网络的参数。
每个周期的每一轮博弈更新完策略网络和值函数网络之后,会根据预先设定的软更新系数τ来软更新目标网络,软更新系数的取值范围为0<τ<1,软更新相较于硬更新能够提高学习的稳定性,具体更新公式如公式(13)和公式(14)所示。
θi i←τθi+(1-τ)θi i (13)
Figure BDA0003045756830000128
其中,公式(13)中,θi表示第i个智能体更新后的策略网络参数,下标i表示智能体的编号,箭头右侧的θ′i表示第i个智能体更新前的目标策略网络参数,箭头左侧的θ′a表示第i个智能体更新后的目标策略网络参数。公式(14)中,
Figure BDA0003045756830000129
表示第i个智能体更新后的值函数网络参数,下标i表示智能体的编号,箭头右侧的
Figure BDA00030457568300001210
表示第i个智能体更新前的目标值函数网络参数,箭头左侧的
Figure BDA00030457568300001211
表示第i个智能体更新后的目标值函数网络参数。
本发明中公式(6)的具体数学推导过程如下:
我们知道强化学习中的目标函数可以表示为当前状态下未来能获得的收益的期望,多智能体最大熵强化学习中的目标函数由公式(5)定义,我们假设初始状态为s0,对公式(5)求导并展开可得:
Figure BDA00030457568300001212
其中
Figure BDA0003045756830000131
表示初始状态为s0时,智能体i采取策略πi的目标函数,
Figure BDA0003045756830000132
表示初始时刻智能体i选择的动作,我们只需要将公式(5)中的s和a替换为s0和a0就可以通过上述推导得到公式(15)。
为了简便起见,我们令
Figure BDA0003045756830000133
则公式(15)可以化简为:
Figure BDA0003045756830000134
其中
Figure BDA0003045756830000135
为我们定义的辅助函数。
接下来通过值函数的定义不断展开公式,重复迭代,可以得到:
Figure BDA0003045756830000136
其中sk表示枚举一个周期内经过k轮博弈后可能达到的所有状态,
Figure BDA0003045756830000137
表示多智能体采取联合策略π=(πi-i),经过k轮博弈从初始状态s0到状态sk的概率分布。k表示一个周期内当前博弈的轮数,γk表示折扣因子γ的k次方,s表示枚举所有可能的初始状态。
综上所述,我们就可以计算出目标函数的梯度,具体过程如下:
Figure BDA0003045756830000138
其中ρπ(s0)表示从状态s0开始最后随机博弈到达的平稳分布,ρπ(s)表示从状态s开始最后随机博弈到达的平稳分布。
求得目标函数的梯度后,我们就可以使用梯度下降的方法来更新网络参数,这就是策略梯度算法的原理。
图3展示了本发明中策略网络和值函数网络的结构,目标策略网络和策略网络的结构相同,目标值函数网络和值函数网络的结构相同。对于策略网络和值函数网络的计算过程给出如下分析:
本发明所使用的神经网络主要分为Actor网络(策略网络)和Critic网络(值函数网络),Actor网络主要用于计算出当前状态下智能体采取的决策,Critic网络主要用于评估当前决策的好坏。
本发明的Critic网络模型共涉及了三层全连接神经网络,第一层全连接神经网络中的神经元个数为256,第二层全连接神经网络中的神经元个数为256,第三层全连接神经网络中的神经元个数为1。
在第一层全连接神经网络中的输入为多智能体在随机博弈中所处的状态S1,S2,...,Sm与所选择联合动作A1,A2,...,An,其中m为多智能体在随机博弈中所处的状态的维数,n为所选择联合动作的维数,即环境的状态由m维向量定义,表示多智能体在随机博弈中所处的状态的m个属性,联合动作由n维向量定义,表示联合动作的n个属性,m,n均为正整数。例如小车运动的环境中,小车的状态可以由小车位置、小车速度和小车前进方向组成,于是就可以用一个三维向量来表示小车的状态,即S1,S2,S3;同理,小车的联合动作可以由踩油门或者刹车和加速或减速的大小组成,于是就可以用一个二维向量来表示小车的联合动作即A1,A2。第一层全连接神经网络的权重矩阵为W1,偏置为b1,激活函数为ReLu(X),第一层全连接神经网络的输出可以表示为如下形式:
H(1)=ReLu(W1·(S,A)T+b1) (19)
其中
Figure BDA0003045756830000141
(这里的T表示转置)表示第一层全连接神经网络的所有神经元构成的向量,(S,A)T=(S1,S2,…,Sm,A1,A2,…,An)T表示多智能体在随机博弈中所处的状态S1,S2,…,Sm与所选择联合动作A1,A2,…,An所构成的向量。
第二层全连接神经网络中,输入为第一层全连接神经网络的输出H(1),权重矩阵为W2,偏置为b2,激活函数为ReLu(X),第二层全连接神经网络的输出为
Figure BDA0003045756830000142
第三层全连接神经网络中,输入为第二层全连接神经网络的输出H(2),权重矩阵为W3,偏置为b3,激活函数为空,第三层全连接神经网络的输出为
Figure BDA0003045756830000143
H(3)是一个数值。H(2)和H(3)可以写为如下形式:
H(2)=ReLu(W2·H(1)+b2) (20)
H(3)=W3·H(2)+b3 (21)
本发明的Actor网络模型共涉及了四层全连接神经网络,第一层全连接神经网络中的神经元个数为256,第二层全连接神经网络中的神经元个数为256,第三层全连接神经网络中的神经元个数为1,第四层全连接神经网络中的神经元个数为1。
第一层全连接神经网络中的输入为多智能体在随机博弈中所处的状态向量S1,S2,…,Sm,权重矩阵为W4,偏置为b4,激活函数为ReLu(X),第一层全连接神经网络的输出可以表示为如下形式:
G(1)=ReLu(W4·ST+b4) (22)
其中
Figure BDA0003045756830000151
(这里的T表示转置)表示第一层全连接神经网络的所有神经元构成的向量,ST=(S1,S2,…,Sm)T表示多智能体在随机博弈中所处的状态的向量
第二层全连接神经网络中,输入为第一层全连接网络的输出G(1),权重矩阵为W5,偏置为b5,激活函数为ReLu(X),第二层全连接神经网络的输出为
Figure BDA0003045756830000152
第三层全连接神经网络中,输入为第二层全连接网络的输出G(2),权重矩阵为W6,偏置为b6,激活函数为空,第三层全连接神经网络的输出为
Figure BDA0003045756830000153
第四层全连接神经网络中,输入为第二层全连接网络的输出G(2),权重矩阵为W7,偏置为b7,激活函数为空,第四层全连接神经网络的输出为
Figure BDA0003045756830000154
G(3)和G(4)均为一个数值;G(2)、G(3)和G(4)可以写为如下形式:
G(2)=ReLu(W5·G(1)+b5) (23)
G(3)=W6·G(2)+b6 (24)
G(4)=W7·G(2)+b7 (25)
本发明的目的是智能体学习到随机策略,具体方法如下:
Actor网络中的第三层全连接神经网络用来得到策略网络的均值,第四层全连接神经网络用来得到策略网络的方差,然后通过策略网络的均值和方差模拟一个正态分布,在这个正态分布上进行采样来得到当前状态下的最优动作,那么输出Y可以表示为如下形式:
Figure BDA0003045756830000155
其中
Figure BDA0003045756830000156
表示正态分布,G(3)表示均值,G(4)表示方差,然后Y表示在该正态分布上的采样即为策略网络输出的动作。
至此就可以得到完整的基于多智能体最大熵强化学习的合作博弈模型,接下来进行对该模型的测试。我们的测试环境是随机博弈的其中一种,它的名字是微分博弈,以包含两个智能体的多智能体环境为例,每个智能体的收益由所有智能体的联合动作所决定,每个智能体的具体收益函数如下:
r1(a1,a2)=r2(a1,a2)=max(f1,f2) (27)
Figure BDA0003045756830000161
Figure BDA0003045756830000162
其中a1表示智能体1选择的动作,a2表示智能体2选择的动作,a1和a2的取值范围均为[-10,10],r1(a1,a2)表示智能体1选择动作a1同时智能体2选择动作a2时,智能体1获得的收益。r2(a1,a2)表示智能体1选择动作a1同时智能体2选择动作a2时,智能体2获得的收益。f1表示一个关于动作a1和a2的函数,f2表示不同于f1的另外一个关于动作a1和a2的函数,这两个函数决定了每个智能体的收益函数。
该测试验证环境下的挑战是智能体容易陷入局部最优解,对于本实验,局部最优解是所有智能体都选择动作-5时回报为0,全局最优解是所有智能体都选择动作5(因为微分博弈这个环境下动作是一维的,此时可理解为付出了5块钱)时回报为10。如图4中的实验结果所示,横坐标Episode表示训练了多少个周期(本发明共训练了5000个周期,每个周期执行100轮博弈),纵坐标Rewards表示实验情形下两个智能体的平均收益,MADSPG即为本发明提出的方法缩写。我们可以看到本发明提出的方法最后达到了全局最优解,即双方都选择动作5时,双方获得的收益均为10,即实验情形下两个智能体的平均收益为10。两个智能体获得的总收益越高,表示它们越合作,所以达到全局最优解的时候即为合作策略。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形都应视为本发明的保护范围。

Claims (6)

1.一种基于多智能体最大熵强化学习的合作博弈方法,其特征在于,该方法具体包括如下步骤:
步骤1:构建基于多智能体最大熵强化学习的合作博弈模型,该合作博弈模型包括N个智能体,每个智能体包括四个网络,分别是策略网络、值函数网络、目标策略网络、目标值函数网络,N个智能体就有4*N个网络,N为正整数;任意一个智能体的策略网络和值函数网络统称为该智能体的网络,任意一个智能体的目标策略网络和目标值函数网络统称为该智能体的目标网络,智能体的网络的作用是与环境进行交互,而智能体的目标网络的作用是更新自身的策略;策略网络负责生成对应的动作与环境进行交互,同时负责生成值函数网络更新时需要的动作,根据策略网络更新目标策略网络,目标策略网络负责生成目标值函数网络更新时需要的动作;值函数网络负责计算出策略网络更新时需要的梯度,同时根据值函数网络更新目标值函数网络,目标值函数网络负责生成值函数网络更新时所需的学习目标;所述基于多智能体最大熵强化学习的合作博弈模型还包括一个经验重放池,经验重放池中的每一条数据是由s、a、r、s′、d组成的一个向量,s、a、r、s′、d分别表示当前状态、所有智能体动作组合在一起的联合动作、获得的收益、下一状态、是否到达终止状态;
步骤2:初始化基于多智能体最大熵强化学习的合作博弈模型中所有智能体的策略网络和值函数网络的参数,接下来初始化所有智能体的目标策略网络和目标值函数网络的参数,最后初始化经验重放池;训练基于多智能体最大熵强化学习的合作博弈模型的过程共执行D个周期,其中,D为正整数;
步骤3:对于每一个周期,首先初始化随机博弈的初始状态,然后从初始状态所处的时刻开始,执行T轮博弈,每一轮博弈每个智能体都会根据自身选择的动作得到收益,每个周期中每个智能体获得的最终收益为其T轮博弈得到的平均收益,即其T轮博弈得到的总收益除以T,其中,T为正整数;
步骤4:对于当前周期中的每一轮博弈,每个智能体根据自己当前的策略网络采样出当前状态下的动作,然后执行所有智能体的动作,并分别获得每个智能体相应的收益和新的状态,将当前时刻下所有智能体的信息整合为一条数据存入经验重放池中,同时将当前状态更新为下一状态;
步骤5:针对当前周期中的每一轮博弈,从经验重放池中随机采样出M条数据,由此计算出更新策略网络所需的目标函数梯度和更新值函数网络所需的损失函数,用于更新策略网络和值函数网络的参数,通过更新后的策略网络和值函数网络的参数软更新目标策略网络和目标值函数网络的参数,其中,M由人为预先设置,如果经验重放池中的数据量不足M条,则重复步骤4直到经验重放池中的数据量大于M条,其中,M为正整数;
步骤6:完成了一个周期的训练后,将上一周期训练得到的网络参数作为下一周期训练的初始网络参数,这里的网络指每个智能体的策略网络、值函数网络、目标策略网络、目标值函数网络;
步骤7:重复步骤3至步骤6直到D个周期全部训练完成,得到训练好的基于多智能体最大熵强化学习的合作博弈模型;
步骤8:对训练好的基于多智能体最大熵强化学习的合作博弈模型进行测试验证,得到验证后的基于多智能体最大熵强化学习的合作博弈模型;
步骤9:通过验证后的基于多智能体最大熵强化学习的合作博弈模型中的策略网络来进行新的一个周期的随机博弈,实现随机博弈环境下的合作博弈方法。
2.根据权利要求1所述的基于多智能体最大熵强化学习的合作博弈方法,其特征在于,所述步骤5中更新策略网络和值函数网络的参数的方法具体包括:
将多智能体中的环境称为随机博弈,定义一个随机博弈为一个五元组形式<S,A,r,p,γ>,其中S表示状态空间,A表示联合动作空间,r表示获得的收益,p表示状态转移矩阵,γ表示折扣因子;任意一个智能体i的策略定义为
Figure FDA0003045756820000021
其中,i=1,2,...,N,θi为智能体i的策略网络参数,π表示策略,ai表示智能体i选择的动作,上标i表示智能体的编号,
Figure FDA0003045756820000022
表示智能体i的策略,也就是在当前状态s下选择动作ai的概率分布,之后为了简便起见,省略掉智能体i的策略的下标θi,即通过πi来代替
Figure FDA0003045756820000023
使用-i表示除i之外的其他智能体;
最大熵强化学习不仅最大化每个智能体的收益,同时最大化每个智能体策略的熵,满足最大化收益以及最大化策略的熵的策略被称为最优策略,最优策略的定义如下:
Figure FDA0003045756820000024
其中πi,*表示智能体i的最优策略,πi表示智能体i能够选择的策略,t枚举了一个周期里的每一个时间步,即每一轮博弈,st表示当前时刻t环境所处的当前状态,
Figure FDA0003045756820000025
表示在当前时刻t智能体i选择的动作,
Figure FDA0003045756820000026
表示当前时刻t除了智能体i之外的其他智能体的联合动作;
Figure FDA0003045756820000027
表示在当前状态st,智能体i选择动作
Figure FDA0003045756820000028
同时除了智能体i之外的其他智能体洗择动作
Figure FDA0003045756820000029
智能体i获得的收益;ρπ表示随机博弈在多智能体选择的联合策略为π=(πi,π-i)时达到的稳定分布,
Figure FDA00030457568200000210
表示数据
Figure FDA00030457568200000211
满足分布ρπ下的期望;α表示熵的系数,为预设值,取值范围为0<α<1;
Figure FDA0003045756820000031
表示在当前状态st智能体i的策略的熵,它的具体形式如下:
Figure FDA0003045756820000032
其中,
Figure FDA0003045756820000033
表示在当前状态st智能体i选择动作
Figure FDA0003045756820000034
的概率分布;
定义多智能体最大熵强化学习中的值函数为未来收益与策略的熵之和的期望再加上当前收益,具体形式如下:
Figure FDA0003045756820000035
其中,
Figure FDA0003045756820000036
表示在当前状态st,智能体i选择动作
Figure FDA0003045756820000037
同时除了智能体i之外的其他智能体选择动作
Figure FDA0003045756820000038
的值函数网络;l表示从下一时刻开始到无穷的计数器,γ表示预设的折扣因子,其取值范围为0<γ<1,即离当前时刻越远的收益和熵对当前时刻的影响越小;
Figure FDA0003045756820000039
表示在时刻t+l智能体i获得的收益,st+l表示在时刻t+l环境所处的状态;
由公式(1)得到每个智能体的目标函数定义为以下形式:
Figure FDA00030457568200000310
其中
Figure FDA00030457568200000311
表示智能体i采取策略πi的目标函数,通过求出一个周期中每一轮博弈累计的收益
Figure FDA00030457568200000312
和累计的智能体i的策略的熵
Figure FDA00030457568200000313
来评判一个策略的好坏;
通过公式(3)定义的值函数将每个智能体的目标函数改写为:
Figure FDA00030457568200000314
这里为了简便书写,省略了时间步下标t;
对目标函数采用策略梯度的方法进行求导得到:
Figure FDA00030457568200000315
其中
Figure FDA00030457568200000316
表示对变量θi求梯度;
使用参数
Figure FDA00030457568200000317
拟合Qπ(s,ai,a-i),即
Figure FDA00030457568200000318
更新值函数网络所需的损失函数通过均方误差表示为:
Figure FDA00030457568200000319
其中
Figure FDA00030457568200000320
表示参数为
Figure FDA00030457568200000321
的值函数网络的损失函数,s表示当前状态,ai表示在当前状态智能体i选择的动作,a-i表示在当前状态除了智能体i之外的其他智能体的联合动作,s′表示下一状态,d表示是否达到终止状态,
Figure FDA0003045756820000041
表示经验重放池,
Figure FDA0003045756820000042
表示数据(s,ai,a-i,s′,d)满足在经验重放池
Figure FDA0003045756820000043
中的分布下的期望,y表示值函数网络更新时所需的学习目标,它的定义如下:
Figure FDA0003045756820000044
其中ri(s,ai,a-i)表示在当前状态s,智能体i选择动作ai,同时除了智能体i之外的其他智能体选择动作a-i,智能体i获得的收益;
Figure FDA0003045756820000045
表示目标值函数网络的参数,
Figure FDA0003045756820000046
表示目标值函数网络,s′表示下一状态,ai,′表示下一时刻智能体i采取的动作,a-i,′表示下一时刻除了智能体i之外的其他智能体采取的联合动作,ai,′和a-i,′分别是通过各自在下一状态s′下的策略πi(·|s′)、π-i(·|s′)采样而来;
将公式(6)中的Qπ替换成
Figure FDA0003045756820000047
更新策略网络所需的目标函数梯度表示为:
Figure FDA0003045756820000048
在每个周期的每一次博弈更新策略网络和值函数网络参数时通过采样来模拟公式(7)中的期望
Figure FDA0003045756820000049
并通过采样来模拟公式(9)中的期望
Figure FDA00030457568200000410
在经验重放池中随机采样出M个样本
Figure FDA00030457568200000411
其中sj表示第j个样本的当前状态;
Figure FDA00030457568200000412
表示第j个样本的联合动作,它是由第j个样本中智能体i的动作和除了智能体i之外的其他智能体的联合动作组成;
Figure FDA00030457568200000413
表示第j个样本获得的收益,它是由第j个样本中智能体i的收益和除了智能体i之外的其他智能体的联合收益组成;s′j表示第j个样本中的下一状态;dj表示第j个样本是否到达终止状态;在公式(9)中使用从经验重放池中采样出的状态sj,以及从策略πi(·|sj)和π-i(·|sj)采样出的动作
Figure FDA00030457568200000414
Figure FDA00030457568200000415
综上,更新策略网络所需的目标函数梯度改写为以下形式:
Figure FDA00030457568200000416
其中j表示遍历采样的M个样本的下标,
Figure FDA00030457568200000417
表示第j个样本中环境处于状态sj时,智能体i选择动作
Figure FDA00030457568200000418
的概率,
Figure FDA00030457568200000419
表示第j个样本中,环境处于状态sj,智能体i选择动作
Figure FDA0003045756820000051
除了智能体i之外的其他智能体选择联合动作
Figure FDA0003045756820000052
时值函数网络的值;
同理,公式(7)中更新值函数网络所需的损失函数改写为以下形式:
Figure FDA0003045756820000053
其中yj表示第j个样本的学习目标,由公式(8)得到:
Figure FDA0003045756820000054
由于到了终止状态之后就没有下一时刻的收益了,所以会加上(1-dj),即终止状态只有当前的
Figure FDA0003045756820000055
而没有未来的收益了,dj表示第j个样本是否到达终止状态;
Figure FDA0003045756820000056
表示目标值函数网络的参数,
Figure FDA0003045756820000057
表示目标值函数网络,s′j表示第j个样本的下一状态,
Figure FDA0003045756820000058
表示第j个样本中下一时刻智能体i采取的动作,
Figure FDA0003045756820000059
表示第j个样本中下一时刻除了智能体i之外的其他智能体采取的联合动作,
Figure FDA00030457568200000510
Figure FDA00030457568200000511
分别通过各自在下一状态s′j下的策略πi(·|s′j)和π-i(·|s′j)采样而来;
通过最大化公式(10)和最小化公式(11)来更新策略网络和值函数网络的参数。
3.根据权利要求2所述的基于多智能体最大熵强化学习的合作博弈方法,其特征在于,所述步骤5中软更新目标策略网络和目标值函数网络的参数的方法具体包括:
每个周期的每一轮博弈更新完策略网络和值函数网络的参数之后,根据预先设定的软更新系数τ来软更新目标策略网络和目标值函数网络的参数,所述软更新系数的取值范围为0<τ<1,具体更新公式如公式(13)和公式(14)所示:
θ′i←τθi+(1-τ)θ′i (13)
Figure FDA00030457568200000512
其中,公式(13)中,θi表示智能体i更新后的策略网络参数,下标i表示智能体的编号,箭头右侧的θ′i表示智能体i更新前的目标策略网络参数,箭头左侧的θ′i表示智能体i更新后的目标策略网络参数;公式(14)中,
Figure FDA00030457568200000513
表示智能体i更新后的值函数网络参数,箭头右侧的
Figure FDA00030457568200000514
表示智能体i更新前的目标值函数网络参数,箭头左侧的
Figure FDA00030457568200000515
表示智能体i更新后的目标值函数网络参数。
4.根据权利要求3所述的基于多智能体最大熵强化学习的合作博弈方法,其特征在于,所述步骤1中的值函数网络结构包括三层全连接神经网络,第一层全连接神经网络中的神经元个数为256,第二层全连接神经网络中的神经元个数为256,第三层全连接神经网络中的神经元个数为1,其中,
第一层全连接神经网络的输入为多智能体在随机博弈中所处的状态S1,S2,...,Sm与所选择的联合动作A1,A2,...,An,其中m为多智能体在随机博弈中所处的状态的维数,n为所选择的联合动作的维数,m,n均为正整数,第一层全连接神经网络的权重矩阵为W1,偏置为b1,激活函数为ReLu(X),第一层全连接神经网络的输出表示为如下形式:
H(1)=ReLu(W1·(S,A)T+b1)
其中
Figure FDA0003045756820000061
表示第一层全连接神经网络的所有神经元构成的向量,(S,A)T=(S1,S2,...,Sm,A1,A2,...,An)T表示多智能体在随机博弈中所处的状态S1,S2,...,Sm与所选择的联合动作A1,A2,...,An所构成的向量,这里的T表示转置;
第二层全连接神经网络中,输入为第一层全连接神经网络的输出H(1),权重矩阵为W2,偏置为b2,激活函数为ReLu(X),第二层全连接神经网络的输出为H(2)=ReLu(W2·H(1)+b2),其中,
Figure FDA0003045756820000062
第三层全连接神经网络中,输入为第二层全连接神经网络的输出H(2),权重矩阵为W3,偏置为b3,激活函数为空,第三层全连接神经网络的输出为H(3)=W3·H(2)+b3
所述步骤1中的策略网络结构包括四层全连接神经网络,第一层全连接神经网络中的神经元个数为256,第二层全连接神经网络中的神经元个数为256,第三层全连接神经网络中的神经元个数为1,第四层全连接神经网络中的神经元个数为1,其中,
第一层全连接神经网络中的输入为多智能体在随机博弈中所处的状态S1,S2,...,Sm,权重矩阵为W4,偏置为b4,激活函数为ReLu(X),第一层全连接神经网络的输出表示为如下形式:
G(1)=ReLu(W4·ST+b4)
其中
Figure FDA0003045756820000063
表示第一层全连接神经网络的所有神经元构成的向量,ST=(S1,S2,...,Sm)T表示多智能体在随机博弈中所处的状态向量;
第二层全连接神经网络中,输入为第一层全连接神经网络的输出G(1),权重矩阵为W5,偏置为b5,激活函数为ReLu(X),第二层全连接神经网络的输出为,G(2)=ReLu(W5·G(1)+b5),其中
Figure FDA0003045756820000064
第三层全连接神经网络中,输入为第二层全连接神经网络的输出G(2),权重矩阵为W6,偏置为b6,激活函数为空,第三层全连接神经网络的输出为G(3)=W6·G(2)+b6
第四层全连接神经网络中,输入为第二层全连接神经网络的输出G(2),权重矩阵为W7,偏置为b7,激活函数为空,第四层全连接神经网络的输出为G(4)=W7·G(2)+b7
策略网络中的第三层全连接神经网络用来得到策略网络的均值,第四层全连接神经网络用来得到策略网络的方差,然后通过策略网络的均值和方差模拟一个正态分布,在这个正态分布上进行采样来得到当前状态下的最优动作,那么输出Y表示为如下形式:
Figure FDA0003045756820000071
其中
Figure FDA0003045756820000072
表示正态分布,G(3)表示均值,G(4)表示方差,然后Y表示在该正态分布上的采样,即为策略网络输出的动作。
5.根据权利要求4所述的基于多智能体最大熵强化学习的合作博弈方法,其特征在于,所述步骤8中对训练好的基于多智能体最大熵强化学习的合作博弈模型进行测试验证具体包括:首先采用训练好的基于多智能体最大熵强化学习的合作博弈模型进行新的一个周期的随机博弈,仍然进行T轮博弈;初始化环境的初始状态,然后通过训练好的基于多智能体最大熵强化学习的合作博弈模型中的策略网络来输出当前状态下每个智能体的动作,得到当前这一轮博弈每个智能体的收益,然后到达下一状态;T轮博弈后得到每个智能体获得的最终收益,将N个智能体获得的最终收益相加再除以N,得到实验情形下智能体的平均收益;然后通过多智能体的收益函数从理论上计算出合作情形下每个智能体获得的收益,将理论计算得到的N个智能体获得的收益相加再除以N,得到理论情形下智能体的平均收益;最后对比实验情形下智能体的平均收益和理论情形下智能体的平均收益是否一致来验证多智能体之间采取的策略是否是合作策略,如果实验情形下智能体的平均收益和理论情形下智能体的平均收益一致,则得到验证后的基于多智能体最大熵强化学习的合作博弈模型。
6.根据权利要求5所述的基于多智能体最大熵强化学习的合作博弈方法,其特征在于,所述D的取值为5000,所述T的取值为100。
CN202110471891.9A 2021-04-29 2021-04-29 一种基于多智能体最大熵强化学习的合作博弈方法 Pending CN113095488A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110471891.9A CN113095488A (zh) 2021-04-29 2021-04-29 一种基于多智能体最大熵强化学习的合作博弈方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110471891.9A CN113095488A (zh) 2021-04-29 2021-04-29 一种基于多智能体最大熵强化学习的合作博弈方法

Publications (1)

Publication Number Publication Date
CN113095488A true CN113095488A (zh) 2021-07-09

Family

ID=76680893

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110471891.9A Pending CN113095488A (zh) 2021-04-29 2021-04-29 一种基于多智能体最大熵强化学习的合作博弈方法

Country Status (1)

Country Link
CN (1) CN113095488A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114154397A (zh) * 2021-11-09 2022-03-08 大连理工大学 一种基于深度强化学习的隐式对手建模方法
CN114598667A (zh) * 2022-03-04 2022-06-07 重庆邮电大学 一种基于联邦学习的高效设备选择与资源分配方法
CN115167136A (zh) * 2022-07-21 2022-10-11 中国人民解放军国防科技大学 一种基于深度强化学习和条件熵瓶颈的智能体控制方法
CN115333152A (zh) * 2022-08-22 2022-11-11 电子科技大学 一种配电网电压分布式实时控制方法
CN115496208A (zh) * 2022-11-15 2022-12-20 清华大学 协同模式多样化导向的无监督多智能体强化学习方法
CN114154397B (zh) * 2021-11-09 2024-05-10 大连理工大学 一种基于深度强化学习的隐式对手建模方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114154397A (zh) * 2021-11-09 2022-03-08 大连理工大学 一种基于深度强化学习的隐式对手建模方法
CN114154397B (zh) * 2021-11-09 2024-05-10 大连理工大学 一种基于深度强化学习的隐式对手建模方法
CN114598667A (zh) * 2022-03-04 2022-06-07 重庆邮电大学 一种基于联邦学习的高效设备选择与资源分配方法
CN115167136A (zh) * 2022-07-21 2022-10-11 中国人民解放军国防科技大学 一种基于深度强化学习和条件熵瓶颈的智能体控制方法
CN115333152A (zh) * 2022-08-22 2022-11-11 电子科技大学 一种配电网电压分布式实时控制方法
CN115496208A (zh) * 2022-11-15 2022-12-20 清华大学 协同模式多样化导向的无监督多智能体强化学习方法

Similar Documents

Publication Publication Date Title
CN113095488A (zh) 一种基于多智能体最大熵强化学习的合作博弈方法
CN111291890B (zh) 一种博弈策略优化方法、系统及存储介质
CN111353582B (zh) 一种基于粒子群算法的分布式深度学习参数更新方法
Lakshminarayanan et al. Dynamic action repetition for deep reinforcement learning
CN111282267B (zh) 信息处理方法、装置、介质及电子设备
CN111488988A (zh) 基于对抗学习的控制策略模仿学习方法及装置
CN108921298B (zh) 强化学习多智能体沟通与决策方法
CN111582469A (zh) 多智能体协作信息处理方法、系统、存储介质、智能终端
CN109740741B (zh) 一种结合知识转移的强化学习方法及其应用于无人车自主技能的学习方法
Hu et al. Policy diagnosis via measuring role diversity in cooperative multi-agent RL
Tang et al. A review of computational intelligence for StarCraft AI
CN112434791A (zh) 多智能体强对抗仿真方法、装置及电子设备
CN114290339B (zh) 基于强化学习和残差建模的机器人现实迁移方法
Mousavi et al. Applying q (λ)-learning in deep reinforcement learning to play atari games
CN115496191B (zh) 一种模型训练方法及相关装置
Ha Neuroevolution for deep reinforcement learning problems
CN115964898A (zh) 面向兵力博弈对抗的bc-qmix离在线多智能体行为决策建模方法
CN116128028A (zh) 一种连续决策空间组合优化的高效深度强化学习算法
Li et al. Offline equilibrium finding
Li et al. Introspective Reinforcement Learning and Learning from Demonstration.
Adamsson Curriculum learning for increasing the performance of a reinforcement learning agent in a static first-person shooter game
McAleer et al. Team-PSRO for Learning Approximate TMECor in Large Team Games via Cooperative Reinforcement Learning
Karnsund DQN tackling the game of candy crush friends saga: A reinforcement learning approach
CN114866356B (zh) 基于元学习的策略博弈的行为预测方法和预测器
Zhu et al. Design and implementation of NPC AI based on genetic algorithm and BP neural network

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