Now Loading...

Now Loading...

ニューラルネットワークおいて重みの初期値は非常に重要です。初期値によっては極小値で更新が止まってしまったり、勾配消失や勾配爆発が起きてしまいます。また適切な初期値にすることで学習が安定したり、学習の収束が速くなります。今回は初期パラメータの求め方について解説していきます。

まずは勾配消失や勾配爆発など学習の過程で発生する問題について説明します。

初期パラメータを適切にしないと起こる問題

勾配消失問題

勾配消失とは誤差逆伝播において徐々に勾配が小さくなり勾配がゼロに近づき重みの更新がほとんど行われなくなる問題です。

ニューラルネットワークの活性化関数の特徴として大きな入力に対しては勾配が小さくなるという特徴があります。下の画像のように大きな入力に対しては傾きが小さいことがわかると思います。

重みが大きすぎるとこのように活性化関数が飽和し勾配消失の原因となります。また重みが小さすぎる場合には、出力が小さくなり同様に勾配が小さくなってしまいます。このことから勾配消失を防ぐために重みの初期値を適切にする必要があることがわかります。

勾配爆発問題

勾配消失とは誤差逆伝播において徐々に勾配が大きくなり重みの更新が過度になり学習が安定しないという問題です。

勾配爆発は重みが大きすぎる場合に起こるため初期の重みを適切に設定することが重要です。

収束の遅延

重みが小さくすぎる場合、勾配が小さくなるため学習にかなりの時間がかかってしまいます。また場合によっては極小値から動けなくなり最適化が行えない場合もあります。

重みの初期値を決定する方法

上記のように重みは小さすぎたり大きすぎると上手く学習が行えないということがわかったと思います。ここでは適切な初期値を設定するために考えられた手法を紹介していきます。

Xavier法(Glorot法)

Xavier法はシグモイド関数のような線形に近い範囲を持つ関数を活性化関数とするモデルにおいてより良い初期値を選択するために考えられた手法です。TensorFlowで実装した場合デフォルトではこの手法が適用されています。初期の重みは以下のように設定されます。

は入力ノード数

は出力ノード数

は平均、分散 の正規分布を表します。

図のようにノード間の重みは入力層のノードと出力層のノードの和を利用して分散を定めることでスケールを調整しています。

このように分散を決める理由について、もう少し詳しく解説していきます。

学習を効率的に進めるためには、入力や出力の分散を適度な大きさにする必要があります。

分散が小さすぎると各ノードの値が同じようになり、勾配がうまく計算できません。

逆に分散が大きすぎる場合には、非常に大きな値と取るパラメーターなどが存在し、学習が不安定になります。このような理由からパラメーターの分散を安定させて学習を進めたいのです。

そこで、順伝播や逆伝播の過程で分散が変化しないように理論的に求められた初期のパラメーターの分散がXavier法というわけです。

さらに詳しく知りたい方はこちらをご覧ください。

Kaiming法(He法)

Kaiming法はReLU関数を活性化関数とするモデルにおいてより良い初期値を選択するために考えられた手法です。初期の重みは以下のように設定されます。

Kaiming法はReLU関数の特性を考慮してこのような式になっています。

以下はReLU関数を現した式です。

ReLU関数は0以下の場合には、値が0になることから、ReLU関数の前後で分散が半分になってしまします。このことからXavierとは異なり分散を2倍にしてやる必要があるわけです。

このようにすることで、Xavier法と同様に順伝播と逆伝播において分散が一定に保たれるわけです。

実際にやってみよう

実際に初期パラメーターとして、Xavier法とKaiming法を試してみましょう。

Xavier法

TensorflowはデフォルトでXavier法が使われています。この手法に合わせて活性化関数としてシグモイド関数を利用しています。シグモイド関数を使っているからか、やや安定感に欠ける気がします。活性化関数はやはりReLU関数のように勾配が小さくなりずらい関数のほうが良いですね。

 

Kaiming法

パラメーターの初期化手法としてXavier法を利用したものとKaiming法を利用したものを比較してみましょう。活性化関数としてReLU関数を利用します。

Kaiming法による初期パラメーターの場合のほうが学習がかなり安定していますね。Kaiming法はXavier法を改善した手法なので当然といえばそうなのですが、初期パラメーターの重要性が分かっていただけたかなと思います。

 
 

まとめ

今回は機械学習の初期パラメーターを決める手法について解説しました。この他にもfew-shot学習に適した初期パラメーターや転移学習など初期パラメーター決めるさまざまな手法があります。気になる方はぜひ調べてみてください。

\ シェア /

E資格スピードパッケージ2023#2修了者合格率100%達成

zero to one E資格 jdla

zero to oneの「E資格」向け認定プログラム

日本ディープラーニング協会の実施するE資格の受験ならzero to oneの「E資格」向け認定プログラム (税込165,000円) をおすすめします。当講座は、東京大学大学院工学系研究科の松尾豊教授と東北大学大学院情報科学研究科の岡谷貴之教授が監修する実践的なプログラムとなっています。
厚生労働省の教育訓練給付制度対象のE資格認定プログラムの中では最安値※となり、実質負担額49,500円~(支給割合70%の場合)で受講可能です。※2023年弊社調べ zero to one E資格 jdla

人工知能基礎講座を提供中

人工知能の第一人者である東京大学の松尾豊教授が監修した人工知能基礎講座を受講してみませんか? 人工知能の歴史から自然言語処理、機械学習、深層学習といった最先端のトピックやAIに関わる法律問題まで網羅しているので全てのビジネスパーソン・AIの初学者におすすめです。

サンプル動画

人工知能基礎講座はこちら↓ zero to one G検定 人工知能基礎 jdla

AI初学者・ビジネスパーソン向けのG検定対策講座

G検定受験前にトレーニングしたい方向けの問題集「G検定実践トレーニング」も提供中です。 zero to one E資格 jdla