リザバーコピューティングについて調査していました。こちらの本を読んだり、
いくつか論文を読んだりです。
リザバーコンピューティングとは、例えばリカレントニューラルネットワーク (Recurrent Neural Network, RNN) を (適当に) 構築しておき (固定しておき)、出力層のひとつ前の層から出力層への重みだけ、リッジ回帰や LASSO などの線形手法で最適化する方法です。RNN を用いることからもわかるように、RNN により時系列データにおける時間変化を表現できるため、リザバーコンピューティングは基本的に時系列データに対して用いられます。時系列データに対して、RNN は変えずに出力層への重みだけ変えるため、一般的なニューラルネットワークと比べると、計算時間は非常に小さくなります。一方で、RNN により特徴量間の非線形性や時系列データの特性は考慮できます。時系列データに柔軟に対応できる、計算不可の小さい (高速な) 手法といえます。
リザバーコンピューティングの方法は、RNN + 線形モデリングであり、その特徴は時系列データへの柔軟性 + 高速性です。では、リザバーコンピューティングの本質は何か考えます。
リザバーコンピューティングは、時系列データの特徴量変換にあると考えます。RNN により時系列データを、時系列データの特性の一つである自己相関も考慮しながら特徴量変換しています。そして、得られた特徴量と目的変数 y との間で線形モデルを構築します。リザバーコンピューティングにより毎回高速に特徴量変換できるため、変換された特徴量を説明変数 x とすることで、例えばソフトセンサーにおける適応型ソフトセンサーに用いることができます。
直近のデータセットを用いてモデルを更新したり (moving window)、Just-In-Time (JIT) で時刻ごとの x から y を予測するモデリングをしたりします。これなら x と y の非線形性も考慮できます。RNN による特徴量変換 + 適応型ソフトセンサーにより、時系列データの特性を考慮した高速なモデリング + 予測ができると考えられます。
リザバーコンピューティングを利用するときは、その本質を見据えた上で活用するとよいと思います。
ご参考になれば幸いです。
以上です。
質問やコメントなどありましたら、twitter, facebook, メールなどでご連絡いただけるとうれしいです。