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(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神经网络的权值向量;α表示权值更新系数,体现学习速率,其取值范围T是:0<α≤1,向量X=[x1,x2,…,xi,…,xm] 为状态输入向量;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)输入层到隐层的连接权值为:
由神经元节点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的误差值为:t-k
(rt+γV(Xt+1)-V(Xt))λ (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),得到φ⊥值为:
φ的选取只需在φ⊥值上增加一个较小的正值μ,使之略偏向向量△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的计算公式为:为使误差Err趋于最小,采用残差梯度法,求得每次迭代BP神经网络权值的变化量△w,将V(Xt)和V(Xt+1)都视为变化量,由式(26)求得拟合函数的权值按残差梯度法更新为:其中,α表示权值更新系数,体现学习速率,其取值范围是:0<α≤1,采用式(27)对BP神经网络进行权值迭代更新,能保证值函数收敛,由式(27)变形得:
式(28)中, 项的求值跟公式(5)的求法相同,项的求值跟公式(5)中的求法基本相同,输入值为目标状态;
引入资格迹后,求得相应的拟合函数的权值按残差梯度法更新为:由式(29)变形得:
式(30)中,等式右侧第一项采用资格迹的直接梯度法求值,等式右侧第二项的求值方法与第一项求值方法相同,输入值为目标状态。