Associate Memory Network

Tego rodzaju sieci neuronowe działają na zasadzie asocjacji wzorców, co oznacza, że ​​mogą przechowywać różne wzorce, aw momencie wydawania danych wyjściowych mogą wytworzyć jeden z przechowywanych wzorców, dopasowując je do danego wzorca wejściowego. Tego typu wspomnienia są również nazywaneContent-Addressable Memory(KRZYWKA). Pamięć asocjacyjna przeprowadza równoległe wyszukiwanie z zapisanymi wzorcami jako plikami danych.

Poniżej przedstawiono dwa typy wspomnień asocjacyjnych, które możemy zaobserwować -

  • Pamięć autoasocjacyjna
  • Pamięć asocjacyjna hetero

Pamięć autoasocjacyjna

Jest to jednowarstwowa sieć neuronowa, w której wejściowy wektor szkoleniowy i wyjściowy wektor docelowy są takie same. Wagi są określane tak, aby sieć przechowała zestaw wzorców.

Architektura

Jak pokazano na poniższym rysunku, architektura sieci pamięci Auto Associative ma ‘n’ liczba wejściowych wektorów uczących i podobnych ‘n’ liczba wyjściowych wektorów docelowych.

Algorytm treningowy

Na potrzeby szkolenia ta sieć korzysta z reguły uczenia się Hebb lub Delta.

Step 1 - Zainicjuj wszystkie wagi do zera jako wij = 0 (i = 1 to n, j = 1 to n)

Step 2 - Wykonaj kroki 3-4 dla każdego wektora wejściowego.

Step 3 - Aktywuj każdą jednostkę wejściową w następujący sposób -

$$ x_ {i} \: = \: s_ {i} \ :( i \: = \: 1 \: do \: n) $$

Step 4 - Aktywuj każdą jednostkę wyjściową w następujący sposób -

$$ y_ {j} \: = \: s_ {j} \ :( j \: = \: 1 \: do \: n) $$

Step 5 - Wyreguluj ciężary w następujący sposób -

$$ w_ {ij} (nowe) \: = \: w_ {ij} (stare) \: + \: x_ {i} y_ {j} $$

Algorytm testowania

Step 1 - Ustaw wagi uzyskane podczas treningu dla reguły Hebba.

Step 2 - Wykonaj kroki 3-5 dla każdego wektora wejściowego.

Step 3 - Ustaw aktywację jednostek wejściowych równą tej z wektora wejściowego.

Step 4 - Oblicz wkład netto dla każdej jednostki wyjściowej j = 1 to n

$$ y_ {uszkodzenie} \: = \: \ Displaystyle \ suma \ limits_ {i = 1} ^ n x_ {i} w_ {ij} $$

Step 5 - Zastosuj następującą funkcję aktywacji, aby obliczyć moc

$$ y_ {j} \: = \: f (y_ {inject}) \: = \: \ begin {cases} +1 & if \: y_ {inject} \:> \: 0 \\ - 1 & if \: y_ {inject} \: \ leqslant \: 0 \ end {cases} $$

Pamięć asocjacyjna hetero

Podobnie jak w przypadku sieci Auto Associative Memory, jest to również jednowarstwowa sieć neuronowa. Jednak w tej sieci wejściowy wektor uczący i wyjściowy wektor docelowy nie są takie same. Wagi są określane tak, aby sieć przechowała zestaw wzorców. Sieć hetero asocjacyjna ma charakter statyczny, dlatego nie byłoby operacji nieliniowych i opóźniających.

Architektura

Jak pokazano na poniższym rysunku, architektura sieci Hetero Associative Memory ma ‘n’ liczba wejściowych wektorów uczących i ‘m’ liczba wyjściowych wektorów docelowych.

Algorytm treningowy

Na potrzeby szkolenia ta sieć korzysta z reguły uczenia się Hebb lub Delta.

Step 1 - Zainicjuj wszystkie wagi do zera jako wij = 0 (i = 1 to n, j = 1 to m)

Step 2 - Wykonaj kroki 3-4 dla każdego wektora wejściowego.

Step 3 - Aktywuj każdą jednostkę wejściową w następujący sposób -

$$ x_ {i} \: = \: s_ {i} \ :( i \: = \: 1 \: do \: n) $$

Step 4 - Aktywuj każdą jednostkę wyjściową w następujący sposób -

$$ y_ {j} \: = \: s_ {j} \ :( j \: = \: 1 \: do \: m) $$

Step 5 - Wyreguluj ciężary w następujący sposób -

$$ w_ {ij} (nowe) \: = \: w_ {ij} (stare) \: + \: x_ {i} y_ {j} $$

Algorytm testowania

Step 1 - Ustaw wagi uzyskane podczas treningu dla reguły Hebba.

Step 2 - Wykonaj kroki 3-5 dla każdego wektora wejściowego.

Step 3 - Ustaw aktywację jednostek wejściowych równą tej z wektora wejściowego.

Step 4 - Oblicz wkład netto dla każdej jednostki wyjściowej j = 1 to m;

$$ y_ {uszkodzenie} \: = \: \ Displaystyle \ suma \ limits_ {i = 1} ^ n x_ {i} w_ {ij} $$

Step 5 - Zastosuj następującą funkcję aktywacji, aby obliczyć moc

$$ y_ {j} \: = \: f (y_ {inject}) \: = \: \ begin {cases} +1 & if \: y_ {inject} \:> \: 0 \\ 0 & if \ : y_ {inject} \: = \: 0 \\ - 1 & if \: y_ {inject} \: <\: 0 \ end {cases} $$