読者です 読者をやめる 読者になる 読者になる

Qstairs

起業に向けた活動、およびAndroid・画像認識(人工知能、Deep Learning等)の技術を紹介します

広告

【Deep Learning】NNの重みは学習の度に異なり、初期値から大きく変化しない

AI (人工知能) Chainer Deep Learning(ディープラーニング) IT python

f:id:qstairs:20160601221351j:plain

はじめに

NNを学習する際に
まずは各重みに初期値が割り当てられる。

そして、NNの学習はこの初期値の重みを変えながら進んでいくことになる。

つまり、初期値が大事になる。

そこで、今回は

  • 初期値が学習のたびにどれだけ異なるのか
  • 繰り返し学習によってどれほど初期値が変化するのか

について評価する。

また、今回は評価するために重みを色で表現した。


例:
左の〇4つが入力層、真ん中の〇6つが中間層、右の〇3つが出力層となっている。
重みは各〇をつないでいる線の色で表す。
より赤ければ重みが大きく、黒ければ小さい。


f:id:qstairs:20170412214241p:plain

実験内容

この前の記事に書いたIris(アヤメ)の識別に構築した学習モデルを使用し、
繰り返し学習回数(epoch)を5,000で4回学習した。

各学習で得られた重みを色で表現した画像を出力した。

初期値が学習のたびにどれだけ異なるのか

下の画像が各学習での初期値になる。
ぱっと見はわかりにくいが、よく見ると結構異なっている。


f:id:qstairs:20170412215324p:plain

繰り返し学習によってどれほど初期値が変化するのか

以下に初期値と繰り返し学習回数を5,000回行ったときの画像を列挙した。
大きな変化がないことが分かる。

学習①
f:id:qstairs:20170412215947p:plain:h300
学習②
f:id:qstairs:20170412215959p:plain:h300
学習③
f:id:qstairs:20170412220008p:plain:h300
学習④
f:id:qstairs:20170412220019p:plain:h300


学習①の重みの移り変わりの動画
youtu.be


まとめ

今回は学習するNNモデルの重みについて、について、
学習による割り当てられる重みの初期値の差異と
繰り返し学習による重み変化を評価した。

結果として、
学習による割り当てられる重みの初期値の差異は大きく、
繰り返し学習による重みの変化は小さいことが分かった。

これらから、NNモデルの学習では重みの初期値が重要になることが分かる。

よって、
構築した学習モデルの評価を行う際は、
構築した学習モデルに対して学習を複数回行い、
各学習モデルの平均等を出すべきである。


注意事項

今回の評価ではDeep LearningのフレームワークであるChainerを使用しており、
他のフレームワークでは同様の結果が出ない可能性があります。

関連記事

qstairs.hatenablog.com

広告