
リザバーコンピューティングを学ぼうと思う
田中剛平, 中根了昌, 廣瀬明. リザバーコンピューティング. 森北出版, 2021, 207p.
に関心がある。まだ途中だがこういうものらしい。
注目されているの?
にて2023年度より、量子コンピューターと並びリザバーコンピューティングが対象となっている。
用途
現時点での実用性 :時系列パターン認識用の高速機械学習手法として
近未来の可能性 :高効率な機械学習デバイスの基礎原理として
将来的な展望 :AIハードウェアの基盤として
実装
実装には2種類あり、ソフトウェアだけではなく物理的に実装するのもあるとのこと。光とか。
```mermaid
graph LR;
r(リザバーコンピューティング) --- プログラム;
r --- 物理リザバーコンピューティング;
```
代表的なアルゴリズム
も2種類ある
```mermaid
graph LR;
r(リザバーコンピューティング) --- エコーステートネット;
r --- リキッドステートマシン;
```
リザバーコンピューティングとは
概念図
```mermaid
graph LR;
subgraph 時系列入力;
direction LR;
t0 -.-> t_i -.-> tn;
end
時系列入力 ---> リザバー;
subgraph リザバー;
r0(( ));
r1(( ));
r2(( ));
end
リザバー ---> m("学習識別機\n(リードアウト)") ---> o(出力);
```
リザバーとは
リザバー(reservoir)とはもともと液体を入れておく容器や貯水池
リザバーに石を投入すると波紋が広がりしばらくすると消える
石によって波紋のパターンは変わるので入力の情報を反映している
リザバーは入力を波紋に変換する変換機
石を次々に投入することが時系列入力に相当する
1つよりも複雑な波紋となる。前の波紋の「記憶」を反映する
つまりリザバーコンピューティングとは
入力データの変換
リザバーは学習の間で固定
パターン解析し、簡便な線形学習器で高速な学習が可能
リザバーコンピューティングとは、時系列入力をリザバーによって時空間パターンに変換し、リードアウトでの簡便な学習アルゴリズムによるパターン解析を可能または容易にすること
できること
時系列分類
時系列生成
時系列予測
わざわざなぜ複雑な波紋に変換して簡易な学習器で学習する?学習コストが低い?
```mermaid
quadrantChart;
title リザバーコンピューティングの位置づけ;
x-axis "学習コスト低" --> "学習コスト高";
y-axis "計算性能低" --> "計算性能高";
quadrant-1 Deep Learning model;
quadrant-2 Reservoir Computing model;
quadrant-3 "線形学習器";
quadrant-4 " ";
```
そう計算性能が高いが学習コストが高い深層学習に対し、リザバーコンピューティングは計算性能が高く、学習コストも低いいいところどりを目指している
現状
現状ではディープラーニングに比べてリザバーコンピューティングは調整可能なパラメータが少ないので、計算性能がそれほど高くない
タスクによってはディープラーニングに匹敵する計算性能も出ており ⇒ 研究中
歴史
深層学習のRNN(リカレントニューラルネットワーク)の研究からリザバーコンピューティングは生まれた
RNN関連の歴史。太字はリザバーコンピューティング
1986 Jordan ネットワーク
1989 Real-Time Recurrent Learning (RTRL)
1990 Elman ネットワーク
1990 Backpropagation Throuch Time (BPTT)
1997 長・短期記憶 (LSTM)
2001 エコーステートネットワーク (ESN)
RNNの一部の結合重みのみを調整する
2002 リキッドステートマシン (LSM)
計算論的神経科学研究から。スパイキングニューラルネットワーク
2004 Backpropagation-Decorrelation (BPDC)
2014 ゲート付き回帰型ユニット (GRU)
ニューラルネットワークの問題解決から生まれた
NN, DNN, RNNの普遍性定理
有限個のニューロンからなるNNはある条件下で任意の連続関数を任意の精度で近似できるけど計算量が多いよ
エコーステートネットワーク
リザバーを用いてエコーステートを作り出し、そこから入力の特徴のみをリードアウトする
エコーステート
時系列入力の過去の情報が反響して残る状態
リードアウトには計算量の小さい線形学習器
高性能と高速を両立させることが目的
リザバーは結合重みを固定したRNN
入力データよりも次元の十分大きい人工ニューロンを用いることでリザバーは入力データを高次元の特徴空間に写像
リードアウトはその高次元の動的挙動から入力データの特徴を読み出す
リードアウトの重みは線形学習器で最適化
つまり、リザバーの変換により線形学習を可能にしている、そして線形学習だから高速となる
エコーステートネットワークは、一定の条件を満たす任意の離散時間フィルタを任意の精度で近似できる万能性が理論的に示されている
```mermaid
flowchart TD;
a("1. 時系列入出力データを用意する") ---> b("2. エコーステートネットワークモデルの種類を選択する");
b ---> c("3. 選択したモデルの設計(固定パラメータの設定)を行う");
c ---> d("4. 学習アルゴリズムを選択し、リードアウトの最適化を行う");
d ---> e("5. 訓練誤差と検証(汎化)誤差を評価する");
```
数式で表すと
$${N_u}$$:入力層のノード数
$${N_x}$$:リザバーのノード数
$${N_y}$$:出力層のノード数
各ノードの状態は離散時間 $${n(n=0, 1, 2, \cdots)}$$ とともに発展すると仮定
$${\mathbf{u}(n)}$$ : 時刻nにおける入力ベクトル
$${\mathbf{x}(n)}$$ : リザバーのノード状態のベクトル
$${\mathbf{y}(n)}$$ : 出力ベクトル
$$
\begin{align}
\mathbf{u}(n)&=(u_1(n), \cdots, u_{N_u}(n))^{\top} \in \mathbb{R}^{N_u} \\
\mathbf{x}(n)&=(x_1(n), \cdots, x_{N_x}(n))^{\top} \in \mathbb{R}^{N_x} \\
\mathbf{y}(n)&=(y_1(n), \cdots, y_{N_y}(n))^{\top} \in \mathbb{R}^{N_y} \\
\end{align}
$$
結合重み行列をそれぞれ、
$$
\begin{align}
\mathbf{W}^{in}&=(w^{in}_{ij}) \in \mathbb{R}^{N_x \times N_u} \space \space \space (入力結合重み行列)\\
\mathbf{W}&=(w_{ij}) \in \mathbb{R}^{N_x \times N_x} \space \space \space (リカレント重み行列)\\
\mathbf{W}^{out}&=(w^{out}_{ij}) \in \mathbb{R}^{N_y \times N_x} \space \space \space (出力結合重み行列)\\
\end{align}
$$
RNNとの違い
$${W^{in}}$$と$${W}$$があらかじめ与えられて固定されいてる点が異なる
つづく、、、