一种基于博弈论的AUV水下集群攻防优化方法

文档序号:31621133发布日期:2022-09-23 23:17阅读:64来源:国知局
一种基于博弈论的AUV水下集群攻防优化方法
一种基于博弈论的auv水下集群攻防优化方法
技术领域
1.本发明涉及计算机算法领域,尤其涉及一种基于博弈论的auv水下集群攻防优化方法。


背景技术:

2.自主式水下机器人(autonomous underwater vehicle,auv)凭借着其成本效益高、机动性强、部署灵活以及能独立完成水下自主任务等特点成为各国研究的热点。目前,单auv能在水下执行各种任务,如资源勘探,水下通信,侦察与反侦察,但在面对复杂作战任务时,单auv的作战性能就急剧下降。例如,如果要在海底对不明高速移动物体进行捕获,单auv就只能凭借自身的基础性能来对目标进行追击。如果在性能上不占优势,捕获任务几乎不可能完成。要解决这类问题,就需要在auv硬件性能或围捕策略上进行研究。在不增加额外成本的前提下,要克服auv单体性能不足的缺陷,使用集群攻防优化算法是目前较为理想的选择。
3.近年来的研究,考虑到陆地和空中通信条件较为良好和智能体易于控制等相关因素,陆地或空中智能体的相关集群攻防文献较为丰富,而水下auv集群攻防的研究则相对滞后。所以研究水下集群攻防策略对未来增强国家海洋实力有着极为深远的战略意义。
4.为了合理给这些auv配置任务,在过去人们通常采用传统的协同控制方法。传统的无人机协同控制方法包括精确的优化算法和启发式算法,精确的优化算法如分支定界法(bab)、动态规划(dp)能够获得较为精确的结果。然而当问题变得复杂起来时,如约束条件增大,求解难度便会迅速增大。传统的启发式算法,如基于鸟类觅食现象提出了粒子群优化算法(pso),如对蚂蚁在觅食时会在身后留下信息素以供后续觅食蚂蚁导航的现象提出了蚁群算法(aco)和受到达尔文生物进化论的启发提出的遗传算法(ga)。尽管这些算法能够在一定程度上减少运算量,但在面对复杂环境,这类算法的效果依旧不理想。
5.综上所述,以上所用方法是目前解决auv集群攻防问题中普遍认可的,较优的算法,但是传统算法存在容易进入局部最优解,收敛性较差和搜寻结果稳定性差的问题。基于此提出的基于博弈论的auv水下集群攻防优化算法,使用的经验回放结构扩充了训练算法所需的数据量,消除训练数据之间的连续性,进而满足监督学习中样本独立同分布的要求,加快了智能体的训练速度。而gru单元的引入则给智能体带来了记忆,智能体根据上一时刻的内容能够更好的判断自身所处位置和状态,弥补因部分观测而导致的对环境信息的缺失,从而做出更好的决策。


技术实现要素:

6.本发明的目的是解决现有auv集群攻防中存在的容易陷入局部最优解的缺陷,而提出一种基于博弈论的auv水下集群攻防优化方法。
7.对于auv的集群攻防优化问题,针对传统算法在优化时需要人工制定约束条件和求解复杂度过大的问题,采用了值函数分解的强化学习算法进行了优化研究。将连续协同
对抗过程离散化并简化为围捕和对抗过程,接着介绍了在二维格子世界中建立的围捕和对抗环境。针对以上环境,提出一种基于经验重放和gru单元的改进值函数分解算法,并将它与仿真环境结合。仿真结果表明,改进的算法面对简单的围捕和对抗环境都能够学习到较好的策略,具有一定的通用性。
8.为了实现上述目的,本发明技术方案如下:
9.一种基于博弈论的auv水下集群攻防优化方法,包括如下步骤:
10.(1)、根据情景建立二维围捕或对抗模拟环境框架;
11.二维围捕和对抗环境框架,采用栅格法将智能体工作的空间分割为网格,智能体收集到的信息会反映在网格上,然后根据网格的连同状态来确定所要到达的目标网格的最优路径。
12.在常用的空间移动环境模型中,选择出具有简单、容易表达和灵活等优点的栅格法,并对栅格属性进行定义,确定哪些栅格是障碍物以及可移动的空间。
13.(2)、让智能体与模拟环境进行实时交互产生数据,将产生的数据存入经验回放池直至填满;
14.所述步骤(2)中的经验回放池,是在程序中建立一个容量为n的双向数组来存取智能体与环境交互时产生的数据(s
t
,a
t
,r
t
,s
t+1
),被称为经验回放数组。在数组收集完足够的数据后,才会开始网络参数的优化。在优化过程中,算法会在经验回放池中随机抽取一个批次大小的数据来进行参数更新。使用经验回放这个技巧,满足了马尔科夫决策过程对数据独立同分布的需求,也扩充了数据量。
15.(3)、待经验回放池数据存储达到上限,采用gru单元的值函数分解算法对智能体进行训练;
16.(4)、最终将训练好的智能体放入环境中进行交互,再把交互的结果与传统的算法进行对比,进行分析;分析完成后,比较差异性和稳定性;得出基于博弈论的auv水下集群攻防优化方法获得更优的结果。
17.算法采用gru单元的值函数分解算法对智能体进行训练,给智能体引入记忆,以便更好的获取对于环境的知识。其整体运行框架如图2所示。
18.算法允许智能体在训练的时候可以共享观测空间并去共同优化一个全局值函数q
total
(s,a)。考虑到智能体在运行的时候由于局部观测的局限,并没有办法获得全局的状态,虽然优化了q
total
(s,a),却无法使用。于是算法假设全局值函数可以被近似分解为每个智能体的单独值函数之和:
[0019][0020]
因此,在环境中的每个智能体都拥有其独自的值函数,智能体可以根据自己局部观测来进行决策。这种值函数分解的方法旨在从团队的奖励信号中去学习最优的线性价值分解,通过优化q
total
(s,a)反向传播梯度给每个分量的值函数。每个智能体学习的值函数只依赖于自身的局部观察,因此可以更容易学习,并且可以单独部署智能体。
[0021]
以两个智能体为例给出说明:
[0022][0023]
只需要通过神经网络去优化q
total
(s,a),就可以通过梯度的反向传播就可以更新qi,并通过最大化q
total
(s,a)来选择联合动作。
[0024]
值函数分解算法的网络结构还是基于dqn,包括其目标网络。在传统的强化学习算法中,算法都会给每个状态-动作对分配一个q表,智能体则在q表中遍历,选择值最大的状态-动作对来进行更新。但随着状态空间和动作空间的增大,q表的维护和遍历会有着十分巨大的耗时。于就选择采用值函数近似的方法来近似q值,这就是dqn算法。
[0025]
q(s,a;θ)≈q
*
(s,a)
[0026]
θ是神经网络的相关参数,q
*
(s,a)是神经网络需要去近似拟合的最佳动作值函数。
[0027]
所以损失函数可以表示为:
[0028][0029]
n为batchsize的大小,为目标网络。为了进一步加快收敛速度,本文还引入了目标网络。目标网络在一开始的结构和网络参数θ-和dqn是一模一样的,只是在训练期间,dqn的网络参数θ会随着时间一直更新,而目标网络的参数θ-会每隔c步才会从dqn那边将参数复制过来。这样的好处是可以将目标网络在一段时间内固定下来,避免出现目标网络和原本来网络同时更新导致难以收敛的情况,也在一定程度上降低了算法的相关性。
[0030]
将经验回放池和gru单元一起与值函数分解算法结合,具体步骤如下:
[0031]
(3-1)、全局初始化,初始化经验回放池m,容量设置为n,初始化q网络,使用随机参数初始化θ,初始化targetq网络,令θ-=θ;
[0032]
(3-2)、获取每一个智能体的局部观察空间oi,根据ε-greedy策略,选择一个动作执行动作反馈给智能体奖励值r
t
和下一个状态s
t+1

[0033]
(3-3)、经验回放数组存储(s
t
,a
t
,r
t
,s
t+1
);
[0034]
(3-4)、当经验回放数组数据存储完毕,随机抽取一个批次大小的数据量对算法进行优化,通过与dqn算法相同的方式进行更新;
[0035]
(3-5)、每c步将网络参数θ复制给θ-,c的取值范围根据经验值来取,范围是10-200,;
[0036]
(3-6)、判断是否到达最大迭代数,若是,算法结束;若不是,则重复步骤(3-4),直到算法结束。
[0037]
本发明的有益效果:1、本发明的方法采用的gru单元相较于传统的lstm循环神经网络,结构更加简单,运算速度较快,加快了程序运行速度。
[0038]
2、采用的值函数分解算法,介于完全分布式和完全集中式算法之间,是一种集中训练分布执行的值分解算法,该算法考虑到智能体只能通过自己的局部观察来实现决策,而不能从整体上去考虑的局限,于是便放宽对智能体的限制,允许智能体在训练的时候可以共享观测空间并去共同优化一个全局值函数,进而有效解决了训练后的智能体表现消极的情形。
附图说明
[0039]
图1为改进算法流程图;
[0040]
图2改进算法整体运行框架;
[0041]
图3为经验回放池结构;
[0042]
图4为改进算法神经网络结构;
[0043]
图5为改进算法更新流程图。
具体实施方式
[0044]
整个方法的具体实施方案主要分为四个部分:环境模型建立、经验回放池进行数据填充、值函数算法进行迭代优化和测试。
[0045]
一种基于博弈论的auv水下集群攻防优化方法,包括如下步骤:
[0046]
(1)、根据情景建立二维围捕或对抗模拟环境框架;
[0047]
(2)、让智能体与模拟环境进行实时交互产生数据,将产生的数据存入经验回放池直至填满;
[0048]
(3)、待经验回放池数据存储达到上限,采用gru单元的值函数分解算法对智能体进行训练;
[0049]
(4)、最终将训练好的智能体放入环境中进行交互,再把交互的结果与传统的算法进行对比,进行分析;分析完成后,比较差异性和稳定性;得出基于博弈论的auv水下集群攻防优化方法获得更优的结果。
[0050]
上述步骤(1)中二维围捕和对抗环境框架,采用栅格法将智能体工作的空间分割为网格,智能体收集到的信息会反映在网格上,然后根据网格的连同状态来确定所要到达的目标网格的最优路径。
[0051]
如图3所示,上述步骤(2)中的经验回放池,是在程序中建立一个容量为n的双向数组来存取智能体与环境交互时产生的数据(s
t
,a
t
,r
t
,s
t+1
),被称为经验回放数组。在数组收集完足够的数据后,才会开始网络参数的优化。在优化过程中,算法会在经验回放池中随机抽取一个批次大小的数据来进行参数更新。使用经验回放这个技巧,满足了马尔科夫决策过程对数据独立同分布的需求,也扩充了数据量。
[0052]
随后采用gru单元的值函数分解算法对智能体进行训练,给智能体引入记忆,以便更好的获取对于环境的知识。算法允许智能体在训练的时候可以共享观测空间并去共同优化一个全局值函数q
total
(s,a)。考虑到智能体在运行的时候由于局部观测的局限,并没有办法获得全局的状态,虽然优化了q
total
(s,a),却无法使用。于是算法假设全局值函数可以被近似分解为每个智能体的单独值函数之和:
[0053][0054]
因此,在环境中的每个智能体都拥有其独自的值函数,智能体可以根据自己局部观测来进行决策。这种值函数分解的方法旨在从团队的奖励信号中去学习最优的线性价值分解,通过优化q
total
(s,a)反向传播梯度给每个分量的值函数。每个智能体学习的值函数只依赖于自身的局部观察,因此可以更容易学习,并且可以单独部署智能体。
[0055]
以两个智能体为例给出说明:
[0056][0057]
只需要通过神经网络去优化q
total
(s,a),就可以通过梯度的反向传播就可以更新qi,并通过最大化q
total
(s,a)来选择联合动作。
[0058]
如图4、5所示,值函数分解算法的网络结构还是基于dqn,包括其目标网络。在传统的强化学习算法中,算法都会给每个状态-动作对分配一个q表,智能体则在q表中遍历,选择值最大的状态-动作对来进行更新。但随着状态空间和动作空间的增大,q表的维护和遍历会有着十分巨大的耗时。于就选择采用值函数近似的方法来近似q值,这就是dqn算法。
[0059]
q(s,a;θ)≈q
*
(s,a)
[0060]
θ是神经网络的相关参数,q
*
(s,a)是神经网络需要去近似拟合的最佳动作值函数。
[0061]
所以损失函数可以表示为:
[0062][0063]
n为batchsize的大小,为目标网络。为了进一步加快收敛速度,本文还引入了目标网络。目标网络在一开始的结构和网络参数θ-和dqn是一模一样的,只是在训练期间,dqn的网络参数θ会随着时间一直更新,而目标网络的参数θ-会每隔c步才会从dqn那边将参数复制过来。这样的好处是可以将目标网络在一段时间内固定下来,避免出现目标网络和原本来网络同时更新导致难以收敛的情况,也在一定程度上降低了算法的相关性。
[0064]
如图1所示,将经验回放池和gru单元一起与值函数分解算法结合,具体步骤如下:
[0065]
(1)全局初始化,初始化经验回放池m,容量设置为n,初始化q网络,使用随机参数初始化θ,初始化targetq网络,令θ-=θ;
[0066]
(2)算法获取每一个智能体的局部观察空间oi,根据ε-greedy策略,选择一个动作执行动作反馈给智能体奖励值r
t
和下一个状态s
t+1

[0067]
(3)经验回放数组存储(s
t
,a
t
,r
t
,s
t+1
)。
[0068]
(4)当经验回放数组数据存储完毕,随机抽取一个批次大小的数据量对算法进行
优化,通过与dqn相同的方式进行更新。
[0069]
(5)每c步将网络参数θ复制给θ-;。
[0070]
(6)判断是否到达最大迭代数,若是,算法结束;若不是,则重复步骤(4),直到算法结束。
[0071]
本发明未尽事宜为公知技术。
[0072]
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1