ディープラーニング機械学習

Glorot初期化

ぐろろしょきか · Glorot Initialization
17 views

Glorot初期化は、ディープラーニングにおいてニューラルネットワークの重みを適切に設定するための手法です。各層の入力と出力のノード数に応じて乱数の分散を調整することで、学習中の勾配消失や勾配爆発を防ぎ、Sigmoid関数やtanh関数を用いたモデルの学習を効果的に安定化させます。

Glorot初期化とは

Glorot初期化(Xavier初期化)は、ニューラルネットワークの重み初期化を行う際に、前後のノード数に基づいて乱数の分散を設定し、情報や勾配の伝播を安定させる手法です。

詳しく解説

深層学習では、初期重みの値が不適切だと層を深めるにつれてデータや勾配が極端に大きくまたは小さくなり、学習が停滞する問題が生じます。Glorot初期化は、各層の入力ノード数と出力ノード数の合計に合わせて重みの分散を制御します。これにより、順伝播時の各層の出力分散と、逆伝播時の各層の勾配分散がほぼ同等に維持されます。重み初期化の工夫により勾配消失や勾配爆発が防がれ、活性化関数にSigmoid関数やtanh関数を使用する際に極めて高い学習安定性を発揮します。

具体例・使われ方

例えば、多層のニューラルネットワークで活性化関数にtanh関数を使用してモデルを学習させる際に利用されます。ランダムな標準正規分布のまま初期化した場合と比べ、Glorot初期化を使用すると層が深くても安定して勾配が伝わるため、初期段階から効率的に学習が進みます。

似た用語との違い

混同されやすい概念にHe初期化があります。Glorot初期化がSigmoid関数やtanh関数のようなS字型の関数に適しているのに対し、He初期化はReLU関数などの0未満を切る活性化関数に特化して設計されています。適用する活性化関数の種類によって選択すべき初期化手法が異なります。

注意点

Glorot初期化はあらゆる活性化関数に対して最適なわけではありません。特に現代のディープラーニングで広く使われるReLU関数と組み合わせた場合、伝播する信号が減衰しやすくなるため注意が必要です。また、適切な重み初期化を行っても、学習率やバッチ正規化の設定が不適切であれば学習が失敗する可能性があります。

更新日時: 2026年9月16日 19:01