Sieci rekurencyjne. - Sieć autoasocjacyjna Hopfielda - Sieci Hamminga

Podobne dokumenty
Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Sztuczna inteligencja

SIECI REKURENCYJNE SIECI HOPFIELDA

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

8. Neuron z ciągłą funkcją aktywacji.

Uczenie sieci typu MLP

Sieć Hopfielda. Sieci rekurencyjne. Ewa Adamus. ZUT Wydział Informatyki Instytut Sztucznej Inteligencji i Metod Matematycznych.

Sztuczne sieci neuronowe

Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ 2008/2009. Sieci Neuronowe

wiedzy Sieci neuronowe

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Metody Sztucznej Inteligencji II

SZTUCZNA INTELIGENCJA

Ćwiczenie 14. Maria Bełtowska-Brzezinska KINETYKA REAKCJI ENZYMATYCZNYCH

Sieci neuronowe do przetwarzania informacji / Stanisław Osowski. wyd. 3. Warszawa, Spis treści

Przetworniki analogowo-cyfrowe - budowa i działanie" anie"

Widzenie komputerowe

Podstawy Sztucznej Inteligencji (PSZT)

PRZETWORNIKI C / A PODSTAWOWE PARAMETRY

Wstęp do sieci neuronowych, wykład 9 Sieci rekurencyjne. Autoasocjator Hopfielda

Wzmacniacze, wzmacniacze operacyjne

synaptycznych wszystko to waży 1.5 kg i zajmuje objętość około 1.5 litra. A zużywa mniej energii niż lampka nocna.

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

Lekcja 5: Sieć Kohonena i sieć ART

WZMACNIACZ OPERACYJNY. Podstawowe właściwości wzmacniaczy operacyjnych. Rodzaj wzmacniacza Rezystancja wejściowa Rezystancja wyjściowa

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

Sztuczne Sieci Neuronowe. Sieć Hopfielda

Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ 2008/2009. Sieci Neuronowe. Wykład 5 Sieć Hopfielda

Wstęp do sieci neuronowych, wykład 10 Sieci rekurencyjne. Autoasocjator Hopfielda

( ) + ( ) T ( ) + E IE E E. Obliczanie gradientu błędu metodą układu dołączonego

WIECZOROWE STUDIA NIESTACJONARNE LABORATORIUM UKŁADÓW ELEKTRONICZNYCH

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Wstęp do teorii sztucznej inteligencji

W celu obliczenia charakterystyki częstotliwościowej zastosujemy wzór 1. charakterystyka amplitudowa 0,

Metody numeryczne I Równania nieliniowe

Definicja pochodnej cząstkowej

BADANIE PRZERZUTNIKÓW ASTABILNEGO, MONOSTABILNEGO I BISTABILNEGO

Zastosowania sieci neuronowych

Podstawy Elektrotechniki i Elektroniki. Opracował: Mgr inż. Marek Staude

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

Elementy Sztucznej Inteligencji. Sztuczne sieci neuronowe cz. 2

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Liniowe układy scalone w technice cyfrowej

Sztuczne sieci neuronowe i sztuczna immunologia jako klasyfikatory danych. Dariusz Badura Letnia Szkoła Instytutu Matematyki 2010

MODELOWANIE RZECZYWISTOŚCI

Sieć przesyłająca żetony CP (counter propagation)

Elementy Modelowania Matematycznego

Wstęp do sieci neuronowych, wykład 12 Wykorzystanie sieci rekurencyjnych w optymalizacji grafowej

Uczenie sieci radialnych (RBF)

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Wstęp do sieci neuronowych, wykład 9 Sieci rekurencyjne. Autoasocjator Hopfielda

Podstawy sztucznej inteligencji

IMPULSOWY PRZEKSZTAŁTNIK ENERGII Z TRANZYSTOREM SZEREGOWYM

INSTYTUT ELEKTROENERGETYKI POLITECHNIKI ŁÓDZKIEJ BADANIE PRZETWORNIKÓW POMIAROWYCH

Zalecenia projektowe i montaŝowe dotyczące ekranowania. Wykład Podstawy projektowania A.Korcala

Kształcenie w zakresie podstawowym. Klasa 2

LABORATORIUM Systemy teletransmisji i transmisja danych

Układy równań liniowych. Ax = b (1)

Programowanie celowe #1

Sieci neuronowe jako sposób na optymalizacje podejmowanych decyzji. Tomasz Karczyoski Wydział W-08 IZ

Instrukcja do ćwiczenia laboratoryjnego nr 5

Inteligentne systemy przeciw atakom sieciowym

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Wstęp do sztucznych sieci neuronowych

Przetworniki cyfrowo-analogowe C-A CELE ĆWICZEŃ PODSTAWY TEORETYCZNE

K p. K o G o (s) METODY DOBORU NASTAW Metoda linii pierwiastkowych Metody analityczne Metoda linii pierwiastkowych

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Wstęp do sieci neuronowych, wykład 10 Sieci rekurencyjne. Autoasocjator Hopfielda

przy warunkach początkowych: 0 = 0, 0 = 0

Elementy inteligencji obliczeniowej

POMIAR NAPIĘCIA STAŁEGO PRZYRZĄDAMI ANALOGOWYMI I CYFROWYMI. Cel ćwiczenia. Program ćwiczenia

Zastosowania sieci neuronowych

Tranzystorowe wzmacniacze OE OB OC. na tranzystorach bipolarnych

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

Ćwiczenie 2 LABORATORIUM ELEKTRONIKI POLITECHNIKA ŁÓDZKA KATEDRA PRZYRZĄDÓW PÓŁPRZEWODNIKOWYCH I OPTOELEKTRONICZNYCH

Sztuczne sieci neuronowe (SNN)

Przetworniki cyfrowo analogowe oraz analogowo - cyfrowe

jest rozwiązaniem równania jednorodnego oraz dla pewnego to jest toŝsamościowo równe zeru.

FLAC Fast Lagrangian Analysis of Continua

Sztuczne sieci neuronowe Ćwiczenia. Piotr Fulmański, Marta Grzanek

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Sieci neuronowe w Statistica

Sztuczne sieci neuronowe

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane cd.

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

1.UKŁADY RÓWNAŃ LINIOWYCH

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335

Wzmacniacze operacyjne

0 + 0 = 0, = 1, = 1, = 0.

6. Perceptron Rosenblatta

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

ĆWICZENIE 15 BADANIE WZMACNIACZY MOCY MAŁEJ CZĘSTOTLIWOŚCI

Obliczenia iteracyjne

11. Blok ten jest blokiem: a. decyzyjnym b. końcowym c. operacyjnym

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Co to jest grupowanie

Transkrypt:

Sieci rekurencyjne - Sieć autoasocjacyjna Hopfielda - Sieci Hamminga

Wprowadzenie Sieci rekurencyjne stanowią odrębn bną grupę sieci, w których istnieje sprzęŝ ęŝenie zwrotne miedzy wyjściem a wejściem sieci. Wspóln lną cecha tych sieci jest częste istnienie symetrycznych powiąza zań synaptycznych między neuronami (w( ij =w ji ) oraz duŝa a ich liczba w stosunku do ogólnej liczby neuronó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.

JeŜeli eli funkcję aktywacji neuronu oznaczy się przez f(u), przy czym u jest suma wagową pobudzeń to sygnał wyjściowy neuronu oznacza jego stan. y = f ( u ) = f ( w x ) i i ij j j= 1 N

Biorąc c pod uwagę, Ŝe e przy masowym sprzęŝ ęŝeniu zwrotnym pobudzeniami dla neuronu sąs sygnały y wejściowe innych neuronów, zmiana stanu neuronów w jest opisana układem równar wnań róŝniczkowych nieliniowych τ du N i i = wij f ( u j ) ui bi dt j= 1, j i

dla i = 1,2, N, przy czym b i 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 y i =f(u i ). Przy określonym stanie pobudzenia neuronów sieci rekurencyjnej moŝna przyporządkować funkcję energetyczną Lapunowa.

1 1 E = w y y + f y dy + b y 2 x i N N 1 ij i j i ( i ) i i i j i j i= 1 Ri 0 i= 1 Funkcja Lapunowa E ma charakter malejący w czasie. Zmiana stanu jakiegokolwiek neuronu zapoczątkowuje zmianę stanu energetycznego całej sieci w kierunku minimum tej energii aŝa do jej osiągni gnięcia. Istnieje zwykle wiele minimów w lokalnych, z których kaŝde reprezentuje jeden określony stan układu, ukształtowany towany na etapie uczenia sieci. W przestrzeni stanów w lokalne minima energii E reprezentują punkty stabilne, zwane atraktorami,, ze względu na własnow asności przyciągania dla najbliŝszego otoczenia.

Pamięć asocjacyjna pełni funkcję układu reprezentującego wzajemne skojarzenia wektorów. w. W przypadku gdy skojarzenie dotyczy składnik adników tego samego wektora, mamy do czynienia z pamięci cią autoasocjacyjną. Typowym przedstawicielem jest sieć Hopfielda. Natomiast gdy skojarzone sąs dwa wektory a i b moŝna mówim wić o pamięci typu heteroasocjacyjnego. Typowym przedstawicielem jest sieć Hamminga.

Sieć autoasocjacyjna Hopfielda Sieć Hopfielda ze względu na pełnion nioną funkcję nazywana jest równier wnieŝ pamięci cią asocjacjną. Zadaniem pamięci asocjacyjnych jest zapamiętywanie zbioru wzorców w wejściowych w taki sposób, aby w trakcie odtwarzania przy prezentacji nowego wzorca układ mógłm wygenerować odpowiedz, która będzie b odpowiadać jednemu z zapamiętanych wcześniej wzorców, w, połoŝonemu onemu najbliŝej próbki testują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ść Hamminga T T dwóch wektorów,,..., i =,,..., definiuje się w postaci n = [ ] [ ] y y1 y2 y n x x1 x2 x n d = x ( 1 y ) + ( 1 x ) y H i i i i i= 1

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 w ij 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 autoasocjacyjnej wystę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ą N y = sgn w x + b i ij j i j= 0

Ogólny schemat pamięci autoasocjacyjnej przyjmuje 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, x i (k) = y i (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 w ij. 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 N yi k = sgn wij y j k 1 j= 1, i j ( ) ( )

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ę 1 w = x x ij i j N

Przy prezentacji wielu wzorców uczących x (k) dla k = 1, 2,..., p wagi w ij są dobierane według uogólnionej reguły Hebba, zgodnie z którą 1 p = k k ij i j N k = 1 ( ) ( ) w x x Przy takim trybie uczenia wagi przyjmują wartości uśrednione wielu próbek uczących.

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 y i (l) na l-ty wzorzec uczący x (l) była równa i-tej składowej x i (l). Oznacza to, Ŝe przy uwzględnieniu powyŝszej zaleŝności otrzymuje się p N N 1 y = sgn w x = sgn x x x = x ( l) ( l) ( k ) ( k ) ( l) ( l) i ij j i j j i j= 0 N j= 0 k = 1

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 C (l) i skojarzony z przesłuchem i definiowany w postaci 1 N = i i i j j N j = 0 k l ( l) ( l) ( k ) ( k ) ( l) C x x x x

Jeśli C i (l) 0, to składnik przesłuchu ma ten sam znak co x i (l), a zatem nie szkodzi działaniu pamięci asocjacyjnej. Jeśli natomiast C i (l) > 1, to zmienia się znak sumy u i (l) w zaleŝności 1 N ( l) ( l) ( k ) ( k ) ( l) u = x + x x x i i i j j N j = 0 k l co wprowadza niestabilność w działaniu neuronu.

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 x i (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 C i (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ą. 1 2 x 1 2σ 2σ ( ( l) ) 1 ε = P Ci > 1 = ε dx e 2πσ 2 2

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ść pmax = 0,138N

Z tabeli ε max 0,001 0,0036 p max/n ε max 0,105 0,138 0,01 0,05 p max/n 0,185 0,37 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 P max = N 2log N

Tryb uczenia sieci Hopfielda 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 W = 1 N XX 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.

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 η ( i) ( i) ( i) W W + x Wx x N T

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 odtworzeniowy sieci Hopfielda 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 y i ( Wy i ) = sgn 1 ( ) ( )

W innej sekwencyjnej metodzie Monte Carlo obliczenia 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 Hopfielda wystę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:

Wartość funkcji energetycznej zaleŝy y od iloczynu stanów w dwu neuronów w i jest symetryczna względem polaryzacji. Ten sam stan energetyczny jest przypisany obu polaryzacjom ±y i, ±y j, pod warunkiem, Ŝe obie zmieniają się na przeciwny jednocześnie. nie. Stąd d w przypadku sieci 3-3 neuronowej stany (+1, -1, +1) oraz (-1, +1, -1) charakteryzują się identyczną wartości cią energii i oba stany stanowią jed-nakowo dobre rozwiązanie zanie problemu.

Drugą przyczyną jest moŝliwo liwość mieszania róŝnych r składowych zapamiętanych wzorców w i tworzenia w ten sposób b stabilnego stanu odpowiadającego minimum lokalnemu. Stan mieszany odpowiada więc c takiej liniowej kombinacji nieparzystej liczby wzorców, w, która odpowiada stanowi stabilnemu sieci. Charakteryzuje się on wyŝszym poziomem energetycznym neuronów w niŝ stan poŝą Ŝądany.

Przy duŝej liczbie wzorców w tworzą się pośrednie minima lokalne nie odpowiadające Ŝadnemu z zapamiętanych wzorców, w, a wynikające z ukształtowania towania się funkcji energetycznej sieci. W trybie odtworzeniowym proces moŝe e utknąć w jednym z takich minimów w lokalnych powodując, Ŝe e uzyskane rozwiązanie zanie nie odpowiada Ŝadnemu stanowi neuronów biorącemu udział w procesie uczenia.

Postać wzorców uczących i testujących dla sieci Hopfielda: a) wzorce uczące; b) zastosowane wzorce testujące

Implementacja sprzętowa sieci Hopfielda 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 du T = u + W f ( u ) + b i i i ij j i dt j

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(u i ) typu sigmoidalnego oraz jedno źródło niezaleŝne prądu I i reprezentujące bądź to polaryzację b i, 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 W ij wynikająca z projektowania sieci ma wartość ujemną. Przy załoŝeniu, Ŝe prąd wejściowy wzmacniacza i in = 0 równanie prądowe w węźle u i przyjmie postać du R R C u f u R I N i i ( ) i i = i + j + i i dt j= 1 Rij

Z porównania ostatniej zaleŝności ze wzorem du T = u + W f ( u ) + b i i i ij j i dt j wynikają następujące związki: T = R C i i i W ij = R R i ij b = R I i i i

Z powyŝszych zaleŝności wynika iŝ rolę elementu całkującego odgrywa kondensator C i. Parametry τ i, W ij, b i 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 r i bardzo małą w stosunku do wartości pozostałych rezystancji R ij.

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 W ii = 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 odcinkowoliniowe, 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 τ i w 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.

Sieć Hamminga 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 W ( 1) ( i) ij dla i = 1,2,...,p. Podobnie wagi neuronów warstwy wyjściowej reprezentują kolejne wektory wzorcowe y i (i), stowarzyszone z x i (i) W = x j ( 2) ( i) ji = y j

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ę ( m) oraz W = ii 1 1 ( ) < W m < p 1 ij 0

Dla zapewnienia bezwzględnej zbieŝności algorytmu wagi W ij (m) powinny róŝnić się między sobą. Lippmann w swoim rozwiązaniu przyjął W ij ( m) 1 = p 1 +ξ przy czym ξ jest wartością losową o dostatecznie małej amplitudzie.

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 W (1) ij 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 ( 1) Wij x j + n j yˆ i = = 1 2n H ( ( i), ) d x x n w którym d H (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 y =, jeśli x = -x (i). y ˆi = 1 ˆ 0 W pozostałych przypadkach wartości zawarte w przedziale [0, 1]. i są

Po określeniu wartości ˆi wektor wejściowy x zostaje usunięty z wejścia sieci, a stany neuronów yˆi stają się stanami początkowymi y i neuronó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. y

Proces wyłaniania zwycięzcy jest procesem rekurencyjnym przebiegającym według zaleŝności ( ) ( m) yˆ 1 ( 1) i = yi k = f Wij y j k = j ( ) ( m) = f yi k 1 + Wij y j k 1 j i z wartością startową y j (0)=. y ˆi ( )

Funkcja aktywacji f(y) jest funkcją określoną wzorem f y ( ) y dla y 0 = 0 dla y < 0

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 W (2) ij 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 p max - 2 cp, 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): ( t) (2) (2) (2) 1 1 = µ 1 ( ) zz (2) dw1 w e t analogicznie dla warstwy ukrytej przyrost wag wygląda następująco: dy ( ) w e ( t) dy t (2) (1) (2) 1 αβ = µ 1 (2) dwαβ zz