CNTK ( Microsoft Cognitive Toolkit ) 2.2 Python API 入門の第4弾です。
今回は LSTM モデルを CNTK で実装して時系列予測問題を扱います。
最初に CNTK におけるシークエンスのコンセプトを説明した後、シミュレーションデータによる時系列予測問題を LSTM ネットワークモデルで解いてみます。そして Internet-of-Things (IoT) データ上で LSTM モデルを活用する例として、ソーラーパネルの日々の発電力量を予測してみます。
前回までの記事 (CNTK 2.2 Python API 入門 (1) 基本, (2) 2 クラス分類, (3) MNIST) で CNTK 2.2 について次のような点がお分かり頂けたかと思います :
- Python API が公開されていて、Python プログラムで深層学習モデルが構築できます。
- 深層学習フレームワークでお馴染みのビルディング・ブロックも多数用意されていて、畳み込みネットワークも簡単に構成できます。
- ネットワーク定義は Python 関数オブジェクトとして実装され、For ループや lambda 記法も利用できる Python ライクな記法で簡潔に定義可能です。
- Trainer クラスでカプセル化したトレーニングの実装も分かりやすく簡潔です。
- CTF フォーマットの利用で CNTK データ・リーダー (= Reader) が簡単に構成できます。
引き続き、CNTK 2.2 Tutorials への橋渡しとなるような CNTK 2.2 Python API の入門記事を作成していきます。
※ Python と機械学習の基本的な知識を持つ読者を想定しています。
※ 他の深層学習フレームワークの経験があれば問題なく読み通せます。
詳細 : CNTK 2.2 Python API 入門 (4) – LSTM で時系列予測 : IoT データによる太陽光発電出力予測