機械学習系のライブラリを使わずに,Javaで簡単なニューラルネットワークをつくっている.簡単に作りすぎて精度はあまり良くない.入力の次元が大きいからなんとなく隠れ層を増やしてみる,とかやってもこれだけではあまり改善されない.
本で読んだ,各層の幾つかのニューロンを無効化した上でバックプロパゲーション学習をする「Dropout」という手法を取り入れてみると良いかもしれない.
初めてのディープラーニング --オープンソース"Caffe"による演習付き
- 作者: 武井宏将
- 出版社/メーカー: リックテレコム
- 発売日: 2016/02/19
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (6件) を見る
それにしても学習に時間がかかるので,毎回の試行の際にweight,biasや最終的な精度などの必要情報を保持しておくようにしないと,同じことを繰り返しやるようでは時間がもったいない.
世の中には,優れたライブラリがたくさん存在するけれど,最初の一歩にいるうちは自力でお手製のニューラルネットの設計をしてみるのも楽しい.