初期化の問題、初期化方法の選び方

まず、パラメータの初期化の理由

重みが正しくなく、不適切に初期化されていると、モデルのトレーニング中に勾配が消失または爆発しやすくなり、トレーニング プロセスに悪影響を及ぼす可能性があります。

勾配がなくなると、重みの更新が非常に遅く小さくなり、結果として収束が遅くなり、最終的には損失関数の最適化が遅くなり、物事を「学習」できなくなり、より良い結果を得るために自ら最適化することができなくなります。ネットワークが完全に収束するのを妨げる可能性があります。逆に、重みが大きすぎる初期化を行うと、順伝播または逆伝播中に勾配が爆発する可能性があり、「本当に役立つ」知識や詳細をまったく学ぶことができなくなります。

第二に、初期化の方法(共通エントリ)

  1. オールゼロ(そもそも0だった?もっと難しいけど)または等値初期化

使い物にならない。初期化値がすべて同じであるため、各ニューロンが学習する内容も同じになる可能性が高く、必要な効果を高速かつ効率的に学習することが難しく、効果的なポイントに集中することが難しく、結果的に学習が困難になる可能性があります。 「シンメトリー(Symmetry)」への質問。

  1. 通常の初期化

平均はゼロで、標準偏差は小さな値に設定されます。

これをうまく行う利点は、同じバイアスがあり、重みが正と負になることです。より合理的です。

例: 2012 年、AlexNet は、「初期化に平均 0、標準偏差 0.01、偏差 1 のガウス (正規) ノイズ」の初期化方法を使用しました。ただし、この通常のランダム初期化方法は、勾配消失や勾配爆発の問題を引き起こしやすいため、非常に深いネットワーク、特に ReLU 活性化関数を使用するネットワークの学習には適していません。

  1. 均一な初期化

均一に分布する間隔は通常 [-1/sqrt(fan_in), 1/sqrt(fan_in)] です。

ここで、fan_in は入力ニューロンの数を表し、fan_out は出力ニューロンの数を表します。

4.== Xavier の初期化==

ここに画像の説明を挿入

上のシグモイド関数の画像にあるように、初期化値が小さいと層数が経つにつれて分散が0に近づく傾向にあります。このとき入力値はどんどん小さくなり、上では0に近くなります。線形に近いシグモイドでは、非線形性が失われます。

初期値が非常に大きい場合、層数が経過するにつれて分散は急激に増加しますが、このとき入力値は非常に大きくなり、シグモイドは 0 に近い大きな入力値の逆数を書き、バックプロパゲーション中に勾配が消えるという問題があります。

この問題に対応して、Xavier と Bengio は、重みを初期化するときにネットワークのサイズ (入力および出力ユニットの数) を考慮する「Xavier」初期化を提案しました。このアプローチでは、重みを前のレイヤーのユニット数の平方根に反比例させることで、重みが妥当な値の範囲内に収まるようにします。

Xavier の初期化には 2 つのバリエーションがあります。

ザビエル正規分布: 正規分布の平均は 0、分散は sqrt( 2/(fan_in + fan_out) ) です。

ザビエル均一: 均一に分散された間隔は [-sqrt( 6/(fan_in + fan_out)) , sqrt( 6/(fan_in + fan_out)) ] です。

Xavier の初期化は、活性化関数として Tanh と sigmoid を使用するネットワークに適しています。

原文名称:《Understanding the difficulty of training deep feedforward neural networks》

  1. He の初期化

アクティベーション関数の選択は、最終的には初期化方法の有効性を決定する上で重要な役割を果たします。活性化関数は微分可能であり、ニューラル ネットワークに非線形特性を導入します。これは、機械学習と深層学習が解決するように設計されている複雑なタスクを解決するために重要です。ReLU と Leaky ReLU は、勾配消失/爆発問題に対して比較的堅牢であるため、活性化関数としてよく使用されます。

Xavier は、tanh 関数ではうまく機能しますが、ReLU などの活性化関数ではうまく機能しません。He Kaiming は、より堅牢な重み初期化手法である He Initialization を導入しました。

初期化には 2 つのバリエーションもあります。

正規: 正規分布の平均は 0、分散は sqrt( 2/fan_in ) です。

He 均一: 均一に分布する間隔は [-sqrt( 6/fan_in) , sqrt(6/fan_in) ] です。

初期化は、ReLU や Leaky ReLU などの非線形活性化関数を使用するネットワークに適しています。

He 初期化メソッドとザビエル初期化メソッドは両方とも同様の理論的分析を使用します。つまり、初期パラメータが引き出される分布の適切な分散が見つかります。この分散は、使用される活性化関数に適切であり、分布のタイプを明示的に考慮せずに導出されます。
ここに画像の説明を挿入
上に示したように、この論文は、He Kaiming の改良された初期化戦略 (赤) が、§ReLU の Xavier 法 (青) よりも速くエラー率を低減する方法を示しています。

原本証明

  1. 事前トレーニング済み

事前にトレーニングされた重みを初期化として使用すると、他の初期化よりも収束が速くなり、開始点として優れています。(転移学習)

  1. データ関連の初期化
    テキスト
  2. スパース重み行列の
    初期化の原文
  3. ランダム直交行列の初期化
    原文

この記事は学習記録、侵入、削除のみを対象としています。

おすすめ

転載: blog.csdn.net/qq_53250079/article/details/128363652