Artificial-neural-network-adaptive-resonance-theory

提供:Dev Guides
移動先:案内検索

適応共鳴理論

このネットワークは、1987年にStephen GrossbergとGail Carpenterによって開発されました。 競争に基づいており、教師なし学習モデルを使用します。 名前が示すように、適応共鳴理論(ART)ネットワークは、古いパターン(共鳴)を失うことなく、常に新しい学習(適応)に開かれています。 基本的に、ARTネットワークは、入力ベクトルを受け入れ、格納されているパターンのどれに最も似ているかに応じて、それをカテゴリの1つに分類するベクトル分類子です。

運営校長

ART分類の主な操作は、次の段階に分けることができます-

  • 認識フェーズ-入力ベクトルは、出力層のすべてのノードで表示される分類と比較されます。 ニューロンの出力は、適用される分類と最適に一致する場合は「1」になり、それ以外の場合は「0」になります。
  • 比較フェーズ-このフェーズでは、入力ベクトルと比較レイヤーベクトルの比較が行われます。 リセットの条件は、類似度が警戒パラメーターよりも低いことです。
  • 検索フェーズ-このフェーズでは、ネットワークはリセットと上記のフェーズで行われた一致を検索します。 したがって、リセットが行われず、一致が非常に良好な場合、分類は終了します。 そうでない場合、プロセスが繰り返され、他の保存されたパターンを送信して正しい一致を見つける必要があります。

ART1

これは、バイナリベクトルをクラスター化するように設計されたARTの一種です。 これについては、そのアーキテクチャで理解できます。

ART1のアーキテクチャ

それは次の2つのユニットで構成されています-

計算ユニット-以下で構成されています-

  • 入力ユニット(F〜1〜レイヤー)-さらに次の2つの部分があります-
  • * F〜1〜(a)レイヤー(入力部分)*-ART1では、入力ベクトルのみを持つのではなく、この部分に処理はありません。 F〜1〜(b)層(インターフェース部分)に接続されています。
  • * F〜1〜(b)レイヤー(インターフェイス部分)-この部分は、入力部分からの信号をF〜2〜レイヤーの信号と結合します。 F〜1〜(b)レイヤーはボトムアップウェイト b〜ij〜を介してF〜2〜レイヤーに接続され、F〜2〜レイヤーはトップダウンウェイト t〜を介してF〜1〜(b)レイヤーに接続されますジ〜*。
  • クラスターユニット(F〜2〜レイヤー)-これは競合レイヤーです。 入力パターンを学習するために、最大のネット入力を持つユニットが選択されます。 他のすべてのクラスターユニットのアクティブ化は0に設定されます。
  • リセットメカニズム-このメカニズムの動作は、トップダウンウェイトと入力ベクトルの類似性に基づいています。 ここで、この類似性の程度が警戒パラメーターよりも小さい場合、クラスターはパターンを学習できず、残りは発生します。

補足ユニット-リセットメカニズムの実際の問題は、特定の条件下でレイヤー* F〜2〜を禁止する必要があり、何らかの学習が発生したときにも利用可能でなければならないことです。 そのため、2つの補助ユニット、つまり G〜1〜および G〜2〜がリセットユニット *R とともに追加されます。 それらは「ゲインコントロールユニット」と呼ばれます。 これらのユニットは、ネットワークに存在する他のユニットと信号を送受信します。 ’+’ は興奮性信号を示し、 ’−’ は抑制性信号を示します。

サプリメントユニット

ユニット

使用されるパラメーター

次のパラメータが使用されます-

  • n -入力ベクトルの成分の数
  • m -形成できるクラスターの最大数
  • * b〜ij〜*-F〜1〜(b)からF〜2〜層までの重み、つまり ボトムアップウェイト
  • * t〜ji〜*-F〜2〜からF〜1〜(b)層までの重み、つまり トップダウンウェイト
  • ρ-警戒パラメータ
  • || x || -ベクトルxのノルム

アルゴリズム

  • ステップ1 *-学習率、警戒パラメータ、および重みを次のように初期化します-

$$ \ alpha \:> \:1 \:\:and \:\:0 \:

$$ 0 \:

  • ステップ2 *-停止条件が真でない場合、ステップ3-9を続行します。
  • ステップ3 *-トレーニング入力ごとにステップ4-6を続行します。
  • ステップ4 *-すべてのF〜1〜(a)およびF〜1〜ユニットのアクティベーションを次のように設定します
  • F〜2〜= 0およびF〜1〜(a)=入力ベクトル*
  • ステップ5 *-F〜1〜(a)からF〜1〜(b)層への入力信号は次のように送信する必要があります

s _ \ {i} \:= \:x _ \ {i}

  • ステップ6 *-抑制されたF〜2〜ノードごとに

$ y _ \ {j} \:= \:\ sum_i b _ \ {ij} x _ \ {i} $条件は y〜j〜≠-1

  • ステップ7 *-リセットが真の場合、ステップ8-10を実行します。

ステップ8 *-すべてのノードの y〜J〜≥y〜j〜の *J を見つける j

  • ステップ9 *-F〜1〜(b)のアクティベーションを次のように再度計算します

x _ \ {i} \:= \:sitJi

ステップ10 *-次に、ベクトル *x およびベクトル s のノルムを計算した後、次のようにリセット条件を確認する必要があります-

*|| x ||/|| s ||* <警戒パラメーター*ρ*の場合、⁡node *J* を禁止し、手順7に進みます。

それ以外の場合、 || x ||/|| s || ≥警戒パラメーター*ρ*の場合、さらに先に進みます。

ステップ11 *-ノード *J の重み更新は次のように実行できます-

b _ \ {ij}(new)\:= \:\ frac \ {\ alpha x _ \ {i}} \ {\ alpha \:-\:1 \:+ \:|| x ||}

t _ \ {ij}(new)\:= \:x _ \ {i}

  • ステップ12 *-アルゴリズムの停止条件を確認する必要があり、次のようになる場合があります-
  • 体重に変化はありません。
  • ユニットのリセットは実行されません。
  • エポックの最大数に達しました。