CN104932267B - 一种采用资格迹的神经网络学习控制方法 - Google Patents

一种采用资格迹的神经网络学习控制方法 Download PDF

Info

Publication number
CN104932267B
CN104932267B CN201510304299.4A CN201510304299A CN104932267B CN 104932267 B CN104932267 B CN 104932267B CN 201510304299 A CN201510304299 A CN 201510304299A CN 104932267 B CN104932267 B CN 104932267B
Authority
CN
China
Prior art keywords
mrow
msub
mtd
neural network
mfrac
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.)
Active
Application number
CN201510304299.4A
Other languages
English (en)
Other versions
CN104932267A (zh
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.)
Shandong Haida Robot Technology Co ltd
Qufu Normal University
Original Assignee
Qufu Normal 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 Qufu Normal University filed Critical Qufu Normal University
Priority to CN201510304299.4A priority Critical patent/CN104932267B/zh
Publication of CN104932267A publication Critical patent/CN104932267A/zh
Application granted granted Critical
Publication of CN104932267B publication Critical patent/CN104932267B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Feedback Control In General (AREA)
  • Other Investigation Or Analysis Of Materials By Electrical Means (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)

Abstract

本发明公开了一种采用资格迹的神经网络学习控制方法,该采用资格迹的神经网络学习控制算法,将BP神经网络应用于强化学习,BP神经网络的模型拓扑结构包括输入层、隐层和输出层,运用资格迹,本方法把局部梯度从输出层传递到隐层,实现隐层权值的更新,能大大提高学习效率;在此基础上采用基于资格迹的残差梯度法,不仅对神经网络输出层进行权值更新,而且对隐层进行了优化权值更新,保证了BP神经网络在强化学习过程中良好的收敛性能。BP神经网络作为强化学习值函数拟合器,其输入层接收状态信息,依据BP神经网络输出层的输出值V和环境反馈的报酬值r,利用TD算法训练BP神经网络,Agent依据输出值V选取行为a,从而实现自适应控制。

Description

一种采用资格迹的神经网络学习控制方法
技术领域
本发明属于神经网络学习控制领域,具体涉及一种采用资格迹的神经网络学习控制方法。
背景技术
基于表格的强化学习方法,在未知环境中进行学习,表现出了极好的自适应能力。然而,这种方法只能解决状态空间和行为空间较小的问题。随着问题规模的增大,状态空间往往呈指数增加,“维数灾难”问题就显得尤为突出。采用表格法解决大规模问题,在离散空间中从状态到行为的映射需要精确对应,这样往往占用大量的内存空间。若将这一对应关系用连续函数代替,用函数值代替表格,则能够取得较好的效果。从状态空间到函数值的映射,其建立方法分为线性参数拟合方法和非线性参数拟合方法。由于进行理论分析相对简单,线性参数拟合方法常常应用于强化学习问题中。而非线性参数方法,在数据拟合方面也得到了广泛的应用。非线性参数拟合方法比较典型的工具是神经网络。神经网络具有较强的自适应能力和泛化性能,将神经网络与强化学习相结合,用神经网络代替表格,能够取得较好的效果。针对基于表格的强化学习,Sutton提出了瞬时差分TD(λ)方法,为每个访问状态设立一个资格迹,每执行一步更新,这步更新也向后传递若干步,使学习速度大大加快。针对TD(λ)方法,Dayan等证明了它的收敛性。Sutton提出了在连续状态空间中的瞬时差分法,并提出基于直接梯度法的资格迹方法。
将BP神经网络(BP neural networks,BPNN)运用于强化学习在国内外很多文献都有过介绍,但这些方法基本上采用单步更新。在学习过程中引入资格迹,能大大提高神经网络的训练效率,但是这就使得神经网络的训练过程,特别是神经网络隐层权值的更新,将变得更加复杂,基于拟合器的强化学习方法在学习过程中更新其权值,常用的方法有直接梯度法和残差梯度法。由于直接梯度法类似于监督学习中的最速下降法,这种方法学习速度较快,但是往往收敛性能不理想。而残差梯度法能够保证较好的收敛性,但是它的收敛速度非常缓慢。Baird提出了一种残差法,这种方法既能保证使用残差梯度法的收敛性,又确保使用直接梯度法的收敛速度,取得了良好的性能。然而,Baird只给出了输出层权值更新的计算方法,没有涉及隐层的情形。
发明内容
本发明的目的是根据现有基于神经网络强化学习过程中,存在效率不高和收敛速度慢的不足,结合资格迹方法提出了一种强化学习过程的多步更新的算法,并且在该算法中运用了一种改进的残差法,在神经网络的训练过程中将各层权值进行线性优化加权,既获得了直接梯度法的学习速度又获得了残差法的收敛性的一种采用资格迹的神经网络学习控制方法。
本发明具体采用如下技术方案:
一种采用资格迹的神经网络学习控制方法,将BP神经网络应用于强化学习,所述BP神经网络的模型拓扑结构包括输入层、隐层和输出层,运用资格迹,把局部梯度从输出层传递到隐层,实现隐层权值的更新,采用基于资格迹的残差梯度法,不仅对BP神经网络输出层权值更新,而且对隐层进行了优化权值更新,具体包括如下步骤:
S1.启动基于BP神经网络的强化学习过程,学习Agent在环境的交互中,不断获得评价性的反馈信息作为回报,再将回报值做加权累加,Agent在行为选择过程中,选择能够取得最大积累回报的行为作为其最优行为:
Agent在状态x∈X下的可执行行为记作a∈A,它从行为集合A中选择使Qπ(x,a)最大的行为作为其最优行为,Qπ(x,a)的定义如下:
Qπ(x,a)=E{rt+1+γrt+22rt+3+…|xt=x,at=x,π} (1)
其中:0<γ<1,
在问题模型未知的情形下,利用强化学习算法表示为:
Agent在每次迭代中更新Q(x,a)值,在多次迭代后Q(x,a)值收敛,在Q(x,a)值定义的基础上,V值定义如下:
在状态x下,求得当前最优策略为π*
S2.采用BP神经网络作为强化学习值函数拟合器,所述BP神经网络的输入层接收状态信息,依据BP神经网络的输出层的输出值V和环境反馈的报酬值r,利用TD算法训练BP神经网络,Agent依据输出值V选取行为a;
Agent从一个状态Xt进入另一个状态Xt+1,获取报酬值rt,在状态Xt下的函数值为V(Xt),V(Xt)用拟合函数表示,对于输入状态Xt,它的目标输出值为rt+γV(Xt+1),在更新过程中相应拟合函数的权值更新为:
其中,其中,w表示BP神经网络的权值向量;α表示权值更新系数,体现学习速率,其取值范围是:0<α≤1,向量X=[x1,x2,…,xi,…,xm]T为状态向量;X、Xt、Xk均为状态输入向量,向量Xt表示t时刻的状态输入向量,Xk为t时刻之前k步对应的状态输入向量;
设定输入层节点个数为m+1,隐层节点个数为n+1,输出层节点个数为1,向量Y=[y1,y2,…,yi,…,xm]T为BP神经网络的输入向量,状态向量X中的分量依次赋值给BP神经网络输入向量Y中的对应分量,yi←xi,固定输入y0←1,隐层节点到输出层节点的连接权值为:
W2=[w0,w1,w2,…,wn] (6)
输入层到隐层的连接权值为:
由神经元节点p连接到神经元节点q的突触权值的修正值为:
Δwqp=αδqyp (8)
其中,δq为神经元节点q的局部梯度,yp输入值,
在该三层BP神经网络中,输出神经元只有一个,其局部梯度为:
其中, 为输出节点的激活函数,在v处的导数,
神经元j作为隐层节点,其局部梯度为:
其中,i为输入层节点索引;
S3.引入资格迹的直接梯度法进行计算,为加快训练速度,将一步误差更新向后传播若干步,表现在BP神经网络上,就是累积更新权值,隐层节点到输出层节点的连接权值的权值更新公式为:
通过迭代实现每一步的资格迹:
通过式(12)求得的每步资格迹与最后一步状态变换误差值的乘积,得到BP神经网络的连接突触权值更新值,
隐层到输出层的任意连接突触更新Δwj为:
为了求得输入层到隐层的连接突触权值,由式(13),在时间步t,获得误差值rt+γV(Xt+1)-V(Xt),传播到时间步k的误差值为:
(rt+γV(Xt+1)-V(Xt))λt-k (14)
在时间步k,输出神经元的局部梯度为:
对于神经元j作为隐层节点,在时间步k,其局部梯度为:
到时间步k,由神经元节点i连接到神经元节点j的突触权值的修正值为:
在时间步t,引入资格迹后的由神经元节点i连接到神经元节点j的突触权值的修正值为:
经过(11)式到(18)式的计算,BP神经网络的隐层到输出层突触权值的更新依照直接梯度法进行调整,BP神经网络输入层到输出层突触权值的更新依赖于输出层节点局部梯度到隐层节点局部梯度的反传;
S4.利用采用基于资格迹的残差梯度法,将资格迹引入权值更新,同时将权值更新扩展到BP神经网络的隐层,利用所述S3的方法,将具有三层节点的BP神经网络的连接突触权值更新用一个(m+2)n+1维向量ΔWd表示为:
ΔWd=[Δw0,Δw1,…,Δwn,Δw10,Δw20,…,Δwn0,Δw11,…,Δwji,…,Δwnm](19)
式(19)中的前n+1项是隐层到输出层的连接突触权值更新,后(m+1)n项是输入层到隐层的连接突触权值更新;
采用基于资格迹的残差梯度法更新BP神经网络的连接突触权值,将具有三层节点的BP神经网络的连接突触权值更新用一个(m+2)n+1维向量ΔWrg表示为:
ΔWrg=[Δw0,Δw1,…,Δwn,Δw10,Δw20,…,Δwn0,Δw11,…,Δwji,…,Δwnm](20)
1)若ΔWd·ΔWrg>0,则二向量之间的夹角为锐角,ΔWd减小带来残差梯度更新量ΔWrg减小,使拟合函数收敛;
2)若ΔWd·ΔWrg<0,则二向量之间的夹角为钝角,ΔWd减小带来残差梯度更新量ΔWrg增加,使拟合函数发散;
为了避免发散,又能够使BP神经网络的训练过程较为快速,引入残差更新向量ΔWr,其值为向量ΔWd和ΔWrg的加权平均值,定义为:
ΔWr=(1-φ)ΔWd+φΔWrg (21)
其中,φ∈[0,1]
φ的选取,应使ΔWr与ΔWrg的夹角为锐角,同时让ΔWr尽量与ΔWd离得近一些,以下求使向量ΔWr与向量ΔWrg垂直的φ值:
ΔWr·ΔWrg=0 (22)
满足式(22)的向量ΔWr与向量ΔWrg垂直,
求解式(22),得到φ值为:
φ的选取只需在φ值上增加一个较小的正值μ,使之略偏向向量ΔWrg一点,
φ=φ+μ (24)
3)若ΔWd·ΔWrg=0,则二向量之间的夹角为直角,这样有:
φ=0
φ的选取为:φ=φ+μ=μ (25)
经过(21)式到(25)式的运算,保证在迭代过程中权值收敛,通过这种方法训BP练神经网络的各层权值,其更新不会引起函数值发散,同时将BP神经网络的各层权值都加以考虑,使得权值更新向量ΔWr不会引起用残差梯度法得到的权值更新向量ΔWrg向其相反的方向变化,从而保证收敛。
优选地,所述S4中基于资格迹的残差梯度法为:
采用BP神经网络拟合值函数,Agent从一个状态Xt转移到下一状态Xt+1,获得报酬值rt,在状态Xt下的函数值为V(Xt),V(Xt)用拟合函数来表示,对于状态Xt,它的目标输出值为rt+γV(Xt+1),其误差Err的计算公式为:
为使误差Err趋于最小,采用残差梯度法,求得每次迭代BP神经网络权值的变化量Δw,将V(Xt)和V(Xt+1)都视为变化量,由式(26)求得拟合函数的权值按残差梯度法更新为:
其中,α表示权值更新系数,体现学习速率,其取值范围是:0<α≤1,采用式(27)对BP神经网络进行权值迭代更新,能保证值函数收敛,
由式(27)变形得:
式(28)中,项的求值跟公式(5)的求法相同,项的求值跟公式(5)中的求法基本相同,输入值为目标状态,
引入资格迹后,求得相应的拟合函数的权值按残差梯度法更新为:
由式(29)变形得:
式(30)中,等式右侧第一项使用采用资格迹的直接梯度法求值,等式右侧第二项跟第一项的求值方法相同,输入值为目标状态。
本发明的有益效果是:在运用BP神经网络基础上,结合资格迹方法提出一种算法,实现了强化学习过程的多步更新。解决了输出层的局部梯度向隐层节点的反向传播问题,从而实现了BP神经网络隐层权值的快速更新,通过一种改进的残差法,在BP神经网络的训练过程中将各层权值进行线性优化加权,既获得了直接梯度法的学习速度又获得了残差梯度法的收敛性能,将其应用于BP神经网络隐层的权值更新,改善了值函数的收敛性能。
附图说明
图1为基于BP神经网络的强化学习模型;
图2为基于强化学习的倒立摆平衡控制模型;
图3仿真实验的学习过程曲线示意图;
图4为仿真试验中小车位置随时间变化示意图;
图5为仿真实验中摆杆角度随时间变化示意图;
图6为仿真实验中控制力随时间变化示意图。
具体实施方式
下面结合附图和具体实施例多本发明的具体实施方式做进一步说明:
如图1所示,一种采用资格迹的神经网络学习控制方法,将BP神经网络(误差反向传播神经网络)应用于强化学习,所述BP神经网络的模型拓扑结构包括输入层、隐层和输出层,运用资格迹,把局部梯度从输出层传递到隐层,实现隐层权值的更新,采用基于资格迹的残差梯度法,不仅对BP神经网络输出层权值更新,而且对隐层进行了优化权值更新,具体包括如下步骤:
S1.启动基于BP神经网络的强化学习过程,学习Agent(一种处于一定环境下包装的计算机系统)在环境的交互中,不断获得评价性的反馈信息作为回报,再将回报值做加权累加,Agent在行为选择过程中,选择能够取得最大积累回报的行为作为其最优行为:
Agent在状态x∈X下的可执行行为记作a∈A,它从行为集合A中选择使Qπ(x,a)最大的行为作为其最优行为,Qπ(x,a)的定义如下:
Qπ(x,a)=E{rt+1+γrt+22rt+3+…|xt=x,at=x,π} (1)
其中:0<γ<1,
在问题模型未知的情形下,利用强化学习算法表示为:
Agent在每次迭代中更新Q(s,a)值,在多次迭代后Q(s,a)值收敛,在Q(s,a)值定义的基础上,V值定义如下:
在状态x下,求得当前最优策略为π*
S2.采用BP神经网络作为强化学习值函数拟合器,所述BP神经网络的输入层接收状态信息,依据BP神经网络的输出层的输出值V和环境反馈的报酬值r,利用TD(强化学习)算法训练BP神经网络,Agent依据输出值V选取行为a;
Agent从一个状态Xt进入另一个状态Xt+1,获取报酬值rt,在状态Xt下的函数值为V(Xt),V(Xt)用拟合函数表示,对于输入状态Xt,它的目标输出值为rt+γV(Xt+1),在更新过程中相应拟合函数的权值更新为:
其中,其中,w表示BP神经网络的权值向量;α表示权值更新系数,体现学习速率,其取值范围是:0<α≤1,向量X=[x1,x2,…,xi,…,xm]T为状态向量;X、Xt、Xk均为状态输入向量,向量Xt表示t时刻的状态输入向量,Xk为t时刻之前k步对应的状态输入向量;
设定输入层节点个数为m+1,隐层节点个数为n+1,输出层节点个数为1,向量Y=[y1,y2,…,yi,…,xm]T为BP神经网络的输入向量,状态向量X中的分量依次赋值给BP神经网络输入向量Y中的对应分量,yi←xi,固定输入y0←1,隐层节点到输出层节点的连接权值为:
W2=[w0,w1,w2,…,wn] (6)
输入层到隐层的连接权值为:
由神经元节点p连接到神经元节点q的突触权值的修正值为:
Δwqp=αδqyp (8)
其中,δq为神经元节点q的局部梯度,yp输入值,
在该三层BP神经网络中,输出神经元只有一个,其局部梯度为:
其中, 为输出节点的激活函数,在v处的导数,
神经元j作为隐层节点,其局部梯度为:
其中,i为输入层节点索引;
S3.引入资格迹的直接梯度法进行计算,为加快训练速度,将一步误差更新向后传播若干步,表现在BP神经网络上,就是累积更新权值,隐层节点到输出层节点的连接权值的权值更新公式为:
通过迭代实现每一步的资格迹:
通过式(12)求得的每步资格迹与最后一步状态变换误差值的乘积,得到BP神经网络的连接突触权值更新值,
隐层到输出层的任意连接突触更新Δwj为:
为了求得输入层到隐层的连接突触权值,由式(13),在时间步t,获得误差值rt+γV(Xt+1)-V(Xt),传播到时间步k的误差值为:
(rt+γV(Xt+1)-V(Xt))λt-k (14)
在时间步k,输出神经元的局部梯度为:
对于神经元j作为隐层节点,在时间步k,其局部梯度为:
到时间步k,由神经元节点i连接到神经元节点j的突触权值的修正值为:
在时间步t,引入资格迹后的由神经元节点i连接到神经元节点j的突触权值的修正值为:
经过(11)式到(18)式的计算,BP神经网络的隐层到输出层突触权值的更新依照直接梯度法进行调整,BP神经网络输入层到输出层突触权值的更新依赖于输出层节点局部梯度到隐层节点局部梯度的反传;
S4.利用采用基于资格迹的残差梯度法,将资格迹引入权值更新,同时将权值更新扩展到BP神经网络的隐层,利用所述S3的方法,将具有三层节点的BP神经网络的连接突触权值更新用一个(m+2)n+1维向量ΔWd表示为:
ΔWd=[Δw0,Δw1,…,Δwn,Δw10,Δw20,…,Δwn0,Δw11,…,Δwij,…,Δwnm](19)
式(19)中的前n+1项是隐层到输出层的连接突触权值更新,后(m+1)n项是输入层到隐层的连接突触权值更新;
采用基于资格迹的残差梯度法更新BP神经网络的连接突触权值,将具有三层节点的BP神经网络的连接突触权值更新用一个(m+2)n+1维向量ΔWrg表示为:
ΔWrg=[Δw0,Δw1,…,Δwn,Δw10,Δw20,…,Δwn0,Δw11,…,Δwji,…,Δwnm](20)
1)若ΔWd·ΔWrg>0,则二向量之间的夹角为锐角,ΔWd减小带来残差梯度更新量ΔWrg减小,使拟合函数收敛;
2)若ΔWd·ΔWrg<0,则二向量之间的夹角为钝角,ΔWd减小带来残差梯度更新量ΔWrg增加,使拟合函数发散;
为了避免发散,又能够使BP神经网络的训练过程较为快速,引入残差更新向量ΔWr,其值为向量ΔWd和ΔWrg的加权平均值,定义为:
ΔWr=(1-φ)ΔWd+φΔWrg (21)
其中,φ∈[0,1]
φ的选取,应使ΔWr与ΔWrg的夹角为锐角,同时让ΔWr尽量与ΔWd离得近一些,以下求使向量ΔWr与向量ΔWrg垂直的φ值:
ΔWr·ΔWrg=0 (22)
满足式(22)的向量ΔWr与向量ΔWrg垂直,
求解式(22),得到φ值为:
φ的选取只需在φ值上增加一个较小的正值μ,使之略偏向向量ΔWrg一点,
φ=φ+μ (24)
3)若ΔWd·ΔWrg=0,则二向量之间的夹角为直角,这样有:
φ=0
φ的选取为:φ=φ+μ=μ (25)
经过(21)式到(25)式的运算,保证在迭代过程中权值收敛,通过这种方法训练BP神经网络的各层权值,其更新不会引起函数值发散,同时将BP神经网络的各层权值都加以考虑,使得权值更新向量ΔWr不会引起用残差梯度法得到的权值更新向量ΔWrg向其相反的方向变化,从而保证收敛。
所述S4中基于资格迹的残差梯度法为:
采用BP神经网络拟合值函数,Agent从一个状态Xt转移到下一状态Xt+1,获得报酬值rt,在状态Xt下的函数值为V(Xt),V(Xt)用拟合函数来表示,对于状态Xt,它的目标输出值为rt+γV(Xt+1),其误差Err的计算公式为:
为使误差Err趋于最小,采用残差梯度法,求得每次迭代BP神经网络权值的变化量Δw,将V(Xt)和V(Xt+1)都视为变化量,由式(26)求得拟合函数的权值按残差梯度法更新为:
其中,α表示权值更新系数,体现学习速率,其取值范围是:0<α≤1,采用式(27)对BP神经网络进行权值迭代更新,能保证值函数收敛,
由式(27)变形得:
式(28)中,项的求值跟公式(5)的求法相同,项的求值跟公式(5)中的求法基本相同,输入值为目标状态,
引入资格迹后,求得相应的拟合函数的权值按残差梯度法更新为:
由式(29)变形得:
式(30)中,等式右侧第一项使用采用资格迹的直接梯度法求值,等式右侧第二项跟第一项的求值方法相同,输入值为目标状态。
如图2所示,一个小车可以在一个水平轨道上自由运动,小车上安装了一个钢性的自由摆杆,摆杆处在不稳定状态下。小车在可控力F的作用下左右运动,小车运动的轨道范围是[-2.4,2.4]m。本问题是:在力的作用下小车在导轨上运动,学习系统力图让摆杆保持足够长时间的竖直状态而不倒掉。当小车运动超出轨道范围[-2.4,2.4]m,则本轮实验失败;当小车的摆杆与垂直方向的夹角θ超过的某一数值也认定为实验失败。将倒立摆的水平位移x、水平运动速度夹角θ和θ对时间的导数作为BP神经网络的输入值。当倒立摆在水平导轨上超出轨道范围[-2.4,2.4]m或θ夹角超出范围[-12°,12°]都会得到奖惩值-1,在其它状态范围,得到的奖惩值为0。
倒立摆系统运动的参数方程描述为:
在式(26)和式(27)中设置参数为:重力加速度g=-9.8m/s2,小车重量mc=1.0kg,摆杆重量m=0.1kg,摆杆一半的长度l=0.5m,小车在导轨上的摩擦系数μc=0.0005,摆杆与小车的摩擦系数μp=0.000002。对参数方程的更新采用欧拉方程计算,时间步长设定为0.02秒,这样可以很方便地求得小车的运动速度和位置以及摆杆的角速度和摆角度。
在仿真实验中按物理定律给出运动方程式,但倒立摆学习系统事先并不知道其运动规律,它的知识结构是在不断学习过程中逐步建立起来的。在实验中,设定参数为:学习率α=0.2,折扣因子γ=0.95,资格迹系数λ=0.8,探索行为选择概率ε=0.1,改进残差法参数μ=0.1。BP神经网络采用4-16-1结构,隐层节点采用sigmoid型激活函数,输出层节点采用线性函数。
为了验证算法的有效性,将倒立摆控制仿真实验进行40次。每次实验都初始化BP神经网络的权值参数,每次实验包含若干轮(episode)的学习过程,每一轮可能成功,也可能失败。每轮实验从一个有效的随机位置开始,由力控制倒立摆的平衡,若倒立摆在一轮学习过程中能保持10000步不倒掉,就认为它学习到的知识能够成功地控制倒立摆。若本轮控制实验失败或能保持成功步数达到10000步,则重新开始新一轮的学习。
表1给出了一个统计表,记录了40次仿真实验中,每次实验系统能成功控制倒立摆所经历的学习轮数。在这40次实验中,采用本文的算法,学习系统都能有效地学习并成功地控制倒立摆。其中,最多学习轮数为:18;最少学习轮数为:8;平均学习轮数为:12.05。
表1
仿真实验的学习过程曲线如图3所示,从实验中抽取第11次实验,对其实验过程进行观察,发现按照本文的方法在经历了前9轮的失败后,从第10轮开始,系统能成功地实现倒立摆控制。前10轮的学习步数分别为:7、10、10、36、18、74、64、706、2411、10000。
将本文方法结果与其他方法结果做一个对比。Barto等提出了AHC方法,将四维参数作为输入,采用两个单层神经网络分别作为ASE和ACE,实现控制倒立摆,其参数设置跟本文相同。这种方法将连续状态离散化,没有导入先验知识,在实现中较为复杂。Anderson等在AHC方法基础上,提出方法并实现了连续状态的控制。Berenji提出一种GARIC方法,采用模糊逻辑的方法,实现了基于泛化规则智能控制结构的强化学习系统来控制倒立摆平衡。Lin等提出了一种RFALCON方法来解决倒立摆问题,他们植入了模糊先验知识,通过调节Critic网络和Action网络进行动态的参数学习。Moriarty等研究了基于表格的Q学习算法实现倒立摆平衡问题,同时提出了一个基于符号的、自适应进化神经网络的SANE算法。蒋国飞等采用基于Q学习算法和BP神经网络来研究倒立摆控制问题,实现了倒立摆的无模型控制,这种方法没有运用资格迹技术。Lagoudakis等利用LSPI算法,采用基于基函数逼近和最小策略迭代法对倒立摆问题进行了研究。Bhatnagar等实现了PG算法,他们采用了自然梯度法和函数拟合的思想进行时域差分学习,在线训练值函数的参数。Martín等提出一种基于加权K近邻的强化学习方法kNN-TD,将当前状态最临近的K个状态的Q值进行加权拟合,求得当前Q值,这样较好地对Q值进行了泛化。为提高学习效率,他们进而提出了基于资格迹的kNN-TD(λ)算法。Lee等提出一种RFWAC算法,采用了增量构建的径向基网络来构成,以接受域加权回归作为其理论基础。接受域用来构建局部模型,其形状和规模可以进行自适应控制。Vien等提出一种ACTAMERRL算法,这种方法植入训练者早期的训练知识,再进行强化学习。采用的学习框架易于实现,这种方法较好地运用于倒立摆的训练上。各种方法的性能比较如表2所示。
表2
为了进一步分析本文算法的性能,图4—6分别给出了系统学习到第50轮时小车位置、摆杆角度以及外界对小车控制力随时间变化的曲线图,图4和图5设定测试时间为300秒,行为次数为30000步,从曲线图中看出,小车的位置和角速度都在规定范围之内,可见本算法取得了较好的学习和控制效果,图6只给出的测试时间为50秒,行为次数在2500步内,外界对倒立摆系统进行控制的时间-作用力曲线。
在表2中GARIC方法充分利用了先验知识进行强化学习,性能有了较大的提高,使学习轮数提高到300:RFALCON方法同样引入了先验知识,使学习轮数提高到15,本文实验结果没有植入先验知识,获得了较好的学习性能,植入部分先验知识,重做以上实验,先验知识描述如下:
IFθ>0ANDTHEN F>0;
IFθ<0ANDTHEN F<0;
同样进行40次实验,每次实验学习系统都能有效地学习并成功地控制倒立摆。表3给出了一个统计表,记录了植入上述知识后,每次实验系统能成功控制倒立摆所经历的学习轮数,其中,最多学习轮数为:14;最少学习轮数为:5;平均学习轮数为:7.93。可见,植入先验知识能大大提高强化学习的效率。
表3
当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。

Claims (2)

1.一种采用资格迹的神经网络学习控制方法,其特征在于,将BP神经网络应用于强化学习,所述BP神经网络的模型拓扑结构包括输入层、隐层和输出层,运用资格迹,把局部梯度从输出层传递到隐层,实现隐层权值的更新,同时采用基于资格迹的残差梯度法,不仅对BP神经网络输出层权值更新,而且对隐层进行了优化权值更新,具体包括如下步骤:
S1.启动基于BP神经网络的强化学习过程,学习Agent在环境的交互中,不断获得评价性的反馈信息作为回报,再将回报值做加权累加,Agent在行为选择过程中,选择能够取得最大积累回报的行为作为其最优行为:
Agent在状态x∈X下的可执行行为记作a∈A,它从行为集合A中选择使Qπ(x,a)最大的行为作为其最优行为,Qπ(x,a)的定义如下:
Qπ(x,a)=E{rt+1+γrt+22rt+3+…|xt=x,at=x,π} (1)
其中:0<γ<1,
在问题模型未知的情形下,利用强化学习法表示为:
<mrow> <mi>Q</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>a</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>Q</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>a</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>&amp;alpha;</mi> <mrow> <mo>(</mo> <mi>r</mi> <mo>+</mo> <mi>&amp;gamma;</mi> <munder> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> <msup> <mi>a</mi> <mo>&amp;prime;</mo> </msup> </munder> <mi>Q</mi> <mo>(</mo> <mrow> <msup> <mi>x</mi> <mo>&amp;prime;</mo> </msup> <mo>,</mo> <msup> <mi>a</mi> <mo>&amp;prime;</mo> </msup> </mrow> <mo>)</mo> <mo>-</mo> <mi>Q</mi> <mo>(</mo> <mrow> <mi>x</mi> <mo>,</mo> <mi>a</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>
Agent在每次迭代中更新Q(x,a)值,在多次迭代后Q(x,a)值收敛,在Q(x,a)值定义的基础上,V值定义如下:
<mrow> <mi>V</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> <mrow> <mi>a</mi> <mo>&amp;Element;</mo> <mi>A</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </mrow> </munder> <mi>Q</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>a</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>
在状态x下,求得当前最优策略为π*
<mrow> <msup> <mi>&amp;pi;</mi> <mo>*</mo> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>arg</mi> <munder> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> <mi>a</mi> </munder> <mi>Q</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>a</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>
S2.采用BP神经网络作为强化学习值函数拟合器,所述BP神经网络的输入层接收状态信息,依据BP神经网络的输出层的输出值V和环境反馈的报酬值r,利用TD算法训练BP神经网络,Agent依据输出值V选取行为a;
Agent从一个状态Xt进入另一个状态Xt+1,获取报酬值rt,在状态Xt下的函数值为V(Xt),V(Xt)用拟合函数表示,对于输入状态Xt,它的目标输出值为rt+γV(Xt+1),在更新过程中相应拟合函数的权值更新为:
<mrow> <mi>&amp;Delta;</mi> <mi>w</mi> <mo>=</mo> <mi>&amp;alpha;</mi> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mi>t</mi> </msub> <mo>+</mo> <mi>&amp;gamma;</mi> <mi>V</mi> <mo>(</mo> <msub> <mi>X</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> <mo>-</mo> <mi>V</mi> <mo>(</mo> <msub> <mi>X</mi> <mi>t</mi> </msub> <mo>)</mo> <mo>)</mo> </mrow> <mfrac> <mrow> <mo>&amp;part;</mo> <mi>V</mi> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mi>t</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&amp;part;</mo> <mi>w</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>
其中,w表示BP神经网络的权值向量;α表示权值更新系数,体现学习速率,其取值范围是:0<α≤1,向量X=[x1,x2,…,xi,…,xm]T为状态输入向量;X、Xt、Xk均为状态输入向量,向量Xt表示t时刻的状态输入向量,Xk为t时刻之前k步对应的状态输入向量;
设定输入层节点个数为m+1,隐层节点个数为n+1,输出层节点个数为1,向量Y=[y0,y1,y2,…,yi,…,xm]T为BP神经网络的输入向量,状态向量X中的分量依次赋值给BP神经网络输入向量Y中的对应分量,yi←xi,固定输入y0←1,隐层节点到输出层节点的连接权值为:
W2=[w0,w1,w2,…,wn] (6)
输入层到隐层的连接权值为:
<mrow> <msup> <mi>W</mi> <mn>1</mn> </msup> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>w</mi> <mn>10</mn> </msub> </mtd> <mtd> <msub> <mi>w</mi> <mn>11</mn> </msub> </mtd> <mtd> <msub> <mi>w</mi> <mn>12</mn> </msub> </mtd> <mtd> <mo>...</mo> </mtd> <mtd> <msub> <mi>w</mi> <mrow> <mn>1</mn> <mi>m</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>w</mi> <mn>20</mn> </msub> </mtd> <mtd> <msub> <mi>w</mi> <mn>21</mn> </msub> </mtd> <mtd> <msub> <mi>w</mi> <mn>22</mn> </msub> </mtd> <mtd> <mo>...</mo> </mtd> <mtd> <msub> <mi>w</mi> <mrow> <mn>2</mn> <mi>m</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <mo>...</mo> </mtd> <mtd> <mo>...</mo> </mtd> <mtd> <mo>...</mo> </mtd> <mtd> <mo>...</mo> </mtd> <mtd> <mo>...</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>w</mi> <mrow> <mi>n</mi> <mn>0</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>w</mi> <mrow> <mi>n</mi> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>w</mi> <mrow> <mi>n</mi> <mn>2</mn> </mrow> </msub> </mtd> <mtd> <mo>...</mo> </mtd> <mtd> <msub> <mi>w</mi> <mrow> <mi>n</mi> <mi>m</mi> </mrow> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> </mrow>
由神经元节点p连接到神经元节点q的突触权值的修正值为:
△wqp=αδqyp (8)
其中,δq为神经元节点q的局部梯度,yp为输入值,
在该三层BP神经网络中,输出神经元只有一个,其局部梯度为:
其中, 为输出节点的激活函数,在v处的导数,神经元j作为隐层节点,其局部梯度为:
其中,i为输入层节点索引;
S3.引入资格迹的直接梯度法进行计算,为加快训练速度,将一步误差更新向后传播若干步,表现在BP神经网络上,就是累积更新权值,隐层节点到输出层节点的连接权值的权值更新公式为:
<mrow> <msub> <mi>&amp;Delta;w</mi> <mi>t</mi> </msub> <mo>=</mo> <mi>&amp;alpha;</mi> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mi>t</mi> </msub> <mo>+</mo> <mi>&amp;gamma;</mi> <mi>V</mi> <mo>(</mo> <msub> <mi>X</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> <mo>-</mo> <mi>V</mi> <mo>(</mo> <msub> <mi>X</mi> <mi>t</mi> </msub> <mo>)</mo> <mo>)</mo> </mrow> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>k</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>t</mi> </munderover> <msup> <mi>&amp;lambda;</mi> <mrow> <mi>t</mi> <mo>-</mo> <mi>k</mi> </mrow> </msup> <mfrac> <mrow> <mo>&amp;part;</mo> <mi>V</mi> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mi>k</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&amp;part;</mo> <mi>w</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>11</mn> <mo>)</mo> </mrow> </mrow>
通过迭代实现每一步的资格迹:
<mrow> <mtable> <mtr> <mtd> <mrow> <msub> <mi>e</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>k</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </munderover> <msup> <mi>&amp;lambda;</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> <mo>-</mo> <mi>k</mi> </mrow> </msup> <mfrac> <mrow> <mo>&amp;part;</mo> <mi>V</mi> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mi>k</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&amp;part;</mo> <mi>w</mi> </mrow> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>=</mo> <mfrac> <mrow> <mo>&amp;part;</mo> <mi>V</mi> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&amp;part;</mo> <mi>w</mi> </mrow> </mfrac> <mo>+</mo> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>k</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>t</mi> </munderover> <msup> <mi>&amp;lambda;</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> <mo>-</mo> <mi>k</mi> </mrow> </msup> <mfrac> <mrow> <mo>&amp;part;</mo> <mi>V</mi> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mi>k</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&amp;part;</mo> <mi>w</mi> </mrow> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>=</mo> <mfrac> <mrow> <mo>&amp;part;</mo> <mi>V</mi> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&amp;part;</mo> <mi>w</mi> </mrow> </mfrac> <mo>+</mo> <msub> <mi>&amp;lambda;e</mi> <mi>t</mi> </msub> </mrow> </mtd> </mtr> </mtable> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>12</mn> <mo>)</mo> </mrow> </mrow>
通过式(12)求得的每步资格迹与最后一步状态变换误差值的乘积,得到BP神经网络的连接突触权值更新值,
隐层到输出层的任意连接突触更新△wj为:
为了求得输入层到隐层的连接突触权值,由式(13),在时间步t,获得误差值rt+γV(Xt+1)-V(Xt),传播到时间步k的误差值为:
(rt+γV(Xt+1)-V(Xt))λt-k (14)
在时间步k,输出神经元的局部梯度为:
对于神经元j作为隐层节点,在时间步k,其局部梯度为:
到时间步k,由神经元节点i连接到神经元节点j的突触权值的修正值为:
在时间步t,引入资格迹后的由神经元节点i连接到神经元节点j的突触权值的修正值为:
经过(11)式到(18)式的计算,BP神经网络的隐层到输出层突触权值的更新依照直接梯度法进行调整,BP神经网络输入层到输出层突触权值的更新依赖于输出层节点局部梯度到隐层节点局部梯度的反传;
S4.利用采用基于资格迹的残差梯度法,将资格迹引入权值更新,同时将权值更新扩展到BP神经网络的隐层,利用所述S3的方法,将具有三层节点的BP神经网络的连接突触权值更新用一个(m+2)n+1维向量△Wd表示为:
ΔWd=[Δw0,Δw1,…,Δwn,Δw10,Δw20,…,Δwn0,Δw11,…,Δwji,…,Δwnm] (19)
式(19)中的前n+1项是隐层到输出层的连接突触权值更新,后(m+1)n项是输入层到隐层的连接突触权值更新;
采用基于资格迹的残差梯度法更新BP神经网络的连接突触权值,将具有三层节点的BP神经网络的连接突触权值更新用一个(m+2)n+1维向量△Wrg表示为:
ΔWrg=[Δw0,Δw1,…,Δwn,Δw10,Δw20,…,Δwn0,Δw11,…,Δwji,…,Δwnm] (20)
1)若△Wd·△Wrg>0,则二向量之间的夹角为锐角,△Wd减小带来残差梯度更新量△Wrg减小,使拟合函数收敛;
2)若△Wd·△Wrg<0,则二向量之间的夹角为钝角,△Wd减小带来残差梯度更新量△Wrg增加,使拟合函数发散;
引入残差更新向量△Wr,其值为向量△Wd和△Wrg的加权平均值,定义为:
△Wr=(1-φ)△Wd+φ△Wrg (21)
其中,φ∈[0,1]
φ的选取,应使△Wr与△Wrg的夹角为锐角,同时让△Wr尽量与△Wd离得近一些,以下求使向量△Wr与向量△Wrg垂直的φ值:
△Wr·△Wrg=0 (22)
满足式(22)的向量△Wr与向量△Wrg垂直,
求解式(22),得到φ值为:
<mrow> <msub> <mi>&amp;phi;</mi> <mo>&amp;perp;</mo> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>&amp;Delta;W</mi> <mi>d</mi> </msub> <mo>&amp;CenterDot;</mo> <msub> <mi>&amp;Delta;W</mi> <mrow> <mi>r</mi> <mi>g</mi> </mrow> </msub> </mrow> <mrow> <msub> <mi>&amp;Delta;W</mi> <mi>d</mi> </msub> <mo>&amp;CenterDot;</mo> <msub> <mi>&amp;Delta;W</mi> <mrow> <mi>r</mi> <mi>g</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>&amp;Delta;W</mi> <mrow> <mi>r</mi> <mi>g</mi> </mrow> </msub> <mo>&amp;CenterDot;</mo> <msub> <mi>&amp;Delta;W</mi> <mrow> <mi>r</mi> <mi>g</mi> </mrow> </msub> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>23</mn> <mo>)</mo> </mrow> </mrow>
φ的选取只需在φ值上增加一个较小的正值μ,使之略偏向向量△Wrg一点,
φ=φ+μ (24)
3)若△Wd·△Wrg=0,则二向量之间的夹角为直角,这样有:
φ=0
φ的选取为:φ=φ+μ=μ (25)
经过(21)式到(25)式的运算,保证在迭代过程中权值收敛,通过这种方法训练BP神经网络的各层权值,其更新不会引起函数值发散,同时将BP神经网络的各层权值都加以考虑,使得权值更新向量△Wr不会引起用残差梯度法得到的权值更新向量△Wrg向其相反的方向变化,从而保证收敛。
2.如权利要求1所述的一种采用资格迹的神经网络学习控制方法,其特征在于,所述S4中基于资格迹的残差梯度法为:
采用BP神经网络拟合值函数,Agent从一个状态Xt转移到下一状态Xt+1,获得报酬值rt,在状态Xt下的函数值为V(Xt),V(Xt)用拟合函数来表示,对于状态Xt,它的目标输出值为rt+γV(Xt+1),其误差Err的计算公式为:
<mrow> <mi>E</mi> <mi>r</mi> <mi>r</mi> <mo>=</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <msup> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mi>t</mi> </msub> <mo>+</mo> <mi>&amp;gamma;</mi> <mi>V</mi> <mo>(</mo> <msub> <mi>X</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> <mo>-</mo> <mi>V</mi> <mo>(</mo> <msub> <mi>X</mi> <mi>t</mi> </msub> <mo>)</mo> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>26</mn> <mo>)</mo> </mrow> </mrow>
为使误差Err趋于最小,采用残差梯度法,求得每次迭代BP神经网络权值的变化量△w,将V(Xt)和V(Xt+1)都视为变化量,由式(26)求得拟合函数的权值按残差梯度法更新为:
<mrow> <mi>&amp;Delta;</mi> <mi>w</mi> <mo>=</mo> <mi>&amp;alpha;</mi> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mi>t</mi> </msub> <mo>+</mo> <mi>&amp;gamma;</mi> <mi>V</mi> <mo>(</mo> <msub> <mi>X</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> <mo>-</mo> <mi>V</mi> <mo>(</mo> <msub> <mi>X</mi> <mi>t</mi> </msub> <mo>)</mo> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mfrac> <mrow> <mo>&amp;part;</mo> <mi>V</mi> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mi>t</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&amp;part;</mo> <mi>w</mi> </mrow> </mfrac> <mo>-</mo> <mi>&amp;gamma;</mi> <mfrac> <mrow> <mo>&amp;part;</mo> <mi>V</mi> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&amp;part;</mo> <mi>w</mi> </mrow> </mfrac> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>27</mn> <mo>)</mo> </mrow> </mrow>
其中,α表示权值更新系数,体现学习速率,其取值范围是:0<α≤1,采用式(27)对BP神经网络进行权值迭代更新,能保证值函数收敛,
由式(27)变形得:
<mrow> <mi>&amp;Delta;</mi> <mi>w</mi> <mo>=</mo> <mi>&amp;alpha;</mi> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mi>t</mi> </msub> <mo>+</mo> <mi>&amp;gamma;</mi> <mi>V</mi> <mo>(</mo> <msub> <mi>X</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> <mo>-</mo> <mi>V</mi> <mo>(</mo> <msub> <mi>X</mi> <mi>t</mi> </msub> <mo>)</mo> <mo>)</mo> </mrow> <mfrac> <mrow> <mo>&amp;part;</mo> <msub> <mi>V</mi> <mi>t</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mi>t</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&amp;part;</mo> <mi>w</mi> </mrow> </mfrac> <mo>-</mo> <mi>&amp;gamma;</mi> <mi>&amp;alpha;</mi> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mi>t</mi> </msub> <mo>+</mo> <mi>&amp;gamma;</mi> <mi>V</mi> <mo>(</mo> <msub> <mi>X</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> <mo>-</mo> <msub> <mi>V</mi> <mi>t</mi> </msub> <mo>(</mo> <msub> <mi>X</mi> <mi>t</mi> </msub> <mo>)</mo> <mo>)</mo> </mrow> <mfrac> <mrow> <mo>&amp;part;</mo> <mi>V</mi> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&amp;part;</mo> <mi>w</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>28</mn> <mo>)</mo> </mrow> </mrow>
式(28)中,项的求值跟公式(5)的求法相同,项的求值跟公式(5)中的求法基本相同,输入值为目标状态;
引入资格迹后,求得相应的拟合函数的权值按残差梯度法更新为:
<mrow> <msub> <mi>&amp;Delta;w</mi> <mi>t</mi> </msub> <mo>=</mo> <mi>&amp;alpha;</mi> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mi>t</mi> </msub> <mo>+</mo> <mi>&amp;gamma;</mi> <mi>V</mi> <mo>(</mo> <msub> <mi>X</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> <mo>-</mo> <mi>V</mi> <mo>(</mo> <msub> <mi>X</mi> <mi>t</mi> </msub> <mo>)</mo> <mo>)</mo> </mrow> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>k</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>t</mi> </munderover> <msup> <mi>&amp;lambda;</mi> <mrow> <mi>t</mi> <mo>-</mo> <mi>k</mi> </mrow> </msup> <mrow> <mo>(</mo> <mfrac> <mrow> <mo>&amp;part;</mo> <mi>V</mi> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mi>t</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&amp;part;</mo> <mi>w</mi> </mrow> </mfrac> <mo>-</mo> <mi>&amp;gamma;</mi> <mfrac> <mrow> <mo>&amp;part;</mo> <mi>V</mi> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&amp;part;</mo> <mi>w</mi> </mrow> </mfrac> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>29</mn> <mo>)</mo> </mrow> </mrow>
由式(29)变形得:
<mrow> <mi>&amp;Delta;</mi> <mi>w</mi> <mo>=</mo> <mi>&amp;alpha;</mi> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mi>t</mi> </msub> <mo>+</mo> <mi>&amp;gamma;</mi> <mi>V</mi> <mo>(</mo> <msub> <mi>X</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> <mo>-</mo> <mi>V</mi> <mo>(</mo> <msub> <mi>X</mi> <mi>t</mi> </msub> <mo>)</mo> <mo>)</mo> </mrow> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>k</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>t</mi> </munderover> <msup> <mi>&amp;lambda;</mi> <mrow> <mi>t</mi> <mo>-</mo> <mi>k</mi> </mrow> </msup> <mfrac> <mrow> <mo>&amp;part;</mo> <mi>V</mi> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mi>t</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&amp;part;</mo> <mi>w</mi> </mrow> </mfrac> <mo>-</mo> <mi>&amp;gamma;</mi> <mi>&amp;alpha;</mi> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mi>t</mi> </msub> <mo>+</mo> <mi>&amp;gamma;</mi> <mi>V</mi> <mo>(</mo> <msub> <mi>X</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> <mo>-</mo> <mi>V</mi> <mo>(</mo> <msub> <mi>X</mi> <mi>t</mi> </msub> <mo>)</mo> <mo>)</mo> </mrow> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>k</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>t</mi> </munderover> <msup> <mi>&amp;lambda;</mi> <mrow> <mi>t</mi> <mo>-</mo> <mi>k</mi> </mrow> </msup> <mfrac> <mrow> <mo>&amp;part;</mo> <mi>V</mi> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mrow> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&amp;part;</mo> <mi>w</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>30</mn> <mo>)</mo> </mrow> </mrow>
式(30)中,等式右侧第一项采用资格迹的直接梯度法求值,等式右侧第二项的求值方法与第一项求值方法相同,输入值为目标状态。
CN201510304299.4A 2015-06-04 2015-06-04 一种采用资格迹的神经网络学习控制方法 Active CN104932267B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510304299.4A CN104932267B (zh) 2015-06-04 2015-06-04 一种采用资格迹的神经网络学习控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510304299.4A CN104932267B (zh) 2015-06-04 2015-06-04 一种采用资格迹的神经网络学习控制方法

Publications (2)

Publication Number Publication Date
CN104932267A CN104932267A (zh) 2015-09-23
CN104932267B true CN104932267B (zh) 2017-10-03

Family

ID=54119482

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510304299.4A Active CN104932267B (zh) 2015-06-04 2015-06-04 一种采用资格迹的神经网络学习控制方法

Country Status (1)

Country Link
CN (1) CN104932267B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12020155B2 (en) 2015-11-12 2024-06-25 Deepmind Technologies Limited Reinforcement learning using baseline and policy neural networks

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10395646B2 (en) * 2016-05-13 2019-08-27 Microsoft Technology Licensing, Llc Two-stage training of a spoken dialogue system
CN107273509B (zh) * 2017-06-20 2020-06-05 哈尔滨理工大学 一种神经网络数据存储器、数据存储方法及数据查找方法
CN108051999B (zh) * 2017-10-31 2020-08-25 中国科学技术大学 基于深度强化学习的加速器束流轨道控制方法及系统
CN108418800B (zh) * 2018-02-01 2020-08-04 国网江苏省电力有限公司苏州供电分公司 基于资格迹和在线更新式的电力信息系统安全策略系统
CN108319286B (zh) * 2018-03-12 2020-09-22 西北工业大学 一种基于强化学习的无人机空战机动决策方法
CN109343532A (zh) * 2018-11-09 2019-02-15 中国联合网络通信集团有限公司 一种动态随机环境的路径规划方法和装置
CN109215311B (zh) * 2018-11-15 2020-07-21 山东管理学院 基于强化学习的公共事件预警模型的动态参数权重确定方法
CN109696830B (zh) * 2019-01-31 2021-12-03 天津大学 小型无人直升机的强化学习自适应控制方法
CN110531620B (zh) * 2019-09-02 2020-09-18 常熟理工学院 基于高斯过程近似模型的小车上山系统自适应控制方法
CN111176122B (zh) * 2020-02-11 2022-05-13 哈尔滨工程大学 一种基于双bp神经网络q学习技术的水下机器人参数自适应反步控制方法
CN113867639B (zh) * 2021-09-28 2024-03-19 北京大学 一种基于相变存储器的资格迹计算器

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102402712A (zh) * 2011-08-31 2012-04-04 山东大学 基于神经网络的机器人强化学习初始化方法
CN102799179A (zh) * 2012-07-06 2012-11-28 山东大学 基于单链序贯回溯q学习的移动机器人路径规划算法
CN102819264A (zh) * 2012-07-30 2012-12-12 山东大学 移动机器人路径规划q学习初始化方法
CN103077615A (zh) * 2012-12-20 2013-05-01 长沙理工大学 一种优化信号交叉口排队长度的在线学习方法
WO2014018800A1 (en) * 2012-07-27 2014-01-30 Brain Corporation Apparatus and methods for generalized state-dependent learning in spiking neuron networks
CN103683337A (zh) * 2013-12-05 2014-03-26 华南理工大学 一种互联电网cps指令动态分配优化方法
CN103853046A (zh) * 2014-02-14 2014-06-11 广东工业大学 一种压电陶瓷驱动器的自适应学习控制方法
CN104317297A (zh) * 2014-10-30 2015-01-28 沈阳化工大学 一种未知环境下机器人避障方法
CN104571113A (zh) * 2015-01-20 2015-04-29 博康智能网络科技股份有限公司 移动机器人的路径规划方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140025613A1 (en) * 2012-07-20 2014-01-23 Filip Ponulak Apparatus and methods for reinforcement learning in large populations of artificial spiking neurons

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102402712A (zh) * 2011-08-31 2012-04-04 山东大学 基于神经网络的机器人强化学习初始化方法
CN102799179A (zh) * 2012-07-06 2012-11-28 山东大学 基于单链序贯回溯q学习的移动机器人路径规划算法
WO2014018800A1 (en) * 2012-07-27 2014-01-30 Brain Corporation Apparatus and methods for generalized state-dependent learning in spiking neuron networks
CN102819264A (zh) * 2012-07-30 2012-12-12 山东大学 移动机器人路径规划q学习初始化方法
CN103077615A (zh) * 2012-12-20 2013-05-01 长沙理工大学 一种优化信号交叉口排队长度的在线学习方法
CN103683337A (zh) * 2013-12-05 2014-03-26 华南理工大学 一种互联电网cps指令动态分配优化方法
CN103853046A (zh) * 2014-02-14 2014-06-11 广东工业大学 一种压电陶瓷驱动器的自适应学习控制方法
CN104317297A (zh) * 2014-10-30 2015-01-28 沈阳化工大学 一种未知环境下机器人避障方法
CN104571113A (zh) * 2015-01-20 2015-04-29 博康智能网络科技股份有限公司 移动机器人的路径规划方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于BP神经网络的双层启发式强化学习方法;刘智斌等;《计算机研究与发展》;20150331;第52卷(第3期);第579-587页 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12020155B2 (en) 2015-11-12 2024-06-25 Deepmind Technologies Limited Reinforcement learning using baseline and policy neural networks

Also Published As

Publication number Publication date
CN104932267A (zh) 2015-09-23

Similar Documents

Publication Publication Date Title
CN104932267B (zh) 一种采用资格迹的神经网络学习控制方法
Kazemi et al. Predicting seismic response of SMRFs founded on different soil types using machine learning techniques
CN106529818B (zh) 基于模糊小波神经网络的水质评价预测方法
CN105354363A (zh) 基于核极限学习机的脉动风速预测方法
CN108140146A (zh) 用于使用绝热量子计算机进行机器学习的离散变分自动编码器系统和方法
Schuster Complex adaptive systems
CN107909206A (zh) 一种基于深层结构循环神经网络的pm2.5预测方法
CN112015174A (zh) 一种多agv运动规划方法、装置和系统
CN105184416A (zh) 基于粒子群优化反向传播神经网络的脉动风速预测方法
Fridman et al. Deeptraffic: Driving fast through dense traffic with deep reinforcement learning
Barreto et al. Restricted gradient-descent algorithm for value-function approximation in reinforcement learning
Elfwing et al. From free energy to expected energy: Improving energy-based value function approximation in reinforcement learning
Hosseinaei et al. Optimal design of passive and active control systems in seismic-excited structures using a new modified TLBO
Praczyk et al. Decision system for a team of autonomous underwater vehicles—preliminary report
CN109800517B (zh) 一种改进的磁流变阻尼器逆向建模方法
Kazemi et al. A hierarchical artificial neural network for transport energy demand forecast: Iran case study
CN108319146B (zh) 一种径向基神经网络基于离散粒子群训练的方法
Daglarli et al. Behavioral task processing for cognitive robots using artificial emotions
Ganesh et al. Deep reinforcement learning for simulated autonomous driving
CN105513380B (zh) Eadp控制器的离线训练方法和系统及其在线控制方法和系统
Härter et al. Data assimilation procedure by recurrent neural network
CN105279978B (zh) 交叉口交通信号控制方法和设备
Rafati et al. Learning sparse representations in reinforcement learning
Zhou et al. Within the scope of prediction: Shaping intrinsic rewards via evaluating uncertainty
CN109583582A (zh) 基于适合度轨迹的神经网络强化学习方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231121

Address after: No. 57, Jingxuan West Road, Qufu City, Jining City, Shandong Province

Patentee after: QUFU NORMAL University

Patentee after: SHANDONG HAIDA ROBOT TECHNOLOGY Co.,Ltd.

Address before: 273165 Jingxuan West Road, Qufu City, Jining, Shandong Province, No. 57

Patentee before: QUFU NORMAL University