在离散神经网络控制系统中,常采用梯度下降法实现神经网络权值的学习。
一、基于RBF神经网络的监督控制
基于RBF神经网络的监督控制:初始阶段采用PD反馈控制,然后过渡到神经网络控制。在控制过程中,如果出现较大的误差,则PD控制起主导作用,神经网络控制起调节作用。
总的控制输入为
u
(
k
)
=
u
n
(
k
)
+
u
p
(
k
)
u(k) = u_n(k) + u_p(k)
u(k)=un(k)+up(k),误差指标为 (有点儿费解):
E
(
k
)
=
1
2
(
u
n
(
k
)
−
u
(
k
)
)
2
E(k) = \frac{1}{2} (u_n(k) - u(k))^2
E(k)=21(un(k)−u(k))2
采用梯度下降法,网络权值学习算法为:
Δ
w
j
(
k
)
=
−
η
∂
E
(
k
)
∂
w
j
=
η
(
u
n
(
k
)
−
u
(
k
)
)
h
j
(
k
)
w
j
(
k
)
=
w
j
(
k
−
1
)
+
Δ
w
j
(
k
)
+
α
(
w
j
(
k
−
1
)
−
w
j
(
k
−
2
)
)
(1)
\begin{aligned} & \Delta w_j(k) = - \eta \frac{\partial E(k)}{\partial w_j} = \eta (u_n(k) - u(k)) h_j(k) \\ & w_j(k) = w_j(k-1) + \Delta w_j(k) + \alpha (w_j(k-1) - w_j(k-2)) \end{aligned} \tag{1}
Δwj(k)=−η∂wj∂E(k)=η(un(k)−u(k))hj(k)wj(k)=wj(k−1)+Δwj(k)+α(wj(k−1)−wj(k−2))(1)
其中, η \eta η为学习速率, η ∈ [ 0 , 1 ] \eta \in [0,1] η∈[0,1]; α \alpha α为动量因子, α ∈ [ 0 , 1 ] \alpha \in [0,1] α∈[0,1]。
二、基于RBF神经网络的模型参考自适应控制
什么是学习呢?就是根据一定的规则(梯度下降法),通过加入新的数据来不断调整神经网络的参数。
这一部分的思想和笔记-神经网络滑模控制设计方法的《基于神经网络的直接自适应滑模控制》类似。
设理想跟踪指令为
y
m
(
k
)
y_m(k)
ym(k),定义跟踪误差为:
e
(
k
)
=
y
m
(
k
)
−
y
(
k
)
e(k) = y_m(k) - y(k)
e(k)=ym(k)−y(k)
网络权值学习误差指标为:
E
(
k
)
=
1
2
e
(
k
)
2
E(k) = \frac{1}{2} e(k)^2
E(k)=21e(k)2
控制输入为RBF神经网络的输出:
u
(
k
)
=
h
1
w
1
+
⋯
+
h
j
w
j
+
⋯
+
h
m
w
m
u(k) = h_1 w_1 + \cdots + h_j w_j + \cdots + h_m w_m
u(k)=h1w1+⋯+hjwj+⋯+hmwm
其中, m m m为隐藏层的节点个数, w j w_j wj为节点的权值, h j h_j hj为高斯基函数的输出。
根据梯度下降法,网络的学习算法为:
Δ
w
j
(
k
)
=
−
η
∂
E
(
k
)
∂
w
=
η
e
c
(
k
)
∂
y
(
k
)
∂
u
(
k
)
h
j
w
j
(
k
)
=
w
j
(
k
−
1
)
+
Δ
w
j
(
k
)
+
α
Δ
w
j
(
k
)
(1)
\begin{aligned} & \Delta w_j(k) = - \eta \frac{\partial E(k)}{\partial w} = \eta e_c(k) \frac{\partial y (k)}{\partial u (k)} h_j \\ & w_j(k) = w_j(k-1) + \Delta w_j(k) + \alpha \Delta w_j(k) \end{aligned} \tag{1}
Δwj(k)=−η∂w∂E(k)=ηec(k)∂u(k)∂y(k)hjwj(k)=wj(k−1)+Δwj(k)+αΔwj(k)(1)
其中, η \eta η为学习速率, η ∈ [ 0 , 1 ] \eta \in [0,1] η∈[0,1]; α \alpha α为动量因子, α ∈ [ 0 , 1 ] \alpha \in [0,1] α∈[0,1]。
同理,可得:
Δ
b
j
(
k
)
=
−
η
∂
E
(
k
)
∂
b
j
=
η
e
c
(
k
)
∂
y
(
k
)
∂
u
(
k
)
∂
u
(
k
)
∂
b
j
=
η
e
c
(
k
)
∂
y
(
k
)
∂
u
(
k
)
w
j
h
j
∣
∣
x
−
c
i
j
∣
∣
2
b
j
3
b
j
(
k
)
=
b
j
(
k
−
1
)
+
η
Δ
b
j
(
k
)
+
α
(
b
j
(
k
−
1
)
−
b
j
(
k
−
2
)
)
(2)
\begin{aligned} & \Delta b_j(k) = - \eta \frac{\partial E(k)}{\partial b_j} = \eta e_c(k) \frac{\partial y(k)}{\partial u(k)} \frac{\partial u(k)}{\partial b_j} = \eta e_c(k) \frac{\partial y(k)}{\partial u(k)} w_j h_j \frac{|| \boldsymbol{x} - \boldsymbol{c}_ij ||^2}{b_j^3} \\ & b_j(k) = b_j(k-1) + \eta \Delta b_j(k) + \alpha \left( b_j(k-1) - b_j(k-2) \right) \end{aligned} \tag{2}
Δbj(k)=−η∂bj∂E(k)=ηec(k)∂u(k)∂y(k)∂bj∂u(k)=ηec(k)∂u(k)∂y(k)wjhjbj3∣∣x−cij∣∣2bj(k)=bj(k−1)+ηΔbj(k)+α(bj(k−1)−bj(k−2))(2)
和
Δ
c
i
j
(
k
)
=
−
η
∂
E
(
k
)
∂
c
i
j
=
η
e
c
(
k
)
∂
y
(
k
)
∂
u
(
k
)
∂
u
(
k
)
∂
c
i
j
=
η
e
c
(
k
)
∂
y
(
k
)
∂
u
(
k
)
w
j
h
j
x
i
−
c
i
j
b
j
2
c
i
j
(
k
)
=
c
i
j
(
k
−
1
)
+
η
Δ
c
i
j
(
k
)
+
α
(
c
i
j
(
k
−
1
)
−
c
i
j
(
k
−
2
)
)
(3)
\begin{aligned} & \Delta c_{ij}(k) = - \eta \frac{\partial E(k)}{\partial c_{ij}} = \eta e_c(k) \frac{\partial y(k)}{\partial u(k)} \frac{\partial u(k)}{\partial c_{ij}} = \eta e_c(k) \frac{\partial y(k)}{\partial u(k)} w_j h_j \frac{x_i - c_{ij}}{b_j^2} \\ & c_{ij}(k) = c_{ij}(k-1) + \eta \Delta c_{ij}(k) + \alpha \left( c_{ij}(k-1) - c_{ij}(k-2) \right) \end{aligned} \tag{3}
Δcij(k)=−η∂cij∂E(k)=ηec(k)∂u(k)∂y(k)∂cij∂u(k)=ηec(k)∂u(k)∂y(k)wjhjbj2xi−cijcij(k)=cij(k−1)+ηΔcij(k)+α(cij(k−1)−cij(k−2))(3)
其中, ∂ y ( k ) ∂ u ( k ) \frac{\partial y(k)}{\partial u(k)} ∂u(k)∂y(k)为Jacobian矩阵,表征系统输出对控制输入的灵敏度。
三、RBF自校正控制
即用RBF神经网络逼近被控对象的未知部分,其设计思想和笔记-神经网络滑模控制设计方法的《一种简单的RBF网络自适应滑模控制》类似。
四、总结
- 《RBF神经网络自适应控制MATLAB仿真》一书,RBF神经网络的作用和多项式逼近、模糊逼近等是一样的,都满足万能逼近原理,用来逼近/拟合模型未知部分。
- 感觉和局部线性化思想有点共通的地方。
- 为什么叫“学习算法”呢?就是根据一定的规则(比如本书第三章的梯度下降法),随着数据的增加,对RBF神经网络中的参数进行调整。
什么是快乐星球,什么是快乐星球,如果你想知道什么是快乐星球的话,我现在就带你研究,什么是快乐星球。
参考文献
- 刘金琨. RBF神经网络自适应控制matlab仿真[M]. 清华大学出版社, 2014.