(Microsoft PowerPoint - SN_W6.ppt [tryb zgodno\234ci])

Transkrypt

(Microsoft PowerPoint - SN_W6.ppt [tryb zgodno\234ci])
Plan wykładu
• Sieci rekurencyjne
Sztuczne sieci neuronowe
• Sieć Hopfielda
–
–
–
–
Wykład 6: Sieci rekurencyjne:
sieć Hopfielda
Małgorzata Krętowska
tryb odtwarzania
funkcja energii
dynamika zmian stanu
wykorzystanie sieci Hopfielda
• pamięć asocjacyjna
• optymalizacja
Wydział Informatyki PB
2
Sztuczne sieci neuronowe
Sieci rekurencyjne
Sieci rekurencyjne
• Sieci jednokierunkowe
• Najprostsze modele sieci z rekurencją:
– wyjścia sieci mogły być połączone tylko z wejściowymi neuronów
warstwy następnej
– implikowało to jednokierunkowy przepływ informacji: sygnały były
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
Sztuczne sieci neuronowe
3
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
RCC - Recurrent Cascade Correlation
Sztuczne sieci neuronowe
4
Sieci Hopfielda - historia
Sieci Hopfielda
• 1969 r. - ukazanie się książki Minsky’ego i Paperta,będącej krytyką
perceptronu => kryzys w rozwoju sztucznych sieci neuronowych,
ograniczenie funduszy i rezygnacja wielu naukowców z tej dziedziny
badań
John Hopfield (1982, 1984), model pamięci autoasocjacyjnej.
Założenia:
• 1978 r. - powstanie Centrum Przetwarzania Informacji Biomedycznej w
M.I.T. (ang. Massachusetts Institute of Technology) i zaproszenie do
udziału Johna Hopfielda z Działu Biofizyki Laboratoriów Bella
– Wszystkie neurony są ze sobą połączone z wagami synaps Wij.
– Macierz wag połączeń jest symetryczna, Wii=0, Wij = Wji - symetria jest
wygodna z teoretycznego p. widzenia, pozwala wprowadzić funkcję
energii; jest nierealistyczna z biologicznego punktu widzenia.
Rodzaje sieci Hopfielda:
• 1982 r. - publikacja rezultatów badań - sieci neuronowe mogą
zapamiętywać i odtwarzać wzorce (również wtedy, gdy wejścia są
niekompletne) - zaproponowana sieć jest rezultatem badań nad
procesami równowagi szkieł spinowych
– 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
5
Sztuczne sieci neuronowe
Dyskretna sieć Hopfielda
Działanie sieci Hopfielda
Właściwości:
• Tryb uczenia
– wejścia to wyjścia innych
neuronów
– brak własnego sprzężenia
zwrotnego
– symetryczne wagi (Wij=Wji)
– funkcja aktywacji:
– na podstawie zadanych wzorców uczących x dobierane są wagi wij.
• Tryb odtwarzania
– wartości wag są zamrożone
– zakłada się określony stan początkowy neuronów (y(0)=x)
– następuje proces przejściowy, przebiegający według zależności:
 N

yi = sgn  ∑ Wij x j 
 j =0

 N

yi (k ) = sgn  ∑ wij y j (k − 1) 
 j =1,i ≠ j

– brak wyraźnie oddzielonych
warstw, można ją rozważać w
dowolnej topologii (często jako
sieć jednowarstwowa)
Sztuczne sieci neuronowe
6
Sztuczne sieci neuronowe
który kończy się w określonym minimum lokalnym, w którym y(k)=y(k-1).
7
Sztuczne sieci neuronowe
8
Sieć Hopfielda -tryb odtwarzania
Sieć Hopfielda - funkcja energii
• Proces odtwarzania rozpoczyna się w chwili początkowej k=0, od
doprowadzenia do elementów sygnałów wejściowych xi i=1,2,..., N,
które określają stan początkowy sieci yi(0)=xi, i=1,2,.., N.
• Sygnały wejściowe zostają odłączone, natomiast w sieci rozpoczyna się
iteracyjny proces aktualizacji stanu.
• Dla sieci o symetrycznych wagach taka dynamika prowadzi do
minimalizacji funkcji typu energii (w teorii układów dynamicznych funkcji Lapunova, w fizyce statystycznej funkcji Hamiltona, w teorii
optymalizacji funkcji celu lub kosztu, w obliczeniach ewolucyjnych
funkcji przystosowania ...)
• Funkcję energii wybiera się najczęściej w postaci:
• Sieć pracuje asynchronicznie, w danej chwili może być aktualizowane
wyjście tylko jednego elementu
• Po pewnej skończonej liczbie iteracji sieć osiąga stan stabilny, w
którym zachodzi: yi(k+1)=yi(k), i=1,2,.., N
• Proces odtwarzania kończy się, a stan sieci przekazywany jest na jej
wyjście
Sztuczne sieci neuronowe
E ( y) = −
N
1 N N
w
y
y
+
θ i yi
∑∑ ij i j ∑
2 i =1 j =1
i =1
• Zmiana stanu jakiegokolwiek neuronu początkuje zmianę stanu
energetycznego całej sieci w kierunku minimum tej energii aż do jego
osiągnięcia
9
Stany stabilne - atraktory
Sztuczne sieci neuronowe
10
Dynamika zmian stanu sieci Hopfielda
Ukształtowanie obszarów atrakcji sieci rekurencyjnej o powiązaniach
symetrycznych: a) wykres linii ekwipotencjalnych; b) odwzorowanie
kierunku zmian potencjału w trakcie procesu uczenia
Sztuczne sieci neuronowe
11
Sztuczne sieci neuronowe
12
Dynamika zmian stanu sieci Hopfielda
Sztuczne sieci neuronowe
Dynamika zmian stanu sieci Hopfielda
13
Dynamika zmian stanu sieci Hopfielda
Sztuczne sieci neuronowe
Sztuczne sieci neuronowe
14
Dynamika zmian stanu sieci Hopfielda
15
Sztuczne sieci neuronowe
16
Dynamika zmian stanu sieci Hopfielda
Sieci Hopfielda w praktyce
• Pamięć asocjacyjna
– Zadaniem pamięci asocjacyjnej jest zapamiętanie zbioru wzorców
wejściowych (uczących) w taki sposób, aby w trybie odtwarzania przy
prezentacji nowego wzorca układ mógł generować odpowiedź, która
będzie odpowiadać jednemu z zapamiętanych wzorców, położonemu
najbliżej próbki testującej.
• Optymalizacja
– rozwiązywanie problemów optymalizacyjnych. Przykład: problem
komiwojażera.
17
Sztuczne sieci neuronowe
18
Sztuczne sieci neuronowe
Pamięci asocjacyjne
Pamięć asocjacyjna
• Najczęściej używana miara odległości pomiędzy zbiorami: miara
Hamminga.
• Dla wielkości binarnych 0, 1 odległość Hamminga dwóch wektorów y i
x jest zdefiniowana w postaci:
n
d H = ∑ [xi (1 − yi ) + (1 − xi ) yi ]
i =1
– dH=0, gdy y=x
– dH - równa jest liczbie bitów, o które różnią się oba wektory
• Uczenie sieci: taki dobór wartości wag wij, aby na etapie odtwarzania
sieć była zdolna odnaleźć zbiór danych, najbliższy w sensie miary
Hamminga, wektorowi testowemu (kształtowanie obszarów atrakcji)
Sztuczne sieci neuronowe
19
Sztuczne sieci neuronowe
20
Tryb uczenia
Tryb uczenia
• Zakładamy, że mamy wiele wzorców uczących x(k), k=1,2,.., p
• Zakładamy, że mamy jeden wzorzec x który chcemy zapamiętać
chcemy aby, dla każdego i:
– wówczas wagi wij są dobierane według uogólnionej reguły Hebba:


sgn  ∑ wij x j  = xi

 j
wij =
1
N
p
∑x
(k )
i
x (jk )
k =1
Warunek ten będzie automatycznie spełniony, gdy (reguła Hebba):
wij =
Wagi przyjmują wówczas wartości uśrednione wielu próbek uczących.
1
xi x j
N
gdzie N - liczba neuronów.
Wówczas
N
 1 N
 1 N 
1
 ∑ xi x j x j  =  ∑ xi x 2j  =  ∑ xi  = xi
 N
 N

N  j =1


 j =1
 j =1 
21
Sztuczne sieci neuronowe
Stabilność pamięci asocjacyjnej
Stabilność pamięci asocjacyjnej
• Stabilność działania sieci wymaga, aby odpowiedź i-tego neuronu na lty wzorzec uczący x(l) była równa i-tej składowej xi(l):
1

 N
yi(l ) = sgn  ∑ wij x (jl )  = sgn 
N

 j =0
N
p
∑∑ x
(k )
i
j = 0 k =1

x (jk ) x (jl )  = xi( l )

jeżeli sumę ważoną sygnałów wejściowych i-tego neuronu oznaczymy
przez hi(l) otrzymamy:
hi( l ) = xi( l ) +
1
N
N
∑∑ x
(k )
i
x (jk ) x (jl )
yi(l ) = sgn( hi( l ) ) = sgn( xi( l ) + C )
hi( l ) = xi(l ) + C
≥ 0
hi( l ) : 
< 0
yi( l ) = 1
yi( l ) = −1
Kiedy dany wzorzec xi(l) jest stabilny?
– gdy składnik przesłuchu jest na tyle mały, że nie może zmienić znaku xi(l),
czyli |xi(l)| > |C| lub
– xi(l) * C >0
Wówczas: yi(l) = xi(l) , yi(k+1)=yi(k)
j =0 k ≠l
Wniosek: pamięć asocjacyjna ma właściwości korekcyjne. Przy prezentacji próbki
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.
można tu wyróżnić czynnik pożądany i tzw. składnik przesłuchu.
hi( l ) = xi(l ) + C
Sztuczne sieci neuronowe
22
Sztuczne sieci neuronowe
23
Sztuczne sieci neuronowe
24
Pojemność pamięci asocjacyjnej
Pojemność pamięci asocjacyjnej
Rozkład wartości Ci(l) można przybliżyć rozkładem normalnym (N p duże)
o wartości oczekiwanej 0 i wariancji p/N.
• Maksymalna liczba wzorców zapamiętanych i odtwarzanych z
akceptowanym błędem
• Analizuje się tutaj wielkość:
Ci(l ) = − xi(l )
1
N
Wykazano, że maksymalna pojemność
pamięci asocjacyjnej (reguła Hebba) przy
emax= 0.0036 określa zależność:
N
∑∑ x
(k )
i
x (jk ) x (jl )
j =0 k ≠l
pmax= 0.138N
– gdy Ci(l) <0 to składnik przesłuchu ma taki sam znak jak pożądana wartość
xi(l).
– gdy Ci(l) jest dodatnie i Ci(l) >1 wówczas i-ty bit (lub neuron) wzorca (l) jest
niestabilny
Wartość ta pozwala na ustanie
lawinowego powielania błędów.
Odpowiada ona stanowi początkowemu
sieci, w którym 0.36% ogólnej liczby
neuronów znajduje się w niewłaściwym
stanie.
• Przyjmując, za prawdopodobieństwo błędu e = P(Ci(l) >1) widzimy, że
wartość e rośnie, gdy rośnie p oraz zależy od wymiaru wektora N.
Sztuczne sieci neuronowe
25
Sztuczne sieci neuronowe
Pamięci asocjacyjne a optymalizacja
Sztuczne sieci neuronowe
Wniosek: Liczba wzorców
zapamiętanych przez sieć będzie równa
około 10% liczby jej elementów.
26
Optymalizacja
27
Sztuczne sieci neuronowe
28
Problem komiwojażera
Problem komiwojażera
• Problem komiwojażera - polega na ustaleniu optymalnej trasy objazdu
n miast przez wędrownego sprzedawcę, który musi być we wszystkich
miastach przynajmniej raz i chce wydać jak najmniej na podróże.
• Struktura sieci:
– reprezentacja miasta: wiersz
zawierający n neuronów - dokładnie
1 neuron powinien przyjmować
wartość 1 (pozostałe 0)
– pozycja (od 1 do n) na której
występuje neuron „1” odpowiada
kolejności, odpowiada kolejności w
jakiej to miasto ma być odwiedzane
przez sprzedawcę
– łączna liczba neuronów n2.
Jako dane podane są odległości dij pomiędzy wszystkimi miastami, a
koszt podróży sprzedawcy jest równy długości sumarycznej przebytej
przez niego drogi
Uwagi:
– problem np-zupełny, czyli czas jego rozwiązywania rośnie wykładniczo
przy wzroście liczby rozważanych miast n.
– wyniki przy wykorzystaniu sieci Hopfielda [Tank, 1985]: dla 10 miast w
16 przypadkach na 20 sieć znalazła optymalną trasę.
29
Sztuczne sieci neuronowe
30
Sztuczne sieci neuronowe
Problem komiwojażera
Problem komiwojażera
• Indeksowanie neuronów: dwa wskaźniki :
• Dobór A,B,C, D oznaczają względne wagi poszczególnych warunków,
w oryginalnej publikacji A=B=D=500, C=200.
– 1- numer miasta, 2 - kolejność odwiedzin
• Funkcja energii:
E1 = A / 2∑∑∑ y xi y xj
x
i≠ j
i
E2=0, gdy w każdej kolumnie będzie najwyżej jedna
jedynka
E2 = B / 2∑∑∑ y xi y zi
i
x
z≠ x


E3 = C / 2 ∑∑ y xi − n 
 x i

Sztuczne sieci neuronowe
z≠ x
i
wxi , zj = − As xz (1 − sij ) − Bsij (1 − s xz ) − C − Dd xz ( s j ,i +1 + s j ,i −1 )
gdzie sij=1 gdy i=j i 0 w pozostałych przypadkach.
2
E3 = 0, gdy w macierzy będzie dokładnie n jedynek
E4 = D / 2∑∑∑ d xz y xi ( y z ,i +1 + y z ,i −1 )
x
• Dobór wag:
E1=0 ,gdy w każdym wierszu jest najwyżej jedna
jedynka
• Wymagane skalowanie odległości do przedziału [0,1], przyjęto
nieliniową funkcję ciągłą opisującą neuron.
E4 - oznacza długość wybranej
drogi (yn+j=yj)
31
Sztuczne sieci neuronowe
32
Problemy w sieciach Hopfielda
• Problemy z uzyskaniem właściwego stanu końcowego
– wartość funkcji energetycznej zależy od iloczynu stanów obu neuronów i
jest symetryczna względem polaryzacji. Ten sam stan energetyczny jest
przypisany obu polaryzacjom, pod warunkiem, że oba zmieniają się
jednocześnie na przeciwny. Wówczas oba stany charakteryzują się
identyczną wartością energii i są jednakowo dobrym rozwiązaniem
problemu
– mieszanie różnych składowych zapamiętanych wzorców i tworzenie w ten
sposób stabilnego stanu będącego minimum lokalnym
– przy dużej liczbie wzorców tworzą się minima lokalne, nie odpowiadające
żadnemu z zapamiętanych wzorców, a wynikające z ukształtowania funkcji
energii.
Sztuczne sieci neuronowe
33

Podobne dokumenty