基于竞争混合网络的舰船控制方法技术

技术编号:27512153 阅读:27 留言:0更新日期:2021-03-02 18:42
基于竞争混合网络的舰船控制方法,本发明专利技术涉及舰船控制方法。本发明专利技术的目的是为了解决现有舰船在复杂环境中控制精度低的问题。过程为:一、建立个体智能体网络模型;二、建立优势混合网络模型;三、建立状态值混合网络模型;四、将个体观测历史输入到个体智能体网络模型中得到个体优势值函数以及个体状态值函数;将个体优势值函数传给优势混合网络模型,优势混合网络模型输出联合优势函数值;将个体状态值函数传给状态值混合网络模型,状态值混合网络模型输出联合状态值混合值;通过将联合优势函数值与联合状态值混合值相加得到联合动作值函数。本发明专利技术用于舰船控制领域。本发明专利技术用于舰船控制领域。本发明专利技术用于舰船控制领域。

【技术实现步骤摘要】
基于竞争混合网络的舰船控制方法


[0001]本专利技术涉及舰船控制方法。

技术介绍

[0002]现实生活中的很多问题都可以归结为合作型多智能体问题,比如说交通规划,机器人控制以及自动驾驶等。但是直接将多智能算法运用到这种现实情况中会有很多问题,比如现实中智能体的视野应该只有局部范围,并且随着智能体数量的增加,模型的动作空间会爆炸式的增长,以及如何去判断每个智能体在每次任务中的贡献的多少。这些问题使得多智能体算法在实际任务中的表现不尽如人意。
[0003]最初解决这些问题的方法是每个智能体各有一个网络独自学习自己的策略,也就是independent learners(IQL)。但是这样的做法导致智能体之间没有交流,并且智能体会把其他智能体当做了环境的一部分,这种不稳定性会对策略的更新产生严重的负面影响,最后这样的算法也没有收敛性保证。这些都导致了算法效果的下降。但是IQL依然在动作空间的爆炸式增长问题上作出了贡献。
[0004]另外一个与IQL完全相反的方向是集中式的学习方法,这种方法是将所有智能体看做一个整体,以单智能体的角度来对待这个整体。显然这种处理方式不能解决动作空间爆炸式增长的情况,同时这样集中式的方法会导致智能体之间的角色难以区分,也不会产生好的实际效果。
[0005]基于上面两种完全不同的方法,产生了一种介于两者之间的方法,叫做集中式训练分散式执行的方法(CTDE)。顾名思义,在训练时对所有智能体进行统一的训练,在策略执行时各自根据自己的局部观测值执行策略,这样既有集中式的优点又有分散式的优点。CTDE模式的难点在于集中训练的部分。一种基于策略的方法是使用动作家-评论家方法构造一个全局共享的评论家来进行集中式的训练,比如COMA。另外一种方法是学习一个全局的但是可以分解的动作值函数,最初的一个工作叫做值分解网络(VDN),它简单地将总的联合动作值Q
tot
分解为个体动作值Q
i
之间的和。但是因为加和的形式过于简单无法满足复杂任务的要求,于是又有了单调值函数分解网络(QMIX),它将总动作值函数Q
tot
分解为个体动作值Q
i
之和的关系扩展到了单调关系,使得模型可以在一些复杂任务中表现更好。在QMIX之后还有Qtran提出了一种基于个体全局最大(IGM)性质的线性约束分解方法,但是想要精确地将理论部分实现非常困难,所以采用了近似之后的版本,但也导致了模型在复杂环境下的效果很差。
[0006]VDN,QMIX以及Qtran这种仅使用个体动作值Q
i
去直接拟合联合动作值Q
tot
的方法一定程度上限制了联合动作值函数的复杂性。
[0007]CTDE逐渐成为目前多智能体强化学习主流的模型范式,Lowe et al.提出了一个类似于CTDE的多智能体动作家-评论家方法MADDPG,它为每个代理学习了一个可以共享的评论家,为了方便学习,评论家在训练的时候可以使用全局信息,并且算法可以在合作型以及竞争型环境中使用。同样基于CTDE模式,Foerster et al.提出了COMA,他们针对完全合
作式的环境为所有智能体利用反事实基线设计了一个完全中心化的评论家,旨在解决多智能体信度分配问题,而各个智能体使用分散式的方法根据自己的局部观测值来执行各自策略。与基于策略梯度的多智能体方法不同,同样遵循CTDE模式但是基于值函数的VDN被Sunehag et al.提出。VDN将总的联合动作值分解为个体动作值的简单加和,而联合动作值函数的训练方式与DQN的训练方式相同。由于VDN的混合网络结构过于简单并且在训练期间并没有利用到全局状态等信息,从而导致VDN效果并不好。但是这种混合网络结构仍然很大的提升空间。于是,在VDN的基础上,Rashid et al.提出了QMIX。QMIX扩展了简单加和的关系,将其升级为单调关系,并且在混合网络中加入了全局状态信息,这样QMIX可以表示的联合动作值函数范围会比VDN大很多,并且实验也证明了这种做法取得了很好的效果。然而,即使QMIX的效果很好,但是单调性依然约束了QMIX的表示能力,所以Mahajan et al.在Qtran中设计了一个不受约束的联合动作值函数,但是由于算法中提到的理论很难实现,不得不对一些理论方面做出近似,这将会在一定程度上影响Qtran的效果。所以Qtran在简单环境下效果很好,但是复杂环境下的效果就会变得很差。
[0008]除此之外,也有一些基于CTDE模式的多智能体其他方面的工作,比如Du et al.也使用CTDE模式(LIIR),为每个智能体设计了一个奖励函数,从而形成内外两种奖励,并利用策略梯度方法去进行训练也取得了不错的实验效果。还有wharton et al.提出了SMIX,他们将QMIX中单步Q-learning更新方式改为了多步Q-learning。但是他们错误的认为是QMIX的更新方式影响了模型的表示性限制。Wang et al.提出动作语义网络(ASN),将动作分为了可以影响其智能体和不影响其他智能体,但是这样的做法需要引入一个精确的先验知识。
[0009]SMAC是近年来推出的一个多智能体强化学习实验平台,弥补了多智能体强化学习领域长年没有统一实验平台的缺陷。SMAC推出后已被很多研究者用于算法评价以及对比。SMAC是基于星际争霸2学习环境(SC2LE)产生的一个项目。在SC2LE原有的学习环境中加入了分散策略执行以及局部观测等关键功能形成了现在SMAC。SMAC中包括了很多微观管理地图,不同类型的地图具有不同的难度,类似于不同的数据集,为研究人员带来稳定的基线环境。

技术实现思路

[0010]本专利技术的目的是为了解决现有舰船在复杂环境中控制精度低的问题,而提出的基于竞争混合网络的舰船控制方法。
[0011]基于竞争混合网络的舰船控制方法具体过程为:
[0012]步骤一、建立个体智能体网络模型;
[0013]步骤二、建立优势混合网络模型;
[0014]步骤三、建立状态值混合网络模型;
[0015]步骤四、将个体观测历史输入到个体智能体网络模型中得到个体优势值函数A
i

i
,a
i
)以及个体状态值函数V
i

i
);
[0016]将个体优势值函数A
i

i
,a
i
)传给优势混合网络模型,优势混合网络模型输出联合优势函数值A
tot
(τ,a);
[0017]将个体状态值函数V
i

i
)传给状态值混合网络模型,状态值混合网络模型输出联
合状态值混合值V
tot
(τ);
[0018]通过将联合优势函数值A
tot
(τ,a)与联合状态值混合值V
tot
(τ)相加得到联合动作值本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于竞争混合网络的舰船控制方法,其特征在于:所述方法具体过程为:步骤一、建立个体智能体网络模型;步骤二、建立优势混合网络模型;步骤三、建立状态值混合网络模型;步骤四、将个体观测历史输入到个体智能体网络模型中得到个体优势值函数A
i

i
,a
i
)以及个体状态值函数V
i

i
);将个体优势值函数A
i

i
,a
i
)传给优势混合网络模型,优势混合网络模型输出联合优势函数值A
tot
(τ,a);将个体状态值函数V
i

i
)传给状态值混合网络模型,状态值混合网络模型输出联合状态值混合值V
tot
(τ);通过将联合优势函数值A
tot
(τ,a)与联合状态值混合值V
tot
(τ)相加得到联合动作值函数Q
tot
(τ,a);所述个体观测历史为局部观测值、动作以及角色编码;在海战中,局部观测值表示船舰在自己的视野范围内观察到的战况;在海战中,动作表示船舰在某时刻t选择对某个敌方船舰开炮射击或者移动;角色编码表示船舰编号。2.根据权利要求1所述基于竞争混合网络的舰船控制方法,其特征在于:所述步骤一中建立个体智能体网络模型;具体过程为:个体智能体网络模型包括n个智能体网络结构;每个智能体网络结构都相同,由Group1和Group2构成;Group1中包括一个输入层,一个ReLU激活层,一个GRU单元和第一线性网络层;输入层的输出端连接ReLU激活层的输入端,ReLU激活层的输出端连接GRU单元的输入端,GRU单元的输出端连接第一线性网络层;Group2中包括第二线性网络层和第三线性网络层,这两个线性网络层并行连接;Group1中的输出数据分别都送入到第二线性网络层和第三线性网络层作为两个线性层的输入数据;第二线性网络层对输入数据进行计算得到第二线性网络层的输出,称为个体优势值函数的值;第三线性网络层对输入数据进行计算得到第三线性网络层的输出,称为个体状态值函数的值。3.根据权利要求1或2所述基于竞争混合网络的舰船控制方法,其特征在于:所述步骤二中建立优势混合网络模型;具体为:优势混合网络模型由一个参数网络结构与一个超网络结构构成;参数网络结构包括第四线性网络层和第五线性网络层,第四线性网络层和第五线性网络层是并行连接,第四线性网络层和第五线性网络层的输入都是全局观测值;第四线性网络层对输入的全局观测值进行处理,得到输出值,作为超网络结构中第一层网络的参数矩阵;第五线性网络层对输入的全局观测值进行处理,得到输出值,作为超网络结构中第二层网络的参数矩阵;
超网络结构接收个体优势值函数的值,现将超网络结构中第一层网络的参数矩阵进行矩阵求绝对值,在与接收的个体优势值函数的值进行矩阵相乘得到第一层的输出,第二层接收第一层的输出,先对超网络结构中第二层的参数矩阵进行求绝对值,接着在与第一层的输出做矩阵相乘得到优势混合网络的输出;全局观测值就是整个战场双方的船舰损失程度。4.根据权利要求3所述基于竞争混合网络的舰船控制方法,其特征在于:所述步骤三中建立状态值混合网络模型;具体为:状态值混合网络模型由一个注意力网络模型构成,而注意力网络模型由两个序列化模型构成;第一个序列化模型包括第六线性网络层,一个Droupout层,一个LeakyReLU激活层以及第七线性网络层;第六线性网络层接收全局观测值,将输入值处理并输出,Droupout层接收第六线性网络层的输出值作为输入,随机丢弃10%的输入神经元并输出给LeakyReLU进行激活处理;第七线性网络层接收LeakyReLU层的输出作为输入进行处理最后得到第一个序列化模型的输出;第二个序列化模型包括第八线性网络层,第八线性网络层对输入的个体局部观测值进行处理后得到输出,将输出作为第二个序列化模型的输出;之后再将两个序列化模型的输出进行缩放点积,即两个序列化模型的输出矩阵进行矩阵相乘,将得到的结构再除以一个数;将缩放点积之后得到的数据进行Softmax操作来转化为百分比权重,最后将得到的权重与个体状态值函数做加权和。5.根据权利要求4所述基于竞争混合网络的舰船控制方法,其特征在于:所述步骤四中将个体观测历史输入到个体智能体网络模型中得到个体优势值函数A
i

i
,a
i
)以及个体状态值函数V
i

i
);具体过程为:所有智能体共用一个智能体网络,以上一个时刻的局部观测值动作作为t时刻个体智能体网络模型的输入,在输入中添加了...

【专利技术属性】
技术研发人员:王红滨谢晓东何鸣王念滨周连科崔琎
申请(专利权)人:哈尔滨工程大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1