FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

「ゼロから作るDeep Learning」第7章のCNNでCIFAR-10に挑戦してみる (失敗)

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

第7章では、MNISTをCNNを使って解法する章だ。

f:id:msyksphinz:20180310222118p:plain
図. MNISTをCNNで学習させた結果

最終的にCIFAR-10とか、CIFAR-100に挑戦してみたいので、まずは同じPythonのプログラムを使ってMNISTからの拡張を行ってみる。

プログラムについては Deep-Learning-From-ScratchGitHubリポジトリと、CIFAR-10を読み込むPythonプログラムを活用させてもらった。

qiita.com

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%台にとどまる結果となった。

っていうかこれ、師匠のブログの結果にそっくりだな。どうやって改善していくのか、トレースしていこう。

f:id:msyksphinz:20180311090737p:plain
図. CIFAR-10 をCNNで学習させた結果。トレーニングの結果は順調に認識率が向上しているが、テストに対してはボロボロだ。

リポジトリはこちら。

github.com