基于进化算法的深度强化学习策略网络训练方法与流程

文档序号:15934204发布日期:2018-11-14 02:07阅读:413来源:国知局
本发明涉及深度强化学习
技术领域
,尤其涉及一种基于进化算法的深度强化学习策略网络训练方法。
背景技术
深度强化学习(deepreinforcementlearning)是一种融合了深度学习和强化学习,从而实现直接从感知到动作映射的全新算法。通过输入感知信息(比如视觉),然后通过深度神经网络直接输出动作,中间没有硬编码的过程。深度强化学习结合了深度神经网络和强化学习的优势,可以有效的求解智能体(agent)在高维复杂问题下的感知决策问题,是通用人工智能领域的前沿研究方向,具有广阔的应用前景。深度强化学习的关键是通过一个agent不断与环境进行交互来获得样本,从而训练一个深度策略网络,而目前对于深度强化学习策略网络的训练主要还是采用传统有监督的训练方法,即使用一组事先定义好的固定超参数配置作用于整个深度网络的训练周期,而获得这组固定超参数配置的方法主要有:1)网格搜索(gridsearch);2)随机搜索(randomsearch);3)贝叶斯等方法。传统有监督学习提供静态有标签的训练数据,训练集样本和测试集样本是同分布的,因此有监督学习是一个平稳的优化过程。而深度强化学习是通过agent的自身策略与环境的不断交互来获得训练样本,随着agent策略不断提升,从环境交互中获得的样本的分布也在不断发生变化,不断会有新的知识出现,因此深度强化学习是一个高动态非平稳的优化过程。由此可见,仍旧采用一组固定超参数作用于整个深度强化学习的优化过程显然并不合理,并且在前期为了获得这组超参数配置需要大量的调参工作和计算代价。技术实现要素:本发明的目的是提供一种基于进化算法的深度强化学习策略网络训练方法,针对深度强化学习策略网络训练过程中面临的高动态非平稳的特性,该训练方法可以依据当前策略网络所处的训练阶段和环境,自适应的调整自身当前的超参数配置,使得策略网络获得更好的训练,从而最终获得一个性能优异的策略网络。本发明的目的是通过以下技术方案实现的:一种基于进化算法的深度强化学习策略网络训练方法,包括:步骤s1、选取待优化超参数;步骤s2、初始化n个策略网络及其各自超参数以及交互的环境,设置进化算法的最大迭代次数为gen_max,单轮最大梯度优化次数为step_max;步骤s3、将n个策略网络与各自的环境进行交互,并依据各自当前的超参数进行梯度优化,进行策略提升,并记录当前轮梯度优化次数step,直到当前轮梯度优化次数达到step_max,step置零,进入步骤s4;步骤s4、对n个策略网络进行适应度评估后对n个策略网络及其超参数进行进化算法的相关操作,产生下一代的n个策略网络及其超参数,并记录代数gen,当gen小于gen_max,转至步骤s3;直至达到最大迭代次数gen_max,选出适应度最大的策略网络。由上述本发明提供的技术方案可以看出,可以在整个深度强化学习策略网络的训练优化过程中,依据策略网络所处状态和环境自适应的调整策略网络当前的超参数配置;无需前期大量繁琐的调参和训练过程,只需依据事先定义的各个超参数的取值范围进行随机初始化,即可自动开始策略网络的训练;在整个执行过程中无需人为干预,达到预设训练代数后,即可获得性能优异的策略网络,操作简单,用户体验好。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。图1为本发明实施例提供的一种基于进化算法的深度强化学习策略网络训练方法的流程图。具体实施方式下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。本发明实施例提供一种基于进化算法的深度强化学习策略网络训练方法,其可以在整个深度强化学习策略网络的训练优化过程中,依据策略网络所处状态和环境自适应的调整策略网络当前的超参数配置;无需前期大量繁琐的调参和训练过程,只需依据事先定义的各个超参数的取值范围进行随机初始化,即可自动开始策略网络的训练;在整个执行过程中无需人为干预,达到预设训练代数后,即可获得性能优异的策略网络,操作简单,用户体验好。在介绍上述方法之前先进行如下定义:以表示一个agent,也即一个策略网络,也即是进化算法中的一个个体,其中pi表示第i个策略网络,其中表示该策略网络当前采用的超参数配置向量其中n表示待调整的超参数个数,θi为第i个策略网络的权值,si为第i个策略网络的性能分数,即适应度值,p表示有n个策略网络(个体)组成的群体,p=[p1,p2,…,pn]。上述方法的流程如图1所示,其主要包括如下步骤:步骤s1、选取待优化超参数。本发明实施例中,所选取的待优化超参数为算法超参数,包括:全局学习率、衰减速率、动量系数与损失函数系数。不选取与策略网络结构和拓扑有关的超参数(例如滤波器的个数,卷积层的层数等)。从而避免训练过程中策略网络重启动问题,从而节省计算资源。示例性的,可以选取表1所示的超参数。超参数取值范围全局学习率[1e-41e-3]衰减速率[01]动量系数[1e-41e-5]表1超参数及其初始取值范围需要说明的是,本发明在后续的超参数自适应过程中,超参数的取值没有边界限制,表1设定的取值范围,仅用于超参数的初始化步骤。步骤s2、初始化n个策略网络及其各自超参数以及交互的环境,设置进化算法的最大迭代次数为gen_max,单轮最大梯度优化次数为step_max。本发明实施例中,以openai开源的a2c深度强化学习算法为基准算法,交互环境平台为openai开源的gym,选用的梯度优化算法为rmsprop。策略网络初始化,按照基准的a2c算法初始化n个策略网络和n个交互环境,n个策略网络分别依据上面的表1进行超参数的初始化。计算单轮最大梯度优化次数step_max,计算公式为:step_max=设定的梯度优化总次数÷gen_max。步骤s3、将n个策略网络与各自的环境进行交互,并依据各自当前的超参数进行梯度优化,进行策略提升并记录当前轮梯度优化次数step,直到当前轮梯度优化次数达到step_max,step置零,进入步骤s4;其中,表示的是n个策略网络的网络权值,rmsprop是一个梯度优化算法,rmsprop会依据当前的超参数配置,进行梯度的优化(也就是更新θi,可以称之为神经网络的训练,在强化学习里面也可称为策略提升)。本步骤为策略网络梯度优化训练,各个策略网络依据各自的策略网络模型和各自当前的超参数配置,并行的与环境进行交互,获得样本,进行梯度优化,直至梯度优化次数达到step_max,训练停止。步骤s4、对n个策略网络p进行适应度评估后对n个策略网络及其超参数进行进化算法的相关操作,产生下一代新的n个策略网络及其超参数,并记录代数gen,当gen小于gen_max,转至步骤s3;直至达到最大迭代次数gen_max,选出适应度最大的策略网络。本步骤中进化算法的相关操作包括:选择、交叉与变异三个部分(顺序执行);其中:1)选择:即选择一些个体生成下一代,常用的选择策略是依据个体的适应度大小,对群体p进行“概率采样”,生成下一代群体pnew,选择操作前后群体数量保持不变,个体被选择中的概率与其自身的适应度值成正比。本发明实施例中,以策略网络在环境中的性能评分作为适应度值,基于适应度值的大小按概率进行采样,从而性能评分较高的策略网络会有较高的概率保留下来,即所谓的“轮盘赌算法”(roulettewheelselection),其中第i个策略网络pi被选中的概率计算方式如下:上式中,s表示策略网络在环境中的性能评分,i,j为策略网络的序号。示例性的,假设n=10,10个策略网络记为[1,2,3,4,5,6,7,8,9,10],根据适应度大小进行概率采样,获得的群体pnew可能变为[2,2,3,4,5,6,6,6,9,10]。2)交叉:对经过选择后获得的群体pnew,随机的进行策略网络的两两配对。对于每一对策略网络中,一个作为父亲个体和另一个作为母亲个体,产生一个0-1之间的随机数r,若r>pc则进行交叉操作,随机生成一个交叉点index,通过下述式子将父亲母亲的超参数配置向量进行交叉,产生两个新的个体child1与child2,并以两个新的个体child1与child2替代相应的父亲个体与母亲个体;若r≤pc则不进行任何操作,这一过程体现了信息交流的思想;上式中,表示超参数配置向量,其下标表示超参数配置向量所属的个体;h为超参数配置向量中的元素,即具体的某个超参数,其上标对应于元素的序号,下标对应于元素所属的个体,n为待调整的超参数数量。3)变异:通过交叉生成新的个体后,新的个体超参数配置向量的每一个元素按照一定概率进行变异操作:对于新的个体的第k个超参数hk,随机生成一个0-1之间的随机数r,若r≤pm,则超参数hk进行变异,变异的方式是在一定范围内随机采样一个值;若r>pm,则不进行任何操作;变异操作表示为:如上式所示,如果满足变异条件,则在[hk*0.8,hk*1.2]这一范围内随机采样一个值。示例性的,假设群体规模为10,也即n=10,交叉概率为0.5,变异概率为0.1,最大迭代次数gen_max为300。如表2所示:表2超参数自适应操作相关设定当10个策略网络通过选择、交叉与变异操作后,获得新一代的10个策略网络以及通过自适应操作产生的新的超参数配置,各策略网络依据当前的超参数配置,继续并行的与环境进行交互,获得样本,进行梯度优化(即转入执行步骤s3)。在选择这一步中,依据适应度的大小,计算了每个策略网络被选中的概率,例如,依据选择操作描述中的概率计算公式,计算得到10个个体各自被选中的概率为[0.1,0.05,0.05,0.2,0.3,0.1,0.05,0.05,0.05,0.05],概率之和为1,将概率累加[0.1,0.15,0.2,,0.4,0.7,0.8,0.85,0.9,0.95,1];随机生成10(和种群规模一致)个随机数,按照落在的概率范围将对应的策略网络,保存到下一代;再按照前述方案进行后续交叉与变异操作。以上过程将迭代进行,直至达到最大代数,终止训练,10个策略网络中,适应度值最高的策略网络即为最终的深度策略网络。本领域技术人员可以理解,适应度的评估方式可以任务需求自己定义,例如在视频游戏中可以是游戏得分的高低,在机器人控制中可以是姿态流畅程度等。算法流程可以表示为:初始化:选取待优化的超参数;设置最大迭代次数为gen_max,单轮最大梯度优化次数为step_max;初始化n个策略网络,n个交互环境,于此同时随机初始化各自的超参数配置;初始化当前代数gen=0,单位当前梯度优化次数为step=0。当gen<=gen_max时:当step<=step_max时:各个策略网络按照当前自身的超参数配置,进行一次梯度优化;step=step+1对n个策略网络进行适应度评估;对n个策略网络及其超参数进行进化算法的相关操作;产生新一代的n个策略网络及其各自的超参数配置;gen=gen+1step=0输出适应度最高的策略网络通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1