ニューラルネットワーク分類アルゴリズムの原理の詳細な説明

目次

ニューラルネットワーク分類アルゴリズムの原理の詳細な説明

ニューラル ネットワークのワークフロー

逆伝播アルゴリズム

1) バックプロパゲーションの原理

2) 応用例

要約する


順伝播

(順伝播): 入力層から出力層に沿ったニューラル ネットワークの順序を指し、モデルの中間変数を順次計算して保存します。

誤差逆伝播法

(バックプロパゲーション):出力層から入力層への順序に沿って、ニューラルネットワークの各層に係る目的関数の中間変数とパラメータの勾配を連鎖則に従って順次計算して格納する。バックプロパゲーションは、ニューラル ネットワーク パラメーターの勾配を計算する方法です。

ニューラルネットワーク分類アルゴリズムの原理の詳細な説明

ニューラル ネットワーク アルゴリズムが普及する前は、機械学習の分野で最も注目されていたアルゴリズムは「サポート ベクター マシン アルゴリズム(SVM アルゴリズム)」でしたが、ニューラル ネットワークが優勢になった今では、なぜスタックするのかが気になるかもしれません。ニューラルネットワーク層がそんなに多いのか?単層パーセプトロン モデルでは XOR 問題を解決できないのと同様に、隠れ層を追加することで解決できるでしょうか? 結局誰がニューラルネットワークにこれほど素晴らしい魔法の力を与えたのでしょうか。

一般に、ニューラル ネットワークの層が増えるほど、ネットワーク モデルの学習能力が強化され、複雑なデータ分布にうまく適合できるようになります。ただし、これはあくまで理想的な状態であり、ネットワークが深くなるにつれて、計算の難易度が上がったり、モデルを理解するのが難しくなったりするなど、他の問題も発生します。したがって、適切なシナリオを解決するために適切な数のネットワーク層を選択することは、ニューラル ネットワーク アルゴリズムの難しい点です。

ニューラル ネットワークのワークフロー

簡単な例を使用して、ニューラル ネットワークがどのように機能するかを理解しましょう。
 

ニューラル ネットワークのワークフロー


図 1: 人工ニューラル ネットワーク モデル


図 1 に示すように、A、B、C、D は 4 人の視覚障害者で、「象に触れる視覚障害者」というゲームをプレイしたいと考えています。データセットには、ゾウ、イノシシ、サイ、ヘラジカの 4 つの動物が含まれています。4人のうちA、B、Cは動物に触れる(つまり動物の特徴)ことを担当し、DはA、B、Cから送られてきた情報を要約して分析するのを担当します。誰かが、このラウンドでどの動物に触れたかを D に伝えるでしょう。また、A、B、Cは以下の3つの特徴に触れた場合のみDに報告することも定められています。

特徴1:柱のような(足)
特徴2:ガマの扇のような(耳)
特徴3:鞭のような(尻尾)

ゲームは他の外部要因を考慮せず、理想的な条件の下でプレイされることに注意してください。次に、教師あり学習プロセスに従い、最初にトレーニングしてから予測します。動物に触れるプロセスは、実際には動物の部位の特徴を取得するプロセスです。動物が 4 匹いるため、ここで 4 回ポーリングする必要があります。4 ラウンドが完了した後に D が要約した情報は次のとおりです。

1回目 ゾウ:
A:柱のようなもの(足)
B:扇のようなもの(耳)
C:ムチのような(尻尾)
2回目 イノシシ:
B:扇のようなもの
C:ムチのような
もの3回目、サイ: 
A: ガマの扇のように
C: 鞭のように
4回目、ヘラジカ: 
C: 鞭のように

上記の要約情報の分析を通じて、D は、ゾウであろうとなかろうと、報告するものは同じであるため、C が報告するものが最も価値が低い (つまり、重みが小さい) と考えます。D は、比較すると、A と B のレポートの方が価値がある (重い) と信じていますが、それぞれのレポートには間違いがあるでしょう。Dについて調べた結果、AとBの情報が集約されていれば、二人が同時に[柱とガマの扇]に触れた場合、触れた動物は象であることが分かり、目の見えない人でも団結することで象に触れることができます。来てください。

上の例では、A/B/C/D は実際には単純なニューラル ネットワーク モデルを構成しており、これらは 4 つのニューロンに相当し、A/B/C は「タッチ」、つまり異なる次元に戻る役割を果たします。入力データはニューラル ネットワークの入力層を構成します。3 人がデータを取得したら、D に伝え、D の要約分析を通じて、最終的な予測結果、つまり象であるかどうかを判断します。これはニューラルの出力層に相当します。通信網。ニューラル ネットワークは、分散した情報を集約して、最も価値のある信頼できる情報を抽出できますネットワーク内の独立したノードだけを取り出した場合、それは部分的な一般化であり、たとえば、C は鞭のような尻尾を持つものはすべて象であると考えていますが、これは明らかに不合理です。

ニューラル ネットワークは、入力情報に異なる重み値を割り当てることで、異なる情報の重要性を区別しますモデルトレーニングのプロセスでは、一次関数の対応する重みを調整し、貴重な情報の入力重みを増やし、他の価値情報の入力重みを減らすことによって、これが[重みを調整する]の中心的なアイデアです。上記の方法により、ネットワーク モデル予測の予測精度を向上させることができます。

ニューロンのノード数や層数が多いほど、ニューラルネットワークの表現力やデータの適合性が高まるため、他の機械学習アルゴリズムに比べて画像処理に適しています。 . 認識、音声認識などの複雑なタスクの根本原因。

逆伝播アルゴリズム

ニューラル ネットワーク モデルには、活性化関数とバックプロパゲーション BP アルゴリズムという 2 つの重要なコンポーネントがあります。

人工ニューラル ネットワークはニューロン ノードで構成されており、これらのノードの役割は情報の受信と送信であることがわかっています。脳では、外部刺激を受け取り、興奮信号を伝達します。

人工ニューラル ネットワーク モデルでは、入力層から始まり、出力層に渡され、最終的に結果が返されるこの信号伝播方法は、「順伝播」(または順演算、順伝播) と呼ばれます。ニューラル ネットワーク モデルでは、出力層が出力を生成するまで入力が層ごとに渡されると、順伝播は終了します。

バックプロパゲーションはフォワードプロパゲーションと似ていますが、伝播方向が逆であるためバックプロパゲーションアルゴリズム(BPアルゴリズムと呼ばれます)と呼ばれています。このアルゴリズムは1960年代に初めて登場しましたが、注目を集めたのは1986年です。ヒントンらによって、それは再び一般の人々の視野に入った。このアルゴリズムは、数層ニューラル ネットワークの [重みパラメータ] 計算の問題を首尾よく解決します。
 

順方向演算と逆伝播


図 2: 順方向演算と逆伝播の概略図

1) バックプロパゲーションの原理

バックプロパゲーション アルゴリズム (BP) は教師あり学習アルゴリズム、つまりラベル付きトレーニング データを通じて学習し、人工ニューラル ネットワーク モデルをトレーニングするための一般的な方法の 1 つです。簡単に言えば、BP アルゴリズムは、エラーが最小限になるまで間違いから学習し、それによってモデルの信頼性を向上させることです。

BP アルゴリズムの学習プロセスは、順伝播プロセスと逆伝播プロセスの 2 つの部分で構成されます。

順伝播の過程で、入力情報は入力層を経由して隠れ層を通過し、層ごとに処理されて出力層に送信され、出力値とマークされた値の間に誤差がある場合、

次に、誤差は出力層から隠れ層を介して入力層に伝播され (つまり、逆伝播)、このプロセスでは、勾配降下法アルゴリズムを使用してニューロンの重みパラメーターが最適化されます。 、ネットワークモデルのトレーニングの終わり、つまりバックプロパゲーションの終わりです。

フローチャートは次のとおりです。
 

逆伝播アルゴリズム


図 3: ニューラル ネットワーク モデルのトレーニング


以上の処理をまとめると、入力層は入力データ x を受け取り、同時に重みパラメータ ω を初期化し、隠れ層で計算した後、出力層がその結果を出力し、順方向演算が完了します。その後、出力層の結果とマークされた値を比較して偏差値を取得し、その偏差値を出力層から入力層に伝播します(逆伝播段階)。この段階では、勾配降下法アルゴリズムが使用されます。重みパラメータの最適化を繰り返し、偏差値が最小となるときの最適な重みパラメータの集合(ω)を求める。

2) 応用例

既存のニューラルネットワークモデルは以下の通りであり、入力層、隠れ層、出力層の3層で構成されており、ニューラルネットワークの活性化関数としてシグモイド関数を使用している。バックプロパゲーション アルゴリズムがどのように機能するか、およびパラメーター調整を実現する方法を見てみましょう。
 

バックプロパゲーションのケース


図 4: ニューラル ネットワーク モデル


まず、ネットワーク モデルのデータについて簡単に説明します。

入力層: i1=0.05、i2 = 0.1

初期化重みパラメータ: w1=0.15、w2=0.2、w3=0.25、w4=0.3、w5=0.4、w6=0.45、w7=0.5、w8=0.55 出力層マーク値

(例: 期待値): o1=0.01、o2=0.99

バイアス項目の重み値: b1=0.35、b2=0.6

次に、バックプロパゲーション アルゴリズムを使用して、実際の出力とマークされた値を可能な限り近づけます。つまり、実際の値とマークされた値の間の偏差が最小になります。上記のプロセスに従って段階的に計算していきます。

前方演算ステージ: 入力層 --> 隠れ層 --> 出力層、ニューロン H1 の重みの合計を計算します。
 

重みの合計


初期化データを上記の式に代入すると、次の結果が得られます。
 


隠れ層ニューロンの H1 の出力結果。この結果は活性化関数によってマッピングする必要があることに注意してください。
 

活性化関数のマッピング結果


同様に、H2 ニューロンの出力も上記の方法に従って計算でき、結果は次のようになります。
 


出力層 O1 の実際の出力結果は次のように計算されます。
 


データを上記の式に取り込み、活性化関数マッピングを通じて、出力層 O1 の結果が得られます。
 


同様に、O2 の実際の出力は上記の方法に従って計算できます。
 

出力層の出力結果


上記の操作により、実際の出力結果はマークされた値とは大きく異なり、計算結果は [0.75136507,0.772928465] ですが、実際のマークされた値は [0.01,0.99] であることがわかります。次に、逆伝播アルゴリズムを使用して重みを繰り返し更新し、出力を再計算します。


バックプロパゲーション ステージ(出力層 --> 隠れ層 --> 入力層) では、まずMSE平均二乗誤差公式を使用して合計誤差を計算します。
 

注: MSE は、「平均誤差」を測定するためのより便利な方法です。MSE は、データの変化の程度を評価できます。MSE の値が小さいほど、予測モデルの一般化能力が優れています。

合計誤差 (Etotal) は上記の計算によって得られ、この値はニューラル ネットワーク内のすべてのノードで「共通に」構成されます。したがって、各ニューロン ノードがどの程度の偏差値に「寄与する」かを計算する必要があります。これは、バックプロパゲーション アルゴリズムによって解決されるべき中心的な問題です。もちろん、解決策も非常に簡単です。つまり、偏導関数を見つけることです。 A ノードが値に寄与する損失の量など、このノードの偏導関数を計算するだけです。

w5 を調整する例として、w5 が全体の誤差にどの程度の影響を与えるかを知るために、ここでは、以下に示すように、連鎖規則を使用して偏導関数を求めます。
 

連鎖法則


w5 の偏導関数を取得するには、次のように他の 3 つの部分の偏導関数を取得する必要があります。
 

偏導関数を求める


w5 の偏導関数は、上記の 3 つの部分の結果を乗算することで取得でき、その結果の値は 0.082167041 になります。最後に、w5 パラメーター値は、次のように勾配降下法アルゴリズムを使用して更新されます。
 

重みを更新する

注: η は勾配降下法アルゴリズムの学習率であり、ここでの値は 0.5 です。以前の勾配降下法アルゴリズムの説明で紹介しました。「 極値の勾配降下法 」を参照してください

このようにして、w5の重みの更新が完了するが、同様に、w6、w7、w8の更新も上記の方法で完了することができる。

上記の処理は出力層から隠れ層への伝播のみですが、更新された重みが計算されると隠れ層から入力層への伝播が開始され、w1、w2、w3、w4が順に更新され、完了します。第一弾の体重更新です。最初の重み更新ラウンドの後、合計誤差は 0.298371109 から 0.291027924 に減少したことがわかります。10,000 回の反復後、合計誤差は 0.000035085 になり、出力値は [0.015912196, 0.984065734] となり、予想値に非常に近づきました。値 [0.01、0.99] 。

要約する

ニューラル ネットワーク分類アルゴリズムは教師あり学習アルゴリズムです。ニューラル ネットワーク分類アルゴリズムを使用するには、通常、次の 5 つの手順が必要です。

  • ニューラル ネットワーク内のすべてのニューロン ノードの重みを初期化します。
  • 入力層は入力を受け取り、順伝播を通じて出力を生成します。
  • 出力の予測値に従って、実際の値と組み合わせて偏差が計算されます。
  • 出力層は偏差を受け取り、すべてのニューロンがバックプロパゲーション メカニズム (逆反転)を通じて重みを更新できるようにします。
  • ステップ 2 からステップ 4 までがモデルのトレーニングの完全なプロセスであり、偏差値が最小になるまでこのプロセスが繰り返されます。


ニューラル ネットワーク アルゴリズムにより、すべてのニューロンが逆伝播メカニズムを通じて重みの更新を実現できるようになり、偏差値が最小になるまで上記のトレーニング プロセスを繰り返すと、最終的にデータの最適なシミュレーションを実現する最適なネットワーク モデルが得られます。 . 組み合わせます。

おすすめ

転載: blog.csdn.net/qq_38998213/article/details/132297022
おすすめ