2層およびN層完全接続ニューラルネットワークモデルの原理

序文

  深層学習とは、サンプルデータの内部法則や表現レベルを学習することであり、学習過程で得られる情報は、文字や画像、音声などのデータの解釈に大きく役立ちます。完全接続ニューラル ネットワーク (MLP) は、基本的なネットワーク タイプの 1 つであり、従来の機械学習アルゴリズムと比較した深層学習手法の特徴、つまりビッグ データ ドライブ、数式導出、自己反復更新、ブラック ボックス トレーニングなどを完全に体現しています。この記事では、MLP を 2 つのレイヤー以上から分析して説明します。

1. 2層MLP

2 (浅い) 層ニューラル ネットワークと単層ネットワークの違いは、隠れ層に複数のニューラル ノードがあり、「複数の入力と複数の出力」という複雑な問題  に対処できることです。

1.1 順伝播

y ( x , W ) = W x + b {\rm{y}}(x,W) = Wx + by (x,=×+b
  ここでxxx は入力画像を表し、その次元はddd ; やあyは、その次元がカテゴリの数ccに等しいスコア ベクトルです。cW = [ w 1 ⋅ ⋅ ⋅ ⋅ wc ] TW = [w_1 \cdot \cdot \cdot w_c ]^TW=[ w1wcTは权值四角阵、wi = [ wi ⋅ ⋅ ⋅ wid ] T w_i = [w_i \cdot \cdot \cdot w_{id} ]^Tw私は=[ w私はwTはiiですiカテゴリの重みベクトルb = [ bi ⋅ ⋅ ⋅ ⋅ bc ] T b = [b_i \cdot \cdot \cdot b_c ]^Tb=[ b私はbcTはバイアス ベクトル、bi b_ib私は为第 i i iカテゴリのバイアス、つまり 2 層 MLP は次のようになります。
y = W 2 σ ( 0 , W 1 x + b 1 ) + b 2 y = W_2 \sigma (0,W_1 x + b_1 ) + b_2y=W2σ ( 0 ,W1バツ+b1+b2、ここでσ \sigmaσは活性化関数です

1.2 バックプロパゲーション

バックプロパゲーションが行うことは、各ニューロンにW と b W と b  を持たせることです。Wbの値、つまり勾配。このようにして、新しいデータを渡すと、それを正確に予測できます。もちろん、それは各レイヤーから伝播されたデータに対するフィードバックでもあります。データをフィードバックする場合の評価方法は損失関数ですが、以下では平均二乗誤差損失関数を例にその傾きを下降させていきます。

  损失関数:L ( y ^ , y ) = 1 2 ( y ^ i − yi ) 2 L(\hat y,y) = \frac{1}{2}(\hat y_i - y_i )^2L (y^y )=21(y^私はy私は2

  梢度名生: w 1 = w 0 − η d L ( w ) dwb 1 = b 0 − η d L ( b ) db \begin{array}{l}w_1 = w_0 - \eta \frac{ {dL( w ) }}{ {dw}} \\ \\ b_1 = b_0 - \eta \frac{ {dL(b)}}{ {db}}\\ \end{array}w1=w0d L ( w )b1=b0db _d L ( b )

  其中 w 0 w_0 w0そしてb 0 b_0b0は現在の実際の値、− η - \etaηは、 LLステップ サイズ(特定の値)ですLは極値を取るwww时, w 1 w_1 w1勾配降下法で得られる値です。

  損失関数の勾配が小さくなる場合は連鎖則を解く必要があります

d L ( a , y ) dw = d L ( a , y ) da ⋅dadz ⋅ dzdw \frac{ { dL(a,y) }}{ {dw}} = \frac{ {dL(a,y)}}{ {da}} \cdot \frac{ {da}}{ {dz}} \cdot \frac{ {dz}}{ { dw}}d L ( a ,y )=だあ_d L ( a ,y )dz _だあ_ディーズ_
  演繹:
  損失関数
ここに画像の説明を挿入
  連鎖ルールの
ここに画像の説明を挿入
  最終結果への勾配降下
ここに画像の説明を挿入

2. N 層 MLP

  N層全結合ニューラルネットワーク - 入力層以外の層がN層あるネットワーク
  ニューラル ネットワークでは、ネットワーク内の層の数が増加するにつれて、各層が前の層をより深く抽象化します。ニューロンの各層は、前の層のニューロンの値のより抽象的な表現を学習します。3 層ニューラル ネットワークは、2 隠れ層ニューラル ネットワークとも呼ばれます。,则三层MLP为: y = W 3 σ ( 0 , W 2 σ ( 0 , W 1 x + b 1 ) + b 2 ) y = W_3 \sigma (0,W_2 \sigma (0,W_1 x + b_1 ) + b_2 ) y=W3σ ( 0 ,W2σ ( 0 ,W1バツ+b1+b2)、ここでσ \sigmaσは活性化関数です。
3階建て

2.1 ネットワークパラメータ

  パラメータ: 反復を実行し、最終的な安定値を修正するアルゴリズムを指します。

  ハイパーパラメータ: ネットワーク構造 - 隠れ層のニューロンの数、ネットワーク層の数、非線形ユニットの選択など。 最適化
     関連 - 学習率、ドロップアウト率、正則化項の強度など。

2.2 ハイパーパラメータの最適化

  グリッド検索方法

    ① ハイパーパラメータごとに複数の値を取得し、これらのハイパーパラメータ値を組み合わせて複数のハイパーパラメータ セットを形成します; ②
    検証セット上でハイパーパラメータの各グループのモデルのパフォーマンスを評価します;
    ③ 検証セットで使用される値のセットを選択します最終的なハイパーパラメータ値として最高のパフォーマンスを持つモデルを選択します。

  ランダム検索方法

    ① パラメータ空間内の点をランダムに選択し、各点はハイパーパラメータのセットに対応します;
    ② 検証セット上のハイパーパラメータの各セットのモデルのパフォーマンスを評価します;
    ③ モデルで使用される値のセットを選択します最終的なハイパーパラメータ値として最高のパフォーマンスが得られます。
ここに画像の説明を挿入
  ハイパーパラメータ検索戦略:

    ①粗探索:ランダム法を使用して広い範囲でハイパーパラメータをサンプリングし、1サイクルトレーニングし、検証セットの精度に基づいてハイパーパラメータの範囲を絞ります。
    ②ファインサーチ:ランダム法を使用して、前述の狭い範囲内でハイパーパラメータをサンプリングし、モデルを 5 ~ 10 サイクル実行し、検証セット上で最も精度の高いハイパーパラメータのセットを選択します。
ここに画像の説明を挿入

3.MLPの最適化

  非線形要素: 活性化関数に関しては、計算速度を向上させるために、勾配の消失と勾配の爆発の問題を解決するために、活性化関数を逆積分、脱微分し、偏導関数を取得しやすくする必要があります。

  反復更新: バックプロパゲーション、損失関数の選択、オプティマイザーの選択、学習率減衰戦略などに関する重みとバイアスを更新します。

  バックボーン ネットワーク: ネットワーク内にセットアップするレイヤーの数と、各レイヤーにノードの数を含める必要があります。

  以上が2層、N層(例として3層)のMLPモデルの原理ですが、MLPの最適化については本コラムの全結合ニューラルネットワークの最適化と改善を参考にしてください。

おすすめ

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