「ゼロから作るDeep Learning」の第7章、CNNについてやっと再開した。

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
- 作者: 斎藤康毅
- 出版社/メーカー: オライリージャパン
- 発売日: 2016/09/24
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (18件) を見る
第7章では、MNISTをCNNを使って解法する章だ。

図. MNISTをCNNで学習させた結果
最終的にCIFAR-10とか、CIFAR-100に挑戦してみたいので、まずは同じPythonのプログラムを使ってMNISTからの拡張を行ってみる。
プログラムについては Deep-Learning-From-Scratch のGitHubリポジトリと、CIFAR-10を読み込むPythonプログラムを活用させてもらった。
CNNの構成と合うように多少改造している。
tr_data = tr_data.reshape(tr_data.shape[0], 3, 32, 32) te_data = te_data.reshape(te_data.shape[0], 3, 32, 32) return tr_data, tr_labels, te_data, te_labels, label_names
結果はこちら... トレーニングに対して結果が伴っていないなあ... 認識率が50%台にとどまる結果となった。
っていうかこれ、師匠のブログの結果にそっくりだな。どうやって改善していくのか、トレースしていこう。

図. CIFAR-10 をCNNで学習させた結果。トレーニングの結果は順調に認識率が向上しているが、テストに対してはボロボロだ。
リポジトリはこちら。