18
Sieci Hopfielda

Sieci Hopfielda

Embed Size (px)

DESCRIPTION

Sieci Hopfielda. Najprostsze modele sieci z rekurencją. – sieci Hopfielda; – sieci uczone regułą Hebba; – sieć Hamminga;. Modele bardziej złożone:. – RTRN (Real Time Recurrent Network), przetwarzająca sygnały w czasie rzeczywistym; – sieć Elmana i inne o uproszczonej strukturze rekurencji; - PowerPoint PPT Presentation

Citation preview

Page 1: Sieci Hopfielda

Sieci Hopfielda

Page 2: Sieci Hopfielda

Najprostsze modele sieci z rekurencją

– sieci Hopfielda;

– sieci uczone regułą Hebba;

– sieć Hamminga;

Page 3: Sieci Hopfielda

Modele bardziej złożone:

– RTRN (Real Time Recurrent Network), przetwarzająca sygnały w czasie rzeczywistym;

– sieć Elmana i inne o uproszczonej strukturze rekurencji;

– RCC ( Recurrent Cascade Correlation);

Page 4: Sieci Hopfielda

Sieci rekurencyjne, a jednokierunkowe

• Sieci jednokierunkowe – wyjścia sieci mogą być połączone tylko z wejściami neuronów warstwy następnej; – implikuje to jednokierunkowy przepływ informacji: sygnały są

przesyłane od warstwy wejściowej do wyjściowej;

• Sieci rekurencyjne – dopuszcza się istnienie sprzężeń zwrotnych tzn. gdy wyjścia

neuronów mogą być połączone z wejściami neuronów tej samej warstwy lub warstw pośrednich;

– informacja oscyluje między warstwami lub w obrębie warstw, aż do spełnienia pewnego kryterium zbieżności i dopiero wtedy jest przekazywana na wyjście sieci;

Page 5: Sieci Hopfielda

Rodzaje sieci Hopfielda:

– sieć dyskretna - przeważnie dyskretne funkcje aktywacji , zmiana stanu w

chwilach dyskretnych;

– sieć ciągła - zastosowanie ciągłych funkcji aktywacji, odpowiedzi neuronów zmieniają się w sposób ciągły;

Page 6: Sieci Hopfielda

Schemat sieci Hopfielda

Page 7: Sieci Hopfielda

Wnioski ze schematu• Sieć jest siecią jednowarstwową ze sprzężeniem

zwrotnym, każdy neuron połączony jest bezpośrednio z wyjściami innych neuronów i nie jest połączony z własnym wyjściem, tzn. wii=0 .

• Neurony posiadają „znakową” funkcję aktywacji

• Wyznaczenie wyjścia sieci w danej iteracji obliczeniowej odbywa się w sposób synchroniczny, tzn. neurony ustawiają swoje wyjścia w jednym momencie, co powoduje, że wartości wyjść każdego neuronu wyznaczane są na podstawie wyjść sieci z poprzedniej iteracji obliczeniowej.

01

01)sgn(:)(

xdla

xdlaxxf

Page 8: Sieci Hopfielda

Inne własności sieci Hopfielda

- pamięć adresowalna przez zawartość - aby odtworzyć wzorzec zapisany w sieci wystarczy podać fragment informacji;

- tolerancja błędów - jeżeli jakiś element popełni błąd, to cała sieć i tak poda poprawne rozwiązanie;

- wszystkie neurony są ze sobą połączone wagami;

- symetryczne wagi (wij = wji);

Page 9: Sieci Hopfielda

Algorytm działania sieci Hopfielda

1. Wybieramy losowo neuron.

2. Obliczamy sumę ważoną połączeń do aktywnych sąsiadów:

3. Jeżeli suma jest dodatnia, to neuron się aktywuje,

w przeciwnym przypadku dezaktywuje.

Page 10: Sieci Hopfielda

Algorytm działania sieci Hopfielda c.d.

4. Losujemy kolejny neuron i postępujemy według algorytmu, aż do uzyskania stanu stabilnego.

5. Proces ten nazywa się równoległą relaksacją.

Page 11: Sieci Hopfielda

Funkcja energetyczna

Stan energetyczny sieci wyraża funkcja w postaci:

( przy czym i ≠ j ).

Funkcja ta jest malejąca w kolejnych krokach t,

dlatego wiadomo, że osiągnie ona minimum, w którym

sieć będzie stabilna.

Page 12: Sieci Hopfielda

Dobór wag w sieci Hopfielda uogólnioną regułą Hebba

Zgodnie z tą regułą wagi modyfikowane są według zależności:

dla i ≠ j

( gdzie xi(k) jest i-tą współrzędną k-tego wzorca uczącego ).

Dla i = j zachodzi wij=0.

Page 13: Sieci Hopfielda

Przykład

Przykład ten jest próbą nauczenia sieci Hopfielda rozpoznawania trzech cyfr: 1, 4, 7. Na podstawie wzorców przedstawionych na poniższym rysunku

tworzony jest ciąg uczący (białe pola oznaczają -1, a czarne 1).

x(1)=[ -1 -1 1 -1 -1 1 -1 -1 1 -1 -1 1 ]

x(2)=[ 1 -1 1 1 1 1 -1 -1 1 -1 -1 1 ]

x(3)=[ 1 1 1 -1 -1 1 -1 -1 1 -1 -1 1 ]

                 

          

     

                 

                 

Page 14: Sieci Hopfielda

Przykład c.d.

Następnie sieć Hopfielda jest uczona za pomocą wcześniej wypisanych wzorców. Aby sprawdzić poprawność działania nauczonej sieci, na jej wejście podajemy kolejno sygnały uczące.

Sieć Hopfielda bezbłędnie rozwiązała zagadnienie asocjacji dla niezaszumionych wektorów uczących:

Page 15: Sieci Hopfielda

Przykład c.d. Po zaszumieniu wzorce uczące mają postać:

Wówczas sygnały wejściowe x’ są postaci:

x’(1)= [ -1 -1 1 -1 -1 1 -1 1 1 -1 -1 1 ]

x’(2)= [ 1 -1 1 1 -1 1 -1 -1 1 -1 -1 1 ]

x’(3)=[ 1 -1 1 -1 -1 1 -1 -1 1 -1 -1 1 ]

                 

                 

                 

                 

Page 16: Sieci Hopfielda

Przykład c.d.

Efekt zaszumienia przedstawia poniższa tabela:

Dla trzeciego zaszumionego wektora wyjście sieci po 12 iteracjach jeszcze się nie ustabilizowało. Oznacza to, że sieć nie mogła rozpoznać zniekształconej próbki.

Page 17: Sieci Hopfielda

Sieci Hopfielda w praktyce

Pamięć asocjacyjna (skojarzeniowa)

– zdolność sieci do prawidłowego zinterpretowania danych zniekształconych lub niekompletnych (sieć taka może także

usuwać zakłócenia i zniekształcenia różnych sygnałów - także wtedy, gdy stopień “zaszumienia” sygnału wejściowego wyklucza praktyczne użycie jakichkolwiek innych metod filtracji ).

Optymalizacja

– rozwiązywanie trudnych problemów optymalizacyjnych ( np. problem komiwojażera ).

Page 18: Sieci Hopfielda

Koniec