Elementy Sztucznej Inteligencji Sztuczne sieci neuronowe Plan Wzorce biologiczne. Idea SSN - model sztucznego neuronu. Perceptron prosty i jego uczenie reguł delta Perceptron wielowarstwowy i jego uczenie metod wstecznej propagacji błdów Zastosowania SSN.
Mózg jako wydajna maszyna liczca. Wzorowanie si na budowie mózgu człowieka. Systemy przetwarzajce informacj. 3 Mózg dane Mózg składa si z elementarnych komórek nerwowych neuronów. Ilo neuronów w mózgu to szacunkowo miliardów. Kady neuron: połczony jest z du liczb komponentów ( 4 ). przeprowadza relatywnie proste obliczenia (ich natura jest niejasna). Przez neurony połczone w sie przechodz impulsy elektryczne z rón czstotliwoci od do Hz i o rónej amplitudzie. Mózg jest skuteczny dziki masowemu zrównolegleniu. 4
Komórka nerwowa Neuron składa si z:. Wielu dendrytów, których celem jest pobieranie impulsów z innych neuronów.. Ciała komórki z jdrem. 3. Jednego aksonu, który przekazuje impuls dalej. 4. Synaps neuroprzekaników osłabiajcych lub wzmacniajcych sygnał. 5 Sztuczne sieci neuronowe idea Uproszczony model mózgu. Składa si z pewnej liczby elementów przetwarzajcych informacj (sztucznych neuronów). Elementy te s prymitywn imitacj neuronu biologicznego. Neurony s połczone poprzez powizania o nadanych parametrach zwanych wagami, które s modyfikowane w trakcie uczenia. Topologia połcze i wartoci parametrów to architektura sieci. Rozwizaniem sieci neuronowej s wartoci (sygnały) pojawiajce si na wyjciu dla zadanych wartoci wejciowych. 6
Model sztucznego neuronu McCulloch- Pitts a 943 pierwszy matematyczny opis neuronu. Najprociej neuron mona sobie wyobrazi jako przetwornik, który pobiera informacje ze wszystkich, tzw. wej i na ich podstawie emituje sygnał wyjciowy. Kade wejcie jest mnoone przez pewn warto zwana wag (wzmocnienie lub osłabienie sygnału). Sygnały wejciowe s sumowane, by nastpnie dopasowa odpowied za pomoc funkcji aktywacji (przejcia neuronu). 7 Graficzna prezentacja modelu neuronu θ k = a i= w u i i +θ 8
Funkcja aktywacji Zachowanie neuronu jest silnie uzalenione od rodzaju funkcji aktywacji. Typy funkcji aktywacji niecigłe: progowa, signum, cigłe: liniowa, sigmoidalna gaussa. 9 Funkcja progowa (unipolarna) f ( a) = gdy gdy a a <
Funkcja signum (bipolarna) f ( a ) = gdy gdy gdy a a a > = < Funkcja liniowa f ( a ) = a
Funkcja sigmoidalna f ( a ) = + e β a 3 Tangens hiperboliczny f ( a ) = e e β a β a + e e β a β a 4
Funkcja Gaussa f a ( a ) = e β 5 Cechy sztucznego neuronu Wejcia i wagi s liczbami rzeczywistymi dodatnimi i ujemnymi. Jeeli jaka cecha (wejcie) powoduje odpalenie neuronu, waga bdzie dodatnia, a jeeli cecha ma działanie hamujce to waga jest ujemna. Neuron dokonuje sumowania i dopasowania do progu (biasu) θ. Przyjmuje si traktowanie progu θ jako wagi w, gdzie wejcie jest zawsze równe. 6
Przykład działania a =,5,5 + ( ) +, ( ) + (,) =,75,, =,55 f( a) = gdy a gdy a< 7 Neuron jako bramka logiczna - - 8
Typy sieci neuronowych Ze wzgldu na funkcj aktywacji: liniowe (f(a) = a) nieliniowe radialne (funkcja gaussa) Ze wzgldu na architektur jednokierunkowe ze sprzeniami zwrotnymi mieszane 9 Neuron liniowy Bez funkcji aktywacji (funkcja aktywacji liniowa). Σ Działanie neuronu mona opisa równaniem wektorowym: y = W T U, gdzie U=<u,u,...,u k > T, wektor wej a W =<w,w,...,w k > T, wektor wag. Wyjcie y bdzie miało najwiksz warto, gdy połoenie wektora wejciowego U, bdzie najbardziej przypomina połoenie wektora wag W. W wektorze wag zatem pamitany jest sygnał wzorcowy.
Perceptron prosty Najstarsz koncepcj [Rosenblatt 96] sieci neuronowej jest perceptron. Perceptron prosty składa si z jednej warstwy neuronów. W najprostszym przypadku składa si z pojedynczego neuronu. Jeeli funkcja aktywacji to signum i sie składa si z neuronu, to zadaniem perceptronu jest klasyfikacja wektora u=[u,...,u n ] T do jednej z dwóch klas: L (sygnał wyjcia ) lub L (sygnał wyjcia równy -). Zatem perceptron dzieli przestrze wej N-wymiarow hyperpłaszczyzn (granic decyzyjn) o równaniu: k i= wiui + θ = wiui k i= = Analiza działania perceptronu Zakładamy, e perceptron składa si z neuronu. Wejciami s dwie liczby u i u. Perceptron dzieli płaszczyzn dwuwymiarow granic decyzyjn o wzorze: w u + w u + w = std otrzymujemy: u w w = u w w w!" w L! # w w L
Perceptron jednowarstwowy u u u 3 u n 3 Klasyfikacja do wikszej liczby klas Wartoci wyjcia s kodowane cigiem o długoci m (liczba neuronów w warstwie) wartociami i (funkcja aktywacji signum). Jeeli potrzebujemy m elementów na kodowanie wymagamy m neuronów w perceptronie. np.. Klasa C=(-,-,,-). Przyporzdkowanie wej do klasy C nastpi, gdy wyjcia z sieci bd kolejno przyjmowa wartoci: -,-,,-. Przyjmuje si, e potrzeba m wyj by przyporzdkowa do m klas. 4
Uczenie si SSN z nauczycielem Uczenie si jest procesem zmiany wartoci wag i wartoci progowych w SSN. Rozpatrujc pojedynczy neuron: uczenie zmienia zatem współczynnik kierunkowy i przesunicie granicy decyzyjnej. Jest to proces iteracyjny. Wymaga zebrania danych: Naley zebra dane w parach: wejcia i wyjcia. np. cechy obiektów poddawanych klasyfikacji i klasa do której nale. Zbiór danych musi by na tyle duy by wybra z niego dwie grupy danych: dane uczce i testujce. 5 Uczenie z nauczycielem cd. Uczenie z nauczycielem polega na wskazaniu poprawnej klasyfikacji sygnału do odpowiednich klas pomimo braku znajomoci wag. Po zakoczeniu uczenia perceptron powinien poprawnie wskazywa przynaleno podanego elementu do danej klasy, nawet dla sygnałów nie wchodzcych w skład zbioru uczcego (dla zbioru testowego). 6
Uczenie reguł DELTA Uczenie z nauczycielem dla sieci typu perceptron prosty: Zakładamy, e wektor wejciowy U jest zwizany zalenoci funkcyjn z wyjciem y: y=f(u). Funkcja f nie musi by znana. Znane musi by z, które stanowi danie odnonie sygnału wyjciowego: z=f(u). Algorytm uczenia reguł DELTA wymaga podania dla kadego zestawu wej U wartoci odpowiedzi z (zadana warto odpowiedzi). Neuron na zadane sygnały U odpowiada pewn wartoci y. Jeeli jest ona róna od z to neuron nie jest nauczony odpowiedzi na sygnał U. Błd popełniony przez sie jest równy: δ=z-y. 7 DELTA cd. Zła odpowied wymaga korekty. Dotychczasowy wektor wag zmieni si według wzoru: W =W+ ηδu, gdzie η współczynnik liczbowy decydujcy o szybkoci uczenia. Uczenie moe odbywa si dla wielu punktów idealnych. Taki zbiór danych nazywa si zbiorem uczcym. Składa si on z par: <U j, z j >. W pierwszym kroku wymagane jest, by dane były jakie wartoci wag. Dobiera si je losowo. Celem procesu uczenia jest uzyskanie odpowiedzi neuronu y zgodnych z zadanymi odpowiedziami z, co mona okreli jako proces minimalizacji funkcji: Q = ( z j y j ) gdzie j liczb wzorców. j = 8
Algorytm uczenie metod DELTA Dane: problem klasyfikacji obiektu na podstawie n cech. Wektor wej: (u,..., u n ). Klasyfikacja do dwóch klas: L () i L (-). Obliczane: Zbiór wag (w,..,w n ).. Stwórz perceptron z n+ wejciami, wejcie u zawsze ma warto (bias).. Inicjalizuj losowo wagi. 3. Dla wszystkich k wzorców uczcych: a. Jeeli wszystkie przykłady sklasyfikowane, wywietl wagi i zakocz. b. W przeciwnym przypadku oblicz Err, które bdzie równe u (bo δ=), gdy sklasyfikowane do klasy:, a powinno by do klasy: lub u (bo δ=-) w przeciwnym wypadku. c. Modyfikuj wagi : w t+ = w + ηerr t 9 Przykład dane "! 475 Hz 557 Hz Quality OK?.958.3 yes.43. yes.97.3 yes.78. yes.579. yes.3.5 no..748 no.4.839 no.7. no.4.4 no $ $ Zadanie: Nauczy sie klasyfikacji do klas: yes (pknita) i no (nie pknita) dla zbioru opisujcego dane z systemu rozpoznawania pknitych dachówek. Uderzenia w pojedynczy element s rejestrowane i filtrowane. fuzzy.iau.dtu.dk/demo/detron/detron.ppt 3
Przykład wykres log(u) 557 Hz Tile classifier (blue = target, red = neuron) - - -3-4 -5-6 -7-8 -8-7 -6-5 -4-3 - - log(u) 475 Hz o klasa wartoci yes ; * klasa wartoci no. 3 Przykład perceptron Hard limiter w w + f(x) f(x) w - - x Sie zastosowana do zadania: perceptron prosty, funkcja aktywacja signum. (a) (b) 3
Przykład: opis postpowania W procesie uczenia podajemy kolejne cele jako wejcia (oznaczane na czerwono) i sprawdzamy jako klasyfikacji. Kady punkt niewłaciwie sklasyfikowany (zaznaczony znakiem czerwonym odpowiedniej klasy) zmienia wagi i powoduje przesunicie granicy decyzyjnej (zielona linia). 33 Epoka : wzorzec le sklasyfikowany, zmiana połoenia granicy decyzyjnej Tile classifier (blue = target, red = neuron) log(u) 557 Hz - - -3-4 -5-6 -7-8 -8-7 -6-5 -4-3 - - log(u) 475 Hz 34
Epoka : wzorzec le sklasyfikowany Tile classifier (blue = target, red = neuron) log(u) 557 Hz - - -3-4 -5-6 -7-8 -8-7 -6-5 -4-3 - - log(u) 475 Hz 35 Epoka : 3 wzorzec le sklasyfikowany Tile classifier (blue = target, red = neuron) log(u) 557 Hz - - -3-4 -5-6 -7-8 -8-7 -6-5 -4-3 - - log(u) 475 Hz 36
Epoka : 4 wzorzec le sklasyfikowany Tile classifier (blue = target, red = neuron) log(u) 557 Hz - - -3-4 -5-6 -7-8 -8-7 -6-5 -4-3 - - log(u) 475 Hz 37 Epoka : 5 wzorzec dobrze sklasyfikowany Tile classifier (blue = target, red = neuron) log(u) 557 Hz - - -3-4 -5-6 -7-8 -8-7 -6-5 -4-3 - - log(u) 475 Hz 38
Epoka : wzorce 6 do dobrze sklasyfikowane Tile classifier (blue = target, red = neuron) log(u) 557 Hz - - -3-4 -5-6 -7-8 -8-7 -6-5 -4-3 - - log(u) 475 Hz 39 Epoka : wzorzec dobrze sklasyfikowany Tile classifier (blue = target, red = neuron) log(u) 557 Hz - - -3-4 -5-6 -7-8 -8-7 -6-5 -4-3 - - log(u) 475 Hz 4
Epoka : wzorce do dobrze sklasyfikowane Tile classifier (blue = target, red = neuron) log(u) 557 Hz - - -3-4 -5-6 -7-8 -8-7 -6-5 -4-3 - - log(u) 475 Hz 4 Zwikszamy współczynnik uczenia z, na, i dokonujemy ponownego nauczania sieci 4
Epoka : wzorzec le sklasyfikowany Tile classifier (blue = target, red = neuron) log(u) 557 Hz - - -3-4 -5-6 -7-8 -8-7 -6-5 -4-3 - - log(u) 475 Hz 43 Epoka : wzorzec dobrze sklasyfikowany Tile classifier (blue = target, red = neuron) log(u) 557 Hz - - -3-4 -5-6 -7-8 -8-7 -6-5 -4-3 - - log(u) 475 Hz 44
Epoka : wzorce od 3 do dobrze sklasyfikowane Tile classifier (blue = target, red = neuron) log(u) 557 Hz - - -3-4 -5-6 -7-8 -8-7 -6-5 -4-3 - - log(u) 475 Hz 45 Epoka : wzorce od do poprawne. Granica pozostaje ustalona, nauczanie zakoczone Tile classifier (blue = target, red = neuron) log(u) 557 Hz - - -3-4 -5-6 -7-8 -8-7 -6-5 -4-3 - - log(u) 475 Hz 46
Zwikszamy współczynnik uczenia z, na i dokonujemy ponownego nauczania sieci 47 Epoka : wzorzec le sklasyfikowany Tile classifier (blue = target, red = neuron) log(u) 557 Hz - - -3-4 -5-6 -7-8 -8-7 -6-5 -4-3 - - log(u) 475 Hz 48
Epoka : wzorzec dobrze sklasyfikowany Tile classifier (blue = target, red = neuron) log(u) 557 Hz - - -3-4 -5-6 -7-8 -8-7 -6-5 -4-3 - - log(u) 475 Hz 49 Epoka : wzorce od 3 do 5 dobrze sklasyfikowane. 6 niepoprawny, zmienia połoenie granicy decyzyjnej. Tile classifier (blue = target, red = neuron) log(u) 557 Hz - - -3-4 -5-6 -7-8 -8-7 -6-5 -4-3 - - log(u) 475 Hz 5
Epoka : 7 wzorzec dobrze sklasyfikowany Tile classifier (blue = target, red = neuron) log(u) 557 Hz - - -3-4 -5-6 -7-8 -8-7 -6-5 -4-3 - - log(u) 475 Hz 5 Epoka : wzorce 8 - (poprawne( poprawne). Zbieno niestabilna, współczynnik nauczania zbyt duy. Tile classifier (blue = target, red = neuron) log(u) 557 Hz - - -3-4 -5-6 -7-8 -8-7 -6-5 -4-3 - - log(u) 475 Hz 5
Problem typu XOR $ Brak liniowej separowalnoci. Przy liniowym podziale z jedn granica decyzyjn nie uzyska si podziału. $ 53 Perceptron wielowarstwowy u u u 3 u 4 u n Perceptrony wielowarstwowe mog zamodelowa wszystko. Jeeli element przetwarzajcy moe by dowoln bramk logiczn AND, OR, NOT, to na podstawie okrelenie minimalnej biblioteki wiemy, e mona a za pomoc takich elementów opisa dowolnie złoona funkcj. 54
Rozwizanie problemu XOR u u y %&% Funkcja aktywacji: progowa. 55 Płaszczyzny klasyfikacji w zalenoci od modelu sieci 56
Uczenie reguł DELTA perceptronów wielowarstwowych Uczenie z nauczycielem. Funkcja aktywacji musi by cigła i róniczkowalna w całej dziedzinie. Problemem jest wyznaczenie korekty wag w warstwach ukrytych. Algorytm nazywa si uczeniem metod wstecznej propagacji błdów (backpropagation). 57 Algorytm backpropagation Wagi pocztkowe wybierane losowo. Modyfikacja wag dla kadej pary wejcie-wyjcie (znana odpowied). Kada para wymaga przejcia oblicze w przód i wstecz. Krok w przód oblicza dla zadanych wej sygnał wyjciowy. W kroku wstecznym otrzymane wyjcie jest porównywane z oczekiwanym wynikiem i obliczany jest błd jednostek wyjciowych. Obliczana jest korekta wag w kadej warstwie od ostatniej do wejciowej. Zmiana wag połcze ma doprowadzi do zmniejszenia błdu. Błd propagowany jest wstecz przez połczenia ukryte. Jedna epoka jest to prezentacja wszystkich wzorców (zazwyczaj backpropagation wymaga wielu epok). 58
Backpropagation Backpropagation (cechy) Nowy przykład y (k) = f(u (k) ) (k) = wyjcie SNN z wagami w (k-) dla wejcia u (k) Funkcja błdu: E (k) (w (k-) ) = (k) y (k) w ij (k) = w ij (k-) η E/ w ij 59 Kroki BP!"# $ %&$$ ' %&$$ ' % ($ $&)$ 6
Kroki BP cd. ( $ *+%# $ $ + ( ( (, - $ %$). ) 6!'()*+,""*+"-../ 6
!'()*+,""*+"-../ 63!'()*+,""*+"-../ 64
!'()*+,""*+"-../ 65!'()*+,""*+"-../ 66
!'()*+,""*+"-../ 67 Jak długo uczy? / # ) # " ) " '& )%$) $) 3+) - $$) 68
Generalizacja 4$+ 5$ $ $ 6%) $ " 5 "$' %' " 7)$ 69 Dane dla sieci neuronowych Naley zebra dane niezbdne w procesie uczenia: pewn liczb przypadków, z których kady zawiera wartoci dostpnych zmiennych wejciowych i wyjciowych okreli, które zmienne powinny zosta uwzgldnione i ile a take jakie przypadki naley zgromadzi. Wybierajc zmienne (przynajmniej pocztkowy ich zestaw) kierujemy si intuicj. Przy pierwszej próbie powinno si uwzgldni wszystkie zmienne, które, mog mie znaczenie, gdy potem, na etapie projektowania, zbiór ten bdzie redukowany. ))))")*) -)+""3*"!4)))5*6))787979))")*79) -)+""793*")5* 7
Dane dla sieci neuronowych Dane numeryczne s przeskalowywane do właciwego dla sieci przedziału (normalizacja). Wartoci brakujce s zastpowane wartociami rednimi (lub innymi statystykami) obliczanymi na podstawie wartoci zmiennych dostpnych w cigu uczcym. Typ danych nominalnych takich jak Płe = {Mczyzna, Kobieta} zamienia si na wartoci numeryczne. Przy duej liczbie klas łczy si je w grupy. Wartoci rzeczywiste poddaje si procesowi dyskretyzacji. ))))")*) -)+""3*"!4)))5*6))787979))")*79) -)+""793*")5* 7 Dane dla sieci neuronowych Rozmiar zbioru uczcego uzalenia si od rozmiaru sieci. np.. e liczba przypadków powinna by dziesiciokrotnie wiksza od liczby połcze wystpujcych w sieci. W rzeczywistoci liczba potrzebnych przypadków jest równie uzaleniona od złoonoci zalenoci funkcyjnej poddawanej modelowaniu. Jednak zaleno ta ma z reguły nieznan posta trudno jest wic poda naprawd wyczerpujcy i trafny przepis, okrelajcy, ile elementów cigu uczcego jest naprawd nieodzownych. ))))")*) -)+""3*"!4)))5*6))787979))")*79) -)+""793*")5* 7
Zastosowania sieci neuronowych - predykcja Klasa zada, w których na podstawie zbioru danych wejciowych okrela si dane wyjciowe. Przykłady: ocena zdolnoci kredytowej, prognozy zmiany rynku, automatyczne sterowanie, gra na giełdzie. W wyniku procesu uczenia SSN nabywa zdolnoci okrelania wyj dla zadanych wej. Uczenie polega na prezentowaniu materiałów empirycznych z przeszłoci. Nie trzeba zna, ani stawia hipotez o naturze zwizku pomidzy danymi wejciowymi a wyjciowymi - NIE TRZEBA ZNA ZALENOCI WEJCIE - WYJCIE. 73 Zastosowania sieci neuronowych - klasyfikacja i rozpoznanie Zadania, w których przydzielamy obiekty na podstawie pewnych cech do klas lub rozpoznajemy zgodno ze znanym wzorcem. Przykłady: rozpoznawanie znaków, twarzy, identyfikacja regionów zagroonych bezrobociem. SSN przewiduje identyfikator klasy, do której moe zaliczy dane wejciowe. SSN sama znajduje istotne cechy podawanych danych, bez udziału jakiekolwiek teorii. 74
Zastosowania sieci neuronowych - kojarzenie danych Zadania polegajce na kojarzeniu duej liczby faktów. Przykłady: wnioskowanie powiza ekonomicznych. SSN automatyzuj proces wnioskowania na podstawie zgromadzonych danych, w których wyszukuj trendy, istotne powizania z bardzo duej liczby rónych współczynników 75 Zastosowania sieci neuronowych - analiza danych Znalezienie zwizków majcych charakter przyczynowy dla danych ze zbioru wejciowego. Przykłady: analiza danych ekonomicznych i przewidywanie intencji podmiotów gospodarczych, okrelanie przyczyn niepowodze. SSN daj nowe moliwoci znalezienia zalenoci pomidzy danymi majcymi faktyczn przyczyn, ale mog by to równie zwizki incydentalne. 76
Zastosowania sieci neuronowych - filtracja sygnałów Wycinanie sygnałów zaszumionego kanału, eliminacja zakłóce o charakterze losowym. Przykłady: diagnostyka medyczna, telekomunikacja. Zadaniem SSN jest wyczyszczenie sygnału z przypadkowych zniekształce. Sie zapoznana z pewnym zestawem idealnych wzorców potrafi dopasowywa do nich zniekształcone wzorce. 77 Zastosowania sieci neuronowych optymalizacja Szukanie optimów dla danego zagadnienia. Przykład: optymalne decyzje gospodarcze, optymalizacja cieek, układów cyfrowych. SSN poszukuje stanów stabilnych dla pewnego zestawu danych. Charakteryzuj si one optymalnym rozłoeniem energii. 78