1 重み初期化の原則
1.1 対称性の破れとランダム性
ニューラルネットワークにおいて、すべての重みを同一の値(例えばゼロ)で初期化すると、同一層内のニューロンが全く同じ更新を受けるため、対称性が破れず実質的に一つのニューロンとしてしか機能しなくなる。この問題を回避するため、重み初期化には必ずランダム性が導入される。ランダムな初期値により各ニューロンが異なる勾配を受け取り、多様な特徴表現が学習可能となる。
1.2 分散の制御
重みの初期値の分散は、順伝播時の活性値の分散と逆伝播時の勾配の分散に直接影響する。分散が大きすぎると活性値が爆発的に増大し、小さすぎると信号が消失する。理想的な初期化では、層を何層も通過しても活性値の分散が一定に保たれるように分散を調整する。具体的には、入力数(ファンイン)や出力数(ファンアウト)に応じてスケーリングを行う。
1.3 勾配流と活性化関数の関係
活性化関数の非線形性は、順伝播だけでなく逆伝播時の勾配の大きさも変化させる。例えばシグモイド関数は飽和領域で導関数がほぼゼロとなり勾配消失を引き起こす。初期化手法は、活性化関数の導関数の特性も考慮して設計される。ReLUのように片側がゼロの関数では、分散の調整に注意が必要となる。
2 歴史的発展
2.1 初期の試行錯誤(1990年代以前)
1980年代から1990年代初頭にかけて、重み初期化は経験的な手法に依存していた。一様分布の小さい乱数(例えば[-0.5, 0.5])や標準正規分布が試みられたが、ネットワークが深くなると勾配消失や爆発が頻発し、深層学習の妨げとなった。LeCunらは1998年にLeNetで用いた初期化法を提案したが、理論的な裏付けは限定的だった。
2.2 Xavier/Glorot初期化の登場(2010年)
2010年、GlorotとBengioは「Understanding the difficulty of training deep feedforward neural networks」において、活性値の分散と勾配の分散を層間で一定にする条件を導出し、Xavier初期化(Glorot初期化とも呼ばれる)を提案した。この手法はシグモイド型活性化関数に対して効果的であることが示された。
2.2.1 シグモイド型活性化関数への最適化
Xavier初期化では、重みを平均0、分散が \( \frac{1}{n_{\text{in}}} \) または \( \frac{2}{n_{\text{in}} + n_{\text{out}}} \) の一様分布または正規分布からサンプリングする。シグモイドやtanhのような0中心で対称な活性化関数において、順伝播と逆伝播の両方で分散を安定させる設計となっている。
2.3 He初期化の発展(2015年)
2015年、Heらは「Delving Deep into Rectifiers」において、ReLU活性化関数を用いた深層ネットワークに最適化されたHe初期化(Kaiming初期化)を提案した。ReLUは負の領域で出力がゼロとなるため、Xavier初期化では分散が過小になる問題を解決した。
2.3.1 ReLU系関数への対応
He初期化では、重みを平均0、分散が \( \frac{2}{n_{\text{in}}} \) の正規分布または対応する一様分布からサンプリングする。これにより、ReLU後の活性値の分散が適切に保たれる。PReLU(Parametric ReLU)などの亜種にも同様の理論が拡張された。
3 主要な初期化手法
3.1 一様分布初期化
一様分布初期化は、指定された範囲 \([-a, a]\) から一様乱数を生成して重みを設定する。aの値は通常、ファンインやファンアウトに基づき調整される。単純で実装が容易だが、理論的な分散制御はなされていないことが多い。
3.2 正規分布初期化
平均0、標準偏差σの正規分布から重みをサンプリングする。σの値は経験的に決められることが多く、小さすぎると勾配消失、大きすぎると爆発の原因となる。深層学習では後述のXavierやHe初期化のように、層サイズに応じてσを調整する手法が主流である。
3.3 Xavier初期化(Glorot初期化)
3.3.1 数式と理論的背景
Xavier初期化では、重み \(W\) を以下の一様分布または正規分布からサンプリングする。
- 一様分布:\( W \sim U\left[-\frac{\sqrt{6}}{\sqrt{n_{\text{in}} + n_{\text{out}}}}, \frac{\sqrt{6}}{\sqrt{n_{\text{in}} + n_{\text{out}}}}\right] \)
- 正規分布:\( W \sim \mathcal{N}\left(0, \frac{2}{n_{\text{in}} + n_{\text{out}}}\right) \)
理論的には、線形活性化関数を仮定した場合に順伝播と逆伝播の分散が一定になる条件から導かれる。
3.3.2 適用範囲と限界
主にtanhやシグモイドなど、0中心で対称な活性化関数に適する。ReLUのような非対称な活性化関数では順伝播時に分散が減少するため、浅いネットワークでは機能するが深層では性能が低下する。
3.4 He初期化(Kaiming初期化)
3.4.1 数式と理論的背景
He初期化では、重み \(W\) を以下の分布からサンプリングする。
- 正規分布:\( W \sim \mathcal{N}\left(0, \frac{2}{n_{\text{in}}}\right) \)
- 一様分布:\( W \sim U\left[-\frac{\sqrt{6}}{\sqrt{n_{\text{in}}}}, \frac{\sqrt{6}}{\sqrt{n_{\text{in}}}}\right] \)
ReLUの負領域で出力がゼロになることを考慮し、活性値の分散を維持するために分散をXavierの2倍に設定する。
3.4.2 ReLUとPReLUへの拡張
PReLUでは負の勾配パラメータa(学習可能)が導入されるため、He初期化は \( \frac{2}{(1+a^2)n_{\text{in}}} \) の分散に一般化される。また、Leaky ReLUなど他の変種にも同様の考え方が適用可能である。
3.5 LeCun初期化
3.5.1 正規化された線形ユニット向けの設計
1998年にLeCunらが提案した初期化で、正規分布 \( \mathcal{N}(0, 1/n_{\text{in}}) \) を用いる。Xavier初期化の特殊ケース(ファンアウトを無視した形)と見なせる。現在では主にtanhやシグモイドに対して推奨される場合があるが、深層ではXavierに劣る。
3.6 直交初期化
3.6.1 直交行列の利点
直交初期化では、重み行列をランダムな直交行列で初期化する。直交行列の列ベクトルは互いに直交しノルムが1であるため、順伝播時に活性値のノルムが増幅・減衰しにくい。特に深層ネットワークで勾配の安定性が向上する。
3.6.2 RNNでの利用例
リカレントニューラルネットワーク(RNN)では長期依存性の学習が難しいが、隠れ状態の遷移行列を直交初期化することで勾配消失・爆発が緩和されることが知られている。LSTMやGRUでも有効性が報告されている。
3.7 ゼロ初期化とその危険性
すべての重みを0で初期化すると、すべてのニューロンが同一の活性を持ち、逆伝播時に同一の勾配が発生するため、学習が全く進行しない(対称性問題)。バイアス項を0にすることはあるが、重みのゼロ初期化は避けられるべきである。
4 実践的な考慮点
4.1 バッチ正規化との相互作用
バッチ正規化(Batch Normalization)は、各層の出力を正規化することで内部共変量シフトを軽減する。このため、初期化の影響が緩和され、比較的大きな分散での初期化でも安定することがある。ただし完全に無視できるわけではなく、適切な初期化との併用が推奨される。
4.2 学習率スケジューリングとの組み合わせ
重み初期化のスケールは学習率の選択にも影響する。初期の重みが大きすぎると、大きな勾配が急激な更新を引き起こし、学習率を小さく設定する必要が生じる。一方、小さすぎると初期の学習が遅くなる。逆に、学習率スケジューラが初期化の影響を補償することもある。
4.3 活性化関数ごとの推奨初期化
4.3.1 シグモイド・tanh用
シグモイドやtanhに対してはXavier初期化(Glorot初期化)が標準的に推奨される。これにより活性値が飽和領域に入るのを防ぎ、勾配の安定した伝播が期待できる。
4.3.2 ReLU系列用
ReLU、Leaky ReLU、PReLU、ELUなどに対してはHe初期化(Kaiming初期化)が最適である。特に深層のCNNやResNetでは標準的な選択となっている。
4.3.3 活性化関数なしの場合
活性化関数を持たない線形層では、理論的には適切な分散調整なしでも学習可能だが、Xavier初期化の正規分布(分散 \(2/(n_{\text{in}}+n_{\text{out}})\))がしばしば用いられる。実際には後続の非線形層を考慮してHeやXavierを選択することが多い。
4.4 転移学習における初期化の扱い
転移学習では、事前学習済みモデルの重みをそのまま初期値として使用するため、新たな初期化は不要である。ただし、追加する新しい層(分類ヘッドなど)に対しては、既存の層に合わせた初期化手法(例えばHe初期化)を適用する。ファインチューニング時には学習率を小さく設定し、重みの初期状態を大きく変化させないようにする。
5 理論的基礎
5.1 勾配消失・爆発の数学的解析
深層ネットワークでは、層を通過するたびに勾配のノルムが指数的に増加または減少する。順伝播時の活性値の積と逆伝播時の重みの積の期待値を解析することで、初期化の分散が適切でないと勾配が不安定になることが示される。XavierやHeの導出は、この分散の積が1に近づく条件を課している。
5.2 信号伝播の力学
ネットワークの各層を通過する信号(活性値と勾配)の分散を確率過程としてモデル化する。活性化関数の分布や非線形性の効果を組み込み、初期化パラメータに対する固定点を解析する。この力学系の視点から、深層ネットワークが情報を忠実に伝達できる初期化条件が明らかにされる。
5.3 ランダム行列理論との関連
重み行列をランダム行列と見なすと、その特異値分布が信号の増幅・減衰の程度を決定する。特に直交初期化は特異値がすべて1の理想的な状態を実現し、勾配流が安定する。ランダム行列理論は、初期化時の重みの統計的性質とネットワークのダイナミクスを結びつける数学的枠組みを提供する。
6 評価とベンチマーク
6.1 収束速度の比較
適切な初期化は損失関数の減少を加速する。例えば、MNISTやCIFAR-10を用いた実験では、He初期化がXavier初期化よりもReLUネットワークで早く収束することが確認されている。一方、tanhネットワークではXavierが優位となる。直交初期化は特に深層で収束の安定性が高い。
6.2 汎化性能への影響
初期化は最終的なテスト精度にも影響を与える可能性がある。過度に大きい初期値はモデルの複雑性を増し過学習を招く一方、適切なスケールは正則化効果を発揮する。複数のベンチマークでは、He初期化がReLUベースのCNNで標準的なXavierよりも高い汎化性能を示す事例が報告されている。
6.3 大規模モデルでの実証結果
ImageNetなどの大規模データセットで訓練されたResNetやTransformerでは、He初期化とバッチ正規化の組み合わせが事実上の標準となっている。GPTやBERTのようなTransformerモデルでは、初期化の分散を \( \sqrt{2/\text{hidden\_size}} \) とする小さめの値が用いられることが多い。大規模モデルでは、初期化のわずかな違いが学習の成否に大きく関わることが実証されている。