ニューラル ネットワーク モデル アーキテクチャのチュートリアル PDF、ニューラル ネットワーク モデルの構築方法

人工ニューラル ネットワークを使用してモデルを構築する手順

人工ニューラル ネットワークにはさまざまな種類がありますが、最も一般的に使用されている BP ニューラル ネットワークのみを使用します。ネットワークが異なれば、構造も学習アルゴリズムも異なります。簡単に言えば、人工ニューラル ネットワークは関数です。ただ、この機能は一般的な機能とは異なります。通常の関数よりも学習プロセスが 1 つ多くなります。

学習の過程で、正しい結果に従ってネットワーク構造を常に修正し、最終的に満足のいく精度を達成します。この時点で、実際の作業段階が始まります。人工ニューラル ネットワークを学習するには、MathWords から MatLab ソフトウェアをインストールするのが最適です。

このソフトウェアを使用すると、独自の人工ニューラル ネットワークの問題解決モデルを 1 週間以内に構築する方法を学習できます。人工ニューラル ネットワークを自分でプログラミングしたい場合は、関連する本、特にニューラル ネットワーク学習アルゴリズムの部分を見つける必要があります。

「学習アルゴリズム」は人工ニューラル ネットワークの中心にあるからです。最も一般的に使用される BP 人工ニューラル ネットワークは、BP 学習アルゴリズムを使用します。

Google AI ライティング プロジェクト: ニューラル ネットワーク疑似オリジナル

Python でニューラル ネットワーク タイミング モデルを構築する方法

生物学的ニューラル ネットワーク: 一般に、生物学的意識を生成し、生物学的思考と行動を助けるために使用される、生物学的脳ニューロン、細胞、連絡先などで構成されるネットワークを指します

人工ニューラル ネットワーク (略して ANN) は、ニューラル ネットワーク (NN) または接続モデル (接続モデル) とも呼ばれ、動物のニューラル ネットワークの動作特性を模倣し、分散型の並列情報処理を行うアルゴリズム数学の一種です。

この種のネットワークは、システムの複雑さに依存し、多数の内部ノード間の相互接続関係を調整することによって、情報処理の目的を達成します。人工ニューラルネットワーク:脳のシナプス結合に似た構造を情報処理に利用する数学モデルです。

工学および学界では、「ニューラル ネットワーク」またはニューラル ネットワークと直接呼ばれることがよくあります。

ニューラル ネットワーク BP モデル

1. BP モデルの概要 Error Back-Propagation ニューラル ネットワーク モデルは、略して BP (Back-Propagation) ネットワーク モデルと呼ばれます。

Pall Werbas 博士は、1974 年に博士論文で誤差逆伝播学習アルゴリズムを提案しました。誤差逆伝播学習アルゴリズムを完全に提案し、広く受け入れたのは、Rumelhart と McCelland が率いる科学者のチームです。

1986年に出版された本「Parallel Distributed Processing, Explorations in the Microstructure of Cognition」(「Parallel Distributed Information Processing」)では、誤差逆伝播学習アルゴリズムの詳細な分析と紹介、およびこのアルゴリズムの可能性が示されました。深く議論した。

BP ネットワークは、3 層以上の階層型ニューラル ネットワークです。上層と下層のニューロンは完全に接続されています。つまり、下層の各ニューロンは上層の各ニューロンに接続されており、各層のニューロン間に接続はありません。

ネットワークは教師に教えられた方法で学習します. 一対の学習モードがネットワークに与えられると, ニューロンの活性化値は入力層から各中間層, 出力層の各ニューロンを通って出力層に伝播します.ネットワークの入力を取得します。

その後、期待される出力と実際の出力との誤差を小さくする方向に沿って、入力層から各隠れ層を経て層ごとに結合重みを修正し、最終的に入力層に戻ることから「」と名付けられました。誤差逆伝播学習アルゴリズム」。

この誤差逆伝播の修正が続くと、入力パターンに対するネットワークの応答の精度が向上し続けます。

BP ネットワークは、主に次の側面で使用されます: 1) 関数近似: 入力パターンと対応する期待される出力パターンで関数を近似するネットワークを学習します; 2) パターン認識: 特定の期待される出力パターンを使用して、それを入力パターン ;3) 分類: 定義された適切な方法で入力パターンを分類する; 4) データ圧縮: 出力ベクトルの次元を減らして、送信または保存を容易にする。

人工ニューラルネットワークの実用化では、人工ニューラルネットワークモデルの80%から90%がBPネットワークまたはその変形形態を採用しています。これはフォワードネットワークのコア部分でもあり、人工ニューラルネットワークの最も重要な部分を体現しています。

2. BP モデルの原理 以下では、3 層の BP ネットワークを例として、学習と応用の原理を説明します。

1. データ定義 P ペア学習モード (xp, dp), p=1, 2, ..., P; 入力モード行列 X[N][P]=(x1, x2, ..., xP); 対象モード行列 d[ M][P]=(d1,d2,...,dP).

3 層 BP ネットワーク構造 入力層ニューロン ノード番号 S0=N, i=1, 2,..., S0; 隠れ層ニューロン ノード番号 S1, j=1, 2,..., S1; ニューロン活性化関数 f1 [ S1]; 重み行列 W1[S1][S0]; バイアス ベクトル b1[S1]。

出力層のニューロン ノード数 S2=M, k=1, 2,..., S2; ニューロン活性化関数 f2[S2]; 重み行列 W2[S2][S1]; 偏差ベクトル b2[S2].

学習パラメータ目標誤差ε;初期重み更新値Δ0;最大重み更新値Δmax;重み更新値増加倍数η+;重み更新値減少倍数η-.

2. 誤差関数の定義 p 番目の入力モードの誤差の計算式は中国鉱物資源評価の新技術であり、新しい評価モデル y2kp は BP ネットワークの計算出力です。

3. BP ネットワーク学習式の導出 BP ネットワーク学習式導出の指針となる考え方は、ネットワークの重み W とバイアス b を変更して、ネットワーク出力誤差精度が到達するまで誤差関数が負の勾配方向に沿って減少するようにすることです。目標精度要件を満たし、学習が終了します。

各層の出力計算式 入力層 y0i=xi, i=1, 2,..., S0; 隠れ層 中国鉱物資源評価 新技術と評価モデル y1j=f1(z1j), j=1, 2,.. ., S1 ; 出力層 中国の鉱物資源評価の新技術と新評価モデル y2k=f2(z2k), k=1, 2, ..., S2.

出力ノードの誤差式は、中国の鉱物資源評価の新技術と評価モデルの勾配式から出力層ノードに導出され、y2m は互いに独立しています。

その中で、中国の鉱物資源評価新技術と評価モデルは中国の鉱物資源評価新技術と評価モデルであり、出力層ノード誤差をδ2k=(dk-y2k) f2'(z2k)とすると、中国の鉱物資源評価新技術と評価モデル 同様に、中国の鉱物資源の新しい評価モデルは、隠れ層ノードへの中国の鉱物資源の新しい評価モデルの勾配式から導き出すことができ、すべての y2k に関連する y1j です。

したがって、上式では k の総和しかなく、中国の新技術と新鉱物資源評価モデルは中国の新技術と新鉱物資源評価モデルであり、モデルは新技術と新技術と新モデルである。中国の鉱物資源評価の新しい評価モデル. 同様に, 中国の鉱物資源評価の新しい技術と新しい評価モデルが得られる. 4. 弾性 BP アルゴリズム (RPROP) を使用して重み W と補正値 ΔW を計算する.偏差 b、Δb、ドイツ、1993 年 論文「より高速な逆伝播学習のための直接適応法: RPROP アルゴリズム」で、Martin Riedmiller と Heinrich Braun は、Resilient Backpropagation アルゴリズムである Elastic BP Algorithm (RPROP) を提案しました。

このアプローチは、重みステップに対する勾配の大きさの有害な影響を取り除こうとするため、勾配の符号のみが重みの更新の方向を示すと見なされます。

重み変化の大きさは、t 回目の重み学習の特別な「更新値」によってのみ決定されます。

重みの更新は次の規則に従います。導関数が正の場合 (エラーの増加)、更新された値だけ重みが減らされます。導関数が負の場合、更新された値は増加します。中国の鉱物資源評価の新技術と新しい評価モデル RPROP アルゴリズムは、ローカル勾配情報に基づいて重量ステップを直接修正したものです。

重みごとに、それぞれの更新値を導入します。これにより、重み更新値のサイズが個別に決定されます。

これは符号相関に基づく適応プロセスであり、誤差関数 E のローカル勾配情報に基づいており、次の学習規則に従って中国の鉱物資源評価の新技術と評価モデルを更新します。ここで、0<η-< 1<η+。

各時点で、目的関数の勾配の符号が変化する場合は、最後の更新が大きすぎることを示しており、更新値を重み更新値の係数 η- だけ減らす必要があります。目的関数の勾配がこの値は、重み更新値増加係数 η+ で増加する必要があります。

自由に調整できるパラメータの数を減らすために、増加係数 η+ と減少係数 η– を固定値 η+=1.2、η-=0.5 に設定し、これら 2 つの値を大規模に取得しました。練習の数良い結果。

RPROP アルゴリズムは、初期重み更新値 Δ0 と最大重み更新値 Δmax の 2 つのパラメーターを使用します. 学習が開始されると、すべての更新値は初期値 Δ0 に設定されます. これは、前の重みステップのサイズを直接決定するためです.重みに従う必要があります。独自の初期値を選択します。たとえば、Δ0=0.1 (デフォルト設定) です。

重みが大きくなりすぎないように、最大​​重み更新値制限 Δmax を設定し、デフォルトの上限は Δmax=50.0 に設定されています。多くの実験において、最大重み更新値Δmaxをかなり小さい値、例えばΔmax=1.0に設定することによって、それが判明している。

エラーを減らしてスムージング パフォーマンスを達成できる可能性があります。5. t 回目の学習の補正重み W と偏差 b を計算し、重み W と偏差 b の補正式 W(t)=W(t-1)+ΔW(t)、b(t)=b( t -1)+Δb(t)、ここで t は学習時間です。

6.BP ネットワーク学習成功条件 学習ごとの累積誤差二乗和と学習ごとの平均誤差 平均誤差 MSE<ε のとき、BP ネットワーク学習は正常終了。

7. BP ネットワーク適用予測 BP ネットワークを適用する場合、入力層にネットワーク入力を与え、与えられた BP ネットワークと BP ネットワークによって学習された重み W と偏差 b を適用し、ネットワーク入力は入力層から各隠れ層を通過します。出力層の「順伝播」プロセスは、BP ネットワークの予測出力を計算します。

8. ニューロン活性化関数 f 線形関数 f(x)=x、f'(x)=1、f(x) の入力範囲 (-∞、+∞)、出力範囲 (-∞、+∞)。これは通常、出力層で使用され、ネットワーク出力を任意の値にすることができます。

S 型関数 S(x) の入力範囲 (-∞, +∞) と出力範囲 (0, 1) 中国の新しい鉱物資源評価技術と新しい評価モデル f(x)。f'(x)=f(x)[1-f(x)]、f'(x) の入力範囲は (-∞, +∞)、出力範囲は (0, ] です。

これは通常、中間層で使用され、範囲 (-∞, +∞) の入力を (0, 1) のネットワーク出力にすることができます. 入力が大きいほど増幅率は小さくなり、入力が小さいほど増幅率は小さくなります.増幅率が小さい 係数が大きいため、非線形の入出力関係を処理して近似するために使用できます。

パターン認識に使用すると、出力層で使用して、0 または 1 に近いバイナリ出力を生成できます。双曲線正接シグモイド関数 中国の新鉱物資源評価技術と新評価モデル f(x) の入力範囲 (-∞, +∞) と出力範囲 (-1, 1)。

f'(x)=1-f(x)·f(x)、f'(x) の入力範囲は (-∞, +∞)、出力範囲は (0, 1] です。

これは通常、中間層で使用され、範囲 (-∞, +∞) の入力を (-1, 1) のネットワーク出力にすることができます. 入力が大きいほど、増幅率は小さくなり、入力が小さいほど、増幅率は小さくなります.増幅率が大きいので、非線形な入出力関係の処理や近似に使用できます。

ステップ関数型 1 中国の新しい鉱物資源評価技術と新しい評価モデル f(x) の入力範囲 (-∞, +∞) と出力範囲 {0, 1}。f'(x)=0。

タイプ 2 中国の鉱物資源評価の新技術と新しい評価モデル f(x) の入力範囲 (-∞, +∞) と出力範囲 {-1, 1}。f'(x)=0。

勾配関数の種類 1 中国の新鉱物資源評価技術と新評価モデル f(x) の入力範囲 (-∞, +∞) と出力範囲 [0, 1]。中国の新鉱物資源評価技術と新評価モデルf′(x)のインプット範囲(-∞,+∞)とアウトプット範囲{0,1}。

タイプ 2 中国の鉱物資源評価の新技術と新しい評価モデル f(x) の入力範囲 (-∞, +∞) と出力範囲 [-1, 1]。中国の新鉱物資源評価技術と新評価モデルf′(x)のインプット範囲(-∞,+∞)とアウトプット範囲{0,1}。

3. 全体アルゴリズム 1. 3 層 BP ネットワーク (入力層、中間層、出力層を含む) 重み W、偏差 b 初期化 全体アルゴリズム (1) 入力パラメータ X[N][P]、S0、S1、f1[ S1 ], S2, f2[S2]; (2) 入力パターン X[N][P] の各変数の最大値、最小値行列 Xmax[N]、Xmin[N] を計算; (3) 重み隠れ層の値 W1、バイアス b1 が初期化されます。

ケース 1: 隠れ層活性化関数 f( ) はすべて双曲線正接シグモイド関数です 1) 入力パターン X[N][P] の各変数の範囲ベクトル Xrng[N] を計算します; 2) 入力パターン X を計算します各変数の範囲平均ベクトル Xmid[N]; 3) W と b のマグニチュード ファクター Wmag を計算; 4) [-1, 1] 間の一様分布 S0×1 次元乱数行列 Rand[S1] を生成; 5 ) 平均 0、分散 1 の正規分布 S1×S0 次元乱数行列 Randnr[S1][S0] を生成し、乱数の範囲はおよそ [-1, 1] です; 6) W[ を計算します。 S1][S0 ], b[S1]; 7) 中間層の初期化重み W1[S1][S0] を計算する; 8) 中間層の初期化バイアス b1[S1] を計算する; 9)) 出力 W1[ S1][S0]、b1[S1]。

ケース 2: 隠れ層活性化関数 f( ) がシグモイド関数 1) 入力パターン X[N][P] の各変数の範囲ベクトル Xrng[N] を計算する; 2) 入力パターン X の各変数を計算する範囲平均ベクトル Xmid[N]; 3) b のマグニチュード ファクター Wmag を計算; 4) [-1, 1] 間の一様分布 S0×1 次元乱数行列 Rand[S1] を生成; 5) 生成平均は0、分散1の正規分布のS1×S0次元乱数行列Randnr[S1][S0]、乱数の範囲はおおよそ[​​-1、1]; 6) W[S1][S0を計算する], b [S1]; 7) 中間層の初期化重み W1[S1][S0] を計算する; 8) 中間層の初期化バイアス b1[S1] を計算する; 9) W1[S1][S0] を出力する、b1[S1]。

ケース 3: 隠れ層活性化関数 f( ) が他の関数の場合 1) 入力パターン X[N][P] の各変数の範囲ベクトル Xrng[N] を計算する; 2) 入力パターンの各変数を計算するpattern X 範囲平均ベクトル Xmid[N]; 3) b のマグニチュード ファクター Wmag を計算する; 4) [-1, 1] 間の一様分布 S0×1 次元乱数行列 Rand[S1] を生成する; 5 ) 平均が 0、分散が 1 の正規分布の S1×S0 次元の乱数行列 Randnr[S1][S0] を生成し、乱数の範囲はおおよそ [-1, 1] です; 6) W[S1] を計算します。 [S0], b [S1]; 7) 中間層の初期化重み W1[S1][S0] を計算する; 8) 中間層の初期化バイアス b1[S1] を計算する; 9) W1[S1][ を出力するS0]、b1[S1]。

(4) 出力層の重み W2 とバイアス b2 を初期化 1) [-1, 1] 間に一様分布する S2×S1 次元の乱数行列 W2[S2][S1] を生成 2) [- 1, 1] ] 一様分布 S2×1 次元乱数行列 b2[S2] 間; 3) 出力 W2[S2][S1], b2[S2].

2. Elastic BP アルゴリズム (RPROP) を適用して、3 層の BP ネットワーク (入力層、隠れ層、出力層を含む) の重み W、偏差 b 全体のアルゴリズム関数を学習します: Train3BP_RPROP (S0、X、P、S1、W1、b1、 f1, S2, W2, b2, f2, d, TP) (1) 入力パラメータ P ペア モード (xp, dp), p=1, 2, ..., P; 3 層 BP ネットワーク構造; 学習パラメータ。

(2) 学習の初期化 1) ; 2) 各層の W と b の勾配値をゼロ行列に初期化します。

(3) 入力モード X と 1 回目の学習の平均誤差 MSE から各層の出力 y0、y1、y2 を計算 (4) 学習サイクル epoch=1 に入る (5) 各学習誤差が目標誤差を満たしているかどうかを判断要件 MSE<ϵ の場合、エポック ループから飛び出して (12) に進みます。

(6)エポック-1学習で生成された各層W,bの勾配値を保存、(7)エポック学習の各層W,bの勾配値を求め、1)誤差逆伝播値を計算各層の δ; 2) p 回目の各層の W と b の勾配値を計算する; 3) p=1, 2, によって生成された W と b の勾配値の累積を計算する. ..、P モード。

(8)エポック=1の場合、エポック1回目に学習した各層W,bの勾配値を、エポック回目の学習で生成した各層W,bの勾配値とする。

(9) 各層 W, b の更新を計算する 1) 重み更新値 Δij update を求める; 2) W, b, の重み更新値を求める; 3) エポックタイム後の各層の W, b を求める学習補正。

(10) 各層の修正された W と b を使用して、X から学習したエポックの各層の出力 y0、y1、y2 と、そのエポックの学習誤差 MSE を取得します (11) epoch=epoch+1, if epoch≤ MAX_EPOCH の場合は (5) へ、それ以外の場合は (12) へ。

(12) 出力処理 1) MSE<ε の場合、学習は目標誤差要件に達し、W1、b1、W2、b2 を出力 2) MSE≧ε の場合、学習は目標誤差要件を満たさず、再度学習する。

(13) おわり 3. 3 層 BP ネットワーク (入力層、中間層、出力層を含む) の予測全体アルゴリズム まず、Train3lBP_RPROP() を使用して、3 層 BP ネットワーク (入力層、中間層を含む) の重み W を学習します。 、および出力層) 、偏差 b を計算し、3 層の BP ネットワーク (入力層、隠れ層、および出力層を含む) を適用して予測します。

関数: Simu3lBP( )。1) 入力パラメータ: 予測する P 個の入力データ ベクトル xp、p=1、2、...、P、3 層の BP ネットワーク構造、各層の学習重み W と偏差 b。

2) 予測対象の P 個の入力データ ベクトル xp (p=1, 2, ..., P) のネットワーク出力 y2[S2][P] を計算し、予測結果 y2[S2][P] を出力します。4. アルゴリズムの全体フローチャート BP ネットワークの全体のアルゴリズム フローチャートを別図 2 に示します。

V. データ フロー図 BP ネットワークのデータ フロー図を図 1 に示します。

6. 例 例 1 全国銅鉱山地球化学探査異常データ BP モデル分類 1. 全国銅鉱山地球化学探査異常データの作成国営銅鉱山 地球化学異常データ。

2. モデルデータの準備 中国の銅鉱山の異常な地球化学探査データに従って、7 つのカテゴリの 33 の鉱石ポイントの地球化学探査データがモデルデータとして選択されました。

マグマ銅鉱床、斑岩銅鉱床、スカルン鉱床、海洋火山銅鉱床、大陸火山銅鉱床、変成銅鉱床、海洋堆積銅鉱床の7種類で、銅異常のないモデルのクラスを追加(表8-1) . 3. テストデータ テストデータセットとして、全国の地球化学探査データを用意する。

4. BP ネットワーク構造の隠れ層の数は 2 であり、入力層から出力層までのベクトル次元はそれぞれ 14、9、5、および 1 です。学習率は 0.9 に設定され、系統誤差は 1e-5 です。運動量項はありません。表 8-1 モデル データ テーブル (続き) 表 5. 計算結果を図 8-2 と図 8-3 に示します。

図 8-2 図 8-3 中国における銅鉱床タイプの BP モデル分類の模式図 モデル データによると、4 つのタイプは、グリーンストーン タイプの金鉱床、中間酸浸出岩に関連する熱水金鉱床、マイクロ播種型金鉱床です。金鉱床、および火山性熱水金鉱床 (表 8-2)。

2. テストデータの準備 モデルサンプルポイントと一部の金鉱山ポイントは、テストデータセットとして、金属含有量、鉱石量、品位のデータを持っています。3. BP ネットワーク構造の入力層は 3 次元、隠れ層は 1 層、隠れ層は 3 次元、出力層は 4 次元、学習率は 0.8 に設定、システム誤差は 1e -4、反復回数は 5000 です。

表 8-2 モデルデータ 4. 計算結果 結果については、表 8-3 および 8-4 を参照してください。表 8-3 訓練と学習の結果 表 8-4 予測結果(一部) 続き。

ニューラル ネットワーク モデルにはいくつかの分類方法があります。

ニューラル ネットワーク モデルの分類 人工ニューラル ネットワークには多くのモデルがあり、さまざまな方法で分類できます。その中で、2 つの一般的な分類方法は、ネットワーク接続のトポロジ構造による分類と、ネットワーク内の情報の流れによる分類です。

1 ネットワークトポロジーに従って、ネットワークのトポロジー、つまりニューロン間の接続モードが分類されます。この分類によれば、ニューラル ネットワークの構造は、階層構造と相互接続構造の 2 つのカテゴリに分けることができます。

階層構造を持つニューラルネットワークは、ニューロンを機能や順序に応じて出力層、中間層(隠れ層)、出力層に分割します。出力層の各ニューロンは、外界から入力情報を受け取り、それを中間層の中間層のニューロンに渡す役割を担っています; 隠れ層は、ニューラル ネットワークの内部情報処理層であり、情報の変換を担っています。

必要に応じて 1 つまたは複数の層として設計できます。最後の隠れ層は、情報を出力層のニューロンに送信してさらに処理し、情報処理結果を外の世界に出力します。

相互接続されたネットワーク構造では、任意の 2 つのノード間に接続パスが存在する可能性があるため、相互接続されたネットワークは、ネットワーク内のノードの接続の程度に応じて 3 つの状況に細分化できます。完全に相互接続され、部分的に相互接続され、まばらに接続されたタイプ 2 によると、ネットワーク情報の流れの分類 ニューラル ネットワークの内部情報伝達方向の観点から、フィードフォワード ネットワークとフィードバック ネットワークの 2 種類に分けることができます。

純粋なフィードフォワード ネットワークの構造は階層型ネットワーク構造と同じで、ネットワークの情報処理の方向が入力層から各中間層へ、そして出力層へと層ごとに進むため、フィードフォワードと名付けられました。

フィードフォワードネットワークでは、前の層の出力は次の層の入力であり、情報の処理には層ごとの転送の方向性があり、一般にフィードバックループはありません。そのため、このようなネットワークを簡単に直列に接続して、多層フィードフォワード ネットワークを構築できます。フィードバック ネットワークの構造は、単一層の完全に相互接続されたネットワークの構造と同じです。

フィードバックネットワーク内のすべてのノードは情報処理機能を持ち、各ノードは外界からの入力と外界への出力を同時に受け取ることができます。

 

おすすめ

転載: blog.csdn.net/Supermen333/article/details/127486765