Pattern Classification All materials in these slides were taen from Pattern Classification (2nd ed) by R. O. Duda, P. E. Hart and D. G. Stor, John Wiley & Sons, 2000 with the permission of the authors and the publisher
Chapter 6: Wielowarstwowe sieci neuronowe (Sections 6.1-6.3) Wprowadzenie Propagaca sygnałów i lasyfiaca Algorytm wsteczne propagaci błędów
Wprowadzenie 2 Cel: Klasyfiaca obietów poprzez uczenie charaterysty nieliniowych W wielu zadaniach liniowe funce dysryminuące daą zbyt duże wartości funci ryterialne Poprzednio, istotą rozwiązania był odpowiedni wybór zestawu funci nieliniowych Teoretycznie, nalepie byłoby zastosować ompletną postać funci dysryminuące, np. wielomian dowolnego rzędu; ale wiązałoby się to z oniecznością estymaci zbyt wielie liczby parametrów na podstawie stosunowo niewielie liczby przyładów z ciągu uczącego
3 Nie est znana metoda automatycznego doboru prawdziwe charaterystyi nieliniowe, eżeli nie dysponuemy żadną dodatową informacą o te charaterystyce Sieci neuronowe uczą się postaci charaterystyi nieliniowe na podstawie danych uczących
4
Operace ednoierunowe i lasyfiaca 5 3-warstwowa sieć neuronowa słada się z warstw: weściowe, uryte i wyściowe. Połączeniom pomiędzy olenymi warstwami odpowiadaą parametry (nazywane wagami), tórych wartości można modyfiować
6
7
8 W celu ułatwienia zapisu, do ażdego neuronu doprowadzane est dodatowe weście o wartości równe 1 Atywaca neuronu (wyście ego części liniowe): net = d d T xiw i + w 0 = xiw i w x, i= 1 i= 0 gdzie i oznacza numer weścia, numer neuronu w warstwie uryte; w i to waga połączenia między -tym neuronem warstwy uryte a i-tym weściem. Każdy neuron warstwy uryte zwraca sygnał wyściowy y będący nieliniową funcą ego atywaci, t: y = f(net )
Na poprzednim rysunu zilustrowano funcę progową 1 if net 0 f ( net) = sgn( net) 1 if net < 0 Funca f(.) nazywana est funcą atywaci lub nieliniowością neuronu. Istnieą różne bardzie ogólne postacie funce atywaci 9 Każdy neuron warstwy wyściowe wyznacza swoą atywacę, przy czym na ego weścia podawane są wyścia neuronów warstwy uryte: net n n T y w + w 0 = y w = w y, = 1 = 0 = H H gdzie oznacza numer neuronu warstwy wyściowe a n H est numerem neurony warstwy uryte
10 Neurony warstwy wyściowe realizuą nieliniową funcę ich atywaci, zwracaąc na wyściu sygnał: z = f(net ) W przypadu c wyść (las), można rozpatrywać sieć ao uład c funci dysryminuących z = g (x) i lasyfiuący obraz x na podstawie te funci, g (x) = 1,, c, tóra przymue nawięszą wartość dla danego x 3-warstwowa sieć neuronowa z wagami podanymi na rys. 6.1 rozwiązue problem XOR
11 Neuron warstwy weściowe y 1 oreśla granicę: 0 y 1 = +1 x 1 + x 2 + 0.5 = 0 < 0 y 1 = -1 Neuron warstwy uryte y 2 oreśla granicę : 0 y 2 = +1 x 1 + x 2-1.5 = 0 < 0 y 2 = -1 Neuron warstwy wyściowe zwraca sygnał z 1 = +1 y 1 = +1 and y 2 = +1 z = y 1 i nie y 2 = (x 1 lub x 2 ) i nie (x 1 i x 2 ) = x 1 XOR x 2
Operace ednoierunowe przypade c wyść 12 g ( n H d ( x) z = f w f w = 1 i= 1 = 1,...,c) i Warstwa uryta umożliwia użycie bardzie sompliowanych postaci nieliniowości, rozszerzaąc możliwości lasyfiatora x i + w 0 + w 0 (1) Można ta wybrać funcę atywaci, aby była ona ciągła i różniczowalna Można dobrać różne funce atywaci w warstwie uryte i wyściowe, a nawet przyąć, że ażdy neuron ma indywidualnie dobraną postać funci atywaci Dale przymiemy, że wszystie neurony sieci maą identyczną funcę atywaci
Zdolność obaśniaąca sieci wielowarstwowych 13 Pytanie: Czy 3-warstwowa sieć neuronowa opisana równaniem (1) może zrealizować dowolny zbiór reguł decyzynych? Odpowiedź: Ta(A. Kołmogorow) Każda ciągła funca może być z dowolną doładnością aprosymowana przez 3-wartwową sieć neuronową, maącą odpowiednią liczbę neuronów n H w warstwie uryte, odpowiednie postacie funci atywaci i prawidłowo dobrane wartości wag. g( x) 2n + 1 = = 1 δ ( ) n Σβ ( x ) x I (I = [01], ;n ) i i 2
14 Na weście ażdego z 2n+1 neuronów warstwy uryte δ podawana est suma d nieliniowych funci, edna na ażdą cechę x i Każdy neuron uryty zwraca wartość nieliniowe funci δ dla podanych weść Neuron wyściowy zwraca sumę władów wnoszonych przez neurony warstwy uryte Niestety twierdzenie Kołmogorowa nie dae żadnych wsazówe a dobrać postać nieliniowe funci atywaci do danych pomiarowych;
15
Algorytm wsteczne propagaci błędów (BP BacPropagation) 16 Każda funca wiążąca weście z wyściem może być zrealizowana w postaci 3-warstwowe sieci neuronowe To twierdzenia ma dużą wartość, ale tylo dla teorii, ponieważ nie mówi nic o postaciach funci atywaci, liczbach neuronów w poszczególnych warstwach o ani wartościach wag sieci.
17
18 Dale supimy się na zadaniu doboru wartości wag sieci na podstawie ciągu uczącego W sieci 3-warstowe łatwo est ustalić związe między błędem (a zarazem wyściem) i wagami warstwy uryte Algorytm BP pozwala wyznaczyć błędy popełniane przez neurony warstwy uryte, co ułatwia oreślenie reguły uczenia wag połączeń między weściami sieci i neuronami warstwy uryte (the credit assignment problem)
19 Wyróżniamy dwa tryby działania sieci: Propagaca sygnałów Propagaca sygnałów polega na podawaniu na weście sieci obrazu i przetwarzaniu sygnałów przez olene warstwy sieci aż do e wyścia (bez cyli) Uczenie Uczenie z nauczycielem polega na pobudzaniu weścia sieci wzorcem z ciągu uczącego a następnie taie modyfiaci wartości wag, aby zmnieszyła się różnica między wyściem sieci a prawidłowym wyściem, odpowiadaącym podanemu wzorcowi
20
Uczenie sieci neuronowe 21 Niech t będzie -tym prawidłowym wyściem sieci a z -tym wyściem obliczonym przez sieć, = 1,, c, w to wetor wszystich wag sieci Błąd uczenia: c 1 2 1 J ( w) = ( t z ) = t z 2 2 Algorytm BP est oparty na metodzie gradientu prostego (numeryczna metoda optymalizaci) Początowe wartości wag są dobierane losowo a modyfiue się e zgodnie z ieruniem, w tórym błąd malee: w = 1 J = η w 2
22 gdzie η to współczynni uczenia wpływaący na wielość modyfiaci wartości wag: w(m +1) = w(m) + w(m) gdzie m est m-tym obrazem prezentowanym sieci Błąd popełniany przez neurony warstwy wyściowe: gdzie δ J w = J = net J net est wrażliwością -tego neuronu i opisue wpływ atywaci na zmiany błędu: net. w = δ net w δ = J net = J z z. = ( t z ) f '( net ) net
23 Ponieważ net = w T y, to: net w = y Wniose: reguła uczenia (reguła atualizaci wag) dla wag połączeń między warstwą wyściową i urytą est następuąca: w = ηδ y = η(t z ) f (net )y Błąd popełniany przez neurony warstwy uryte J w i = J y y. net net. w i
24 Jednaże, Analogicznie a poprzednio, definiuemy wrażliwość neuronu warstwy uryte: co oznacza, że: wrażliwość neuronu warstwy uryte est sumą wrażliwości powiązanych z nim neuronów warstwy wyściowe, ważoną przez wagi w tych połączeń i przesalowaną przez f (net ) Wniose: reguła uczenia dla wag połączeń między warstwą urytą i weściową est następuąca: = = = = = = = = c c c c w net f z t y net net z z t y z z t z t y y J 1 1 1 2 1 ) '( ) (. ) ( ) ( ) ( 2 1 = c w net f 1 ) ( ' δ δ [ ] i i i x net f w x w δ δ η δ η ) '( Σ = =
25 Algorytm BP: Begin initialize n H ; w, criterion θ, η, m 0 do m m + 1 x m randomly chosen pattern w i w i + ηδ x i ; w w + ηδ y until J(w) < θ return w End
Kryterium stopu 26 Algorytm BP ończy działanie, gdy zmiany wartości funci ryterialne J(w) są mniesze od przyętego progu θ Istnieą inne ryteria stopu, przydatne w różnych sytuacach Dotychczas rozważaliśmy błąd lasyfiaci dla poedynczego obrazu. Ja oreślić błąd dla całego ciągu uczącego? Całowity błąd dla ciągu uczącego est sumą błędów popełnianych dla n poedynczych obrazów J = n p= 1 J p (1)
27 Kryterium stopu (ciąg dalszy) Modyfiuąc wagi, zmnieszamy błąd dla bieżącego wzorca, ryzyuąc zwięszenie błędów dla pozostałych wzorców Jedna po wielu iteracach całowity błąd (1) będzie się zmnieszać z bardzo dużym prawdopodobieństwem
28 Krzywe uczenia Na początu procesu uczenia błąd dla ciągu uczącego est duży; w tracie olenych iteraci ten błąd stae się mnieszy Przebieg błędu (rzywa uczenia) dla wybranego wzorca zależy od liczby wzorców w ciągu uczącym i zdolności obaśniaące (np. liczba wag) sieci Średni błąd dla niezależnego ciągu testuącego est zawsze więszy od błędu dla ciągu uczącego i może się zarówno zmnieszać a i zwięszać w tracie procesu uczenia Ciąg walidacyny pomaga w podęciu decyzi o zatrzymaniu procesu uczenia; chcemy uninąć nadmiernego dopasowania sieci do danych i zmnieszenia zdolności lasyfiatora do generalizowania zatrzymuemy proces uczenia po osiągnięciu minimum błędu dla ciągu walidacynego
29