Sie autoasocjacyjna Hopfielda -Sieci Hammingariad.usk.pk.edu.pl/~pjarosz/si/[5] Sieci neuronowe...

75
Sieci rekurencyjne Sieci rekurencyjne - - Sie Sie ć ć autoasocjacyjna autoasocjacyjna Hopfielda Hopfielda - - Sieci Sieci Hamminga Hamminga

Transcript of Sie autoasocjacyjna Hopfielda -Sieci Hammingariad.usk.pk.edu.pl/~pjarosz/si/[5] Sieci neuronowe...

Sieci rekurencyjneSieci rekurencyjne

-- SieSiećć autoasocjacyjnaautoasocjacyjna HopfieldaHopfielda

-- Sieci Sieci HammingaHamminga

WprowadzenieWprowadzenie

Sieci rekurencyjne stanowiSieci rekurencyjne stanowiąą odrodręębnbnąą grupgrupęęsieci, w ktsieci, w któórych istnieje sprzrych istnieje sprzęŜęŜenie zwrotne enie zwrotne miedzy wyjmiedzy wyjśściem a wejciem a wejśściem sieci.ciem sieci.WspWspóólnlnąą cecha tych sieci jest czcecha tych sieci jest częęste istnienie ste istnienie symetrycznych powisymetrycznych powiąązazańń synaptycznych misynaptycznych mięędzy dzy neuronami (neuronami (wwijij=w=wjiji) oraz du) oraz duŜŜa ich liczba w a ich liczba w stosunku do ogstosunku do ogóólnej liczby neuronlnej liczby neuronóów.w.

Podstawową cechą wyróŜniającą je z rodziny sieci neuronowych są zaleŜności dynamiczne na kaŜdym etapie działania. Zmiana stanu jednego neuronu przenosi się przez masowe sprzęŜnie zwrotne na całą sieć, wywołując stan przejściowy, kończący się określonym stanem ustalonym, na ogół innym niŜ stan poprzedni.

JeJeŜŜeli funkcjeli funkcjęę aktywacji neuronu oznaczy siaktywacji neuronu oznaczy sięęprzez f(przez f(uu), przy czym ), przy czym uu jest suma wagowjest suma wagowąąpobudzepobudzeńń to sygnato sygnałł wyjwyjśściowy neuronu ciowy neuronu

oznacza jego stan.oznacza jego stan.1

( ) ( )N

i i ij jj

y f u f w x=

= = ∑

BiorBiorąąc pod uwagc pod uwagęę, , ŜŜe przy masowym e przy masowym sprzsprzęŜęŜeniu zwrotnym pobudzeniami dla eniu zwrotnym pobudzeniami dla neuronu sneuronu sąą sygnasygnałły wejy wejśściowe innych ciowe innych neuronneuronóów, zmiana stanu neuronw, zmiana stanu neuronóów jest w jest opisana ukopisana ukłładem radem róównawnańń rróóŜŜniczkowych niczkowych nieliniowychnieliniowych

1,

( )N

ii ij j i i

j j i

duw f u u b

dtτ

= ≠

= − −∑

dla i = 1,2,…N, przy czym bi jest wartościąprogową, wynikająca z zewnętrznego źródła. Współczynnik τi jest pewną stałą wartościąliczbową, a jego interpretacja jest analogiczna do stałej czasowej w równaniach opisujących stan dynamiczny w obwodach RC.Stan neuronu uzyskuje się z rozwiązania powyŜszego równania róŜniczkowego jako yi=f(ui).Przy określonym stanie pobudzenia neuronów sieci rekurencyjnej moŜna przyporządkowaćfunkcję energetyczną Lapunowa.

Funkcja Funkcja LapunowaLapunowa E ma charakter malejE ma charakter malejąący w czasie. cy w czasie. Zmiana stanu jakiegokolwiek neuronu zapoczZmiana stanu jakiegokolwiek neuronu zapocząątkowuje tkowuje zmianzmianęę stanu energetycznego castanu energetycznego całłej sieci w kierunku ej sieci w kierunku minimum tej energii aminimum tej energii aŜŜ do jej osido jej osiąągnignięęcia.cia.Istnieje zwykle wiele minimIstnieje zwykle wiele minimóów lokalnych, z ktw lokalnych, z któórych karych kaŜŜde de reprezentuje jeden okrereprezentuje jeden okreśślony stan uklony stan ukłładu, uksztaadu, ukształłtowany towany na etapie uczenia sieci.na etapie uczenia sieci.W przestrzeni stanW przestrzeni stanóów lokalne minima energii E w lokalne minima energii E reprezentujreprezentująą punkty stabilne, zwane punkty stabilne, zwane atraktoramiatraktorami, ze , ze wzglwzglęędu na wdu na włłasnoasnośści przycici przyciąągania dla najbligania dla najbliŜŜszego szego otoczenia.otoczenia.

1

1 10

1 1( )

2

ixN N

ij i j i i i i ij i j i ii

E w y y f y dy b yR

≠ = =

= − + +∑∑ ∑ ∑∫

PamiPamięćęć asocjacyjna peasocjacyjna pełłni funkcjni funkcjęę ukukłładu adu reprezentujreprezentująącego wzajemne skojarzenia wektorcego wzajemne skojarzenia wektoróów.w.

W przypadku gdy skojarzenie dotyczy skW przypadku gdy skojarzenie dotyczy skłładnikadnikóów w tego samego wektora, mamy do czynienia z tego samego wektora, mamy do czynienia z pamipamięęciciąą autoasocjacyjnautoasocjacyjnąą..Typowym przedstawicielem jest sieTypowym przedstawicielem jest siećć HopfieldaHopfielda..

Natomiast gdy skojarzone sNatomiast gdy skojarzone sąą dwa wektory a i b dwa wektory a i b momoŜŜna mna móówiwićć o pamio pamięęci typu ci typu heteroasocjacyjnegoheteroasocjacyjnego..Typowym przedstawicielem jest sieTypowym przedstawicielem jest siećć HammingaHamminga..

SieSiećć autoasocjacyjnaautoasocjacyjna HopfieldaHopfielda

SieSiećć HopfieldaHopfielda ze wzglze wzglęędu na pedu na pełłnionnionąą funkcjfunkcjęęnazywana jest rnazywana jest róówniewnieŜŜ pamipamięęciciąą asocjacjnasocjacjnąą..

Zadaniem pamiZadaniem pamięęci asocjacyjnych jest ci asocjacyjnych jest zapamizapamięętywanie zbioru wzorctywanie zbioru wzorcóów wejw wejśściowych w ciowych w taki spostaki sposóób, aby w trakcie odtwarzania przy b, aby w trakcie odtwarzania przy prezentacji nowego wzorca ukprezentacji nowego wzorca ukłład mad móóggłłwygenerowawygenerowaćć odpowiedz, ktodpowiedz, któóra bra bęędzie dzie odpowiadaodpowiadaćć jednemu z zapamijednemu z zapamięętanych tanych wczewcześśniej wzorcniej wzorcóów, pow, połłooŜŜonemu najblionemu najbliŜŜej prej próóbki bki testujtestująącej.cej.

Najczęściej uŜywaną miarą odległości między zbiorami w przypadku pamięci asocjacyjnych jest miara Hamminga.

Dla wielkości binarnych odległość Hammingadwóch wektorów i

definiuje się w postaci

[ ]1 2, ,...,T

ny y y y= [ ]1 2, ,...,T

nx x x x=

( ) ( )1

1 1n

H i i i ii

d x y x y=

= − + − ∑

Miara Hamminga jest równa zero jedynie wówczas gdy y=x. W przeciwnym przypadku jest ona równa liczbie bitów, o które róŜniąsię oba wektory. Uczenie (trening) sieci neuronowej do pełnienia funkcji pamięci asocjacyjnej ma za zadanie taki dobór wag wij poszczególnych neuronów, aby na etapie odtwarzania sieć była zdolna odnaleźć zbiór danych, najbliŜszy w sensie miary Hamminga, wektorowi testowemu.

Proces uczenia sieci kształtuje obszary przyciągania (atrakcji) poszczególnych punktów równowagi, odpowiadających danym uczącym. W przypadku pamięci autoasocjacyjnejwystępuje wektor uczący x lub zbiór tych wektorów, które w wyniku przeprowadzonego uczenia sieci ustalają połoŜenia poszczególnych atraktorów.

JeŜeli kaŜdy neuron ma funkcję aktywacji typu signum przyjmującą wartości ±1. Oznacza to, Ŝe sygnał wyjściowy i-tego neuronu jest opisany funkcją

0

sgnN

i ij j ij

y w x b=

= +

Ogólny schemat pamięci autoasocjacyjnejprzyjmuje się zwykle w postaci układu z bezpośrednim sprzęŜeniem zwrotnym wyjścia z wejściem. Cechą charakterystyczną tego układu jest to, Ŝe sygnały wyjściowe neuronów są jednocześnie sygnałami wejściowymi sieci, xi(k) = yi(k -1).

Struktura sieci Hopfielda

W działaniu sieci Hopfielda moŜna wyróŜnićdwa tryby: uczenia i odtwarzania. W trybie uczenia na podstawie zadanych wzorców uczących x są dobierane wagi wij. W trybie odtwarzania przy zamroŜonych wartościach wag i załoŜeniu określonego stanu początkowego neuronów y(0) = x następuje proces przejściowy, przebiegający według zaleŜności

( ) ( )1,

sgn 1N

i ij jj i j

y k w y k= ≠

= −

Przy prezentacji jednego wzorca uczącego x proces zmian przebiega dopóty, dopóki powyŜsza zaleŜność nie jest spełniona dla wszystkich N neuronów. Warunek ten będzie automatycznie spełniony przy wyborze wag spełniających relację

1ij i jw x x

N=

Przy prezentacji wielu wzorców uczących x(k)

dla k = 1, 2, ..., p wagi wij są dobierane według uogólnionej reguły Hebba, zgodnie z którą

Przy takim trybie uczenia wagi przyjmująwartości uśrednione wielu próbek uczących.

( ) ( )

1

1 pk k

ij i jk

w x xN =

= ∑

Przy wielu wzorcach uczących istotne staje siępojęcie stabilności pamięci asocjacyjnej. Stabilność działania sieci wymaga, aby odpowiedź i-tego neuronu yi

(l) na l-ty wzorzec uczący x(l) była równa i-tej składowej xi

(l) . Oznacza to, Ŝe przy uwzględnieniu powyŜszej zaleŜności otrzymuje się

( ) ( ) ( ) ( ) ( ) ( )

0 0 1

1sgn sgn

pN Nl l k k l l

i ij j i j j ij j k

y w x x x x xN= = =

= = =

∑ ∑∑

Pamięć asocjacyjna ma właściwości korekcyjne. Przy prezentacji próbki testującej róŜniącej się bitami na pewnych pozycjach wektora, sieć neuronowa moŜe dokonaćkorekcji tych bitów i zakończyć proces klasyfikacji we właściwym atraktorze.

Istotnym parametrem pamięci asocjacyjnej jest jej pojemność. Przez pojemność pamięci rozumie się maksymalną liczbę wzorców zapamiętanych i odtwarzanych z akceptowalnym błędem εmax. Przy określaniu pojemności pamięci definiuje się zwykle współczynnik Ci

(l) skojarzony z przesłuchem i definiowany w postaci

( ) ( ) ( ) ( ) ( )

0

1 Nl l k k l

i i i j jj k l

C x x x xN = ≠

= − ∑∑

Jeśli Ci(l) ≤ 0 , to składnik przesłuchu ma ten

sam znak co xi(l) , a zatem nie szkodzi działaniu

pamięci asocjacyjnej. Jeśli natomiast Ci(l) > 1,

to zmienia się znak sumy ui(l) w zaleŜności

co wprowadza niestabilność w działaniu neuronu.

( ) ( ) ( ) ( ) ( )

0

1 Nl l k k l

i i i j jj k l

u x x x xN = ≠

= + ∑∑

Niestabilność ta jest rozumiana w ten sposób, Ŝe przy prezentacji wzorca testującego stan wyjściowy neuronu i-tego odpowiadający i-temu składnikowi wektora x(l) zmienia swój stan na przeciwny do xi

(l) ,a więc niewłaściwy. Zatem niestabilnośćprocesu powoduje zmianę stanu wyjściowego neuronu na niewłaściwy w stosunku do oczekiwanego.

Prawdopodobieństwo, Ŝe Ci(l) > 1, oznaczono

na rysunku w postaci zakreskowanego obszaru.

Stąd

Przy błędzie εmax = 1% (1% bitów wzorca w niewłaściwym stanie) maksymalna pojemność pamięci (liczba zapamiętanych wzorców) stanowi zaledwie 18,5% liczby neuronów tworzących pamięć asocjacyjną.

( )( )2

2 2

1

2 2

1

11

2

xl

iP C dx eσ σε επσ

−∞ −= > = ≈∫

Z powodu wzajemnego sprzęŜenia zwrotnego kaŜdy niewłaściwie ustawiony bit na początku procesu powoduje dalsze powielanie błędu, co jest równowaŜne zmniejszeniu maksymalnej pojemności pamięci asocjacyjnej. W praktyce maksymalną pojemność pamięci asocjacyjnej przy εmax = 1% określa zaleŜność

max 0,138p N=

Z tabeli

maxε

max 2log

NP

N=

widać, Ŝe odpowiada to stanowi początkowemu sieci, w którym 0,36% ogólnej liczby neuronów znajduje się w niewłaściwym stanie. Na ogół, jeśli przyjmie się załoŜenie, Ŝe N / 2p > log N, to maksymalną pojemność sieci wyznacza poniŜszy wzór

maxp /N maxεmaxp /N

0,001

0,0036

0,105

0,138

0,01

0,05

0,185

0,37

TrybTryb uczeniauczenia siecisieci HopfieldaHopfielda

Faza ucząca sieci Hopfielda ma za zadanie takie ukształtowanie wartości wag, przy którym w stanie odtworzeniowym sieci załoŜenie stanu początkowego neuronów bliskiego jednemu z wektorów uczących x prowadzi do stanu ustalonego, w którym stan neuronów y = x jest niezmienny dla dowolnej chwili.

Istnieje wiele metod doboru wartości wag sieci Hopfielda. Najprostszą jest zastosowanie reguły Hebba, podanej poniŜej w postaci macierzowej

przy czym X jest macierzą złoŜoną z p kolejnych wektorów uczących x(i),

X = [x(1), x(2), ..., x(p)], a N oznacza wymiar wektora x, równy liczbie neuronów sieci.

1W XX

N=

Reguła Hebba zastosowana w powyŜszej postaci jest stosunkowo mało efektywna i w fazie odtworzeniowej sieci przy istnieniu szumu (wzorce początkowe róŜnią się od wzorców zapamiętanych) prowadzi do licznych przekłamań, czyli minimów lokalnych dalekich od rozwiązania właściwego.

Inne znacznie lepsze podejście zakłada procedurę doboru wag sieci wynikającą z pseudoinwersji. Punktem wyjścia w tej metodzie jest załoŜenie, Ŝe przy właściwie dobranych wagach kaŜdy wzorzec x podany na wejście generuje na wyjściu sieci samego siebie, prowadząc tym samym do natychmiastowego stanu ustalonego

Inną odmianą metody rzutowania jest tak zwana metoda rzutowania ∆, będąca gradientową odmianą algorytmu minimalizacji odpowiednio zdefiniowanej funkcji celu. Zgodnie z tą metodą dobór wag odbywa sięrekurencyjnie w cyklu po wszystkich wzorcach uczących, powtarzanym wielokrotnie

( ) ( ) ( ) T

i i iW W x Wx xN

η ← + −

Współczynnik η jest stalą uczenia dobieranązwykle z przedziału [0,7,0,9]. Jego znaczenie jest podobne jak w przypadku sieci wielowarstwowych. W odróŜnieniu od zwykłej metody rzutowania, metoda rzutowania ∆wymaga wielokrotnej prezentacji wszystkich p wzorców uczących, aŜ do ustalenia sięwartości wag. Proces uczenia przerywa się, gdy zmiany wartości wektora wag są mniejsze od przyjętej z góry tolerancji ε.

Tryb Tryb odtworzeniowyodtworzeniowy sieci sieci HopfieldaHopfielda

W momencie dobrania wag sieci następuje ich „zamroŜenie" i przejście do fazy odtworzeniowej. W fazie tej na wejście sieci podaje się wektor testowy x i oblicza odpowiedź sieci w postaci

( ) ( )( )sgn 1y i Wy i= −

W innej sekwencyjnej metodzie Monte Carloobliczenia powyŜsze przeprowadza się nie dla wszystkich N neuronów, a jedynie dla losowo wybranych, powtarzając wielokrotnie proces losowania, aŜ do ustalenia się odpowiedzi sieci. UmoŜliwia to zmniejszenie liczby operacji matematycznych wymaganych na etapie rozpoznania.

W procesie odtwarzania na podstawie zaszumionych próbek stanowiących stan początkowy neuronów sieci Hopfieldawystępują trudności z uzyskaniem właściwego stanu końcowego odpowiadającego jednemu z zapamiętanych wzorców. W wielu przypadkach proces iteracyjny nie osiąga rozwiązania właściwego, ale rozwiązanie fałszywe.Najczęstsze przyczyny tego zjawiska to:

WartoWartośćść funkcji energetycznej zalefunkcji energetycznej zaleŜŜy od y od iloczynu staniloczynu stanóów dwu neuronw dwu neuronóów i jest w i jest symetryczna wzglsymetryczna wzglęędem polaryzacji. Ten dem polaryzacji. Ten sam stan energetyczny jest przypisany obu sam stan energetyczny jest przypisany obu polaryzacjom polaryzacjom ±±yyii, , ±±yyjj, pod warunkiem, , pod warunkiem, ŜŜe e obie zmieniajobie zmieniająą sisięę na przeciwny na przeciwny jednoczejednocześśnie. Stnie. Stąąd w przypadku sieci 3d w przypadku sieci 3--neuronowej stany (+1, neuronowej stany (+1, --1, +1) oraz 1, +1) oraz ((--1, +1, 1, +1, --1) charakteryzuj1) charakteryzująą sisięę identycznidentycznąąwartowartośściciąą energii i oba stany stanowienergii i oba stany stanowiąąjedjed--nakowo dobre rozwinakowo dobre rozwiąązanie problemu. zanie problemu.

DrugDrugąą przyczynprzyczynąą jest mojest moŜŜliwoliwośćśćmieszania rmieszania róóŜŜnych sknych skłładowych adowych zapamizapamięętanych wzorctanych wzorcóów i tworzenia w ten w i tworzenia w ten spossposóób stabilnego stanu odpowiadajb stabilnego stanu odpowiadająącego cego minimum lokalnemu. Stan mieszany minimum lokalnemu. Stan mieszany odpowiada wiodpowiada więęc takiej liniowej kombinacji c takiej liniowej kombinacji nieparzystej liczby wzorcnieparzystej liczby wzorcóów, ktw, któóra ra odpowiada stanowi stabilnemu sieci. odpowiada stanowi stabilnemu sieci. Charakteryzuje siCharakteryzuje sięę on wyon wyŜŜszym poziomem szym poziomem energetycznym neuronenergetycznym neuronóów niw niŜŜ stan stan popoŜąŜądany.dany.

Przy duPrzy duŜŜej liczbie wzorcej liczbie wzorcóów tworzw tworząą sisięępopośśrednie minima lokalne nie rednie minima lokalne nie odpowiadajodpowiadająące ce ŜŜadnemu z zapamiadnemu z zapamięętanych tanych wzorcwzorcóów, a wynikajw, a wynikająące z uksztace z ukształłtowania towania sisięę funkcji energetycznej sieci. W trybie funkcji energetycznej sieci. W trybie odtworzeniowymodtworzeniowym proces moproces moŜŜe utkne utknąćąć w w jednym z takich minimjednym z takich minimóów lokalnych w lokalnych powodujpowodująąc, c, ŜŜe uzyskane rozwie uzyskane rozwiąązanie nie zanie nie odpowiada odpowiada ŜŜadnemu stanowi neuronadnemu stanowi neuronóów w biorbiorąącemu udziacemu udziałł w procesie uczenia. w procesie uczenia.

Postać wzorców uczących i testujących dla sieciHopfielda: a) wzorce uczące; b) zastosowanewzorce testujące

ImplementacjaImplementacja sprzsprzęętowatowa siecisieciHopfieldaHopfielda

Sieć Hopfielda, ze względu na równoległąstrukturę układową i powtarzalny typ elementów, nadaje się do realizacji sprzętowej przy uŜyciu standardowych elementów technologii mikroelektronicznej. Punktem wyjścia jest tu opis sieci równaniem róŜniczkowym

( )ii i ij j i

j

duT u W f u b

dt= − + +∑

Hopfield zaproponował implementacjępowyŜszego równania róŜniczkowego przy uŜyciu obwodu przedstawionego poniŜej

Jest to schemat i-tego neuronu zawierający oprócz elementów pasywnych R, C takŜe jeden element aktywny w postaci wzmacniacza o charakterystyce nieliniowej f(ui) typu sigmoidalnego oraz jedno źródło niezaleŜne prądu Ii reprezentujące bądź to polaryzację bi, bądź teŜ sygnał pochodzący od wymuszeń zewnętrznych układu.

Inwerter włączony na wyjściu neuronu generuje sygnał wyjściowy neuronu ze znakiem minus, uŜywany w przypadku, gdy waga Wij wynikająca z projektowania sieci ma wartość ujemną. Przy załoŜeniu, Ŝe prąd wejściowy wzmacniacza iin = 0 równanie prądowe w węźle ui przyjmie postać

( )1

Ni i

i i i j i ij ij

du RR C u f u R I

dt R=

= − + +∑

Z porównania ostatniej zaleŜności ze wzorem

wynikają następujące związki:

( )ii i ij j i

j

duT u W f u b

dt= − + +∑

i i iT R C= iij

ij

RW

R=

i i ib R I=

Z powyŜszych zaleŜności wynika iŜ rolęelementu całkującego odgrywa kondensator Ci. Parametry τi, Wij, bi zaleŜą od doboru parametrów wszystkich elementów. To wzajemne oddziaływanie jest bardzo niewygodne przy projektowaniu sieci. Wadętę moŜna wyeliminować przyjmując wartośćrezystancji ri bardzo małą w stosunku do wartości pozostałych rezystancji Rij.

Schemat sieci Hopfielda: a) schemat rezystancyjno-pojemnościowy; b) symboliczne przedstawienie sieci

Na rysunku przedstawiono schemat całej sieci Hopfielda, przy czym rys. a przedstawia schemat elektryczny połączeń elementów, a rys. b - jego schematyczne przedstawienie zaproponowane przez Hopfielda. Uwzględniono jedynie sprzęŜenia wzajemne neuronów, przyjmując sprzęŜenia własne równe zeru (wagi Wii = 0). Oznaczenie wzmacniacza nieliniowego ±f(x) wskazuje, Ŝe w sieci są dostępne (w miarę potrzeby) zarówno sygnały f(x) przy wartości dodatniej wagi, jak i - f(x) przy wartości ujemnej wagi.

NiezaleŜnie od szczegółów implementacji praktycznej, rozwiązania układowe sieci Hopfielda charakteryzują się budowąmodułową o powtarzalnej strukturze kaŜdego kanału. Wszystkie elementy wchodzące w skład układu są bezpośrednio realizowane w postaci scalonej przy wykorzystaniu najnowszej technologii VLSI. Z tego względu sieć Hopfielda od samego początku była poddawana próbom realizacji scalonej.

Do podstawowych naleŜą zastosowania w rozwiązywaniu zagadnień optymalizacyjnych przy uŜyciu specjalizowanej struktury układu. Przykładem moŜe być sieć realizująca programowanie liniowe i kwadratowe, programowanie minimaksowe i odcinkowo-liniowe, sieć rozwiązująca problem komiwojaŜera czy podziału grafu na 2 części zapewniające minimalną liczbę łączeń między obu częściami.

Drugą rodzinę zastosowań stanowi przetwarzanie sygnałów w tej grupie moŜna wyróŜnićrozwiązania przetworników a/c, przekształcenie Fouriera czy przetwarzanie i dekompozycjęsygnałów. Wspólną cechą wszystkich układów opartych na sieci Hopfielda jest duŜa szybkośćdziałania. Dobierając stałą czasową integratorów τiw zakresie nanosekund moŜna uzyskaćrozwiązanie określonego problemu w czasie o rząd lub najwyŜej dwa rzędy wielkości dłuŜszym niŜ stała czasowa integratora. Mówi się wówczas, Ŝe układ działa w czasie rzeczywistym.

Problemem, który naleŜy rozwiązaćkorzystając z implementacji sprzętowej sieci Hopfielda, jest stosunkowo skomplikowana metoda projektowania. W zastosowaniach praktycznych przy określaniu optymalnych wag sieci korzysta się z metody obliczeniowej opartej na pojęciu funkcji energetycznej Lapunowa. Dla konkretnego problemu definiuje się funkcję celu wyraŜoną jako funkcja wag sieci Hopfielda.

Sieć Hopfielda spełniająca określoną funkcję ma wagi stałe nie podlegające uczeniu. W tym sensie kaŜda sieć jest specjalizowana do wykonywania określonego zadania. Zmiana warunków zadania wymaga ponownego przeprojektowania sieci, a nie douczenia, jak w przypadku sieci jednokierunkowych. Zmienia sięprzy tym zwykle struktura połączeńmiędzyneuronowych. Dobierane wagi sieci stanowią pamięć długoterminową.

Podanie warunków niezerowych na siećpowoduje uruchomienie procesu rekurencyjnego prowadzącego do jednego z minimów lokalnych, jakim odpowiadajązakodowane wagi sieci. Stan stabilny neuronów stanowi tak zwaną pamięćkrótkoterminową. Niestety, oprócz minimów lokalnych właściwych powstają równieŜ minima pasoŜytnicze, w których moŜe utknąć aktualny punkt pracy, generując niewłaściwe rozwiązanie.

SieSiećć HammingaHamminga

Sieć Hamminga, zaproponowana przez Lippmanna jest trójwarstwową strukturąrekurencyjna, będącą rozwinięciem sieci Hopfielda. Jej zasada działania jako klasyfikatora wektorowego polega na minimalizacji odległości Hamminga wektora testowego podanego na wejście sieci od wektorów reprezentujących wzorce uczące, zakodowane w strukturze sieci.

Schemat sieci Hamminga

Na rysunku przedstawiono ogólną postać sieci Hamminga. Warstwa pierwsza jest jednokierunkowa z przepływem sygnałów od wejścia do wyjścia i ustalonymi wartościami wag. Warstwę drugą, tak zwany MAXNET, stanowią neurony połączone sprzęŜeniem zwrotnym kaŜdy z kaŜdym, przy czym w odróŜnieniu od struktury Hopfielda istnieje niezerowe sprzęŜenie neuronu z własnym wyjściem. Wagi neuronu w warstwie MAXNET są stałe.

Połączenia między róŜnymi neuronami sąinhibicyjne (gaszące) o wartościach wag równych -ε, przy czym zwykle zakłada sięwartość ε odwrotnie proporcjonalną do liczby wzorców. SprzęŜenie neuronu z wyjściem własnym jest pobudzające o wartości wagowej równej +1. Wagi polaryzacji neuronów przyjmuje się równe zeru. Neurony w tej warstwie działają w trybie WTA, w którym tylko jeden neuron w stanie ustalonym jest pobudzony, a pozostałe w stanie spoczynkowym.

Warstwa wyjściowa jednokierunkowa reprezentuje wektor wyjściowy stowarzyszony z wektorem wejściowym. Wagi neuronów tej warstwy są ustalone w zaleŜności od tego wektora.Wzorce uczące reprezentujące wektory W-wymiarowe przyjmują wartości bipolarne +1 lub –1. Są one podawane na wejścia neuronów stanowiących warstwę pierwszą o skokowej funkcji aktywacji, przyjmującej wartość 1 lub 0. W działaniu sieci moŜna wyróŜnić dwie fazy.

W fazie pierwszej na wejściu sieci jest prezentowany N-elementowy wektor x. Czas prezentacji wektora musi być dostatecznie długi, aby neurony warstwy pierwszej uzyskały ustalone wartości sygnałów wyjściowych, inicjujące stan początkowy neuronów warstwy drugiej (MAXNET-u).

W fazie drugiej wektor wejściowy x jest usuwany i rozpoczyna się proces iteracyjny w warstwie MAXNET zapoczątkowany stanem początkowym, ustanowionym w fazie pierwszej. Proces iteracyjny trwa do chwili, aŜwszystkie neurony z wyjątkiem jednego osiągną stan zerowy. Neuron o niezerowym sygnale wyjściowym (zwycięzca) reprezentuje klasę, do której naleŜy wektor wejściowy.

Sieć Hamminga reprezentuje pamięćheteroasocjacyjną, pamiętającą pary wektorów (x, y), przy czym x jest wektorem wejściowym, a y - wektorem wyjściowym sieci, oba bipolarne o wartościach elementów ±1. Węzły wejściowe sieci 1, 2,..., N przyjmują wartości sygnałów zadane przez kolejne wektory x(i). Neurony warstwy pierwszej 1, 2, ...,p określają odległośćHamminga między aktualnie podanym wektorem wejściowym x a kaŜdym z p zakodowanych wektorów wzorcowych x(i).

Neurony w warstwie MAXNET wykrywająwektor o najmniejszej odległości Hamminga, ustalając w ten sposób klasę, do której naleŜy dany wektor wejściowy x. Wagi neuronów warstwy wyjściowej odtwarzają wektor stowarzyszony z danym wektorem wejściowym. Przy p neuronach w warstwie pierwszej pojemność pamięci Hamminga jest równa p, gdyŜ kaŜdy neuron reprezentuje jedną klasę. Jeśli liczba zapamiętanych wzorców m jest mniejsza niŜ p, zakłada się, Ŝe pozostałe p - m wzorców są zerowe.

Inicjalizacja wag sieci jest następująca. Wagi warstwy pierwszej reprezentują kolejne wektory wzorcowe x(i); stąd

dla i = 1,2,...,p. Podobnie wagi neuronów warstwy wyjściowej reprezentują kolejne wektory wzorcowe yi

(i), stowarzyszone z xi(i)

( ) ( )1 iij jW x=

( ) ( )2 iji jW y=

W przypadku neuronów w warstwie MAXNET działających w trybie WTA inicjalizacja wag sieci ma za zadanie wzmocnić własny sygnałneuronu i osłabić pozostałe. Stąd przyjmuje się

oraz

( ) 1miiW =

( )10

1m

ijWp

− < <−

Dla zapewnienia bezwzględnej zbieŜności algorytmu wagi Wij

(m) powinny róŜnić się między sobą. Lippmann w swoim rozwiązaniu przyjął

przy czym ξ jest wartością losową o dostatecznie małej amplitudzie.

( ) 1

1m

ijWp

ξ= − +−

Na początku procesu wartości sygnałów we wszystkich węzłach układu są równe zeru, z wyjątkiem węzłów wejściowych, do których został podany wektor testujący x. Wartości sygnałów wejściowych poprzez wagi Wij

(1) sądostarczane do neuronów warstwy pierwszej obliczającej odległość Hamminga od odpowiednich wektorów wzorcowych x(i) dla

i =1,2, ...,p.

Wartości sygnałów wyjściowych neuronów sąokreślane wzorem

w którym dH(x(i),x) oznacza odległośćHamminga między wektorem x a x(i), czyli liczbębitów, o które róŜnią się oba wektory. Wartość

, jeśli x = x(i), lub , jeśli x = -x(i).

W pozostałych przypadkach wartości sązawarte w przedziale [0, 1].

( )( )( )

1

,ˆ 1

2

iij jHj

i

W x n d x xy

n n

+= = −∑

ˆ 1iy = ˆ 0iy =

Po określeniu wartości wektor wejściowy x zostaje usunięty z wejścia sieci, a stany neuronów stają się stanami początkowymi yineuronów w warstwie MAXNET w następnej fazie działania. Zadaniem neuronów tej warstwy jest wyłonienie zwycięzcy, czyli neuronu, którego pobudzenie jest najbliŜsze wartości 1. Neuron taki wskazuje na wektor wzorcowy o najmniejszej odległości Hamminga od wektora wejściowego x.

ˆiy

ˆiy

Proces wyłaniania zwycięzcy jest procesem rekurencyjnym przebiegającym według zaleŜności

z wartością startową yj(0)= .

( ) ( ) ( )

( ) ( ) ( )

ˆ 1 1

1 1

mi i ij j

j

mi ij j

j i

y y k f W y k

f y k W y k≠

= = − =

= − + −

ˆiy

Funkcja aktywacji f(y) jest funkcją określonąwzorem

( ) dla 0

0 dla 0

y yf y

y

≥= <

Proces iteracyjny jest powtarzany, aŜ stan neuronów przestanie ulegać zmianom i tylko jeden neuron jest aktywny, podczas gdy pozostałe przyjmą stan zerowy. Neuron aktywny staje się zwycięzcą i poprzez wagi Wij

(2) neuronów warstwy wyjściowej odtworzy wektor y(i) stowarzyszony z wektorem x(i)

uznanym przez MAXNET za najbliŜszy wektorowi wejściowemu x.

WaŜną zaletą sieci Hamminga jest duŜa oszczędność połączeń wagowych między neuronami. Przykładowo dla sieci o 100 wejściach, kodującej 10 róŜnych klas wektorowych, sieć Hopfielda wymaga 10 000 połączeń wagowych o dobieranych wartościach wag. W przypadku sieci Hamminga liczba powiązań wagowych jest zredukowana do 1100, z których 1000 wag występuje w warstwie pierwszej i 100 wag w warstwie MAXNET.

Warstwa wyjściowa w tym przypadku nie występuje, gdyŜ sieć Hamminga od powiadająca sieci Hopfielda jest autoasocjacyjna. WiąŜe się z tym zwiększona pojemność maksymalna sieci, dla której przy p neuronach w warstwie MAXNET pojemność maksymalną sieci szacuje się na pmax - 2cp, przy czym c ≤ 1.

Przy wykorzystaniu w procesie uczenia metody największego spadku przyrost wag w procesie adaptacji dla warstwy wyjściowej ma postać (gdzie µ jest współczynnikiem uczenia):

analogicznie dla warstwy ukrytej przyrost wag wygląda następująco:

(2)(2) (2) 1

1 1 (2)1

( )( )

zz

zz

dy tw e t

dwµ= −△

(2)(1) (2) 1

1 (2)

( )( )

dy tw e t

dwαβαβ

µ= −△