原文
複合系の適用制御のためのLyapunov型動的NN (Lyapunov-Based Dynamic Neural Network for Adaptive Control of Complex Systems)
Farouk Zouari, Kamel Ben Saad, Mohamed Benrejeb (2012)
1. 要約/背景
- 複合的かつ動的なデータ系において、入力データによる重みの調整がすぐに行われるような学習プロセスを開発した。
- Lyapunov型学習アルゴリズムをRNNに応用した。
2. 骨子の理論
(1)想定しているRNNモデル
隠れ層への入力データは次の6パターン
1. 前ステップの教師データ
2. $n_a$ステップ前の教師データ
3. $(n_a + 2)$ステップ前の隠れ層
4. $(n_a + n_b + 1)$ステップ前の隠れ層
5. 1ステップ前の出力値
6. $n_c$ステップ前の出力値
入力層のデータの次元を$n_r$とすると、
$$n_r = n_a + n_b + n_c$$
(2)Lyapunov型学習アルゴリズム
重みの更新は次の式に基いて、行う。
w(k+1) = w(k) + \frac{\lambda}{\gamma} \Bigg(\frac{1}{1 + \frac{\beta}{\gamma}||\frac{\partial \hat y(k)}{\partial w(k)}||^2}\Bigg) e(k)\frac{\partial \hat y(k)}{\partial w(k)}
ただし、
0 < \lambda \leqq \gamma \leqq \beta \\
e(k) = y(k) - \hat y(k)
パラメータ$\lambda$、$\beta$、$\gamma$は、系のNNが安定化するように決定される。
安定化は、モデルと実際の値の誤差を元に評価する。評価関数はLyapunov関数と言われ、
$$V(t) = \frac{1}{2}(e(t))^2$$
と表される。
(3)重みの"調整"式
w(k+1) = \Bigg(1-\frac{1}{2\big(1 + ||\frac{\partial \hat y(k)}{\partial w(k)}||^2\big)}\Bigg)w(k) \\
+ \frac{1}{2\big(1 + ||\frac{\partial \hat y(k)}{\partial w(k)}||^2\big)}e(k)\frac{\partial \hat y(k)}{\partial w(k)}
(4)モメンタムを加える場合は、次の式になる。
\begin{align}
w(k+1) &= \Bigg(1-\frac{\alpha}{2\big(1 + ||\frac{\partial \hat y(k)}{\partial w(k)}||^2\big)}\Bigg)w(k) \\
&+ \frac{\alpha}{2\big(1 + ||\frac{\partial \hat y(k)}{\partial w(k)}||^2\big)}e(k)\frac{\partial \hat y(k)}{\partial w(k)} \\
&+ (1-\alpha)\Delta w(k)
\end{align}
(5)複合系におけるパラメータの調整
\begin{align}
wc(k+1) &= \Bigg(1-\frac{\alpha}{2\big(1 + ||\frac{\partial \hat y(k)}{\partial wc(k)}||^2 + ||\frac{\partial u(k-1)}{\partial wc(k)}||^2\big)}\Bigg)wc(k) \\
&+ \frac{\alpha}{2\big(1 + ||\frac{\partial \hat y(k)}{\partial wc(k)}||^2 + ||\frac{\partial u(k-1)}{\partial wc(k)}||^2\big)} e_c(k)\frac{\partial \hat y(k)}{\partial wc(k)} \\
&+ (1-\alpha)\Delta wc(k)
\end{align}
$wc$は、各層のニューロンをコントロールする重みベクトルである。
wc = [wc_{11}^1,...,wc_{n_hn_r}^1,wc_{11}^2,...,wc_{n_h1}^2,\\
wc_{11}^3,...,wc_{1n_h}^3,wc_{11}^4,wc_{11}^5,\\
...,wc_{1n_r}^5,wc_{11}^6,...,wc_{n_hn_r}^6,wc_{11}^7]^T