前回の記事で、CIFAR-10のDATASETを準備しました。
今回は、このDATASETを用いて、Sony Neural Network Console(以下、Sony NN Console)で、Convolution Neural Network(以下、CNN)を構築し、学習させることにします。
まず、下記のような基本的なCNNを作成します。これはTensorflowなどでMNISTデータを認識するときによく紹介される基本的なネットワークです。
簡単に説明しますと、Convolution-ReLU-(Max)Poolingを2回行った後、FC(Fully Connected Layer)-ReLUを2回行います。その後、Softmax関数で認識した画像を分類します。
今回のCIFAR-10に使うSony NN Console版のCNNは、こちらになります。
詳細設定は下記の表を参考にしてください。
それでは、DATASETを読み込む操作について説明します。
まず、DATASETのTabを選択し、Openボタン→Open Datasetを選択します。(下記の絵で赤い枠で表記)
ここで、前回の記事で作成したtrain-cifar10.csvを選択します。
そうなりますと、train-datasetの中身が表示されます。x:image列にpngデータ。y:label列にラベルが表示されます。
まずは、train-datasetを読み込み、次にはtest-datasetを読み込みます。
完了したら、下記のようにDatasetsに情報が表示されます。
次に、Trainingを実施します。今回はEpoch = 10までに実施してみました。
使用環境は、CPU: Core-i5 , RAM : 16GB, GPU : Nvidia-Quadro K2000 4GBでした。
Epoch-10までの学習時間は6分13秒でした。
次に、Evaluationを実施し、Accuracyを算出してみます。
なんと29.56%。かなり低いですね。
これは後からの調査でわかりましたが、Batch Normalizationを入れることで、精度がアップするらしいです。
そのBatch Normalizationに関しては、次回の記事に紹介します。
今日はまず、Sony NN ConsoleでCIFAR-10の学習が出来たことで終わります。ありがとうございました。
貴重な情報を提供いただき、ありがとうございます。
ありがとうございました!