概要
Jaegerらが提唱した単層Echo State Network(ESN)は、計算量を抑えながらうまく時系列データを扱えるモデルとして有名だが、多くの時系列が持つマルチスケール構造うまく表現することが難しいと言う欠点がある。これに対してESNを多重化する方向性でさまざまな試行錯誤が試みられてきたが、上手くいかなかった。そこで、Deep-ESNを提案する。
前提知識
ESNの多重化、階層化は色々試みられていて、基本的な課題は以下の通り。
- システムの安定性
- Echo State Property(ESP, 重みの初期値がどんなものでも同じ学習データで学習すると同じ重みに収束する特性)の保持
- 計算量の増加を抑える
で、色々試行錯誤した結果のモデルが以下の通り。
- Dynamical Feature Discoverer(DFD) by Jaeger…リザバーを積み重ねたモデル。学習則が勾配ベース出会ったため計算量が増加した。
- cascaded ESNs by Triefenbach et al…前のリザバーの出力を教師付きで次のリザバーに食わせるらしい。どっから教師持ってきたんだ…問題設定的にそれが可能だったのかな。
- Multilayered echo-state machine(MESM)…同じサイズのリザバー内部行列を接続したモデル。DFDとの大きな違いは学習で、元のESNと同様に最後の行列のみを最適化させるらしい。ESPもあり、かつ単層ESNより性能もいい感じ。でも同じサイズだったら単純にリザバー間で既知の情報を受け渡ししているだけで、高次元への投射というESNの旨みを活かせてなくない?というのが筆者の主張。これは解釈だが、高次元への投射によって隠れていた情報を発見できる(カーネル法のような)ので、それができてないよねって意味だと思う。多分。
- φ-ESN…random-static-projection technique(Extreme Learning Machineとも言う。なんぞこれ)の利点を活かしたモデル。具体的には、ELMの順伝播層をreservoirに組み込み、次元数と分離性を増やせるらしい。???
これらの思考を通じてわかってきたことが以下の通り。
- 同じサイズのリザバーを積み重ねてもあんまり性能は変わらない…ESNの利点は高次元への射影にあるため。
- リザバー内に存在する高次元データを低次元に符号化する必要がある…ESNが抱える問題として、collonearity problemがある。これは、リザバーは疎なRNNであるため、高次元の情報と言っても冗長になりやすいと言うもの。
提案手法
上記の問題を解決するため、投影層(つまりリザバーのこと)と符号化層を交互に組み合わせたモデルを提案する。具体的には、リザバーに入力時系列を投影したのち、符号化層で低次元に符号化する。考え方はAutoEncoderと同じっすね。学習では一番最後の行列だけを最適化する。これは単層ESNと同じで、計算コストも低い。
モデル構造自体はかなり単純。 番目のリザバー内部のベクトルは、以下の式で表現される。
ここで、は番目のリザバーへの入力ベクトルを指す。当たり前だが、の時はは最初の入力ベクトルに等しい。
また、番目の符号化層による符号化後のベクトルは、以下の式で表現される。
最後の出力は以下の通り。
ここで、は最後のリザバー層の出力と元々の入力、各符号化層の出力を組み合わせた行列で、
と表現される。で、この中のをチューニングするらしい。 の決定方法は、以下の3種類。 1. PCA まあ基本っすね。省略。 2. ELM-based Auto-Encoder 3. Random Projection(RP) よくわからん。あとハイパーパラメタは遺伝的アルゴリズムで決めるらしい。
シミュレーション
2つのカオスシステムと2つの実世界時系列に対してやってみた。 1. Mackey-Glass System 2. NARMA System 3. 月別黒点系列 4. 日別最低温度系列 まあ解析元のシステムについての説明はいいでしょもう。
結果
単層ESNや階層型ESNよりも良い感じみたいっす。
感想
構造自体はシンプルだな〜と思った。オートエンコーダを挟むのは面白い、というか理にかなっていると思う。てっきり符号化の際の行列もランダムなのかと思ったが、おそらくそれでは単層ESNと本質的に何も変わらないモデル構造になってしまうのだろう。でもPCAとかで逐次最適化するならやっぱり計算量増えるじゃんね。というかPCAって回帰問題に使えましたっけ?