METODY HEURYSTYCZNE wykład 4 1
OCENA DZIAŁANIA ANIA AE 2
LOSOWOŚĆ W AE Różne zachowanie algorytmu w niezależnych nych uruchomieniach przy jednakowych ustawieniach parametrów w i identycznych populacjach początkowych. Losowość jest wprowadzana w AE: Podczas generowania populacji początkowej W procesie wyboru populacji potomnej na drodze reprodukcji (ukierunkowanie działania ania AE). Podczas działania ania operatorów w ewolucyjnych (próbkowanie przestrzeni roboczej). 3
Należy y dokonać wielu niezależnych nych uruchomień dla losowej próby różnych r populacji bazowych P(0). W przypadku wielu uruchomień dla tej samej popu-lacji P(0) można mówim wić o właściwow ciwościach ciach danego algorytmu dla konkretnej populacji początkowej. Porównywane dwa algorytmy: wskazane jest aby próba ta była a taka sama (dla każdej losowej populacji początkowej uruchamia się dwa porównywane algorytmy). 4
ANALIZA STATYSTYCZNA: Analiza wartości oczekiwanej i odchylenia standardowego wartości przystosowania w populacji bazowej. Uwzględnienie informacji o min. i max.. osiąganej wartości. Uwzględnienie informacji o liczbie przypadków w niewiele różnych r od najlepszego. Prezentacja wyników w w postaci histogramu pozwala ocenić właściwości rozkładu, które mogą umknąć przy analizie ograniczonej jedynie do statystyk liczbowych. Przykładowy histogram: 5 5
KRZYWE ZBIEŻNO NOŚCI Wykresy zmian wartości rozwiązania zania roboczego (średniego, najlepszego, najgorszego) w czasie. Kreśli się je: - dla pojedynczego uruchomienia algorytmu; - dla wielu niezależnych nych uruchomień. (Uśrednione bardziej reprezentatywne, lecz gubi się niektóre informacje o zachowaniu AE w pojedynczych uruchomieniach). Przykładowe krzywe zbieżno ności (dla 1 uruchomienia algorytmu): wartość f. przystosowania max śr min pokolenie 6
Szczególna krzywa zbieżno ności: Wykres zmian w kolejnych pokoleniach wartości przys- tosowania najlepszego osobnika znalezionego od początku działania ania AE. Po zakończeniu działania ania AE osobnik ten jest rozwiąza za- niem wyz.. przez pojedyncze uruchomienie AE. 200 wartość f. przystosowania 150 100 50 0 10 20 30 40 50 60 60 70 80 pokolenie 7
KRYTERIA ZATRZYMANIA AE 8
KRYTERIUM MAKSYMALNEGO KOSZTU Algorytm kończy działanie, anie, jeśli koszt algorytmu przekroczy założon oną wartość maksymalną K max. Często przyjęta odmiana przyjęcie pewnej maksymalnej dopuszczalnej liczby pokoleń algorytmu. Φ t max t 9
MU FUNKCJI PRZYSTOSOWANIA Zatrzymanie działania ania gdy AE znajdzie rozwiązanie zanie o wartości funkcji przystosowania określonej przez użytkownika jako zadowalająca Φ s. KRYTERIUM ZADOWALAJĄCEGO POZIO- Zwykle nie jest łatwo (bez dostatecznie dobrej znajo- mości funkcji przystosowa- nia) określi lić wartość zadowalającą. AE może e działać dowolnie długo (należy y dodatkowo określi lić maksymalny koszt znalezienia rozwiązania). zania). Φ Φ s t 10
KRYTERIUM MIN. SZYBKOŚCI POPRAWY Algorytm jest zatrzymywany, jeśli w kolejnych τ oblicze- niach wartości funkcji przystosowania nie uda się poprawić wyniku o więcej niż ε. Często ε = 0 - algorytm zatrzymywany, jeśli nie uda się uzyskać lepszego rozwiązania zania w kolejnych τ pokoleniach. Φ ε min. szybkość poprawy τ t 11
SZTUCZNE SIECI NEURONOWE 12
HISTORIA SSN Walter Pitts, Warren McCulloch (1943) opraco- wanie matematyczne pojęcia sztucznego neuronu. Udowodnili też,, iżi ich wynalazek jest w stanie odzwier- ciedlić w swym działaniu aniu dowolną funkcję logiczną. Donald Olding Hebb (1949) - zasada uczenia się Hebba (Hebbian learning) ) dla sztucznych sieci neuronowych (SSN). Frank Rosenblatt (1958) pierwszy funkcjonujący cy model SSN (perceptron) oraz pierwszy z algorytmów uczenia SSN. 13
Bernard Widrow i Ted Hoff (1960) - neuron typu Adaline z liniową funkcją aktywacji oraz algorytm uczenia LMS (Least( Mean Square), zwany regułą delty lub regułą Widrowa-Hoffa Hoffa. John Hopfield (1982) teoria pamięci asocjacyjnej, jako istoty działania ania sieci rekurencyjnych (sieci Hopfielda). Paul Werbos (1974); David Rumelhart,, Geoffrey Hinton, Ronald Williams (1986) - wsteczna propagacja błęb łędów (backpropagation) pozwala na rozwiązywanie zywanie problemów liniowo nieseparowalnych. 14
Komórki nerwowe (neurony) Dendryty zbierają sygnały y z innych komórek nerwowych. Ciało o komórki agreguje sygnały y wejściowe i tworzy sygnał wyjściowy. Akson wyprowadza sygnał wyjściowy i przekazuje go dalej. 15
Synapsa - przekazuje sygnał między aksonem a dendrytem (każda komórka nerwowa posiada średnio kilka tysięcy synaps). Chemiczno-elektryczne elektryczne przekazywanie sygnałów: Pod wpływem przychodzących cych bodźców w wydzielane sąs neuroprzekaźniki niki. Neuroprzekaźniki oddziałuj ują na błonb onę komórki zmieniając c jej potencjał elektryczny. 16
Poszczególne synapsy różnir nią się wielkości cią oraz możli li- wości cią gromadzenia neuroprzekaźnik ników w pobliżu błony synaptycznej. Dlatego taki sam impuls na wejściu komórki może e po- wodować inne jej pobudzenie niż dla innego wejścia. STATYSTYKA: Liczba komórek nerwowych w mózgu: m ok. 10 Połą łączeń nerwowych ok. 10 10 14 14 ; 10 11 11 ; Częstotliwo stotliwość biologicznego neuronu ok. kilkaset Hz. 17
ZALETY SSN: Nie wymagają programowania (tylko uczenie); Mają zdolność uogólniania lniania; Są wysoce odporne na szumy i zniekształcenia sygnału; Pomagają wykrywać istotne powiązania pomiędzy danymi. Stosuje się je gdy istnieje duża a złożonoz oność zagadnienia i trudno jest jednoznacznie określi lić formalne kryteria,, dla stworzenia programu komputerowego. 18
PRZYKŁADOWE ZASTOSOWANIA: 19
NIE NADAJĄ SIĘ DO: Przetwarzania informacji symbolicznej (np.. edytory tekstu); Obliczeń o wymaganej wysokiej dokładno adności (sieć pracuje jakościowo, dając c wyniki przybliżone); Rozwiązywania zywania zagadnień,, gdzie rozumowanie jest przeprowadzanie wieloetapowo (a musi być udokumentowane). 20
Perceptron (Rosenblatt 1958): Układ posiadający wiele wejść i jedno wyjście: Wejście: n stanów wejsciowych x 1,...,x n Wyjście: 0 (-1)) lub 1 Uwaga: pod pojęciem perceptronu rozumie się też czasem sieć połą łączonych jednostek (neuronów). 21
Sprzętowo: Pojedynczy perceptron pozwala na: przetwarzanie jednostkowych informacji; podejmowanie prostych decyzji; przekazywanie wyników w sąsiadom. s siadom. Dopiero w połą łączeniu z innymi węzłami w uzyskuje się zdolność podejmowania złożonych z onych decyzji. 22
Sygnał wyjściowy y i i-tego tego neuronu liniowego: y N = wx i ij j j= 0 w ij x j N waga dla j-ego wejścia i-tego neuronu; j-ty sygnał wejściowy ciowy; liczba wejść w i-tym neuronie. Sygnał wyjściowy y i i-tego tego neuronu (ogólnie) lnie): N yi = ϕ( e) = ϕ wijx j + B j= 1 e łączne pobudzenie neuronu (net value); ϕ funkcja aktywacji; W neuronie liniowym e jest B próg (bias). sygnałem wyjściowym 23
UCZENIE PERCEPTRONU: Pojedynczy neuron (lub 1 warstwa neuronów) typu per- ceptronowego jest w stanie rozdzielić przestrzeń obszarów wejściowych granicą decyzyjną na 2 obszary (półprzestrzenie). 2 zmienne prosta; ogólnie hiperpłaszczyzna aszczyzna. 24
Sieć dwuwarstwowa wielokąty wypukłe e (simpleksy( simpleksy): Sieci trzy- i więcej warstwowa dowolne obszary (w tym wielokąty niewypukłe i obszary wielospójne). 25
Perceptron może e prawidłowo klasyfikować sygnały, y, jeśli są liniowo separowalne: 26
Poprawka wartości wagi dla perceptronu w j-ymym kroku (regu( reguła a delta): ( j) ( j) x ( j) i i w =ηδ δ j = z j y j ( ) ( ) ( ) z wymagana odpowiedź neuronu; y uzyskana odpowiedź neuronu; x dana wejściowa dla i-tego wejścia; η - współczynnik uczenia (learning rate). 27
Sygnał WY jest tym większy, im bardziej sygnał WE będzie przypominał wagę (dla. sygna (dla. sygnałów w znormalizowanych). x 2, w 2 wagi neuronu sygnał WE γ x 1, w 1 Kąt pomiędzy wektorem WE a wektorem wag: - mały silny sygnał pozytywny; - bliski 90 słaby sygnał neutralny (bliski 0); - duży silny sygnał negatywny. Dł.. wektora WE znacząco co mniejsza od dł. d. wektora wag sygnał neutralny (niezależnie od kierunku wektora WE). 28
Waga: - dodatnia - sygnał pobudzający cy; - ujemna sygnał gaszący cy; - 0 - brak połą łączenia między neuronami. Sygnały y wyjściowe: 0,1 (funkcje unipolarne) -1,1 (funkcje bipolarne). 29
FUNKCJA AKTYWACJI Wartość f. aktywacji sygnał wyjściowy neuronu. liniowa f. aktywacji; nieliniowa f. aktywacji: - f. skoku jednostkowego (progowa), np.: ϕ ( e) = { 1 gdy e 0 0 gdy e< 0 - inna, np.. typu sigmoidalnego (f. logistyczna): 1 ϕ ( e) = 1 + exp( β e) β współczynnik sterujący nachyleniem krzywej 30
31
WYMAGANE CECHY F. AKTYWACJI: Ciągłe e przejście pomiędzy wartości cią maksymalną a minimalną. Łatwa do obliczenia i ciągła a pochodna np.. dla f. sigmoidalnej: 1 ϕ ( e) = 1 + exp( β e) [ ] ϕ β ϕ ϕ '( e) = ( e) 1 ( e) Możliwo liwość wprowadzenia do argumentu parametru β do ustalania kształtu tu krzywej. 32
1 WSPÓŁCZYNNIK β 0.5 beta=1 beta=0.5 beta=2 0-10 -5 0 5 10 1 BIAS 0.5 bias=0 bias=-2 bias=2 33 0-10 -5 0 5 10 33
Bipolarny odpowiednik f. sigmoidalnej: exp( β e) exp( β e) ϕ ( e) = = tgh( β e) exp( βe) + exp( βe) [ ][ ] ϕ '( e) = β 1 + ϕ( e) 1 ϕ( e) 1 0.5 0-10 -5 0 5 10 beta=0.5-0.5-1 34
SIEĆ NEURONOWA: - układ połą łączonych neuronów (model warstwowy) Sieć jednowarstwowa Sieć wielowarstwowa Sieć wielowarstwowa min. jedna warstwa ukryta. Zwykle: kilka warstw, połą łączenia każdy z każdym (min. liczba parametrów w do opisu). 35
RODZAJE NEURONÓW: warstwy WE (nie liczona); warstw ukrytych: efekty działania ania obserwowane pośrednio poprzez WY; pośredniczenie między WE a WY; niemożno ność dokładnego obliczenia błęb łędów; warstwy WY (rozwiązania zania stawianych zadań). Pamięć neuronu reprezentowana poprzez wagi. Sieć działa a jako całość ść. 36
KLASY SIECI: feed-forward forward (jednokierunkowe) najcz rekurencyjne sprzęż ężenia zwrotne; sieci Kohonena samoorganizujące się; najczęściej stosowane; sieci radialne (RBF) - uniwersalny aproksymator. STRUKTURA SIECI: - ważna, lecz nie do przesady: wystarczający cy potencjał intelektualny ; rozsądna. 37 37
Projektowanie sieci - problemy: ile warstw ukrytych? ile neuronów w w warstwach? Liczba neuronów w w warstwie WE: zależy y od liczby danych podawanych na wejście. Liczba neuronów w w warstwie WY: zależy y od liczby poszukiwanych rozwiąza zań. Sieć z 1 warstwą ukrytą powinna nauczyć się roz- wiązywania większo kszości postawionych problemów. Zbyt wiele warstw ukrytych pogorszenie procesu uczenia (algorytm grzęźnie w szczegółach ach ). 38
Nieznane sąs problemy wymagające sieci z więcej niż 3 warstwami ukrytymi (zwykle 1 lub 2). Liczbę neuronów w w warstwie ukrytej można próbowa bować oszacować: N = N N u we wy Zwykle: : uczenie z początkowo małą liczbą neuronów i stopniowe zwiększanie ich liczby. Zbyt wiele elementów w warstwy ukrytej: uczenie się na pamięć ęć. 39
Przykład: Rozpoznawanie znak znaków alfabetu WE - 35 (pikseli) WY -26 (liter) a co wewnątrz? Wstępnie pnie: 35 4 26 40
Ostatecznie: 35 9 26 41
UCZENIE SIECI NEURONOWYCH Uczenie zamiast programowania. Ta sama sieć może e służyćs do rozwiązywania zywania skrajnie różnych zadań. Uczenie sieci: Wymuszanie określonego reagowania sieci na zadane sygnały y wejściowe (poprzez odpowiedni dobór r wag). Uczenie sieci: uczenie z nauczycielem (nadzorowane); uczenie z krytykiem; uczenie bez nauczyciela (nienadzorowane). 42
UCZENIE Z NAUCZYCIELEM: Podawanie sieci zestawów w sygnałów w WE wraz z prawidłowym sygnałem WY. Naśladowanie nauczyciela,, jakim jest ciąg g uczący cy. Zestawy sygnałów w (zwykle) powtarza się wielokrotnie, zaś sieć modyfikuje wagi na wejściach tak, by zmini- malizować błąd. Zmiana wagi na i-tym wejściu neuronu po pokazaniu j-ego obiektu uczącego cego jest proporcjonalna do popeł- nianego na tym etapie błęb łędu δ ( j ). 43
UCZENIE SIECI NIELINIOWYCH Uczenie sieci minimalizacja funkcji błęb łędu. minimalizacja funkcji błęb łędu Zwykle gradientowe metody optymalizacji (np.. metoda największego spadku). Warunek funkcja aktywacji jest ciągła. 44
Poprawka wartości wagi: w =ηδ dϕ ( e) de x ( j) ( j) ( j) i ( j) i j numer kroku uczenia; Jeśli neuron nie popełnia błęb łędu wagi nie sąs zmieniane. Poprawka wagi na WE jest tym większa, im większy jest błąd d na WY. Poprawka wagi na i-tym tym WE jest proporcjonalna do wielkości sygnału u na tym wejściu (x( i ). 45
Uaktualnianie wag: - po każdorazowej prezentacji jednej pary uczącej; cej; - po zaprezentowaniu wszystkich przykład adów. Przykładowy ciąg g uczący cy (3 neurony, 5 wejść ść) Typowy obiekt który powinien być rozpoznawany przez pierwszy neuron: WE: 3, 4, 3, 4, 5 WY: 1, -1, -1 Typowy obiekt który powinien być rozpoznawany przez drugi neuron: WE: 1, -2, 1, -2, -4 WY: -1, 1, -1 Typowy obiekt który powinien być rozpoznawany przez trzeci neuron: WE: -3, 2, -5, 3, 1 WY: -1, -1, 1 46
Nietypowy obiekt który powinien być rozpoznawany przez pierwszy neuron: WE: 4, 2, 5, 3, 2 WY: 0.8, -1, -1 Nietypowy obiekt który powinien być rozpoznawany przez drugi neuron: WE: 0, -1, 0, -3, -3 WY: -1, 0.8, -1 Nietypowy obiekt który powinien być rozpoznawany przez trzeci neuron: WE: -5, 1, -1, 4, 2 WY: -1, -1, 0.8 Obiekt który powinien być odrzucany przez wszystkie neurony: WE: -1, -1, -1, -1, -1 WY: 1,-1, 1,-1 47
Funkcja logiczna XOR Schemat sieci: 2-2 - 1 Ciąg uczący cy: WE 1 WE 2 WY 0 0 0 1 0 1 0 1 1 1 1 0 Ciąg weryfikujący (np( np): WE 1 WE 2 0.05 0.05 0.95 0.05 0.05 0.95 0.95 0.95 48
Rozpoznawanie znaków w X, 0, +, - Matryca znaków Schemat sieci: 9-5 - 4 Liniowe rozwinięcie i zamiana na wektor WE 49
Ciąg uczący cy: Wektor WE Wektor WY 1 0 1 0 1 0 1 0 1 1 0 0 0 1 1 1 1 0 1 1 1 1 0 1 0 0 0 1 0 1 1 1 0 1 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 Nauczona sieć rozpoznaje symbole zniekształcone: 50
FILTROWANIE SYGNAŁÓW WE - wzorce sygnałów zaszumionych; WY sygnały y czyste np.. sinus : WE WY Z: R. Tadeusiewicz: Elementarne wprowadzenie do techniki sieci neuronowych...,, PLJ, Warszawa, 1998! 51
Okolice zera mała a wartość sygnału u (trudno( trudności). Rozwiązanie zanie przesunięcie sygnału: Z: R. Tadeusiewicz: Elementarne wprowadzenie do techniki sieci neuronowych...,, PLJ, Warszawa, 1998 52
WSPÓŁCZYNNIK UCZENIA η learning rate Wartości: w przedziale 0.01 5.0 (typowo 0.8 2.0 2.0) zbyt mały powolne uczenie sieci; zbyt duży gwałtowne zmiany parametrów w sieci. 53
METODA MOMENTUM (ang. pęd) p Nadanie uczeniu pewnej bezwładno adności; Zwiększenie szybkości uczenia bez zaburzenia stabilności algorytmu; bez wsp. momentum wsp. momentum = 0.5 54
Dodatkowy składnik: zmiany wag zależą od błęb łędów aktualnych i poprzednich. dϕ ( e) w = x + w de ( j) ηδ ( j) ( j) η ( j 1) i ( j ) i 2 i η 2 wartości w przedziale 0 10 1 (cz( często 0.9 ). Wagi: wartości początkowe zwykle losowo, często z zakresu -0.1, 0.1 (najlepiej bez zera). 55