CN113095463A - 一种基于进化强化学习的机器人对抗方法 - Google Patents

一种基于进化强化学习的机器人对抗方法 Download PDF

Info

Publication number
CN113095463A
CN113095463A CN202110351009.7A CN202110351009A CN113095463A CN 113095463 A CN113095463 A CN 113095463A CN 202110351009 A CN202110351009 A CN 202110351009A CN 113095463 A CN113095463 A CN 113095463A
Authority
CN
China
Prior art keywords
strategy
algorithm
value
net
network
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
CN202110351009.7A
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.)
Nankai University
Original Assignee
Nankai University
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 Nankai University filed Critical Nankai University
Priority to CN202110351009.7A priority Critical patent/CN113095463A/zh
Publication of CN113095463A publication Critical patent/CN113095463A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Feedback Control In General (AREA)

Abstract

本发明公开了一种基于进化强化学习的机器人对抗方法,包括:构建基于深度强化学习的机器人对抗策略;所述对抗策略为深度确定性策略梯度算法DDPG;结合进化算法与所述对抗策略,形成进化深度确定性策略梯度算法EDDPG;利用算法DDPG和算法EDDPG训练后的策略网络模型作为控制器,控制机器人与由基于威胁指数的对抗策略控制的机器人进行对抗。该方法考虑使用进化强化学习方法,它是深度强化学习与进化思想的结合,其中,深度强化学习方法无需建模,可以实现对机器人端到端的控制,且具有一定的泛化能力,能够有效解决现有方法存在的问题,进化思想则利用种群提高强化学习的探索能力和稳定性。

Description

一种基于进化强化学习的机器人对抗方法
技术领域
本发明涉及机器人对抗技术领域,特别涉及一种基于进化强化学习的机器人对抗方法。
背景技术
机器人对抗是一类以机器人为载体、在特定规则下以战胜对手为目标的零和博弈问题。考虑到机器人本体的运动学与动力学特性,机器人对抗本质上是一类微分博弈问题,其求解难度极高。当前的理论方法仅仅能解决一些简单模型的微分博弈问题,机器人对抗理论方法与技术仍然亟待新的突破。
针对机器人对抗问题,现有的方法主要分为微分对策和人工智能两类,微分对策的方法能够通过建立并求解微分方程得到机器人对抗策略的解析解,然而,它们的建模过程非常复杂,且无泛化能力,只能适用于特定的简单环境;人工智能的方法则往往难以直接处理机器人的连续控制问题,需要依赖先验知识或其它的底层控制方法,探索能力较差。
发明内容
基于上述问题,本发明提出了一系列无需建模且具有一定泛化能力的基于进化强化学习的机器人对抗方法及系统,可在自定义的复杂环境下进行了求解。
本发明实施例提供一种基于进化强化学习的机器人对抗方法,包括:
构建基于深度强化学习的机器人对抗策略;所述对抗策略为深度确定性策略梯度算法DDPG;
结合进化算法与所述对抗策略,形成进化深度确定性策略梯度算法 EDDPG;
利用算法DDPG和算法EDDPG训练后的策略网络模型作为控制器,控制机器人与由基于威胁指数的对抗策略控制的机器人进行对抗。
在一个实施例中,所述算法DDPG采用Actor-Critic架构,其中,策略网负责采取动作,与环境进行交互,值网负责从交互数据中进行学习,并对策略的好坏进行评价。
在一个实施例中,所述算法DDPG包括:
策略网的输入为机器人对抗过程中的某一时刻双方机器人的相对状态st,输出为本方机器人在当前时刻采取的动作at
环境通过运动学前向模拟推算出下一时刻双方机器人的相对状态st+1并计算出本方机器人在当前状态采取当前动作所获得的回报rt
所述算法DDPG将每一条交互数据以四元组(st;at;rt;st+1)的形式存储在经验池R中;在每次训练前,进行一次蓄水池采样,从R中随机抽取N条(st;at; rt;st+1)数据用于更新神经网络,这N条数据称为一个迷你批。
在一个实施例中,所述算法DDPG采用Adam优化方法。
在一个实施例中,所述算法DDPG的对抗过程包括:
根据当前策略和探索噪声选择动作:
at=μ(stμ)+Nt (1)
执行动作at,表示t时刻的动作;观察回报rt和新的状态st+1,并将数据(st;at; rt;st+1)存入R中;Nt表示随机过程N在t时刻输出的噪声;μ(stμ)表示策略网μ在状态st下输出的动作,θμ为策略网μ的参数;
如果此时R中的数据还不够一个迷你批的大小,则继续采集数据;否则,从R中随机抽取N条(st;at;rt;st+1)数据用于神经网络的更新;
时间差分TD目标中的值函数由目标值网络给出,同时值函数中的动作也由目标策略网络给出;
TD目标设置为:
yi=ri+γQ'(si+1,μ'(si+1|θμ')|θQ') (2)
yi表示第i条TD目标;ri表示第i个回报;γ表示折扣因子;
Q′(si+1,μ′(si+1μ′)|θQ′)表示目标值网Q′在状态si+1,动作μ′(si+1μ′)下输出的值;动作μ′(si+1μ′)表示目标策略网μ′在状态si+1下输出的动作,θμ′表示目标策略网μ′的参数,θQ′表示目标值网Q′的参数;
随后根据如下loss更新值网:
Figure RE-GDA0003054465420000031
L表示loss函数;N表示迷你批大小;yi表示TD目标;Q(si,aiQ)表示值网Q在状态si,动作ai下输出的值;θQ表示值网Q的参数;
利用样本对应的值网取值对策略网的参数进行链式求导,根据采样梯度更新策略网的公式如下:
Figure RE-GDA0003054465420000032
Figure RE-GDA0003054465420000033
Figure RE-GDA0003054465420000034
表示优化目标J沿策略网μ参数θμ方向的梯度;
Figure RE-GDA0003054465420000035
表示值网Q在状态s为si,动作a为μ(si)时沿动作a方向的梯度;μ(si)表示策略网μ在状态si下输出的动作,θQ表示值网Q的参数;
Figure RE-GDA0003054465420000036
表示策略网μ在状态s为si时沿其参数θμ方向的梯度,θμ为策略网μ的参数,θμ为策略网μ的参数;
每轮以一个很小的权重τ更新目标网,公式如下:
θQ′←τθQ+(1-τ)θQ′ (6)
θμ′←τθμ+(1-τ)θμ′ (7)
θQ′表示目标值网Q′的参数;τ表示目标网更新权重;θQ表示值网Q的参数;θμ′表示目标策略网μ′的参数;θμ表示策略网μ的参数;
结束本轮交互,如果对抗还没有分出胜负或达到最大的时间步长,则继续进行下一轮交互,否则结束本次迭代,开始下一轮对抗。
在一个实施例中,所述算法EDDPG包括:
策略网模块,用于负责采取动作,与环境模块进行交互;
值网模块,用于负责从经验池模块的交互数据中进行学习,并对策略的好坏进行评价;
经验池模块,用于获得环境模块发送的交互数据并存储;
环境模块,用于与策略网种群模块进行交互,并将交互数据发送给经验池模块;
策略网种群模块,所述策略网模块使用零均值的高斯噪声改变神经网络的权重,从而产生下一代策略,形成策略网种群模块。
在一个实施例中,所述算法EDDPG的具体步骤,包括:
进化算法与强化学习步骤:EDDPG从两次迭代之间的经验中学习;
数据重用步骤:EDDPG从进化种群流向DDPG学习者中心机制的信息保存在经验池中,并让强化学习策略网和值网使用强大的基于梯度的方法反复地从它们中学习;
临时信用分配步骤:经验池是由个体收集的经验填充的,状态分布也偏向于具有较高累计回报的区域;
多元化探索步骤:使用OU过程的加入噪声版本的策略网为经验池生成了额外的经验;相对于通过在参数空间中加入噪声进行探索的策略网,强化学习策略网通过在其动作空间中加入噪声进行探索;
强化学习与进化算法步骤:将强化学习策略网学到的策略注入到种群中,不断更新种群策略的机制。
在一个实施例中,EDDPG从两次迭代之间的经验中学习,包括:
对于每一个策略网,在每一次迭代中的每一个时间步,EDDPG均将元组定义的每个策略网的经验存储在经验池中;所述元组包括:当前状态、动作、下一个状态和回报;
值网从这个经验池中随机抽取一个迷你批,并利用它使用梯度下降法来更新自己的参数;
然后利用值网和迷你批一起使用采样策略梯度法来训练强化学习策略网。
本发明实施例提供的一种基于进化强化学习的机器人对抗方法,该方法考虑使用进化强化学习方法,它是深度强化学习与进化思想的结合,其中,深度强化学习方法无需建模,可以实现对机器人端到端的控制,且具有一定的泛化能力,能够有效解决现有方法存在的问题,进化思想则利用种群提高强化学习的探索能力和稳定性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例提供的基于进化强化学习的机器人对抗方法的流程图。
图2为本发明实例提供的DDPG的原理示意图。
图3为本发明实施例提供的DDPG的数据利用关系示意图。
图4为本发明实施例提供的EDDPG的原理示意图。
图5a为值网络的结构示意图。
图5b为策略网网络的结构示意图。
图6为本发明实施例提供的DDPG的损失曲线图。
图7为本发明实施例提供的EDDPG的损失曲线图。
图8为本发明实施例提供的DDPG的值曲线图。
图9为本发明实施例提供的EDDPG的值曲线图。
图10为本发明实施例提供的EDDPG与威胁指数的对抗轨迹图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明使用进化强化学习方法,它是深度强化学习与进化思想的结合,其中,深度强化学习方法无需建模,可以实现对机器人端到端的控制,且具有一定的泛化能力,能够有效解决现有方法存在的问题,进化思想则利用种群提高强化学习的探索能力和稳定性。
机器人对抗是一类以移动或飞行机器人为载体、以战胜对手为目标的零和博弈问题。这类问题的具体设置并没有统一的规定,在不同的研究中往往有所不同,但都是满足马尔科夫性的序贯决策问题,目标是从初始状态开始,在每一个时间状态下,给出一个最优的决策动作,从而形成一系列最优决策动作组成的序列,也就是机器人的最优控制器。
当判断一个问题是否可以利用强化学习的方法进行求解时,应当首先判断这个问题是否满足马尔科夫性。所谓马尔科夫性是指系统的下一个状态st+1仅与当前状态st有关,而与以前的状态无关,即状态st是马尔科夫的。
参照图1所示,为本发明实施例提供的一种基于进化强化学习的机器人对抗方法,包括:
S100、构建基于深度强化学习的机器人对抗策略;所述对抗策略为深度确定性策略梯度算法DDPG;
S200、结合进化算法与所述对抗策略,形成进化深度确定性策略梯度算法EDDPG;
S300、利用算法DDPG和算法EDDPG训练后的策略网络模型作为控制器,控制机器人与由基于威胁指数的对抗策略控制的机器人进行对抗。
该方法考虑使用进化强化学习方法,它是深度强化学习与进化思想的结合,其中,深度强化学习方法无需建模,可以实现对机器人端到端的控制,且具有一定的泛化能力,能够有效解决现有方法存在的问题,进化思想则利用种群提高强化学习的探索能力和稳定性。
下面对上述步骤进行详细的说明。
步骤S100中,DDPG算法采用Actor-Critic(AC)的架构,其中,策略网负责采取动作,与环境进行交互,值网负责从交互数据中进行学习,并对策略的好坏进行评价。具体来讲,策略网的输入为机器人对抗过程中的某一时刻双方机器人的相对状态st,输出为我方机器人在当前时刻采取的动作at,然后环境通过运动学前向模拟推算出下一时刻双方机器人的相对状态st+1并计算出我方机器人在当前状态采取当前动作所获得的回报rt,这是策略网与环境进行交互的过程。
DDPG算法还借鉴了DQN算法的经验回放技术,将每一条交互数据以四元组(st;at;rt;st+1)的形式存储在经验池R中。由于在深度学习中,要求训练神经网络所用的数据满足独立同分布原则,而R中的数据是按照时间的先后顺序存储的,具有很强的相关性,所以在每次训练前,我们都进行一次蓄水池采样,从R中随机抽取N条(st;at;rt;st+1)数据用于更新神经网络,这N条数据称为一个迷你批,上述结构如图2所示。
在神经网络的更新过程中,优化算法和学习率等因素都会对训练产生较大影响,不过已经有很多自适应的优化方法可以缓解超参数难以设置的问题,例如Adadelta,Adagrad,Adam,ASGD,RMSprop和SGD等。
DDPG算法采用的是Adam优化方法,它是一种改进的基于梯度下降的方法,在每次迭代过程中神经网络的参数的学习率都有一个限制范围,不会因为梯度很大而导致更新步长过大,从而提高更新过程的稳定性。
首先给出DDPG算法中数据的利用关系,如图3所示,可以清晰地看出各个模块的映射关系以及数据在各个模块之间的流通顺序。DDPG算法借鉴了 DQN算法中独立的目标网络,与DQN算法不同的是,由于DDPG算法采用的是AC的架构,其需要设置独立的值目标网络以及独立的策略目标网络,因此,在与环境进行交互前,我们需要首先随机初始化值网Q(s,a|θQ)和策略网μ(s|θμ),然后用相同的参数初始化它们的目标网Q′和μ′,最后初始化经验池R。
在做完上述准备工作之后,我们便可以开始一次迭代,即本文问题中完整的一轮对抗。前文中R的大小就是总的迭代次数与每轮交互的最大步长的乘积,以保证能够容纳全部对抗数据。首先初始化一个随机过程N用于动作的探索,在DDPG算法的原始论文中,N是一个Ornstein-Uhlenbeck(OU)过程,它是一个适用于惯性物体控制问题的时间相关的随机过程,由于本文采用的运动学模型并不是惯性模型,因此在本文中N是一个高斯过程,可以在每一时刻产生一个高斯白噪声,其次我们还需要保存此次迭代的初始状态s1,然后开始一轮交互。
首先根据当前策略和探索噪声选择动作:
at=μ(stμ)+Nt (1)
执行动作at,观察回报rt和新的状态st+1,并将数据(st;at;rt;st+1)存入R 中;如果此时R中的数据还不够一个迷你批的大小,则继续采集数据,先不进行后续流程;否则,从R中随机抽取N条(st;at;rt;st+1)数据用于神经网络的更新。值网络的更新与DQN算法中的类似,只不过由于同时采用了AC架构和独立的目标网络,时间差分(Temporal-Difference,TD)目标中的值函由目标值网络给出,同时值函数中的动作也由目标策略网络给出,因此,TD目标设置为:
yi=ri+γQ'(si+1,μ'(si+1μ')|θQ') (2)
yi表示第i条TD目标;ri表示第i个回报;γ表示折扣因子;
Q′(si+1,μ′(si+1μ′)|θQ′)表示目标值网Q′在状态si+1,动作μ′(si+1μ′)下输出的值;动作μ′(si+1μ′)表示目标策略网μ′在状态si+1下输出的动作,θμ′表示目标策略网μ′的参数,θQ′表示目标值网Q′的参数;
随后根据如下loss更新值网:
Figure RE-GDA0003054465420000091
L表示loss函数;N表示迷你批大小;yi表示TD目标;Q(si,aiQ)表示值网Q在状态si,动作ai下输出的值;θQ表示值网Q的参数;
由于策略网的好坏是由值网来评价的,所以策略网的更新应该向着可以使在当前状态下根据策略网采取动作对应的值网取值增大的方向进行,即利用样本对应的值网取值对策略网的参数进行链式求导,根据采样梯度更新策略网的公式如下:
Figure RE-GDA0003054465420000092
Figure RE-GDA0003054465420000093
Figure RE-GDA0003054465420000094
表示优化目标J沿策略网μ参数θμ方向的梯度;
Figure RE-GDA0003054465420000095
表示值网Q在状态s为si,动作a为μ(si)时沿动作a方向的梯度;μ(si)表示策略网μ在状态si下输出的动作,θQ表示值网Q的参数;
Figure RE-GDA0003054465420000096
表示策略网μ在状态s为si时沿其参数θμ方向的梯度,θμ为策略网μ的参数,θμ为策略网μ的参数;
然后更新目标网,此处借鉴了DQN算法中目标网的更新方法—softupdate,与DQN算法中每隔几轮更新一次目标网的方法不同的是,DDPG算法中每轮以一个很小的权重τ更新目标网,不过二者都是为了缓慢地更新目标网,公式如下:
θQ′←τθQ+(1-τ)θQ′ (6)
θμ′←τθμ+(1-τ)θμ′ (7)
θQ′表示目标值网Q′的参数;τ表示目标网更新权重;θQ表示值网Q的参数;θμ′表示目标策略网μ′的参数;θμ表示策略网μ的参数;
最后结束本轮交互,如果对抗还没有分出胜负或达到最大的时间步长,则继续进行下一轮交互,否则结束本次迭代,开始下一轮对抗。
步骤S200中,强化学习普遍存在三个核心问题:一是具有长期视野和稀疏回报时回报分配的问题。在很多实际问题中,只有在一系列动作之后才能得到回报,此时很难将动作与回报关联起来。在机器人对抗问题中,我们已经设置了立即回报,但是它并不是由终止回报分配而来,因此终止回报的影响较小,没有起到应有的作用;二是缺乏有效的探索。对于具有高维动作和状态空间的问题,强化学习容易缺乏有效的探索,过早地收敛到局部最优。机器人对抗问题的动作和状态空间都是连续的,具有无穷高的维度,因此也存在这一问题;三是具有对超参数极其敏感的脆弱收敛性。强化学习,尤其是使用经验池来存储和重用过去经验的异策略深度强化学习,其收敛性对超参数的选择非常敏感。经验池是实现高效采样学习的一个重要组成部分,但将其与一个深度非线性函数逼近器相匹配会导致极其脆弱的收敛性,上述使用的DDPG算法就是一种异策略深度强化学习方法,该步骤S200可在于提高其稳定性。
针对上述问题,我们首先想到的就是进化的方法。它使用适应值来整合整个事件的回报,适用于解决具有长期视野和稀疏回报的问题;其基于种群的特点还具有支持多样化探索的优势;而且种群中固有的冗余可以促进鲁棒性和稳定的收敛性,特别是当与精英策略相结合的时候。这三点进化算法的优势正好可以解决强化学习的三个核心问题。进化算法也存在着自己的劣势,它具有较高的样本复杂度,难以解决需要优化大量参数的问题;还无法利用梯度下降法,因此学习效率远远低于深度强化学习。但它的劣势又恰好是深度强化学习所擅长的,因此结合这两种方法能够提高算法的表现。
通过结合进化算法与DDPG算法,提出了进化深度确定性策略梯度 (EvolutionaryDeep Deterministic Policy Gradient,EDDPG)算法。EDDPG算法继承了进化算法使用适应值进行度量的能力,采用一组不同的策略来为DDPG 智能体提供多样化的训练数据,也保留了基于种群方法的稳定性,并周期性地将DDPG智能体插入种群,为进化算法注入梯度信息。而DDPG智能体使用由进化种群生成的经验集。最大限度地从个体经验中提取信息,从而提高了样本的效率。其原理如图4所示。
EDDPG算法的一般流程是用随机权重初始化一个actor网络的种群。而后,在一次迭代内与环境进行交互来评估actor的种群。每个个体的适合度为其在该次迭代内的所有时间步中获得的回报的累加和。其次,以相对适应度为概率选择种群中的一部分个体进行生存。然后,以神经网络的层为单位对种群中的actor进行交叉操作。最后,种群中的actor使用零均值的高斯噪声改变他们神经网络的权重,从而产生下一代actor。选择部分相对适应度最高的策略网作为精英保留下来,并且不受突变步骤的影响。在这项工作中,进化算法中的每个个体表示一个深度神经网络。突变表示对这些神经网络权重(基因)的随机扰动。这里使用的进化框架与进化的神经网络密切相关,通常被称为神经进化。
进化深度确定性策略梯度的具体步骤,包括如下:
进化算法→强化学习:到目前为止,这个过程让人想到了标准的进化算法,但与进化算法不同的是,进化算法只在两次迭代之间使用粗糙的反馈信号 (适应度)来学习,而EDDPG则从两次迭代之间的经验中学习。对于每一个策略网,在每一次迭代中的每一个时间步,EDDPG都将元组(当前状态、动作、下一个状态、回报)定义的每个策略网的经验存储在经验池中。值网从这个经验池中随机抽取一个迷你批,并利用它使用梯度下降法来更新自己的参数。然后利用值网和迷你批一起使用采样策略梯度法来训练强化学习策略网。这类似于DDPG的学习过程,只是经验池可以访问整个种群的经验。
数据重用:经验池是使信息从进化种群流向DDPG学习者的中心机制。与从这些经验中提取适应度并立即忽略它们的标准进化算法相反,EDDPG将它们保存在经验池中,并让强化学习策略网和值网使用强大的基于梯度的方法反复地从它们中学习。该机制允许从每个个体的经验中提取最大的信息,从而提高样本效率。
临时信用分配:由于适应值反映了个体在一次迭代范围内的回报,因此选择操作也倾向于选择累计回报较高的个体。由于经验池是由这些个体收集的经验填充的,因此状态分布也偏向于具有较高累计回报的区域。这是一种隐式优先级的形式,有利于带来具有更高长期回报的经验,对于解决具有长期视野和稀疏回报的问题更加有效。从具有这种状态分布的经验池中学习的强化学习学习者倾向于优化策略以获得更高的累计回报。
多元化探索:使用OU过程的加入噪声版本的策略网为经验池生成了额外的经验。相对于通过在参数空间中加入噪声进行探索的策略网,强化学习策略网通过在其动作空间中加入噪声进行探索。这两个过程相辅相成,共同产生有效的探索策略,能够更好地探索策略空间。
强化学习→进化算法:周期性地,强化学习策略网的权重被复制到不断进化的策略网种群中,这一过程称为同步。同步的频率控制着从强化学习学习者到进化种群的信息流。这是使进化框架能够直接利用通过梯度下降学习到的信息的核心机制。将强化学习策略网学到的策略注入到种群中的过程也有助于稳定学习并使其更稳定。如果强化学习策略网学到的策略是好的,那么它将被选择生存下来,并将其影响扩展到后代。如果强化学习策略网学到的策略是差的,那么它将被丢弃。这种机制确保从强化学习策略网到进化种群的信息流是建设性的,而不是破坏性的。这有助于解决具有稀疏回报和局部极小值的问题,而基于梯度的方法很容易受到这些问题的影响。
EDDPG算法的具体步骤如算法1所示,从以下伪代码来看其与DDPG算法的区别主要有三点:一是在初始化阶段,除了AC框架中的策略网和值网以及它们对应的目标网络,还设置了一个策略网种群,种群中的每个个体都是与 AC框架中的策略网结构完全相同策略网;二是在采集数据阶段,种群中的每个个体都独立地与环境进行交互,还额外计算各自的适应值;三是在更新阶段,种群采用进化的方法进行更新,并且每隔几次迭代用AC架构中的策略网替换掉种群中适应值最小的策略网。
Figure RE-GDA0003054465420000131
其中,评估函数evaluate(μ,R,noise,ξ)如算法2所示:
Figure RE-GDA0003054465420000141
最后,步骤S300中,利用算法DDPG和算法EDDPG训练后的策略网络模型作为控制器,控制机器人与由基于威胁指数的对抗策略控制的机器人进行对抗。
下面通过仿真实验来说明本发明的技术方案所到达的效果:
仿真设置:
神经网络设置:一共涉及到了4个值网络,分别为DDPG算法中AC框架的值网及其目标网和EDDPG算法中强化学习部分的值网及其目标网。由于目标网需要拷贝值网的参数,所以它们的结构必须相同,同时,为了公平地对比DDPG与EDDPG两种算法,它们的值网也采用相同的结构,因此,这4 个值网络的结构均相同,如图5a所示。
由图5a可知,值网络是包含两个隐藏层的全连接前向神经网络。其中,第一个隐藏层含有400个节点,将输入层4维的状态量和两维的动作量映射为400维的张量,第二个隐藏层含有300个节点,将第一个隐藏层输出的400 维张量映射至300维,最后经过加权平均和偏置操作得到1维的Q。
与值网类似,策略网也包括DDPG算法中AC框架的策略网及其目标网和EDDPG算法中强化学习部分的策略网及其目标网这4个网络,不过除此之外,EDDPG算法的种群中还包括k个策略网,由于强化学习的策略网会周期性地替换种群中的策略网,它们也需要具有相同的结构,如图5b所示。
策略网也是包含两个隐藏层的全连接前向神经网络。其中,第一个隐藏层将输入层4维的状态量映射为400维的张量,第二个隐藏层将第一个隐藏层输出的400维张量映射至300维,最后经过加权平均和偏置操作得到2维的动作量a。
训练和测试过程设置:定义机器人对抗问题的终止条件,包括出界和进入死亡区两种情况,然而,在实际训练和测试的过程中,会出现双方机器人对抗时间过长甚至由于状态出现周期而导致对抗永远无法终止的情况。为此,我们设置最大对抗步长为600步,即最长对抗时间为60秒(机器人的决策周期为 0.1秒),既能使大部分对抗产生胜负结果,又不会拖累训练和测试过程。
为了证明本发明实施例所采用的DDPG算法能够解决机器人对抗问题,以及说明在此基础上结合了进化算法得到的EDDPG能够提高DDPG的稳定性这一改进,本仿真实验从训练过程中的损失曲线和Q值曲线两个方面对这两种算法进行了比较,还对训练后的模型进行了测试,对部分对抗轨迹进行了简要分析。
1、训练过程的损失曲线对比
损失曲线即以迭代次数为自变量,以损失函数在每次迭代的取值为因变量绘制的曲线。损失函数是用来衡量当前神经网络的输出与目标输出差异的函数,对于某一次迭代来说,损失函数的值就是根据当前迷你批计算出的目标输出的平均值与当前迷你批中状态对应的网络输出的平均值的差异值,其负梯度方向便是神经网络的更新方向。损失曲线是用来评价神经网络训练过程好坏最为主要的曲线,我们可以根据它的走势判断神经网络的性能是越来越好还是越来越差等信息。
在某次训练过程中DDPG的损失曲线如图6所示,其中横坐标为迭代次数,取前100代,纵坐标为神经网络的损失值,较为水平的代表值网的损失曲线,波动曲线代表策略网的损失曲线。值网的损失曲线的初始值就很小,且迅速收敛到了0附近,说明它对策略网的评价一直都是比较准确的,然而策略网的损失曲线不但在前期出现了上升,还抖动地十分剧烈,说明其阶段性地出现了更新方向与更新目标背道而驰的现象,且训练过程不够稳定,但同时在曲线中也存在着阶段性的下降,说明其具备学习的能力。
作为对比,EDDPG的损失曲线如图7所示。
其值网的损失曲线与DDPG中的相似,但其策略网的损失曲线与DDPG 中的相比有了很大改进,在训练的全过程中持续下降,且抖动非常微弱,说明其策略网更新的稳定性得到了增强,同时,由于策略网的功能是为机器人提供对抗策略,这也说明了机器人的策略随着迭代的进行得到了平稳的改进。
2、训练过程的值曲线对比
值曲线中的“值”指的是值网的输出,在AC框架中,值网的作用是评价策略网的好坏,因此我们也可以通过值网的输出与迭代次数的关系曲线来评价策略网的表现,对于DDPG与EDDPG两种算法,我们分别绘制了其在某三次训练过程中的值曲线图,为了便于观察,我们绘制的是每10次迭代取一个关键点连接而成的折线图,其中DDPG的值曲线如图8所示。
在第一次训练过程中,值曲线在第70次迭代和第90次迭代处出现了两次下降,但整体呈现出了上升的趋势;在第二次训练过程中,值曲线在前20次迭代下降而后一直呈上升趋势;在第三次训练过程中,值曲线只在第20次迭代处出现了上升,整体呈下降趋势,100次迭代后值低于初始值。综上,DDPG 在多数情况下能够通过训练取得进步,不过存在波动,方差在0.1左右,在少数情况下学习比较困难。
作为对比,EDDPG的值曲线如图9所示。
这三次训练的初始状态设置与DDPG是完全相同的,值曲线在这三次训练的过程中均未出现下降,且波动较小,方差在0.03左右,这也说明了EDDPG 的稳定性优于DDPG。
3、测试过程的对抗轨迹对比
在测试过程中我们主要观察DDPG和EDDPG模型的实际对抗效果,如图10所示为我们选择的两个不同的EDDPG模型在同一初始位置与威胁指数对抗的轨迹图,一个曲线代表EDDPG的轨迹,另一个曲线代表威胁指数的轨迹,在左图中,EDDPG先是与威胁指数互相靠近,而后通过转向操作战胜了威胁指数;在右图中,EDDPG与威胁指数由于超时而战平,但其已被置尾,处于劣势,DDPG模型与威胁指数的对抗轨迹与之相似。
我们还测试对比了DDPG和EDDPG分别与威胁指数进行对抗的胜率,取各自前100次迭代得到的最优模型在随机初始位置与威胁指数对抗100盘进行测试,DDPG的胜率为70%,EDDPG的胜率为83%,虽然还不能100%战胜威。
本发明实施例,针对微分对策方法的建模过程复杂、无泛化能力的问题,首先采用了无需建模且具有一定泛化能力的深度强化学习方法——DDPG算法,并对其基本原理和网络设置进行了介绍,但是在训练的过程中,发现它的稳定性比较差,在每次训练时具有较大的方差,为此,本发明提出了深度强化学习的进化方法——EDDPG算法,详细说明了其与DDPG算法相比的改进之处,利用多组测试计算了其在训练过程中的方法并与DDPG算法进行了比较,在本章的仿真部分,尽可能的给出了神经网络和其他参数的详细设置,分别利用DDPG算法和EDDPG算法训练后的策略网络模型作为控制器,控制机器人与由基于威胁指数的对抗策略控制的机器人进行对抗,对比分析了它们的对抗轨迹并测试了它们的胜率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (8)

1.一种基于进化强化学习的机器人对抗方法,其特征在于,包括:
构建基于深度强化学习的机器人对抗策略;所述对抗策略为深度确定性策略梯度算法DDPG;
结合进化算法与所述对抗策略,形成进化深度确定性策略梯度算法EDDPG;
利用算法DDPG和算法EDDPG训练后的策略网络模型作为控制器,控制机器人与由基于威胁指数的对抗策略控制的机器人进行对抗。
2.如权利要求1所述的一种基于进化强化学习的机器人对抗方法,其特征在于,所述算法DDPG采用Actor-Critic架构,其中,策略网负责采取动作,与环境进行交互,值网负责从交互数据中进行学习,并对策略的好坏进行评价。
3.如权利要求2所述的一种基于进化强化学习的机器人对抗方法,其特征在于,所述算法DDPG包括:
策略网的输入为机器人对抗过程中的某一时刻双方机器人的相对状态st,输出为本方机器人在当前时刻采取的动作at
环境通过运动学前向模拟推算出下一时刻双方机器人的相对状态st+1并计算出本方机器人在当前状态采取当前动作所获得的回报rt
所述算法DDPG将每一条交互数据以四元组(st;at;rt;st+1)的形式存储在经验池R中;在每次训练前,进行一次蓄水池采样,从R中随机抽取N条(st;at;rt;st+1)数据用于更新神经网络,这N条数据称为一个迷你批。
4.如权利要求3所述的一种基于进化强化学习的机器人对抗方法,其特征在于,所述算法DDPG采用Adam优化方法。
5.如权利要求4所述的一种基于进化强化学习的机器人对抗方法,其特征在于,所述算法DDPG的对抗过程包括:
根据当前策略和探索噪声选择动作:
at=μ(stμ)+Nt (1)
执行动作at,表示t时刻的动作;观察回报rt和新的状态st+1,并将数据(st;at;rt;st+1)存入R中;Nt表示随机过程N在t时刻输出的噪声;μ(stμ)表示策略网μ在状态st下输出的动作,θμ为策略网μ的参数;
如果此时R中的数据还不够一个迷你批的大小,则继续采集数据;否则,从R中随机抽取N条(st;at;rt;st+1)数据用于神经网络的更新;
时间差分TD目标中的值函数由目标值网络给出,同时值函数中的动作也由目标策略网络给出;
TD目标设冒为:
yi=ri+γQ′(si+1,μ′(si+1μ′)|θQ′) (2)
yi表示第i条TD目标;ri表示第i个回报;γ表示折扣因子;
Q′(si+1,μ′(si+1μ′)|θQ′)表示目标值网Q′在状态si+1,动作μ′(si+1μ′)下输出的值;动作μ′(si+1μ′)表示目标策略网μ′在状态si+1下输出的动作,θμ′表示目标策略网μ′的参数,θQ′表示目标值网Q′的参数;
随后根据如下loss更新值网:
Figure RE-FDA0003054465410000021
L表示loss函数;N表示迷你批大小;yi表示TD目标;Q(si,aiQ)表示值网Q在状态si,动作ai下输出的值;θQ表示值网Q的参数;
利用样本对应的值网取值对策略网的参数进行链式求导,根据采样梯度更新策略网的公式如下:
Figure RE-FDA0003054465410000022
Figure RE-FDA0003054465410000023
Figure RE-FDA0003054465410000024
表示优化目标J沿策略网μ参数θμ方向的梯度;
Figure RE-FDA0003054465410000031
表示值网Q在状态s为si,动作a为μ(si)时沿动作a方向的梯度;μ(si)表示策略网μ在状态si下输出的动作,θQ表示值网Q的参数;
Figure RE-FDA0003054465410000032
表示策略网μ在状态s为si时沿其参数θμ方向的梯度,θμ为策略网μ的参数,θμ为策略网μ的参数;
每轮以一个很小的权重τ更新目标网,公式如下:
θQ′←τθQ+(1-τ)θQ′ (6)
θμ′←τθμ+(1-τ)θμ′ (7)
θQ′表示目标值网Q′的参数;τ表示目标网更新权重;θQ表示值网Q的参数;θμ′表示目标策略网μ′的参数;θμ表示策略网μ的参数;
结束本轮交互,如果对抗还没有分出胜负或达到最大的时间步长,则继续进行下一轮交互,否则结束本次迭代,开始下一轮对抗。
6.如权利要求1所述的一种基于进化强化学习的机器人对抗方法,其特征在于,所述算法EDDPG包括:
策略网模块,用于负责采取动作,与环境模块进行交互;
值网模块,用于负责从经验池模块的交互数据中进行学习,并对策略的好坏进行评价;
经验池模块,用于获得环境模块发送的交互数据并存储;
环境模块,用于与策略网种群模块进行交互,并将交互数据发送给经验池模块;
策略网种群模块,所述策略网模块使用零均值的高斯噪声改变神经网络的权重,从而产生下一代策略,形成策略网种群模块。
7.如权利要求6所述的一种基于进化强化学习的机器人对抗方法,其特征在于,所述算法EDDPG的具体步骤,包括:
进化算法与强化学习步骤:EDDPG从两次迭代之间的经验中学习;
数据重用步骤:EDDPG从进化种群流向DDPG学习者中心机制的信息保存在经验池中,并让强化学习策略网和值网使用强大的基于梯度的方法反复地从它们中学习;
临时信用分配步骤:经验池是由个体收集的经验填充的,状态分布也偏向于具有较高累计回报的区域;
多元化探索步骤:使用OU过程的加入噪声版本的策略网为经验池生成了额外的经验;相对于通过在参数空间中加入噪声进行探索的策略网,强化学习策略网通过在其动作空间中加入噪声进行探索;
强化学习与进化算法步骤:将强化学习策略网学到的策略注入到种群中,不断更新种群策略的机制。
8.如权利要求3所述的一种基于进化强化学习的机器人对抗方法,其特征在于,EDDPG从两次迭代之间的经验中学习,包括:
对于每一个策略网,在每一次迭代中的每一个时间步,EDDPG均将元组定义的每个策略网的经验存储在经验池中;所述元组包括:当前状态、动作、下一个状态和回报;
值网从这个经验池中随机抽取一个迷你批,并利用它使用梯度下降法来更新自己的参数;
然后利用值网和迷你批一起使用采样策略梯度法来训练强化学习策略网。
CN202110351009.7A 2021-03-31 2021-03-31 一种基于进化强化学习的机器人对抗方法 Pending CN113095463A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110351009.7A CN113095463A (zh) 2021-03-31 2021-03-31 一种基于进化强化学习的机器人对抗方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110351009.7A CN113095463A (zh) 2021-03-31 2021-03-31 一种基于进化强化学习的机器人对抗方法

Publications (1)

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

Family

ID=76672274

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110351009.7A Pending CN113095463A (zh) 2021-03-31 2021-03-31 一种基于进化强化学习的机器人对抗方法

Country Status (1)

Country Link
CN (1) CN113095463A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113706197A (zh) * 2021-08-26 2021-11-26 西安交通大学 基于强化和模仿学习的多微网电能交易的定价策略及系统
CN113868115A (zh) * 2021-08-30 2021-12-31 天津大学 基于多目标优化与深度强化学习的游戏软件自动测试方法
CN114492677A (zh) * 2022-04-06 2022-05-13 中国科学院自动化研究所 一种无人机对抗方法及装置
CN117806364B (zh) * 2023-12-22 2024-05-28 华中科技大学 航行器路径跟踪控制器的对抗学习架构、控制方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108764054A (zh) * 2018-04-27 2018-11-06 厦门大学 基于生成式对抗网络的机器人书写书法的方法
CN108803321A (zh) * 2018-05-30 2018-11-13 清华大学 基于深度强化学习的自主水下航行器轨迹跟踪控制方法
CN110909859A (zh) * 2019-11-29 2020-03-24 中国科学院自动化研究所 基于对抗结构化控制的仿生机器鱼运动控制方法、系统
CN111667513A (zh) * 2020-06-01 2020-09-15 西北工业大学 一种基于ddpg迁移学习的无人机机动目标跟踪方法
CN112052456A (zh) * 2020-08-31 2020-12-08 浙江工业大学 基于多智能体的深度强化学习策略优化防御方法
CN112241176A (zh) * 2020-10-16 2021-01-19 哈尔滨工程大学 一种水下自主航行器在大尺度连续性障碍物环境中路径规划避障控制方法
CN112247962A (zh) * 2020-10-19 2021-01-22 中国科学技术大学 面向上肢穿戴机器人的人机博弈控制方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108764054A (zh) * 2018-04-27 2018-11-06 厦门大学 基于生成式对抗网络的机器人书写书法的方法
CN108803321A (zh) * 2018-05-30 2018-11-13 清华大学 基于深度强化学习的自主水下航行器轨迹跟踪控制方法
CN110909859A (zh) * 2019-11-29 2020-03-24 中国科学院自动化研究所 基于对抗结构化控制的仿生机器鱼运动控制方法、系统
CN111667513A (zh) * 2020-06-01 2020-09-15 西北工业大学 一种基于ddpg迁移学习的无人机机动目标跟踪方法
CN112052456A (zh) * 2020-08-31 2020-12-08 浙江工业大学 基于多智能体的深度强化学习策略优化防御方法
CN112241176A (zh) * 2020-10-16 2021-01-19 哈尔滨工程大学 一种水下自主航行器在大尺度连续性障碍物环境中路径规划避障控制方法
CN112247962A (zh) * 2020-10-19 2021-01-22 中国科学技术大学 面向上肢穿戴机器人的人机博弈控制方法及系统

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
《2020 CHINESE AUTOMATION CONGRESS(CAC)》: "Robot Confrontation Based On Genetic Fuzzy System Guided Deep Deterministic Policy Gradient Algorithm", 《2020 CHINESE AUTOMATION CONGRESS(CAC)》 *
YUE LI等: "Deep Reinforcement Learning With Application to Air Confrontation Intelligent Decision-Making of Manned/Unmanned Aerial Vehicle Cooperative System", 《IEEE ACCESS》 *
YUNHONG MA等: "Strategy Generation Based on Reinforcement Learning with Deep Deterministic Policy Gradient for UCAV", 《2020 16TH INTERNATIONAL CONFERENCE ON CONTROL,AUTOMATION,ROBOTICS AND VISION(ICARCV)》 *
姚昊迪: "多机器人对抗中的信息处理与决策方法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
王冰洁 等: "基于DDPG的仿人形机器人仿真研究", 《万方平台》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113706197A (zh) * 2021-08-26 2021-11-26 西安交通大学 基于强化和模仿学习的多微网电能交易的定价策略及系统
CN113868115A (zh) * 2021-08-30 2021-12-31 天津大学 基于多目标优化与深度强化学习的游戏软件自动测试方法
CN113868115B (zh) * 2021-08-30 2024-04-16 天津大学 基于多目标优化与深度强化学习的游戏软件自动测试方法
CN114492677A (zh) * 2022-04-06 2022-05-13 中国科学院自动化研究所 一种无人机对抗方法及装置
CN114492677B (zh) * 2022-04-06 2022-07-12 中国科学院自动化研究所 一种无人机对抗方法及装置
CN117806364B (zh) * 2023-12-22 2024-05-28 华中科技大学 航行器路径跟踪控制器的对抗学习架构、控制方法和装置

Similar Documents

Publication Publication Date Title
CN113095463A (zh) 一种基于进化强化学习的机器人对抗方法
Miikkulainen et al. Computational intelligence in games
Shih et al. On the critical role of conventions in adaptive human-ai collaboration
Emilio et al. Pac-mAnt: Optimization based on ant colonies applied to developing an agent for Ms. Pac-Man
Tang et al. A review of computational intelligence for StarCraft AI
WO2022247791A1 (zh) 一种基于机器学习的棋类自学习方法及装置
Wise et al. Interactive cognitive maps support flexible behavior under threat
Adamsson Curriculum learning for increasing the performance of a reinforcement learning agent in a static first-person shooter game
Liu et al. An improved minimax-Q algorithm based on generalized policy iteration to solve a Chaser-Invader game
Dahl The lagging anchor algorithm: Reinforcement learning in two-player zero-sum games with imperfect information
Lew Modeling go game as a large decomposable decision process
Zhou et al. AI Coach for Battle Royale Games
Kim et al. LESSON: learning to integrate exploration strategies for reinforcement learning via an option framework
Engelsvoll et al. Generating levels and playing Super Mario Bros. with deep reinforcement learning using various techniques for level generation and deep q-networks for playing
Domínguez-Estévez et al. Training Pac-Man bots using reinforcement learning and case-based reasoning.
Liu et al. Multiagent reinforcement learning with regret matching for robot soccer
Suzue Adaptive NPC Behavior In Maze Chase Game Using Genetic Algorithms
Feng et al. Self-organizing neural networks for behavior modeling in games
Adhikari Co-evolving Distributed Control for Heterogeneous Agents in RTS Games
Flimmel et al. Coevolution of AI and Level Generators for Super Mario Game
Ben-Iwhiwhu Neuromodulated networks for lifelong learning and adaptation
Leece Learning Hierarchical Abstractions from Human Demonstrations for Application-Scale Domains
West Self-play deep learning for games: Maximising experiences
Brown Safe and efficient inverse reinforcement learning
Groot Kormelink Comparison of Exploration Methods for Connectionist Reinforcement Learning in the game Bomberman

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210709

RJ01 Rejection of invention patent application after publication