CN104932267B - 一种采用资格迹的神经网络学习控制方法 - Google Patents
一种采用资格迹的神经网络学习控制方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 132
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 95
- 230000013016 learning Effects 0.000 title claims abstract description 69
- 230000006870 function Effects 0.000 claims abstract description 37
- 230000006399 behavior Effects 0.000 claims abstract description 24
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 20
- 230000007935 neutral effect Effects 0.000 claims abstract description 15
- 238000012549 training Methods 0.000 claims abstract description 15
- 230000007613 environmental effect Effects 0.000 claims abstract description 4
- 239000013598 vector Substances 0.000 claims description 45
- 230000000946 synaptic effect Effects 0.000 claims description 34
- 210000002569 neuron Anatomy 0.000 claims description 27
- 239000003795 chemical substances by application Substances 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 18
- 238000011156 evaluation Methods 0.000 claims description 13
- 238000009825 accumulation Methods 0.000 claims description 8
- 238000012937 correction Methods 0.000 claims description 7
- 230000001154 acute effect Effects 0.000 claims description 6
- 210000004205 output neuron Anatomy 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 238000012804 iterative process Methods 0.000 claims description 3
- 210000000225 synapse Anatomy 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 230000007306 turnover Effects 0.000 claims description 3
- 210000005036 nerve Anatomy 0.000 claims 2
- 230000003014 reinforcing effect Effects 0.000 claims 1
- 230000003044 adaptive effect Effects 0.000 abstract description 4
- 239000010410 layer Substances 0.000 description 81
- 238000002474 experimental method Methods 0.000 description 18
- 230000033001 locomotion Effects 0.000 description 6
- 210000004218 nerve net Anatomy 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 239000007943 implant Substances 0.000 description 2
- 238000002513 implantation Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000000418 atomic force spectrum Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000021824 exploration behavior Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000007786 learning performance Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005293 physical law Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000002945 steepest descent method Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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+2+γ2rt+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+2+γ2rt+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+2+γ2rt+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>&alpha;</mi>
<mrow>
<mo>(</mo>
<mi>r</mi>
<mo>+</mo>
<mi>&gamma;</mi>
<munder>
<mrow>
<mi>m</mi>
<mi>a</mi>
<mi>x</mi>
</mrow>
<msup>
<mi>a</mi>
<mo>&prime;</mo>
</msup>
</munder>
<mi>Q</mi>
<mo>(</mo>
<mrow>
<msup>
<mi>x</mi>
<mo>&prime;</mo>
</msup>
<mo>,</mo>
<msup>
<mi>a</mi>
<mo>&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>&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>&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>&Delta;</mi>
<mi>w</mi>
<mo>=</mo>
<mi>&alpha;</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>r</mi>
<mi>t</mi>
</msub>
<mo>+</mo>
<mi>&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>&part;</mo>
<mi>V</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>X</mi>
<mi>t</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&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>&Delta;w</mi>
<mi>t</mi>
</msub>
<mo>=</mo>
<mi>&alpha;</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>r</mi>
<mi>t</mi>
</msub>
<mo>+</mo>
<mi>&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>&Sigma;</mi>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>t</mi>
</munderover>
<msup>
<mi>&lambda;</mi>
<mrow>
<mi>t</mi>
<mo>-</mo>
<mi>k</mi>
</mrow>
</msup>
<mfrac>
<mrow>
<mo>&part;</mo>
<mi>V</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>X</mi>
<mi>k</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&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>&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>&lambda;</mi>
<mrow>
<mi>t</mi>
<mo>+</mo>
<mn>1</mn>
<mo>-</mo>
<mi>k</mi>
</mrow>
</msup>
<mfrac>
<mrow>
<mo>&part;</mo>
<mi>V</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>X</mi>
<mi>k</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>w</mi>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>=</mo>
<mfrac>
<mrow>
<mo>&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>&part;</mo>
<mi>w</mi>
</mrow>
</mfrac>
<mo>+</mo>
<munderover>
<mi>&Sigma;</mi>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>t</mi>
</munderover>
<msup>
<mi>&lambda;</mi>
<mrow>
<mi>t</mi>
<mo>+</mo>
<mn>1</mn>
<mo>-</mo>
<mi>k</mi>
</mrow>
</msup>
<mfrac>
<mrow>
<mo>&part;</mo>
<mi>V</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>X</mi>
<mi>k</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>w</mi>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>=</mo>
<mfrac>
<mrow>
<mo>&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>&part;</mo>
<mi>w</mi>
</mrow>
</mfrac>
<mo>+</mo>
<msub>
<mi>&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>&phi;</mi>
<mo>&perp;</mo>
</msub>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>&Delta;W</mi>
<mi>d</mi>
</msub>
<mo>&CenterDot;</mo>
<msub>
<mi>&Delta;W</mi>
<mrow>
<mi>r</mi>
<mi>g</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>&Delta;W</mi>
<mi>d</mi>
</msub>
<mo>&CenterDot;</mo>
<msub>
<mi>&Delta;W</mi>
<mrow>
<mi>r</mi>
<mi>g</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>&Delta;W</mi>
<mrow>
<mi>r</mi>
<mi>g</mi>
</mrow>
</msub>
<mo>&CenterDot;</mo>
<msub>
<mi>&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>&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>&Delta;</mi>
<mi>w</mi>
<mo>=</mo>
<mi>&alpha;</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>r</mi>
<mi>t</mi>
</msub>
<mo>+</mo>
<mi>&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>&part;</mo>
<mi>V</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>X</mi>
<mi>t</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>w</mi>
</mrow>
</mfrac>
<mo>-</mo>
<mi>&gamma;</mi>
<mfrac>
<mrow>
<mo>&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>&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>&Delta;</mi>
<mi>w</mi>
<mo>=</mo>
<mi>&alpha;</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>r</mi>
<mi>t</mi>
</msub>
<mo>+</mo>
<mi>&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>&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>&part;</mo>
<mi>w</mi>
</mrow>
</mfrac>
<mo>-</mo>
<mi>&gamma;</mi>
<mi>&alpha;</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>r</mi>
<mi>t</mi>
</msub>
<mo>+</mo>
<mi>&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>&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>&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>&Delta;w</mi>
<mi>t</mi>
</msub>
<mo>=</mo>
<mi>&alpha;</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>r</mi>
<mi>t</mi>
</msub>
<mo>+</mo>
<mi>&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>&Sigma;</mi>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>t</mi>
</munderover>
<msup>
<mi>&lambda;</mi>
<mrow>
<mi>t</mi>
<mo>-</mo>
<mi>k</mi>
</mrow>
</msup>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mo>&part;</mo>
<mi>V</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>X</mi>
<mi>t</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>w</mi>
</mrow>
</mfrac>
<mo>-</mo>
<mi>&gamma;</mi>
<mfrac>
<mrow>
<mo>&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>&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>&Delta;</mi>
<mi>w</mi>
<mo>=</mo>
<mi>&alpha;</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>r</mi>
<mi>t</mi>
</msub>
<mo>+</mo>
<mi>&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>&Sigma;</mi>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>t</mi>
</munderover>
<msup>
<mi>&lambda;</mi>
<mrow>
<mi>t</mi>
<mo>-</mo>
<mi>k</mi>
</mrow>
</msup>
<mfrac>
<mrow>
<mo>&part;</mo>
<mi>V</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>X</mi>
<mi>t</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>w</mi>
</mrow>
</mfrac>
<mo>-</mo>
<mi>&gamma;</mi>
<mi>&alpha;</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>r</mi>
<mi>t</mi>
</msub>
<mo>+</mo>
<mi>&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>&Sigma;</mi>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>t</mi>
</munderover>
<msup>
<mi>&lambda;</mi>
<mrow>
<mi>t</mi>
<mo>-</mo>
<mi>k</mi>
</mrow>
</msup>
<mfrac>
<mrow>
<mo>&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>&part;</mo>
<mi>w</mi>
</mrow>
</mfrac>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>30</mn>
<mo>)</mo>
</mrow>
</mrow>
式(30)中,等式右侧第一项采用资格迹的直接梯度法求值,等式右侧第二项的求值方法与第一项求值方法相同,输入值为目标状态。
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)
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)
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)
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)
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 |
-
2015
- 2015-06-04 CN CN201510304299.4A patent/CN104932267B/zh active Active
Patent Citations (9)
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)
Title |
---|
基于BP神经网络的双层启发式强化学习方法;刘智斌等;《计算机研究与发展》;20150331;第52卷(第3期);第579-587页 * |
Cited By (1)
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 |