完全に接続されたニューラル ネットワークの最適化

序文

  完全に接続されたネットワークを概念からさまざまなレベルまで理解した後、理想的な結果を得るために、最後にニューラル ネットワークを通じて入力したデータに対していくつかのトレーニングを実行する必要があります。トレーニング プロセスの非線形要素: 活性化関数の脱積分、脱微分、勾配消失と勾配爆発、バッチ正規化、損失関数の選択、オーバーフィッティングとドロップアウト、モデルの正則化などの問題は継続的に最適化する必要があります。継続的な検出について、この記事ではこれらの点をまとめます。
ここに画像の説明を挿入

1. グラデーションの消失

勾配消失: バックプロパゲーション中に勾配が乗算されるため、局所的な勾配が小さすぎると、バックプロパゲーション中に勾配消失の問題が発生し、最終的にWW  の更新につながります。W、つまり、勾配が更新されるたびに、初期の重みは基本的に変わりません。
  勾配消失問題の活性化関数の選び方?
  ①シグモイド活性化関数の導関数の最大値は 0.25と非常に小さいため、隠れ層が 100 層あり、シグモイドの導出結果がすべて 0.1 であるとすると、傾きは 0.1 の 100 乗となります。勾配は逆伝播され、前方に進むほど勾配が小さくなり、0 に近づきます。同様に、tanh 活性化関数にも同じ問題がありますが、tanh 活性化関数はシグモイドよりも速く収束します。
  ②ReLu関数の傾きは0より大きい場合は1となり、1のk乗は1のままなので傾き消去の問題は解決しますが、0より小さい場合は傾きが0になります。時刻に重みが更新されると、更新が停止されます。
  0 未満の場合は更新を停止します
  利点: ニューラル ネットワークは完全に接続されており、過剰適合の問題があり、更新を停止する接続により過剰適合の問題を軽減できるため、一方的な抑制が提供されます。
  短所:この時点で W が固定値になったため、このニューロンの情報は送信できなくなり、ニューロンが死滅し、一部のリンクが失われます。
  ③Leaky ReLu: 0未満の場合は重みの更新を続けますが、0では微分値がないため0では連続ではありません。

2. 勾配爆発

  爆発的な勾配は連鎖律の乗法的な性質によるものです
  勾配爆発: 崖の勾配に学習率を乗算すると、非常に大きな値になるため、妥当な領域から「飛び出て」、最終的にはアルゴリズムが収束しなくなります。
ここに画像の説明を挿入
  解決策:
  1. 学習率の値をより小さい値に設定します。
  2. グラデーションクリッピング。

2.1 固定閾値クリッピング

  しきい値を設定します。勾配がしきい値より小さいか大きい場合、更新された勾配がしきい値となります。写真が示すように:
ここに画像の説明を挿入
        しかし、適切な閾値を見つけるのは難しい

2.2 パラメータのノルムに従って測定

  勾配の L2 ノルム、つまりすべてのパラメーターの偏導関数の二乗和と平方根をクリップします。
ここに画像の説明を挿入

3. 損失​​関数

3.1 ソフトマックス

  Softmax は、まず各カテゴリのスコアに対してeeを実行します。e指数関数は変換され、正規化され (各カテゴリのスコアがすべてのカテゴリのスコアの合計で除算され)、最終的に各カテゴリの確率値が出力されます。
ここに画像の説明を挿入

3.2 クロスエントロピー損失

  エントロピーの概念: 簡単に理解すると、情報量を反映します。ある出来事が非常に確実であるとき、それは情報量が存在しないことを意味します。その出来事の各可能性の確率値が等しいとき、エントロピーは現時点では最大規模です。
ここに画像の説明を挿入
  2 つのランダム分布の差を測定する方法?
  実際の分布がワンホット形式である場合にのみ、交差エントロピーと相対エントロピーは等しくなりますが、実際の分布がワンホット形式ではない場合は、2 つの差を比較するために相対エントロピーを選択する必要があります。

3.3 クロスエントロピー損失とマルチクラスサポートベクターマシン損失

  ①計算ロジックが異なり、マルチクラスサポートベクターマシン損失は、正しいカテゴリのスコアが他の各カテゴリのスコアより高いかどうかに焦点を当て、クロスエントロピー損失は、測定された各カテゴリの確率値の差です。そして実際の値。
  ②クロスエントロピー損失では、実際のカテゴリのスコアが他のカテゴリよりも大きいだけでなく、実際のカテゴリの確率が他のカテゴリよりも大きいことが必要です。

4. 勾配降下の最適化

4.1 運動量法

ここに画像の説明を挿入
  運動量法は、速度を累積することによって振動を低減し、より良い解決策を見つける機能も備えています。
  現象: 損失関数には、不正な極小値が存在するか、鞍点
  勾配降下法アルゴリズムに問題があることがよくあります。 : 極小値とサドルポイント間の勾配サドルポイントが 0 なので、アルゴリズムは通過できません。
  運動量法の利点: 運動量が存在するため、アルゴリズムは極小点と鞍点から抜け出して、より良い解を見つけることができます。
ここに画像の説明を挿入

4.2 適応勾配法

  適応勾配法は、振動方向のステップサイズを小さくし、平坦方向のステップサイズを大きくすることで衝撃を軽減し、谷底方向に加速します。
  振動方向とフラット方向の見分け方?
  回答: 勾配の大きさの二乗が大きい方向が振動方向であり、勾配の大きさの二乗が小さい方向がフラット方向です。
ここに画像の説明を挿入
  しかし、AdaGradには欠点があります、rrr値は反復回数が増えるとステップサイズが小さくなり、動かなくなり調整の意味がなくなってしまいます。AdaGrad で改良された RMSProp メソッドは、1 未満の係数
ここに画像の説明を挿入

4.3 アダム

  運動量と適応勾配のアイデアを同時に使用することで、補正ステップによりアルゴリズムの開始時のコールド スタートの問題を大幅に軽減できます。
  最初に重みの更新を開始するとき、vv を直接使用する場合v、ステップ サイズは 0.1gggの場合、ステップ サイズが小さすぎるため、重みの更新が遅くなります。修正されたv ~ \tilde vv~、ステップ サイズは 1ggg10回以上繰り返すと、uuu t t tの累乗は非常に小さくなり、その効果は失われます。このとき、修正されたv ~ \tilde vv~ vvにほぼ等しいv
ここに画像の説明を挿入

5. バッチ正規化

ここに画像の説明を挿入

6. 過学習と過小学習

  過学習: 学習中に選択されたモデルに含まれるパラメータが多すぎるため、モデルが既知のデータをよく予測する一方で、未知のデータをあまり予測しない現象を指します。この場合、モデルはデータの特徴を学習するのではなく、トレーニング セットのデータを記憶するだけかもしれません。
  アンダーフィッティング: モデルが記述的すぎて、データ内のパターンをうまく学習できません。アンダーフィッティングは通常、モデルが単純すぎることが原因で発生します。

7. 過学習への対処

  最適な解決策は、より多くのトレーニング データを取得することです。
  次善の解決策 - モデルが保存できる情報の量を調整するか、モデルが保存できる情報に制約を課します。このタイプの方法は正則化と呼ばれます。

7.1 L2 正則化

  L2 正則化により、モデルのインターフェイスがよりスムーズになり、より複雑なインターフェイスが生成されなくなります。
ここに画像の説明を挿入

7.2 体重の減少

  モデルの容量を削減するという目的は、パラメーター値の範囲を制限することによって達成されます。
ここに画像の説明を挿入
  θ \シータθが小さいほど、正規項は小さくなります。
  これを解くためにラグランジュ乗数法を使用し、次の構築を行います。λ \lambda
ここに画像の説明を挿入
  の場合λθ \θθ一方を知るともう一方を解決できるため、次と同等になります:
ここに画像の説明を挿入
  λ→ ∞ \lambda \to \infty ,w ∗ → 0 w^* \to 0w0 λ \lambdaを使用しますθ \thetaを制御するためのλ

  次に、勾配の計算とパラメーターの更新は次のようになります:
ここに画像の説明を挿入
ここに画像の説明を挿入
  when λ η < 1 \lambda \eta < 1<1、重量減衰が達成される

7.3 ランダム無効化(ドロップアウト方式)

  ランダム非活性化: 隠れ層のニューロンを一定の確率で活性化しないようにします。
  実装方法: 学習プロセス中に、特定の層に対して Dropout を使用すると、その層の出力の一部がランダムに破棄され (出力値は 0 に設定されます)、これらの破棄されたニューロンはネットワークによって削除されるようです。
  ドロップアウト率: 0 に設定される特徴の割合であり、通常は 0.2 ~ 0.5 の範囲になります。
  ドロップアウトは、パラメータを調整するためのトレーニング中にのみ有効になり、推論中には使用されません。
  ランダムな非アクティブ化によって過剰適合を防止できるのはなぜですか??
  ①ランダム非アクティブ化により、勾配が更新されるたびに計算に含まれるネットワーク パラメーターが減少し、モデル容量が減少するため、過学習を防ぐことができます。
  ② ランダム非活性化は重量分散を促す、つまり正則化の役割を果たし、過学習を防止します。
  ③ランダム非アクティブ化もモデル統合と同等であり、モデル統合により一般に精度が向上し、過学習が防止されます。

  上記は、完全接続ニューラルネットワークで最適化する必要があるポイントの共有であり、写真データは、北京郵電大学のLu Peng先生のコンピュータービジョンとディープラーニングから取得されています。

おすすめ

転載: blog.csdn.net/m0_58807719/article/details/128168384