Artificial-neural-network-unsupervised-learning

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

教師なし学習

名前が示すように、このタイプの学習は教師の監督なしで行われます。 この学習プロセスは独立しています。 教師なし学習下でのANNのトレーニング中に、同様のタイプの入力ベクトルが組み合わされてクラスターが形成されます。 新しい入力パターンが適用されると、ニューラルネットワークは、入力パターンが属するクラスを示す出力応答を提供します。 この場合、目的の出力と、それが正しいか正しくないかについて、環境からのフィードバックはありません。 したがって、このタイプの学習では、ネットワーク自体が、入力データからパターン、特徴、および出力に対する入力データの関係を発見する必要があります。

Winner-Takes-All Networks

これらの種類のネットワークは競合学習ルールに基づいており、総入力が最大のニューロンを勝者として選択する戦略を使用します。 出力ニューロン間の接続は、それらの間の競合を示し、そのうちの1つは「オン」になり、それが勝者になり、他のニューロンは「オフ」になります。

以下は、教師なし学習を使用したこの単純な概念に基づいたネットワークの一部です。

ハミングネットワーク

教師なし学習を使用するほとんどのニューラルネットワークでは、距離を計算して比較を実行することが不可欠です。 この種のネットワークはハミングネットワークであり、与えられたすべての入力ベクトルに対して、異なるグループにクラスター化されます。 以下は、ハミングネットワークのいくつかの重要な機能です-

  • リップマンは、1987年にハミングネットワークの開発を開始しました。
  • これは単層ネットワークです。
  • 入力は、バイポーラ\ {-1、1}のバイナリ\ {0、1}のいずれかです。
  • ネットの重みは、模範ベクトルによって計算されます。
  • これは固定重みネットワークであるため、トレーニング中も重みは同じままです。

マックスネット

これは固定ウェイトネットワークでもあり、入力が最大のノードを選択するためのサブネットとして機能します。 すべてのノードは完全に相互接続されており、これらすべての重み付き相互接続には対称的な重みが存在します。

建築

Max Net

反復プロセスであるメカニズムを使用し、各ノードは接続を介して他のすべてのノードから抑制入力を受け取ります。 値が最大の単一ノードはアクティブまたは勝者になり、他のすべてのノードのアクティブ化は非アクティブになります。 Max Netは、$$ f(x)\:= \:\ begin \ {cases} x&if \:x> 0 \\ 0&if \:x \ leq 0 \ end \ {cases} $でIDアクティベーション関数を使用します$

このネットのタスクは、+ 1の自励重みと相互抑制の大きさによって達成されます。これは、[0 <ɛ<$ \ frac \ {1} \ {m} $]のように設定されます。ノードの総数。

ANNでの競争学習

これは、出力ノードが互いに競合して入力パターンを表現しようとする教師なしトレーニングに関係しています。 この学習ルールを理解するには、次のように説明されている競争ネットを理解する必要があります-

競争ネットワークの基本概念

このネットワークは、出力間にフィードバック接続を持つ単一層のフィードフォワードネットワークに似ています。 出力間の接続は抑制タイプであり、これは点線で示されています。つまり、競合他社は自分自身をサポートしません。

基本コンセプト

競争学習ルールの基本概念

前に述べたように、出力ノード間で競合が発生するため、主な概念は次のとおりです。トレーニング中、特定の入力パターンに対して最も高い活性化を持つ出力ユニットが勝者として宣言されます。 このルールは、勝者ニューロンのみが更新され、残りのニューロンは変更されないままであるため、Winner-takes-allとも呼ばれます。

数学的定式化

以下は、この学習ルールの数学的定式化のための3つの重要な要因です-

  • 勝者になるための条件 ニューロン *_y〜k〜_* が勝者になりたい場合、次の条件があると仮定します y _ \ {k} \:= \:\ begin \ {cases} 1&if \:v_ \ {k}> v _ \ {j} \:for \:all \:\:j、\:j \:\ neq \:k \\ 0およびそれ以外の場合\ end \ {cases} +たとえば、* y〜k〜が勝ちたいニューロンは、その誘導されたローカルフィールド(加算ユニットの出力)、たとえば v〜k〜*は、ネットワーク内の他のすべてのニューロンの中で最大でなければなりません。
  • 重量の合計の条件 競合学習ルールに対する別の制約は、特定の出力ニューロンへの重みの合計が1になることです。 たとえば、ニューロン *k* を考慮した場合、 \ displaystyle \ sum \ limits _ \ {k} w _ \ {kj} \:= \:1 \:\:\:\:for \:all \:\ :k
  • 勝者の体重の変化 ニューロンが入力パターンに応答しない場合、そのニューロンでは学習は行われません。 ただし、特定のニューロンが勝った場合、対応する重みは次のように調整されます- \ Delta w _ \ {kj} \:= \:\ begin \ {cases}-\ alpha(x _ \ {j} \:- \:w _ \ {kj})、&if \:neuron \:k \:wins \\ 0&if \:neuron \:k \:losses \ end \ {cases} +ここで$ \ alpha $は学習率。 +これは、重みを調整することで勝者のニューロンを支持し、ニューロンが失われた場合、その重みを再調整する必要がないことを明確に示しています。

K平均クラスタリングアルゴリズム

K-meansは、パーティションプロシージャの概念を使用する最も一般的なクラスタリングアルゴリズムの1つです。 最初のパーティションから始めて、満足のいく結果が得られるまで、あるクラスターから別のクラスターにパターンを繰り返し移動します。

アルゴリズム

ステップ1 *-初期重心として *k ポイントを選択します。 k プロトタイプ*(w〜1〜、…、w〜k〜)*を初期化します。たとえば、ランダムに選択された入力ベクトルでそれらを識別することができます-

W _ \ {j} \:= \:i _ \ {p}、\:\:\:where \:j \:\ in \ lbrace1、....、k \ rbrace \:and \:p \ :\ in \ lbrace1、....、n \ rbrace

各クラスター* C〜j〜は、プロトタイプ w〜j〜*に関連付けられています。

  • ステップ2 *-Eが減少しなくなるか、クラスターメンバーシップが変更されなくなるまで、ステップ3-5を繰り返します。

ステップ3 *-各入力ベクトル i〜p〜について、 *p∈\ {1、…、n} で、クラスターに* i〜p〜を置きます *C〜jを最も近いプロトタイプで *w〜j 〜*は次の関係を持ちます

| i _ \ {p} \:-\:w _ \ {j *} | \:\ leq \:| i _ \ {p} \:-\:w _ \ {j} |、\:j \:\ \ lbrace1、....、k \ rbrace

ステップ4 *-各クラスター C〜j〜で、 *j∈\ {1、…、k} で、現在* C〜にあるすべてのサンプルの重心になるようにプロトタイプ* w〜j〜を更新しますj〜、そのため

$$ w _ \ {j} \:= \:\ sum _ \ {i _ \ {p} \ in C _ \ {j}} \ frac \ {i _ \ {p}} \ {| C _ \ {j} |} $ $

  • ステップ5 *-次のように合計量子化誤差を計算します-

E \:= \:\ sum _ \ {j = 1} ^ k \ sum _ \ {i _ \ {p} \ in w _ \ {j}} | i _ \ {p} \:-\:w _ \ {j } | ^ 2

ネオコグニトロン

これは、1980年代に福島が開発した多層フィードフォワードネットワークです。 このモデルは教師あり学習に基づいており、主に手書き文字の視覚パターン認識に使用されます。 これは基本的に、1975年に福島によって開発されたコグニトロンネットワークの拡張です。

建築

これは階層ネットワークであり、多くの層で構成され、それらの層にはローカルに接続のパターンがあります。

ネオコグニトロン

上の図で見たように、ネオコグニトロンは異なる接続層に分割され、各層には2つのセルがあります。 これらのセルの説明は次のとおりです-

*S-Cell* -特定のパターンまたはパターンのグループに応答するようにトレーニングされた単純なセルと呼ばれます。
*C-Cell* -これは複雑なセルと呼ばれ、Sセルからの出力を結合し、同時に各配列のユニット数を減らします。 別の意味では、CセルはSセルの結果を置き換えます。

トレーニングアルゴリズム

ネオコグニトロンのトレーニングは、レイヤーごとに進行することがわかりました。 入力層から最初の層までの重みが訓練され、凍結されます。 次に、第1層から第2層への重みがトレーニングされます。 SセルとCセル間の内部計算は、前のレイヤーからの重みに依存します。 したがって、トレーニングアルゴリズムはSセルとCセルの計算に依存していると言えます。

Sセルでの計算

S細胞は、前の層から受信した興奮性信号を持ち、同じ層内で得られた抑制信号を持っています。

\ theta = \:\ sqrt \ {\ sum \ sum t _ \ {i} c _ \ {i} ^ 2}

ここで、* t〜i〜は固定重量で、 c〜i〜*はCセルからの出力です。

Sセルのスケーリングされた入力は次のように計算することができます-

x \:= \:\ frac \ {1 \:+ \:e} \ {1 \:+ \:vw _ \ {0}} \:-\:1

ここで、$ e \:= \:\ sum_i c _ \ {i} w _ \ {i} $

  • w〜i〜*は、CセルからSセルに調整された重みです。

  • w〜0〜*は、入力とSセル間で調整可能な重みです。

    *v* は、Cセルからの興奮性入力です。

出力信号のアクティブ化は、

s \:= \:\ begin \ {cases} x、&if \:x \ geq 0 \\ 0、&if \:x <0 \ end \ {cases}

Cセルでの計算

C層の正味入力は

C \:= \:\ displaystyle \ sum \ limits_i s _ \ {i} x _ \ {i}

ここで、* s〜i〜はSセルからの出力であり、 x〜i〜*はSセルからCセルへの固定重みです。

最終的な出力は次のとおりです-

C _ \ {out} \:= \:\ begin \ {cases} \ frac \ {C} \ {a + C}、およびif \:C> 0 \\ 0、およびそれ以外の場合\ end \ {cases}

ここで、「a」*はネットワークのパフォーマンスに依存するパラメーターです。