◆ CNTK ( Microsoft Cognitive Toolkit ) 2.2 の Python API 解説第1弾です。
i.e. 本記事は CNTK 2.2 Python API 入門シリーズの続編となるシリーズ – 「解説シリーズ」の第1回の記事になります。
今回は畳み込みニューラルネットワークの中級レベル程度の内容を CNTK で実装します :
- CIFAR-10 を題材に、分類タスク用の基本的な CNN モデルを CNTK で作成します。
- ドロップアウト層やバッチ正規化層の追加により基本モデルを改良します。
- 更に、VGG スタイルのモデルや ResNet モデルも作成してみます。 (VGG / ResNet については簡単ですが直感的に分かりやすく説明しておきました。)
- データリーダーとしては CNTK の Image Reader を利用し、それに合わせた前処理を行ないます。
◆ これまでに、CNTK 2.2 Python API について以下の記事を公開してきました :
CNTK 2.2 Python API 入門 – (1) 基本, (2) 2 クラス分類, (3) MNIST, (4) LSTM, (5) オートエンコーダ, (6) 総集編
CNTK 2.2 Python API ガイド – 深層学習フレームワーク経験者のために
これらは主として CNTK 2.2 Tutorials の初級 (100 番台) と 200 番を参考にした入門レベルの記事ですが、
今回から始まる CNTK 2.2 Python API 解説シリーズはチュートリアルの中級 (200 番台) を参考にして記事を作成していきます。
想定している読者は、Python / 深層学習の基礎知識を持つことに加えて、CNTK にある程度は慣れていることが条件に追加されます。もちろん上記の入門シリーズに多少なりとも目を通していれば問題ありません。
基礎理論の冗長な説明は限定的ですので、例えば他のフレームワーク経験者の場合には、入門記事よりも読みやすくなるかと思います。
詳細 : CNTK 2.2 Python API 解説 (1) – CIFAR-10 CNN モデルの改良 / VGG, ResNet の実装