一种基于PPO算法的强化学习智能体训练方法技术

技术编号:29676345 阅读:19 留言:0更新日期:2021-08-13 21:58
本发明专利技术公开了一种基于PPO算法的强化学习智能体训练方法,包括仿真配置管理、训练环境配置、超参选择PPO算法、智能体训练、训练结果分析、模型生成。本发明专利技术的有益效果是:所搭建的平台可以解析环境的关键信息,提供自动模型生成功能,根据环境中各智能体状态空间和动作空间的特性、数据类型、以及仿真环境提供的“得分”,自动地选择系统内置的深度网络模型来表达策略模型和价值函数模型,支持离散、连续、图像、不定长列表等类型的输入数据,也支持离散和连续的动作类型。模型由平台自动生成,无需人为调整和设置。

【技术实现步骤摘要】
一种基于PPO算法的强化学习智能体训练方法
本专利技术涉及一种智能体训练方法,具体为一种基于PPO算法的强化学习智能体训练方法,属于智能体训练

技术介绍
强化学习就是学习“做什么”才能使得数值化的收益信号最大化。学习者需要在探索的过程中,通过自己的尝试去发现哪些动作会产生最丰厚的收益。在实际案例中,动作往往影响的不仅仅是即时收益,也会影响下一个情境,从而影响随后的收益。这两个特征,试错和延迟收益,是强化学习两个最重要最显著的特征。强化学习和现在机器学习领域中广泛使用的有监督学习和无监督学习不同,其中,有监督学习是从外部监督者提供的带标注训练集中进行学习。每一个样本都是关于情境和标注的描述。但是在标注问题中,我们不可能获得在所有情境下既正确又有代表性的动作示例。在一个未知领域,若想收益最大,智能体必须要从自身的经验中学习。强化学习也和机器学习中的无监督学习不同,无监督学习是一个典型的寻找未标注数据中隐藏结构的过程,有些人可能会认为强化学习也是一种无监督学习,因为它不依赖于每个样本所对应的正确行为(即标注),但强化学习的目的是最大化收益信号,而不是找出数据的隐藏结构。通过智能体的经验揭示其结构在强化学习中当然是有益的,但是并不能解决最大化收益信号的强化学习问题。强化学习带来了一个独有的挑战,“试探”和“开发”之间的折中权衡。为了获取大量收益,强化学习智能体一定会更喜欢那些在过去为它有效产生过收益的动作。但为了发现这些动作,往往需要在环境中尝试从未选择过的动作。智能体必须开发已有的经验来获取收益,同时也要进行试探,使未来可以获得更好的动作选择空间。基于此,本申请提出一种基于PPO算法的强化学习智能体训练方法。
技术实现思路
本专利技术的目的就在于为了解决问题而提供一种基于PPO算法的强化学习智能体训练方法。本专利技术通过以下技术方案来实现上述目的:一种基于PPO算法的强化学习智能体训练方法,包括以下步骤:步骤一、仿真配置管理,构建仿真平台的IP端口及区间,根据仿真IP及端口启动仿真系统;步骤二、训练环境配置,训练环境包括了智能体所需要的想定场景、环境、军队类型等作战信息。通过对于训练环境的配置来构建不同的作战场景,智能体会根据不同的想定以及环境来做出不同的反应;步骤三、超参选择PPO算法,利用贝叶斯优化、PBT等技术,选择强化学习的PPO算法,在训练过程中自动调节超参数,同时,支持手工配置算法与超参数;步骤四、智能体训练,环境类是用户问题和平台之间的接口,其基类为单智能体环境和多智能体环境;通过环境类,平台可以获取用户问题的相关信息,也可以控制用户问题中的智能体,与环境进行交互;步骤五、训练结果分析,根据训练结果获得的数据值,绘制折线图进行分析;步骤六、模型生成,根据用户指定的环境以及使用算法,自动地生成深度神经网络模型。作为本专利技术再进一步的方案:所述步骤二中,训练环境配置还包括代码编辑功能,面对不同的想定提供不同的代码模板,通过提交模版内的代码,修改状态空间的值等信息来达到控制智能体在环境内的学习情况。并且训练环境里还提供了想定同步的功能,与仿真平台的想定环境达成一致。作为本专利技术再进一步的方案:所述步骤三中,采用贝叶斯技术优化问题包括以下四个部分:目标函数:模型使用该组超参数在验证集上的损失;域空间:要搜索的超参数的取值范围;优化算法:构造替代函数并选择下一个超参数值进行评估的方法;结果历史记录:来自目标函数评估的存储结果,包括超参数和验证集上的损失。作为本专利技术再进一步的方案:所述步骤三中,采用PBT技术包括以下步骤:对模型训练一步,至于一步是一次迭代还是一个epoch(开创的)还是其它可以根据需要指定;评估,在验证集上做评估;准备,选取群体中的一个模型来进行下面的exploit(利用)和explore(探索)操作。这个模型一般是上次做过该操作后经过指定的时间(或迭代次数等);Exploit(利用),将那些经过评估比较差的模型用那些比较好的模型替代;Explore(探索),对上一步产生的复制体模型加随机扰动,如加上随机值或重采样。作为本专利技术再进一步的方案:所述步骤四中,用户需将其希望求解的强化学习问题封装成环境基类的派生类,并根据实际问题实现下列关键接口。关键接口包括Env.reset():环境初始化方法;Env.step():环境与智能体交互的方法;Env.observation_space:成员变量,环境中智能体的观测空间;Env.action_space:成员变量,环境中智能体的动作空间。其中,Env.step():用来执行智能体与环境的交互,并产生反馈。用法:<Observations>,<Rewards>,<Done>,<Info>=env.step(<Actions>)其中:<Actions>:智能体执行的动作;<Observations>:智能体执行动作之后获得的新的状态(观测);<Rewards>:智能体执行动作之后获得的奖励。<Done>:智能体执行动作之后的停止状态,当任务结束即环境终止时返回True<Info>:其他信息内部执行逻辑:step()定义了MDP中的转移函数P和奖励函数R。应该执行以下步骤:a)获取动作:解析<Actions>,获得所有智能体在当前时间点意图执行的动作;b)智能体与环境的交互:令所有智能体执行其动作,并令环境处理这些动作。交互会产生:-智能体所处的新状态(观测)<Observations>:这一步对应于MDP中的转移函数P:S×A→S或P:S×A×S→[0,1];-智能体获得的奖励<Rewards>:这一步对应于MDP中的奖励函数R:S×A×S→{R}。c)输出反馈:输出<Observations>和<Rewards>。输入和输出的格式定义:a)单智能体环境:<Observations>::=<AgentObservation>,<Actions>::=<AgentAction>,<Rewards>::=<AgentReward>,<Done>::=<AgentDone>,<Info>::=<AgentInfo>b)多智能体环境:<Actions>::={<AgentName>:<AgentAction>,...}<O本文档来自技高网
...

【技术保护点】
1.一种基于PPO算法的强化学习智能体训练方法,其特征在于:包括以下步骤:/n步骤一、仿真配置管理,构建仿真平台的IP端口及区间,根据仿真IP及端口启动仿真系统;/n步骤二、训练环境配置,训练环境包括了智能体所需要的想定场景、环境、军队类型等作战信息,通过对于训练环境的配置来构建不同的作战场景,智能体会根据不同的想定以及环境来做出不同的反应;/n步骤三、超参选择PPO算法,利用贝叶斯优化、PBT技术,选择强化学习的PPO算法,在训练过程中自动调节超参数,同时,支持手工配置算法与超参数;/n步骤四、智能体训练,环境类是用户问题和平台之间的接口,其基类为单智能体环境和多智能体环境;通过环境类,平台可以获取用户问题的相关信息,也可以控制用户问题中的智能体,与环境进行交互;/n步骤五、训练结果分析,根据训练结果获得的数据值,绘制折线图进行分析;/n步骤六、模型生成,根据用户指定的环境以及使用算法,自动地生成深度神经网络模型。/n

【技术特征摘要】
1.一种基于PPO算法的强化学习智能体训练方法,其特征在于:包括以下步骤:
步骤一、仿真配置管理,构建仿真平台的IP端口及区间,根据仿真IP及端口启动仿真系统;
步骤二、训练环境配置,训练环境包括了智能体所需要的想定场景、环境、军队类型等作战信息,通过对于训练环境的配置来构建不同的作战场景,智能体会根据不同的想定以及环境来做出不同的反应;
步骤三、超参选择PPO算法,利用贝叶斯优化、PBT技术,选择强化学习的PPO算法,在训练过程中自动调节超参数,同时,支持手工配置算法与超参数;
步骤四、智能体训练,环境类是用户问题和平台之间的接口,其基类为单智能体环境和多智能体环境;通过环境类,平台可以获取用户问题的相关信息,也可以控制用户问题中的智能体,与环境进行交互;
步骤五、训练结果分析,根据训练结果获得的数据值,绘制折线图进行分析;
步骤六、模型生成,根据用户指定的环境以及使用算法,自动地生成深度神经网络模型。


2.根据权利要求1所述的一种基于PPO算法的强化学习智能体训练方法,其特征在于:所述步骤二中,训练环境配置还包括代码编辑功能,面对不同的想定提供不同的代码模板,通过提交模版内的代码,修改状态空间的值等信息来达到控制智能体在环境内的学习情况;
并且训练环境里还提供了想定同步的功能,与仿真平台的想定环境达成一致。


3.根据权利要求1所述的一种基于PPO算法的强化学习智能体训练方法,其特征在于:所述步骤三中,采用贝叶斯技术优化问题包括以下四个部分:
目标函数:模型使用该组超参数在验证集上的损失;
域空间:要搜索的超参数的取值范围;
优化算法:构造替代函数并选择下一个超参数值进行评估的方法;
结果历史记录:来自目标函数评估的存储结果,包括超参数和验证集上的损失。


4.根据权利要求1所述的一种基于PPO算法的强化学习智能体训练方法,其特征在于:所述步骤三中,采用PBT技术包括以下步骤:
对模型训练一步,至于一步是一次迭代还是一个epoch还是其它可以根据需要指定;
评估,在验证集上做评估;
准备,选取群体中的一个模型来进行下面的exploit和explore操作;这个模型一般是上次做过该操作后经过指定的时间或迭代次数;
Exploit,将那些经过评估比较差的模型用那些比较好的模型替代;
Explore,对上一步产生的复制体模型加随机扰动,如加上随机值或重采样。


5.根据权利要求1所述的一种基于PPO算法的强化学习智能体训练方法,其特征在于:所述步骤四中,用户需将其希望求解的强化学习问题封装成环境基类的派生类,并根据实际问题实现下列关键接口;
关键接口包括
Env.reset():环境初始化方法;
Env.step():环境与智能体交互的方法;
Env.observation_space:成员变量,环境中智能体的观测空间;
Env.action_space:成员变量,环境中智能体的动作空间;
其中,Env.step():用来执行智能体与环境的交互,并产生反馈;
用法:
<Observations>,<Rewards>,<Done>,<Info>=env.step(<Actions>)
其中:
<Actions>:智能体执行的动作;
<Observations>:智能体执行动作之后获得的新的状态(观测);
<Rewards>:智能体执行动作之后获得的奖励;
<Done>:智能体执行动作之后的停止状态,当任务结束即环境终止时返回True
<Info>:其他信息
内部执行逻辑:
step()定义了MDP中的转移函数P和奖励函数R,应该执行以下步骤:
a)获取动作:解析<Actions>,获得所有智能体在当前时间点意图执行的动作;
b)智能体与环境的交互:令所有智能体执行其动作,并令环境处理这些动作;
交互会产生:
-智能体所处的新状态(观测)<Observations>:这一步对应于MDP中的转移函数P:S×A→S或P:S×A×S→[0,1];
-智能体获得的奖励<Rewards>:这一步对应于MDP中的奖励函数R:S×A×S→{R};
c)输出反馈:输出<Observations>和<Rewards>
输入和输出的格式定义:
a)单智能体环境:
<Observations>::=<AgentObservation>,
<Actions>::=<AgentAction>,
<Rewards>::=<AgentReward>,
<Done>::=<AgentDone>,
<Info>::=<AgentInfo>
b)多智能体环境:
<Actions>::={<AgentName>:<AgentAction>,...}
<Observations>::={<AgentName>:<AgentObservation>,...}
<Rewards>::={<AgentName>:<AgentReward>,...}
<Done>::={<AgentName>:<AgentDone>,...}
<Info>::={<AgentName>::=<AgentInfo>,...}
其中:
<Actions>:表示智能体执行的动作,对每一个由<AgentName>指定的智能体,给出由<AgentAction>指定的动作;
<Observations>:表示智能体执行的所处的状态或对其所处状态的观测,对每一个由<AgentNa...

【专利技术属性】
技术研发人员:伊山燕玉林刘晓光王锐华路越李禾杨洲
申请(专利权)人:中国人民解放军军事科学院评估论证研究中心
类型:发明
国别省市:北京;11

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

1