ニューラルネットワークの重みの初期値に関する説明として最も適切なものはどれか。
- 1すべての重みを0で初期化すると、各ニューロンが異なる特徴を学習しやすくなる。
- 2重みの初期値を大きくするほど、シグモイド関数を用いた層では勾配消失が起こりにくくなる。
- 3活性化関数にReLUを用いる場合は、前層のノード数をnとして標準偏差√(2/n)の分布から初期化する「Heの初期値」がよく用いられる。
- 4Xavierの初期値はReLUを用いたネットワーク向けに考案されたもので、シグモイド関数やtanh関数には適さない。
正解と解説を見る
正解:3
Heの初期値は、ReLUでは負の入力に対する出力が0になり信号がおよそ半分失われることを考慮して、Xavierの初期値よりも分散を2倍にした初期化方法です。Xavierの初期値はシグモイド関数やtanh関数のような活性化関数を想定したもので、選択肢4は対応関係が逆です。すべての重みを同じ値(0を含む)にすると、同じ層のニューロンが同じ更新を受け続けるため、多数のニューロンを持つ意味がなくなります。また、初期値が大きすぎるとシグモイド関数の出力が0や1に張り付き、微分がほぼ0になって勾配消失が起こりやすくなります。ReLUにはHeの初期値、シグモイド関数やtanh関数にはXavierの初期値と覚えておきましょう。
根拠:重みの初期化手法(Glorot & Bengio, 2010 によるXavierの初期値、He et al., 2015 によるHeの初期値)