”ニューラルネットワーク自作入門”に記載されているMNISTデータを利用した
画像認識プログラムを元に隠れ層を1ケ増やしたら、認識率が上がるか試してみた。
結論としては、簡単には上がらない・・・。試したものは全て下がった。
1.ニューラルネットワークの層
元の形状は下図基本形のように隠れ層が1ケである。
今回、隠れ層を2ケに増やし、ノード数を色々変えてみた。
2.測定結果
隠れ層を増やしても認識精度は上がらない。むしろ少し下がる。
ノード数が多いとGPU版の効果が出てくる(行列積の計算の割合が増えてくる)。
隠れ層を増やすよりも関数を変えたほうが認識精度が上がる。
→活性化関数(シグモイド関数からReLU)、損失関数(MSELossからBCELoss)、最適化アルゴリズム(SGDからAdam)。
3.参考資料
下記のWEBページにお世話になりました。ありがとうございます。
・隠れ層と隠れニューロンはいくつにするべきなのか?
・今更聞けないディープラーニングの話【ユニット・層・正則化・ドロップアウト】
<個人的な感想>
隠れ層とノード数については試行錯誤が必要と感じた。
入力データの種類(入力層のノード数)が多いと論理的に絞り込むのは難しい。