ゼロから作るDeepLearning 第六章 初期値・Batch正規化編

画像

重みの初期値

重みの初期値の設定はすごく大事。
この設定によって、学習率や過学習のスピードが著しく変わる。

方法はいくつかある。

Xavierの初期値

前の層のノード数を$n$として
$1/{\frac{1}{{\sqrt{n}}}$の標準偏差の重みを使う。

このXavierはSigmoidやtanhの線形的な(対象的な)関数に使うとうまくいく。

tanhのほうが原点対称でDeepLearningに向いているらしい。

Heの初期値

Relu関数に使うやつ。
Xavierと違い、分子に2が生える。

Batch Normalization

データごと正規化することで、初期値の影響を減らし
学習率を早めながら過学習を減らす。

ミニバッチごとに

  • 平均を0
  • 分散を1

とする。

学習率が早いし、過学習減らせるぞ