Sztuczne Sieci Neuronowe (SSN) Artificial Neural Networks (ANN) Sztuczne sieci neuronowe wprowadzenie Inspiracja: architektura i zasada działania systemów nerwowych Cezary Bolek organizmów żywych. cbolek@ki.uni.lodz.pl Katedra Informatyki Wydział Zarzadzania ˛ Element procesorowy: neuron Architektura systemu: równoległa Tworzenie bazy wiedzy i bazy reguł: uczenie Sztuczne sieci neuronowe - wprowadzenie Inspiracje biologiczne 1938 1943 • Układy biologiczne sa˛ zbyt skomplikowane by modelować szczegóły ich działania. 1949 1958 • Neurony: bardzo skomplikowana, chociaż istnieje dobra teoria pozwalajaca ˛ na bardzo szczegółowe symulacje własności pojedynczych neuronów. 1960 1961 • Jedynie ogólne zasady organizacji i sposobu funkcjonowania układów biologicznych neuronów moga˛ służyć za inspiracje. ˛ 1967 1969 1973 • Sztuczne sieci neuronowe — nie przypominaja˛ zbytnio biologicznych. Inspiracja: zbadać możliwości obliczania za pomoca˛ sieci prostych, oddziaływujacych ˛ ze soba˛ (w nieliniowy sposób) elementów. Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳1⊲ Rys historyczny (1) • Organizmy, mózgi, układy biologiczne — potrafia˛ rozwiazywać ˛ interesujace, ˛ efektywnie niealgorytmizowalne problemy. Sztuczne sieci neuronowe - wprowadzenie Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ 1976 ⊳2⊲ N. Rashevsky, neurodynamika W. McCulloch & W. Pitts, sieci neuronowe jako układy logiczne (progowe) D. Hebb, uczenie sie˛ na poziomie synaptycznym F. Rosenblatt, Perceptron, J. von Neuman, The computer and the brain B. Widrow, M. Hoff, Adaline E. Caianiello, teoria procesów myślowych, równanie mnemoniczne (szkoły Caianiello) K. Steinbuch, E. Schmitt, Macierze uczace ˛ sie˛ M. Minsky, S. Papert, ksiażka ˛ „Perceptrony” Chr. von der Malsburg, samoorganizacja w układzie nerwowym S. Grossberg, modele rozwoju postrzegania przez mózg Sztuczne sieci neuronowe - wprowadzenie Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳3⊲ Rys historyczny (2) 1977 1981 1982 1983 1984 1985 1986 1987 1988 1990 Zastosowania sieci neuronowych S-I. Amari, neuronowa teoria tworzenia sie˛ koncepcji J. McClelland, D. Rumelhart, model interakcyjnej aktywacji J. Hopfield, model Hopfielda; T. Kohonen, samoorganizacja map topograficznych mózgu K. Fukushima, S. Miyake, T. Ito, neokognitron F. Crick, sieci i neuronalne podstawy świadomości D. Ackley, G. Hinton, T. Sejnowski, maszyny Boltzmana D. Rumelhart, G. Hinton, R. Williams, wsteczna propagacja G. Carpenter, S. Grossberg, model ART2; C. Skarda, W. Freeman, Chaos w mózgu C. Bachmann, L. Cooper, A. Dembo, O. Zeitouni, model relaksacyjny pamieci ˛ skojarzeniowej B. Kosko, prosty model BAM, N. Qian, T. Sejnowski, białka i Nettalk T. Poggio, F. Girosi, sieci RBF, teoria regularyzacji. Sztuczne sieci neuronowe - wprowadzenie Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ • Filtracja adaptacyjna, DSP • Prognozowanie, predykcja • Klasyfikacja i rozpoznawanie (mowa, pismo) • Biometria • Wojskowość: rozpoznawanie, identyfikacja celu • Sterowanie, robotyka, systemy decyzyjne • Ekonomia, zarzadzanie ˛ • Fizyka, astronomia • Biologia (modelowanie DNA) • Telekomunikacja ⊳4⊲ Sieci neuronowe a komputery (1) Sztuczne sieci neuronowe - wprowadzenie Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳5⊲ Sieci neuronowe a komputery (2) Architektura komputera Mechanizm przetwarzania danych w komputerze Przetwarzanie danych przy użyciu komputera: ? Dane P OBIERZ INSTRUKCJ E˛ Pamiêæ danych (informacje) Procesor (wnioskowanie) Regu³y ? P OBIERZ ARGUMENTY Pamiêæ programu (regu³y) ? W YKONAJ OPERACJE Rozwi¹zanie ? Podstawowa cecha architektury komputerów — centralna jednostka obliczeniowa. Podstawowa cecha trybu pracy komputerów — sekwencyjne przetwarzanie danych. Sztuczne sieci neuronowe - wprowadzenie Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳6⊲ Sztuczne sieci neuronowe - wprowadzenie Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳7⊲ Przetwarzanie oparte na wielu elementach procesorowych Sieci neuronowe — zgrubna charakterystyka • Modularność MEM PROC UNIT • Równoległość • Nieliniowość CTRL UNIT X Switch • Własności aproksymacyjne Y Z • Adaptacja do zmian środowiska Cray T3E • Tolerancja na uszkodzenia (stopniowa utrata jakości) • Nadmiar parametrów Sztuczne sieci neuronowe - wprowadzenie Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳8⊲ Biologiczne odniesienie ANN Sztuczne sieci neuronowe - wprowadzenie Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳9⊲ Mechanizm przekazywania sygnałów neuronowych Potencjał spoczynkowy neuronu równy jest −70mV Przewê¿enie Ranviera Neurony przekazuja˛ informacje za pomoca˛ impulsów elektrycznych: potencjały czynnościowe. Otoczka mielinowa Akson Dendryty kolejnych neuronów połaczone ˛ sa˛ z aksonem za pomoca˛ synaps. Wzrost potencjału na końcach aksonu powoduje wydzielanie neuromediatora do szczeliny synaptycznej. Czasteczki ˛ neuroprzekaźnika przyczepiaja˛ sie˛ do receptorów błony komórkowej drugiego neuronu i otwieraja˛ położone w błonie kanały, przez które do wnetrza ˛ kolejnej komórki przedostaja˛ sie˛ do dodatnio naładowane jony. Powoduje to depolaryzacje˛ komórki (wzrost potencjału). Wzgórek aksonu Cia³o komórki Synapsa Synapsa J¹dro Dendryt Gdy potencjał komórki (systematycznie pobudzanej) osiagnie ˛ określona˛ wartość generowany jest potencjał czynnościowy. Budowa neuronu Sztuczne sieci neuronowe - wprowadzenie Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳ 10 ⊲ Sztuczne sieci neuronowe - wprowadzenie V 0V t 70mV Cezary Bolek <cbolek@ki.uni.lodz.pl> pobudzenie refrakcja ⊙ ⊳ 11 ⊲ Biologiczne odniesienie ANN Sygna³ presynaptyczny Sygna³ presynaptyczny Potencja³ komórkowy Liczba neuronów w mózgu człowieka — około 1011 . Cały układ nerwowy człowieka składa sie˛ ze znacznie wiekszej ˛ liczby komórek nerwowych. Potencja³ czynnoœciowy Liczba połacze ˛ ń synaptycznych — około 1015 Pompa sodowo-potasowa daży ˛ do utrzymania stałej różnicy potencjałów miedzy ˛ ciałem komórki i otoczeniem. Aby mógł zostać wygenerowany impuls czynnościowy, impulsy synaptyczne musza˛ wystepować ˛ dostatecznie cz˛esto aby pompa sodowo–potasowa nie zdażyła ˛ przywrócić potencjału spoczynkowego. Czas trwania impulsu nerwowego — około 1. . . 2 ms Działanie neuroprzekaźników może być regulowane przez modulatory synaptyczne. W pobliżu szczeliny synaptycznej może istnieć zakończenie trzeciego neuronu, który wydziela neuromodulator. Impuls elektryczny pobudza ten trzeci neuron do uwalniania neuromodulatora. Czasteczki ˛ neuromodulatora synaptycznego przedostaja˛ sie˛ do szczeliny synaptycznej i wiaż ˛ a˛ sie˛ z błona˛ plazmatyczna˛ pierwszej komórki nerwowej, stymulujac ˛ albo hamujac ˛ wydzielanie neuroprzekaźnika. Szybkość przewodzenia impulsów nerwowych w aksonach bez osłonki mielinowej 0,5. . . 2m/s, z osłonka˛ mielinowa: ˛ 70. . . 120m/s (mielinizacja u człowieka kończy sie˛ ok. 2 roku życia) Sztuczne sieci neuronowe - wprowadzenie Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳ 12 ⊲ Cz˛estość generowanych impulsów: 1. . . 100 Hz (1 kHz) Amplituda impulsów: około 100mV Przecietna ˛ długość połacze ˛ ń miedzy ˛ komórkami nerwowymi: 0,01mm. . . 1m Na tej podstawie można oszacować szybkość pracy mózgu na 1018 operacji/s (najszybsze komputery ok. 1012 operacji/s). Sztuczne sieci neuronowe - wprowadzenie Model neuronu Hodgkin’a-Huxley’a RT zF ln Cyout Cyin , funkcja aktywacji n X y=f S y ∈ {K, N a} — równanie Nersta y=f • Kanały modelowane przez czastki ˛ bramkujace ˛ bm, bn (aktywacja) i bh (inaktywacja) gN a = b3m(t)bh(t)g N a, ⊙ ⊳ 13 ⊲ Model neuronu neuronu McCulloch’a–Pitts’a (1946) • Cm du(t) dt = iK + iN a + i0 • [iy = (Uy − u(t)) gy , y ∈ {K, N a, 0} • Potencjały równowagi UN a i UK Uy = Cezary Bolek <cbolek@ki.uni.lodz.pl> ! wk xk − T k=1 T w x−T gK = b4n(t)g K • Czastki ˛ bramkujace: ˛ model Markowa ze stanami „otwarte” i „zamkniete” ˛ o intensywnościach αx, βx dbx (t) 1 αx +βx dt = αx αx +βx -1 − bx(t), • Stany ustalone i stałe czasowe zależa˛ od napiecia ˛ poprzez αx(u) i βx (u). Dla czastek ˛ aktywujacych ˛ αx = −Lx −1−exp(−Lx ) , S βx = cx exp(−Mx) Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳ 14 ⊲ n X y=f y=f gdzie Lx , Mx sa˛ liniowymi funkcjami u o dodatnich współczynnikach, cx > 0. Dla czastek ˛ inaktywujacych ˛ role˛ α i = beta sa˛ zamienione. Sztuczne sieci neuronowe - wprowadzenie funkcja aktywacji x ∈ {m, n, h} ! wk xk k=0 T ′ w x Funkcja aktywacji f — skok jednostkowy Sztuczne sieci neuronowe - wprowadzenie Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳ 15 ⊲ Stosowane funkcje aktywacji (1) Stosowane funkcje aktywacji (2) (nieliniowe, nieróżniczkowalne) (różniczkowalne) f(s) f(s) Skok jednostkowy f (s) = 1(s) f (s) ∈ {0, 1} 1 Signum f (s) = sgn(s) f (s) ∈ {−1, 1} 1 s 0 Odcinkowo liniowa 8 < f (s) = : s f(s) C 0 s C , , , s<0 0<s<C s>C 1 Tangens hiperboliczny 1 s 0 f(s) −s Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳ 16 ⊲ Interpretacja geometryczna funkcji neuronu y = f w T x′ = Sigmoidalna f (s) = 1+e1 −s f (s) ∈ (0 . . . 1) f (s) = 1−e 1+e−s f (s) ∈ (−1 . . . 1) s 0 f (s) ∈ (0, C) Sztuczne sieci neuronowe - wprowadzenie s 0 f(s) f(s) 0 C Liniowa f (s) = Cs f (s) ∈ (−∞ . . . ∞) Sztuczne sieci neuronowe - wprowadzenie 0 Cezary Bolek <cbolek@ki.uni.lodz.pl> s ⊙ ⊳ 17 ⊲ Przykładowe struktury sztucznych sieci neuronowych „stan wysoki” „stan niski” Przepływ informacji f X1 f T wTx>0 w x= 0 f f f f f f f f X2 f f wTx<0 Sieć jednokierunkowa Sztuczne sieci neuronowe - wprowadzenie Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳ 18 ⊲ Sztuczne sieci neuronowe - wprowadzenie Sieć rekurencyjna Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳ 19 ⊲ Metody uczenia Dobór współczynników wagowych Podstawowy problem teorii sztucznych sieci neuronowych ! • Uczenie „nadzorowane” (supervised ) — z nauczycielem. Głównym celem jest dokonanie asocjacji (hetero i auto), czyli skojarzenia par struktur wejściowych i wyjściowych. Zdolności uogólniania. Metody okreœlania wag Heurystyczne • Uczenie sie˛ „bez nadzoru” (unsupervised learning) — bez nauczyciela. Wykrywania regularności, tj. reakcji na „interesujace” ˛ sygnały, uczenie indukcyjne — uogólnianie przykładów. Inne Algorytmy uczenia Uczenie nadzorowane Sztuczne sieci neuronowe - wprowadzenie Uczenie nienadzorowane • Uczenie z krytykiem lub wzmocnieniem (reinforcement learning). Uczenie strategii postepowania ˛ na podstawie krytyki po dłuższym okresie czasu, uczenie sie˛ celowego zachowania na podstawie interakcji ze środowiskiem. Uczenie ze wzmocnieniem Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳ 20 ⊲ Przetwarzanie informacji w sztucznych sieciach neuronowych Sztuczne sieci neuronowe - wprowadzenie Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳ 21 ⊲ ⊙ ⊳ 23 ⊲ Algorytmy uczenia neuronowych sieci jednokierunkowych f Faza uczenia (okreœlenie wartoœci wspó³czynników wagowych) f f f f f f f f f Faza przetwarzania sygna³ów wprowadzonych na wejœcie sieci f f Sztuczne sieci neuronowe - wprowadzenie Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳ 22 ⊲ Sztuczne sieci neuronowe - wprowadzenie Cezary Bolek <cbolek@ki.uni.lodz.pl> Schemat działania sieci opartych na metodzie uczenia nadzorowanego Algorytm uczenia nadzorowanego Idea algorytmu: Dobór wag w sposób minimalizujacy ˛ funkcje˛ błedu ˛ Dane: xi : Faza uczenia Sztuczne sieci neuronowe - wprowadzenie ⊙ ⊳ 24 ⊲ Uczenia nadzorowane di Oczekiwana odpowiedź dla i-tego wektora treningowego x0i=1 w0 i w1 xni wn x1 S y i = d i : UCZ f y i = d i : STOP Sztuczne sieci neuronowe - wprowadzenie Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳ 25 ⊲ ⊙ ⊳ 27 ⊲ Uczenia nadzorowane Idea metod uczenia nadzorowanego: yi Rzeczywista odpowiedź neuronu korekta wag majaca ˛ na celu minimalizacje˛ funkcje˛ błedu ˛ Gradientowe metody korekcji wag ∆wk = − zakładana różniczkowalność funkcji błedu ˛ Miara błedu ˛ dla „i”-tego wektora wejściowego: ∂ei ∂wk i 2 i ei = c(d − y ) y=f 0 1 n X xk wk A k=0 ei = c di − f {xi} {di} {y i } Określ wagi realizujace ˛ zadana˛ funkcje˛ sieci Faza wykonania Cezary Bolek <cbolek@ki.uni.lodz.pl> Zbiór wektorów treningowych dane wejściowe Zbiór wartości pożadanych ˛ Zbiór wartości uzyskanych n X k=0 Sztuczne sieci neuronowe - wprowadzenie xk wk !! Cezary Bolek <cbolek@ki.uni.lodz.pl> Globalna miara błedu ˛ E(w) = 1 N N X ei Globalne Lokalne (np. LMS) (np. Reguła Delta) i=1 ⊙ ⊳ 26 ⊲ Sztuczne sieci neuronowe - wprowadzenie Cezary Bolek <cbolek@ki.uni.lodz.pl> Reguła Delta Reguła Delta Liniowa funkcja aktywacji xi : x0i=1 w0 x1i w1 xni 2 ei = c (di − yi) , S f(s) yi f d C f i wn yi = f (si) = f wTx ⇒ ∆wk ei = g(w) = −η ∂ei (di − y i)2 = −η = ∂wk ∂wk ∂ei ∂y i ∂si = ∂y i ∂si ∂wk Pn ∂ l=1 wl xl = η(di − y i ) · 1 · ∂wk ∂ei ∂ei ∂y i ∂si ∆wk = −α = −α i i ∂wk ∂y ∂s ∂wk = −η ∆wk = η di − y i f ′(si)xik Sztuczne sieci neuronowe - wprowadzenie s 0 ∆wk = η di − y i xik Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳ 28 ⊲ Sztuczne sieci neuronowe - wprowadzenie Interpretacja graficzna procesu uczenia Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳ 29 ⊲ Uczenie nadzorowane Nieliniowe funkcji aktywacji (1) x1 ∆wk = −η T Dw [i ] ∂(di − y i ) ∂ei = −η = ... ∂wk ∂wk i i , y = f (s ) i x wT[i] ∆wk = η di − y i f ′(si)xik wT[i+1] x0 Funkcja Sigmoidalna f (s) = 1 1+e−2βs f ′(s) = 2βf (s) (1 − f (s)) f(s) 1 0 ∆wk = η di − y i xik Sztuczne sieci neuronowe - wprowadzenie s Kierunek zmiany: jak wektor xi Zwrot: przeciwny do xi ([di − y i ] — ujemne) Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳ 30 ⊲ Sztuczne sieci neuronowe - wprowadzenie ∆wk = 2βη di − y i f (s)(1 − f (s))xik Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳ 31 ⊲ Uczenie nadzorowane Uczenie nadzorowane — przykład Nieliniowe funkcji aktywacji (2) Zadanie: Zaprojektować układ wykrywania smoków Tangens hiperboliczny f (s) = tanh(s) = 1−e−s 1+e−s Dziedzina: wektory 2-D { x1 – masa, x2 – liczba nóg } f ′(s) = β(1 − f (s)2) f(s) 1 s 0 4 3 Skok jednostkowy i sgn f (s) = 1(s) 1 s s 0 Sztuczne sieci neuronowe - wprowadzenie 1 ∆wk = η di − y i xik f(s) f(s) 0 2 f (s) = sgn(s) 1 Liczba nóg 5 ∆wk = 2βη di − y i (1 − f 2(s))xik Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ Masa [tony] 1,0 ⊳ 32 ⊲ 2,0 Sztuczne sieci neuronowe - wprowadzenie Uczenie nadzorowane — przykład (2) 3,0 4,0 5,0 6,0 7,0 8,0 Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳ 33 ⊲ Uczenie nadzorowane — przykład (3) Budowa neuronu 1 w0 x1i w1 i 2 w2 x Normalizacja danych 2 3 0 0 w = 405 S L 2 0 nr→ 1 (-3,1) Zbiór treningowy 5 -3 -2 x→ 213 1 415 223 1 445 233 1 445 243 1 465 d→ 4 ⇓ 0 2 ⇓ 0 4 ⇓ 1 4 ⇓ 1 nr→ (1,4) (4,4) (6,4) 3 2 (4,2) 1 2,0 3,0 4,0 5,0 6,0 Sztuczne sieci neuronowe - wprowadzenie 7,0 (2,1) 1 (0,-1) 2 M x→ 1 −3 1 ⇓ 0 3 d→ 2 0 −1 ⇓ 0 3 4 0 1 ⇓ 1 2 1 ⇓ 1 -2 x1i i 2 x Masa [tony] 1,0 -1 -1 Liczba nóg 4 (0,1) w1 w2 S w0 = 0 0 8,0 Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳ 34 ⊲ Sztuczne sieci neuronowe - wprowadzenie Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳ 35 ⊲ Uczenie nadzorowane — przykład (4) nr→ ∆wk = η di − y i xik w(0) = x(1) = 0 0 −3 1 w(1) = x(2) = L 0 0 0 −1 w(2) = x(3) = L -2 2 3 0 −1 ⇓ 0 2 1 ⇓ 1 0 0 w(3) = 0 1 x(4) = nr→ 4 0 1 ⇓ 1 L ∆wk = η di − y i xik 0 1 w(4) = 2 1 x(1) = L 0 1 −3 1 w(5) = x(2) = L 3 0 0 −1 w(6) = 2 x(3) = 3 0 −1 ⇓ 0 −3 1 ⇓ 0 d→ 1 x→ 4 0 1 ⇓ 1 2 1 ⇓ 1 3 0 w(7) = 0 1 x(4) = L L 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 -1 1 2 3 M -3 -2 -1 1 2 3 M -3 -2 -1 -1 d(1) = 0 e(0) = 0 ∆w(0) = 0 0 d(2) = 0 e(1) = 0 ∆w(1) = Sztuczne sieci neuronowe - wprowadzenie 2 -3 -2 -1 0 0 1 2 3 ∆w(2) = y (3) = 1 d(4) = 1 e(3) = 0 0 1 -2 -1 1 2 3 M -3 -2 -1 ∆w(3) = Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ 0 0 ⊳ 36 ⊲ 1 2 -3 -2 -1 1 2 d(1) = 0 e(4) = −1 3 ∆w(4) = −1 d(2) = 0 e(5) = 0 ∆w(5) = -2 -1 2 3 -2 d(3) = 1 e(6) = 1 1 -1 y (7) = 1 y (6) = 0 0 0 2 1 M -3 3 -2 y (5) = 0 Sztuczne sieci neuronowe - wprowadzenie -2 -1 y (4) = 1 3 1 M 3 -1 -2 -2 d(3) = 1 e(2) = 1 -3 -1 -1 y (2) = 0 M M 3 -2 y (1) = 0 1 -1 -2 -2 y (0) = 0 -1 L 2 M -3 −3 1 ⇓ 0 d→ 1 x→ Uczenie nadzorowane — przykład (5) ∆w(6) = d(4) = 1 e(7) = 0 0 1 ∆w(7) = Cezary Bolek <cbolek@ki.uni.lodz.pl> 0 0 ⊙ ⊳ 37 ⊲ ⊙ ⊳ 39 ⊲ Pełny model neuronu Uczenie nadzorowane — przykład (6) L 2 f(x) 1 M -3 -2 -1 1 2 3 5 -1 -2 Liczba nóg f(x) x L 2 1 1 w0 x1 x2 w1 x3 w3 xn wn x f(x) x M -3 -2 -1 1 2 3 4 -1 -2 (1,4) L 2 (4,4) (6,4) 1 w2 M -3 -2 -1 1 2 3 1 2 3 3 -1 -2 S y f L 2 1 M -3 -2 -1 -1 2 (4,2) -2 L 2 1 M -3 -2 -1 1 2 3 1 Algorytm uczenia -1 Masa [tony] -2 L 2 e - ++ d 1 M -3 -2 -1 1 2 3 -1 1,0 2,0 3,0 4,0 5,0 6,0 7,0 8,0 -2 Sztuczne sieci neuronowe - wprowadzenie Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳ 38 ⊲ Sztuczne sieci neuronowe - wprowadzenie Cezary Bolek <cbolek@ki.uni.lodz.pl> Algorytm LMS (liniowa funkcja aktywacji) Pojedynczy neuron — Adaline (Widrow, Hoff) Klasy rozwiazywanych ˛ problemów X E(w) = [(d − y)2] = X X Adaline (ang. Adaptive Linear Element lub Adaptive Linear Neuron) — Pn neuron z liniowa˛ funkcja˛ pubudzenia s = i=0 wTx [(d − wTx)2] [d2 − 2dwTx + wTxxTw] X X X = [d2] − 2wT [dx] + wT [xxT]w | {z } | {z } = P Jeśli xi∈(1...n) = ±1, to liczba możliwych n-el. wektorów wejściowych: K = 2n . Liczba możliwych odwzorowań: 2k . R = q − 2wTP + wTRw Dla n = 2: K=4 2K = 16 ? ∇ E(w) = 0 w ∇ E(w) = ∇(q − 2wTP + wTRw) = −2P + 2Rw = 0 w Nie wszystkie kombinacje moga˛ być rozwiazane ˛ za pomoca˛ pojedynczego neuronu ? w w = R−1P Sztuczne sieci neuronowe - wprowadzenie Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳ 40 ⊲ Sztuczne sieci neuronowe - wprowadzenie Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳ 41 ⊲ Pojedynczy neuron Warstwa neuronów — Madaline Klasy rozwiazywanych ˛ problemów y1 x1 y = f (Wx) y2 x2 Każdy z neuronów rozwiazuje ˛ problem separacji liniowej. y3 x3 X1 X1 ? y4 X2 X2 Liniowa funkcja aktywacji, kilka warstw: yh = W1x, y = W2yh ⇒ yh = W2W1x y = Wx Zakres zastosowań: Czyli wielowarstwowa sieć liniowa redukuje sie˛ do sieci jednowarstowej. Problemy liniowo separowalne Dla nieliniowych modeli nie ma możliwości określić błedów ˛ w warstwach ukrytych (za pomoca˛ poznanych metod). Regres badań nad sztucznymi sieciami neuronowymi: Minsky, Pappert (1969) Sztuczne sieci neuronowe - wprowadzenie Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳ 42 ⊲ Sztuczne sieci neuronowe - wprowadzenie Cezary Bolek <cbolek@ki.uni.lodz.pl> ⊙ ⊳ 43 ⊲ Koniec — Skład FoilTEX, P4 (PPower4) — ⊙