基于适合度轨迹的神经网络强化学习方法及系统与流程

文档序号:17327523发布日期:2019-04-05 21:53阅读:444来源:国知局
基于适合度轨迹的神经网络强化学习方法及系统与流程

本发明涉及机器学习技术领域,更具体地,涉及一种基于适合度轨迹的神经网络强化学习方法及系统。



背景技术:

强化学习在人工智能领域包括工业生产、电梯调度、路径规划方面越多的得到运用,可以用来解决随机性或不确定性动态系统最优化这些决策类问题,随着强化学习的发展及各方面应用的扩展,需要的结合的技术和算法也越来越多,此时经典的查表法就不能满足需求。因为传统的强化学习算法需要把state-action对应的值函数保存在表中,以进行查询,但是计算机的存储有限,在面对连续状态空间的问题值表法就无法存放这种大规模数量的值函数。

面对上述难题,较常用的方式是将连续空间分散成单个可分的状态集,使其能够有限的分散成有限的状态,然后使用经典的强化学习算法,但是这样会引起很多问题,例如离散化后的状态可能不再具有马尔科夫性质,引入无法直接观测到的隐含状态,同时可能导致强化学习不再具有马尔科夫性,这时候函数策略无法收敛,强化学习的学习能力变差。

同时神经网络逼近函数值的快慢以及是否是全局极值都是要解决的问题,现有的一些算法容易让强化学习陷入局部极值,无法得到最优决策,导致学习失败。

因此,有必要开发一种能够在无标记、无导师的情况下,有效率的得到最优决策序列的基于适合度轨迹的神经网络强化学习方法及系统。

公开于本发明背景技术部分的信息仅仅旨在加深对本发明的一般背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。



技术实现要素:

本发明提出了一种基于适合度轨迹的神经网络强化学习方法及系统,其能够通过径向基函数神经网络解决了强化学习面对连续状态空间的函数逼近问题,有效率的得到最优决策序列,实现算法目标。

根据本发明的一方面,提出了一种基于适合度轨迹的神经网络强化学习方法,所述神经网络强化学习方法包括:

初始化神经网络权值,强化学习参数及适合度轨迹;

检测获取当前环境状态和立即回报值;

计算强化学习的q值函数;

基于所述q值函数,获取所述适合度轨迹和更新所述神经网络权值;

检测新的环境状态和立即回报值;

所述新的环境状态和立即回报值满足结束条件,强化学习结束,不满足结束条件,返回重新检测获取所述当前环境状态和立即回报值。

优选地,所述计算强化学习的q值函数包括:

基于贪心策略,选择动作at施加到所述当前环境状态中;

基于隐含层的高斯核函数,计算强化学习的q值函数。

优选地,所述q值函数为:

式中,wo=[w1,w2...w25]t,为隐含层与输出层之间的权值矩阵;

为一个输出结点的激活函数;

s为当前状态;

x为输入向量;c为中心向量;

σ为宽度参数;b为偏差值;k为隐层神经元数目;j为输入信号的维度。

优选地,获取所述适合度轨迹和更新所述神经网络权值包括:

基于所述q值函数,计算所述适合度轨迹和误差信息;

基于所述适合度轨迹和误差信息,按照梯度下降法,依次计算第二层和第一层神经网络权值的误差,获取更新的所述神经网络权值。

优选地,所述适合度轨迹通过迭代计算获取:

e(t)=γλe(t-1)+at

式中,γ为折扣因子;

λ为衰减因子。

优选地,所述误差信息为:

εtd(t)=rt+γq(st+1,at+1)-q(st,at)

式中,rt为环境反馈给智能体的评价值。

优选地,所述更新的所述神经网络权值为:

δw(t)=ηεtd(t)e(t)=η[rt+γq(st+1,at+1)-q(st,at)]e(t)

式中,η为网络权值的学习率。

优选地,到时间步k,由神经元节点i链接到神经元节点j的权值修正值为:

式中,α为学习速率;

θ为一个输出结点的激活函数;

v为其中i为输入层节点索引;

w为权值向量;

x为输入向量。

优选地,在时间步t,引入所述适合度轨迹后神经元节点t连接到神经元节点j的权值修正为:

根据本发明的另一方面,提出了一种基于适合度轨迹的神经网络强化学习系统,所述神经网络强化学习系统包括:

存储器,存储有计算机可执行指令;

处理器,所述处理器运行所述存储器中的计算机可执行指令,执行以下步骤:

初始化神经网络权值,强化学习参数及适合度轨迹;

检测获取当前环境状态和立即回报值;

计算强化学习的q值函数;

基于所述q值函数,获取所述适合度轨迹和更新所述神经网络权值;

检测新的环境状态和立即回报值;

所述新的环境状态和立即回报值满足结束条件,强化学习结束,不满足结束条件,返回重新检测获取所述当前环境状态和立即回报值。

根据本发明的一种基于适合度轨迹的神经网络强化学习方法及系统,其优点在于:通过径向基函数神经网络解决了强化学习面对连续状态空间的函数逼近问题,同时引进的适合度轨迹,对经历过的状态动作正确的访问路径的有效保存,保证只有被访问过的状态-动作对会对q值函数的修改产生影响,提高神经网络的泛化性能,最后加快算法的收敛速度。

本发明的方法和系统具有其它的特性和优点,这些特性和优点从并入本文中的附图和随后的具体实施例中将是显而易见的,或者将在并入本文中的附图和随后的具体实施例中进行详细陈述,这些附图和具体实施例共同用于解释本发明的特定原理。

附图说明

通过结合附图对本发明示例性实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。

图1示出了根据本发明的一个示例性实施例的一种基于适合度轨迹的神经网络强化学习方法的步骤的流程图。

图2示出了根据本发明的一个示例性实施例的一种小车爬山的示意图。

图3示出了根据图二示例的学习过程曲线的示意图。

具体实施方式

下面将参照附图更详细地描述本发明。虽然附图中显示了本发明的优选实施例,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。

本发明提供了一种基于适合度轨迹的神经网络强化学习方法,该神经网络强化学习方法包括:

初始化神经网络权值,强化学习参数及适合度轨迹;

检测获取当前环境状态和立即回报值;

计算强化学习的q值函数;

基于q值函数,获取适合度轨迹和更新神经网络权值;

检测新的环境状态和立即回报值;

新的环境状态和立即回报值满足结束条件,强化学习结束,不满足结束条件,返回重新检测获取当前环境状态和立即回报值。

其中,智能体(是一个运行于动态环境中的具有较高自治能力的实体,即自治体,可以是系统、机器也可以是一个计算机软件程序等等,本文中就指该程序)接收当前环境状态和立即回报值,当前环境状态信息x=[x1,x2]作为径向基函数神经网络的输入进入输入层,x也就是程序的输入信息。

作为优选方案,计算强化学习的q值函数包括:

基于贪心策略,选择动作at施加到当前环境状态中;

基于隐含层的高斯核函数,计算强化学习的q值函数。

其中,选择合适的动作at作用于当前环境,强化学习智能体根据ε的值确定如何选择动作,当当前的ε大于初始值(如初始值为0.1时),则随机选取动作,ε值减小一个固定值(如0.05),当执行n次动作后ε值小于等于0.1时,则选择能使q值函数最大化的动作at,这样避免动作陷入局部最优,能够在初试学习时先进行试探,而后可以根据经验选取最优解。

其中,ε是一个参数,根据其大小选择不同的动作,可以根据经验设置。

作为优选方案,q值函数为:

式中,wo=[w1,w2...w25]t,为隐含层与输出层之间的权值矩阵;

为一个输出结点的激活函数;

s为当前状态;

x为输入向量;c为中心向量;

σ为宽度参数;b为偏差值;k为隐层神经元数目;j为输入信号的维度。

通过神经网络的输入和权值进行计算,该计算主要集中在隐含层,隐含层的函数为高斯核函数,其中y即为q值函数。

y即yi,高斯核函数是yi公式中的一项。

作为优选方案,获取适合度轨迹和更新神经网络权值包括:

基于q值函数,计算适合度轨迹和误差信息;

基于适合度轨迹和误差信息,按照梯度下降法,依次计算第二层和第一层神经网络权值的误差,获取更新的神经网络权值。

对于施加到所述当前环境状态中合适的动作at,其中根据迭代计算适合度轨迹。

作为优选方案,适合度轨迹通过迭代计算获取为:

式中,γ为折扣因子;

λ为衰减因子(recencyfactor)。

适合度轨迹保存了输出梯度累积和的历史记录,通过适合度轨迹,保证每个输出只调整对它产生作用的权值,之前全部被访问过的state-action对权值w的产生的调整都会被储存e(t)在里,所以也就是说在每次迭代期,这种方法仅会更新所有之前涉及到的state-action对应的q值,而与未涉及的无关。

作为优选方案,误差信息为:

εtd(t)=rt+γq(st+1,at+1)-q(st,at)

式中,rt为环境反馈给智能体的评价值。

上式表示理论赢得到的q值函数q=rt+γq(st+1,at+1)与实际函数逼近得到的q值函数(q(st,at))的误差。

这个误差与每步适合度轨迹相乘就是神经网络连接权值的更新值。

作为优选方案,更新的所述神经网络权值为:

δw(t)=ηεtd(t)e(t)=η[rt+γq(st+1,at+1)-q(st,at)]e(t)

式中,η为网络权值的学习率。

则输出层到隐层的任意连接权值更新量为:其中,为输出节点的激活函数,在v处的导函数,而对于输入层节点到隐层节点的权值,在时间步t,获得的误差值为:rt+γq(st+1,at+1)-q(st,at),传播到时间步k的误差值为:ek=rt+γq(st+1,at+1)-q(st,at)λt-k,在第k个时间点,第三层神经元的局部梯度是:

作为优选方案,到时间步k,由神经元节点i链接到神经元节点j的权值修正值为:

式中,α为学习速率;

θ为一个输出结点的激活函数;

v为其中i为输入层节点索引;

w为权值向量;

x为输入向量。

则在时间步t,引入所述适合度轨迹后神经元节点t连接到神经元节点j的权值修正为:

观察动作施加到当前环境后的新状态st+1和立即回报值ri。

通过径向基函数神经网络解决了强化学习面对连续状态空间的函数逼近问题,同时引进的适合度轨迹,对经历过的状态动作正确的访问路径的有效保存,保证只有被访问过的状态-动作对会对q值函数的修改产生影响,提高神经网络的泛化性能,最后加快算法的收敛速度。

实施例

图1示出了根据本发明的一个示例性实施例的一种基于适合度轨迹的神经网络强化学习方法的步骤的流程图。

如图1所示,本实施例的一种基于适合度轨迹的神经网络强化学习方法,包括:

初始化神经网络权值,强化学习参数及适合度轨迹;

检测获取当前环境状态和立即回报值;

计算强化学习的q值函数;

基于q值函数,获取适合度轨迹和更新神经网络权值;

检测新的环境状态和立即回报值;

新的环境状态和立即回报值满足结束条件,强化学习结束,不满足结束条件,返回重新检测获取当前环境状态和立即回报值。

图2示出了根据本发明的一个示例性实施例的一种小车爬山的示意图。

如图2所示,为了验证算法的有效性,我们选取具有连续状态空间的小车爬山平台。图由两部分构成一个是山谷,一个是小车。该平台要达到的目的就是在小车不具有足够动力的情况下,如何给予小车合适的动作(施加力的大小和方向),通过左右移动达到最高点g。如果要达到山顶g点必然是通过使小车向左运动,提高小车动能,才能具有向右运动的能力。学习系统接收小车爬山这一环境的两个环境状态变量x和v,而且都是连续的,其中x的含义是小车运动过程中的水平位移,是有运动界限的;v的含义是car在水平方向的运动速度。由图可以看到,a点,s点,g点代表了山谷的不同位置也说明了界限,从左到右依次是-0.5,0.5和-1.2。小车在运动过程中受到的水平方向的施加力(代表小车的加速,匀速,或者减速)在这里取的是离散的三个常数值:+1,0,-1。该仿真平台运行过程中所具有的动力学特性如下:

其中,g=0.0025是与重力加速度相关的参数;u是动作控制的大小。状态空间满足:

{(x,v)∈r2|-1.2≤x≤0.5,-0.07≤v≤0.07}

该平台要验证算法有效性是通过缩短小车从谷底到最右山顶运动所需的时间来确定的,而且是在模型无关没有知识经验的情况下。由于小车爬山问题是一个确定性的问题,所以可以用马尔科夫过程建立模型,那其中反馈函数为:

本实验小车的初始化状态是x和v都取0,当然也可以取任意值。在学习实验过程中如果在条件允许内达到山顶或者超出条件所允许的步数也就是说学习时间过长,那该次尝试就结束,重新初始化整个环境,再次进行算法学习和迭代。学习系统是否有效以及性能如何是判断从开始到成功结束所需要的时间步来评判,算法越快越稳,则系统性能越好。采用matlab软件编辑程序,对小车爬山这一实例实施模拟,实验中所用到的神经网络的各层连接权值是在[-1,1]之间的任意值,α=0.05,η=0.01,γ=1,λ=0.5,σ=1,隐藏层数目m=25,采样周期为0.02s。

小车爬山是一个经典的用来检验证明强化学习算法在连续的状态空间下是否具有良好的泛化性能和学习能力的仿真平台,该平台不接受学习之外的任何导师经验,只通过自身观察状态空间的变化,获取信息。在学习实验过程中如果在条件允许内达到山顶,目标完成。如果超出条件所允许的步数例如3000,或者超出山谷的边界范围,那该次尝试就结束,重新初始化整个环境,再次进行算法学习和迭代。

图3示出了根据图二示例的学习过程曲线的示意图。

如图3所示,本实施例的算法经过10次左右的学习后,小车爬山的控制策略已经趋向于稳定的步数,即波动很小,同时经过计算可以在平均37步较短步数内达到山顶。相比较较早提出的actamerrl、knn-td,rfacon等算法分别需要:150,29,15次尝试学习次数,本发明提出的算法能够10次以内使小车快速达到顶点。

以上已经描述了本发明的实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的实施例。在不偏离所说明的实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1