プログラミング上達したい人が書くブログ

プログラミング上達したい人が書くブログ

主に、アニメやPython、C++、競技プログラミング(初心者)について書きたいです。また、1週間に一つの記事を心掛けています。学生です。備忘録と書かれたものは他人に見せることを考えて書いてないため見にくいです。

Neural Network Consoleを使ってみた Part2

前記事URL

printf.hatenablog.com

今回やってみたこと

 前回の記事の評価の正確性が92.85%でしたが、それについて正確性を挙げる方法について試してみました。

やってみたこと その1

 Affineを二つに増やし、もともと1層のニューラルネットワークを2層にしてみました。設計図は以下のようになります。

f:id:sachishimei:20170902193940p:plain

そして結果は以下のようになります。

f:id:sachishimei:20170902194254p:plain

減ってる...?理由が分かりません

やってみたこと その2

 SoftmaxCrossEntropyというレイヤーを使ってみました。SoftmaxCrossEntropyとは、レイヤーリファレンスを引用すると、

blog.dl.sony.com

 カテゴリIndexで与えられるデータセットの変数との相互情報量を最小化するニューラルネットワークの出力層です。SoftmaxCrossEntropyはSoftmax+CategoricalCrossEntropyと等価ですが、まとめて演算することにより演算誤差を抑える効果があります。プロパティはSquaredErrorと共通です。

となっています。私が注目したところは、Softmax+CategoricalCrossEntropyと等価であり、一緒に計算することで誤差が小さくなることです。

 設計図は以下のようになります。

f:id:sachishimei:20170905215911p:plain

 そして、結果は以下のようになりました。

f:id:sachishimei:20170905215954p:plain

 あれ?何にも出ていない!すいません、理由が分かりませんでした。知っている方いたらコメントしていただけると助かります。出たばっかりのIDEのため情報が少なく、調べても出てきませんでした。でも、下に貼られている結果を見る限りは、ラベルと一緒の値が一番高くなっているし判定はうまくいっているのかと思います。

f:id:sachishimei:20170905220500p:plain

 

中間休憩です。

 ちょっと行き詰ってしまったため、今回はここで終わりにしておきます。次回も同じように、確率が上がらないか試していくつもりです。よろしくお願いします。

 また、学生であり至らぬ点も多いことを思います。何かありましたらコメントいただけると助かります。