Sztuczne sec neuronowe Jerzy Stefanowsk Plan wykładu 1. Wprowadzene 2. Model sztucznego neuronu. 3. Topologe sec neuronowych 4. Reguły uczena sec neuronowych. 5. Klasyfkaca sec neuronowych. 6. Sec warstwowe uczone algorytmem BP. 7. Zastosowana. Poznań, 2006
Wprowadzene Sztuczna seć neuronowa (SSN) - defnce: Zbór prostych ednostek oblczenowych przetwarzaących dane, komunkuących sę ze sobą pracuących równolegle. Lub nacze: Zbór połączonych ze sobą ednostek weścwo-wyścowych. Z każdym połączenem skoarzona est waga, która może zostać zmenona w trakce uczena. Dowolna sztuczna seć neuronowa może być zdefnowana poprzez określene: modelu sztucznego neuronu, topolog, reguły uczena sec.
Model sztucznego neuronu Sztuczny neuron = neuron: można rozpatrywać ako specyfczny przetwornk sygnałów. x 1 x 2 x 3 1 w 0 w w w 1 2 3 f(e) y w n x n Podstawowe elementy składowe: n weść neuronu wraz z wagam w (wektor wag w wektor sygnałów weścowych x) eden sygnał wyścowy y pobudzene e neuronu ako suma ważona sygnałów weścowych pomneszona o próg Θ n e = w x = 1 Θ = w T x Θ wprowadźmy wagę w 0 = Θ, podłączone do stałego sygnału x 0 = 1; wówczas: n e = w w T x = x =0 funkca aktywac (prześca): y = f (e)
Funkce aktywac Ma stotne znaczene dla dzałana neuronu. Podstawowe typy funkc: lnowa y = k e nelnowe (cągłe necągłe, unpolarne bpolarne) funkca skoku ednostkowego, progowa (McCulloch Ptts): f () e = 1 0 dla dla e Θ e < Θ funkca sgmodalna: współczynnk stromośc β f () e 1 = 1+ exp ( βe) f(e) 1,2 1 0,8 0,6 0,4 0,2 0-6 -4-2 0 2 4 6 e funkca tangens hperbolczny: αe f ( e) = tgh( ) 2 1 exp( αe) = 1+ exp( αe)
Inspraca: neuron bologczny budowa: soma, akson, dendryty, synapsy znaczene błony komórkowe w przesyłanu sygnału; polega ono na propagac zaburzena różncy potencałów pomędzy wnętrzem a zewnętrzem komórk; przyczyną tych zaburzeń est chwlowa utrata szczelnośc przez błonę komórkową zasada dzałana: wpływaące dendrytam bodźce (modulaca częstotlwośc) sumuą sę (oddzaływaą ze sobą) na błone komórkowe przy pomocy aksonu zakończonego synapsą/synapsam przekazywane są do nnego neuronu/neuronów po propagac sygnału różnca potencałów odbudowywana est przez tzw. pompy onowe neuronów mamy ~1010, dendrytów ~1014..1015 różne rodzae neuronów
Topologa sec neuronowe (archtektura) Ogólne wyróżna sę dwa typy archtektur SSN: 1) sec ednokerunkowe ( ang. feedforwarded) t. sec o ednym kerunku przepływu sygnałów; Szczególnym przypadkem archtektury ednokerunkowe est seć warstwowa, reprezentuąca zdecydowane napopularneszą topologę; wysca sec warstwa wyscowa warstwy ukryte warstwa wescowa wesca sec 2) Inne, np. sec rekurencyne (feedback, bdrectonal) t. sec ze sprzężenam zwrotnym (seć Hopfelda) albo sec uczena sę przez współzawodnctwo (Kohonena) Zasady łączena neuronów mędzy sobą - każdy z każdym, - połączena mędzy kolenym warstwam w secach warstwowych, - tylko z pewną grupą neuronów, naczęśce z tzw. sąsedztwem.
Charakterystyka procesu uczena sec Wyróżna sę dwa podstawowe sposoby uczena sec: 1. uczene nadzorowane (ang. supervsed learnng), 2. uczene nenadzorowane (ang. unsupervsed learnng). Uczene nadzorowane dany est zbór przykładów uczących składaący sę z par weśce-wyśce (x, z), gdze z est pożądana odpowedzą sec na sygnały weścowe x (=1,..m). Zadanem sec est nauczyć sę możlwe ak nadokładne funkc przyblżaące powązane weśca z wyścem. x seć adaptacyna W y oblczane odległośc z - y Poządana odpowedź z Odległość pomędzy rzeczywstą a pożądaną odpowedzą sec est marą błędu używaną do korekc wag sec. Typowym przykładem est uczene sec welowarstwowe algorytmem wsteczne propagac błędu; każdy neuron lokalne zmnesza swó błąd stosuąc metodę spadku gradentu.
Reguła Wdrowa-Hoffa Reguły uczena sec neuronowych Dotyczy uczena nadzorowanego sec ednokerunkowych, gdze mnmalzue sę błąd pomędzy pożądaną a aktualną odpowedzą. δ = z y = z w Korekta wag est następuąca (Wdrow,Hoff 1962): T x w = η δ x Reguła delta Obowązue dla neuronów z cągłym funkcam aktywac nadzorowanego trybu uczena. Regułę delta wyprowadza sę ako wynk mnmalzac kryterum błędu średnokwadratowego Q. 2 N 1 ( z y ) = Q, Q = ( δ ) 2 1 N Q = 2 = 1 = 1 2 Korekta wag: w = η δ f '( e ) x gdze f () oznacza pochodną funkc aktywac. W przypadku funkc sgmodalne: w = η δ (1 y ) y Stosowana est do uczena welowarstwowych sec neuronowych wraz z algorytmem wsteczne propagac błędów (Rumelhart, McClelland 1986) x
Charakterystyka procesu uczena Uczene sę teracyne / uczene sę w ednym kroku Algorytm uczena: globalny (w kolene terac uczene obemue całą seć), lokalny (w kolene terac uczene obemue część sec) Sposób propagac sygnałów przez seć: synchronczny asynchronczny: przesyłane żetonów (counter-propagaton): specyfczny model propagac sygnału bazuący na dyskretnym pobudzenu w postac tzw. żetonu. Charakterystyka wybranych typów sec Typ sec Topologa Propagaca pobudzena Perceptron warstwowa synchron. SOM warstwowa synchron. Hopfeld rekurencyna synchr. lub asynchr Połączena każdy z każdym warstwam spec. ednowarstwa każdy z każdym nadzor. Uczene teracyne nenadzor. teracyne nenadzor. w ednym kroku
Wybrane typy sec neuronowych Warstwowe sec lnowe - Adalne/Madalne, Warstwowe sec nelnowe - welowarstwowa uczona algorytmem wsteczne propagac błędów, - sec welowarstwowe z modyfkacam algorytmu wsteczne propagac błędów, - sec z funkcam o symetr kołowe RBF. Sec ze sprzężenem zwrotnym - sec Hopfelda, - dwukerunkowa pamęć asocacyna BAM, Sec uczone przez współzawodnctwo - sec Kohonena, LVQ, - odwzorowane cech stotnych oraz sec samoorganzuące sę SOM, Sec rezonansowe ART oraz sec z kontrpropagacą, Sec neuronowe zntegrowane z algorytmam metaheurystycznym - symulowane wyżarzane maszyna Boltzmana, - algorytmy genetyczne, Metody hybrydowe wykorzystuące sec neuronowe, Systemy rozmyto-neuronowe.
Uwag na temat stosowane sec neuronowych R.Tadeusewcz (2000): Sec neuronowe mogą być stosowane z dużym prawdopodobeństwem odnesena sukcesu wszędze tam, gdze poawaą sę problemy zwązane z tworzenem model matematycznych pozwalaących odwzorowywać złożone zależnośc pomędzy pewnym sygnałam weścowym a wybranym sygnałam wyścowym Potrzeba automatycznego w wynku tzw. procesu uczena modelowana złożonych zależnośc. T.Mtchell (1997): Cechy charakterystyczne problemów dla SNN Przykłady uczące opsane są przez pary atrybut-wartość (na ogół zdefnowanych na skalach lczbowych; np. różnego rodzau sygnały lub rezultaty pomarów), Przyblżana funkca może meć wartośc dyskretne lub rzeczywste; może być także wektorem wartośc, Dane mogą zawerać błędy lub podlegać zaszumenu ; SSN są odporne na różnego rodzau uszkodzena danych, Akceptowalny est dług czas uczena sec, Akceptaca dla potencalne duże lczby parametrów algorytmu, które wymagaą dostroena metodam eksperymentalnym, Zadane ne wymaga rozumena przez człoweka funkc nauczone przez SNN - trudnośc z nterpretacą wedzy nabyte przez seć.
Algorytm wsteczne propagac błędów (backpropagaton) Jak znaleźć błąd popełnany przez neurony z warstw ukrytych? Błąd k-tego neuronu w l-te warstwe est równy sume błędów popełnonych przez neurony (p) z warstwy l+1-sze ważonych po wagach w k(p,l+1) łączących ten neuron z neuronam te warstwy: δ Nl+ 1 ( kl, ) = wk( p, l ) δ + 1 ( pl, + 1) p= 1
Algorytm wsteczne propagac błędu (backpropagaton, BP): 1. Poda na weśce sec koleny wektor wymuszeń x. 2. Przepropagu wymuszene przez seć, oblczaąc pobudzena neuronów w kolenych warstwach, aż do warstwy wyścowe. 3. Wektor wyść otrzymany w warstwe wyścowe y porówna z wektorem uczącym/oczekwanym z oblcz na te podstawe błędy δ popełnone przez neurony te warstwy. 4. Dokona wsteczne propagac błędu do kolenych warstw ukrytych, t. do ostatne, przedostatne td., aż do osągnęca warstwy wyścowe. 5. Dla każdego neuronu w sec dokona modyfkac wartośc wag stosowne do welkośc popełnonego błędu. 6. Sprawdź, czy błąd średnokwadratowy popełnany przez seć dla wszystkch przykładów ze zboru uczącego Q spadł ponże zadane wartośc Qstop; eśl tak - zakończ pracę, w przecwnym raze przedź do kroku 1.
Parametry reguły delta algorytmu wsteczne propagac błędu początkowa konfguraca wektora wag w: newelke wartośc losowe (dotyczy to wększośc algorytmów uczących). współczynnk prędkośc uczena η Decydue o wpływe błędu popełnanego przez neuron na korektę wartośc wag. Właścwy dobór ma kluczowe znaczene dla prędkośc zbeżnośc algorytmu: zbyt mała wartość spowalna proces uczena zwększa ryzyko wpadnęca w pułapkę lokalnego mnmum (punkt reprezentuący konfgurace sec porusza sę "małym kroczkam" po kraobraze energetycznym) E S p S k w
Człon momentu (bezwładnośc) Metoda nawększego spadku gradentu, opsana formułą (2.5): w Q = η w skłana -tą wagę do zmany wartośc stosowne do beżące wartośc gradentu w chwl, bez względu na dotychczasowy przebeg uczena. W welu przypadkach powodue to zbyt chaotyczne nadążane wektora wag za wektorem pobudzeń; est to szczególne wdoczne przy stosowanu modyfkac wag po prezentac każdego wzorca. Dlatego formułę tę rozbudowue sę często o tzw. człon bezwładnośc (momentum): w t t Q = η + α w w t 1 (0.1) Uzależna on (przez współczynnk α) wartość beżące modyfkac wag od modyfkac przeprowadzone w kroku poprzednm. Im wększe α w stosunku do η, tym algorytm est bardze stablny. Z reguły przymue sę α=0.9. Problem doboru welkośc warstw ukrytych Problem doboru rozmaru poedyncze warstwy pozostae do dzś otwarty. Brak ednoznaczne reguły określaące optymalny rozmar dane warstwy sec przy danym zborze uczącym. Znane są edyne ogólne zalecena, podyktowane ntucą dośwadczenem praktycznym: zbyt mała welkość warstw czyn seć nezdolną do adaptac do zadanego zboru przykładów/wymuszeń: w trakce uczena błąd średnokwadratowy utrzymue dużą wartość zbyt duże warstwy wprowadzaą ryzyko tzw. "uczena na pamęć": dysponuąc dużą lczbą neuronów seć "obemue" każdym z nch małą grupę przykładów (w skranym przypadku poedynczy wzorzec), unkaąć bardze kosztownego poszukwana akeś generalzac
Kedy przeprowadzać modyfkacę wag? Dwa podeśca: tzw. batch updatng: Przy prezentac kolenych przykładów poprawk wartośc wag w są kumulowane. Co pewną lczbę prezentac (z reguły równą rozmarow zboru uczącego, tzw. epoka/epoch) wag są modyfkowane przy pomocy tych skumulowanych poprawek. modyfkaca przyrostowa: Poprawk oblczone przy prezentac wzorca są używane bezpośredno (w tym samym kroku algorytmu) do modyfkac wag. Powszechne uważa sę, że batch updatng obcążone est poważną wadą: podczas kumulac poprawek wartośc wag może zachodzć ch wzaemne znoszene sę. Wypadkowa poprawka może być neznaczna, mmo że podczas prezentac poszczególnych wzorców dzałane neuronu obarczone było znacznym błędem. Powodue to obnżene "ruchlwośc" procesu przeszukwana przestrzen wag, a co za tym dze np. trudnośc z wyścem z mnmum lokalnego. Modyfkaca przyrostowa pozbawona est te wady: algorytm est bardze "ruchlwy", ryzyko utknęca w mnmum lokalnym est mnesze. Ne est ono ednak całkowce wyelmnowane: eśl przykłady w kolenych epokach prezentowane są stale w te same kolenośc, traektora sec/neuronu w przestrzen wag może ulec "zapętlenu".
Problem "przeuczena" "Przeuczene" (overlearnng): seć uczy sę "zbyt dobrze" poedynczych obektów, ne generalzuąc (szczególne stotne w nteresuącym nas zastosowanu w uczenu maszynowym, ML) y y x x Jak zapobec przeuczenu? dobrze dobrane kryterum stopu "eroza" wag; np. w : = 1 ( ε ) w Ten sam efekt da sę uzyskać dodaąc człon kary do błędu średnokwadratowego: Q = new Q + 1 γ w 2 Wada: bardze karze za edną dużą wagę, nż za wele małych. usuwane wag usuwane nadmarowych neuronów specalzowane algorytmy uczące: cascade correlaton 2
Uwag na temat stosowane sec neuronowych R.Tadeusewcz (2000): Sec neuronowe mogą być stosowane z dużym prawdopodobeństwem odnesena sukcesu wszędze tam, gdze poawaą sę problemy zwązane z tworzenem model matematycznych pozwalaących odwzorowywać złożone zależnośc pomędzy pewnym sygnałam weścowym a wybranym sygnałam wyścowym Potrzeba automatycznego w wynku tzw. procesu uczena modelowana złożonych zależnośc. T.Mtchell (1997): Cechy charakterystyczne problemów dla SNN Przykłady uczące opsane są przez pary atrybut-wartość (na ogół zdefnowanych na skalach lczbowych; np. różnego rodzau sygnały lub rezultaty pomarów), Przyblżana funkca może meć wartośc dyskretne lub rzeczywste; może być także wektorem wartośc, Dane mogą zawerać błędy lub podlegać zaszumenu ; SSN są odporne na różnego rodzau uszkodzena danych, Akceptowalny est dług czas uczena sec, Akceptaca dla potencalne duże lczby parametrów algorytmu, które wymagaą dostroena metodam eksperymentalnym, Zadane ne wymaga rozumena przez człoweka funkc nauczone przez SNN - trudnośc z nterpretacą wedzy nabyte przez seć.