Literatura • Tadeusiewicz R.: Sieci neuronowe, Akademicka Oficyna Wydawnicza RM, Warszawa 1993 • Żurada J., Barski M., Jędruch W., Sztuczne sieci neuronowe, Wydawnictwo Naukowe PWN, Warszawa 1996 • Korbicz J., Obuchowicz A., Uciński D., Sztuczne sieci neuronowe. Podstawy i zastosowania, Akademicka Oficyna Wydawnicza PLJ, Warszawa 1994 • Osowski S., Sieci neuronowe w ujęciu algorytmicznym, Wydawnictwo Naukowo-Techniczne, Warszawa 1996 Sztuczne sieci neuronowe Wykład 1: Wprowadzenie do sztucznych sieci neuronowych Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka Sztuczne sieci neuronowe 1 Sztuczne sieci neuronowe Przepływ informacji w systemie nerwowym Budowa i działanie mózgu • Objętość: 1400 cm3 • Powierzchnia: 2000 cm2 Centralny system nerwowy Wewnętrzne sprzężenie zwrotne Receptory Efektory narządy sensoryczne narządy motoryczne • Liczba neuronów: około 100 miliardów (1011) • Liczba połączeń między komórkami : 1015 przy przeciętnym dystansie od 0.01 mm do 1 m. • Komórki nerwowe wysyłają i przyjmują impulsy o: – częstotliwości: 1-100 Hz – czasie trwania: 1-2 ms – szybkości propagacji: 1-100 m/s. • Szybkość pracy mózgu: 1018 operacji/s Zewnętrzne sprzężenie zwrotne Sztuczne sieci neuronowe 2 3 Sztuczne sieci neuronowe 4 Budowa i funkcjonowanie neuronu biologicznego Model neuronu w terminologii informatycznej Sygnały wejściowe (synapsy) Sygnały wyjściowe (akson) PRZETWORNIK (ciało komórki) • Mózg - równoległy system złożony z około 1011 procesorów • Każdy procesor ma bardzo prosty program i oblicza ważoną sumę danych wejściowych pochodzących od innych procesorów, zwraca jedną liczbę będącą funkcją tej sumy • Liczba ta przesyłana jest do innych procesorów i przez nie przetwarzana w podobny sposób (np. z różnymi funkcjami) • Duża gęstość połączeń oznacza, że błędy niewielkiej liczby składników będą prawdopodobnie mało znaczące Sztuczne sieci neuronowe 5 Historia Sztuczne sieci neuronowe 6 Model neuronu McCullocha-Pittsa (1943) • 1943 - model McCullocha i Pittsa pozwalający na budowę dowolnie skomplikowanych urządzeń cyfrowych (bez możliwości uczenia się) • 1958 - perceptron Rosenblatta - neurony z połączeniami jednokierunkowymi, dowód zbieżności algorytmu uczenia (1962) • 1960 - Adaline (ang. Adaptive Linear Neuron) i Madaline (ang. multiple-Adaline) - pierwszy komercyjny neurokomputer na Uniwersytecie Stanforda (Widrow i Hoff) • dyskretne chwile czasu • można zbudować dowolnie skomplikowane urządzenie cyfrowe (posługując się bramkami NOR i NAND - algebra Boole’a) • 1969 - Minsky i Papert wykazali, że twierdzenie Rosenblatta jest prawdziwe tylko dla pewnego ograniczonego zestawu danych -> zaprzestanie badań w dziedzinie sieci neuronowych na prawie 20 lat 1 y k +1 = 0 • 1986 - Rumelhart i in. odkryli algorytm wstecznej propagacji błędu, który jest podstawą wielu dzisiejszych zastosowań Sztuczne sieci neuronowe 7 n ∑w x k i i i =1 n ≥T ∑ wi xik < T i =1 Sztuczne sieci neuronowe xi ∈ {0,1} wi ∈ {− 1;1}, i = 1,2, L , n k = 0,1,2, L 8 Model neuronu McCullocha-Pittsa (funkcje logiczne NOT, OR) Sztuczne sieci neuronowe Model neuronu McCullocha-Pittsa (bramka NOR) 9 Sztuczne sieci neuronowe Model neuronu McCullocha-Pittsa (bramka NAND) 10 Budowa sztucznego neuronu x1 w1 x2 w2 1 -θ ∑ ... f y ... xN wN gdzie • x = [1, x1, ..., xN]T- wektor wejściowy • w = [-θ, w1, ..., wN]T - wektor wag (w0=- θ) • f - funkcja aktywacji N y = f wi xi = f ( wT x) = f (net ) • y - sygnał wyjściowy ∑ i =0 Sztuczne sieci neuronowe 11 Sztuczne sieci neuronowe 12 Unipolarne funkcje aktywacji (dyskretna i ciągła) Rodzaje neuronów 1.0 • Neurony liniowe y = f(net) = net 1 gdy net ≥ 0 f (net ) = 0 gdy net > 0 • Neurony nieliniowe f (net) 0.8 0.6 0.4 0.2 0.0 -2 -1 0 1 net 2 – neurony dyskretne (formalne): y∈{-1,1} lub y∈{0,1} 1.0 1 , λ >0 f (net ) = 1 + exp(−λnet ) f (net) 0.8 – neurony ciągłe:y∈(-1,1) lub y∈(0,1) 0.6 0.4 λ = 0.5 λ = 1.0 λ = 3.0 0.2 0.0 -2 Sztuczne sieci neuronowe 13 1 net 2 14 Rodzaje sieci • Sieci jednokierunkowe - sygnał w sieci rozprzestrzenia się w jednym kierunku 1.0 0.5 f (net) 0 Sztuczne sieci neuronowe Bipolarne funkcje aktywacji (dyskretna i ciągła, tangens hiperboliczny) 1 gdy net ≥ 0 f (net ) = sgn(net ) = − 1 gdy net > 0 -1 – sieci jednowarstwowe – sieci wielowarstwowe (perceptron wielowarstwowy) net 0.0 -1 0 1 2 -0.5 • Sieci rekurencyjne - sieci ze sprzężeniem zwrotnym -1.0 1.0 2 , λ >0 1 + exp(−λnet ) 0.5 exp(λnet ) − exp(−λnet ) tanh(net ) = , λ >0 exp(λnet ) + exp(−λnet ) f (net) f (net ) = net 0.0 -1 -0.5 -1.0 Sztuczne sieci neuronowe 0 1 2 λ=1 λ=5 tanh Perceptron dyskretny i ciągły (Rosenblatt, 1958) 15 Sztuczne sieci neuronowe 16 Sieć jednokierunkowa jednowarstwowa Sieć jednokierunkowa wielowarstwowa 1 1 x1 w01 w11 w12 1 1 y1 x2 ... y2 ... y3 xN w10 w20 y1(x,w) x1 . . . y4 . . . . . . yK(x,w) xN wΗΝ warstwa wejściowa warstwa wyjściowa warstwa wejściowa N N j =1 j =1 17 Sieć rekurencyjna jednowarstwowa H N h =1 j =1 Sztuczne sieci neuronowe 18 Sieć rekurencyjna dwuwarstwowa • Sieć z jedną warstwą neuronów (wyjściową) • sygnały wyjściowe neuronów tworzą tworzą jednocześnie wektor wejściowy dla następnego cyklu • z reguły nie występuje sprzężenie zwrotne neuronu od własnego sygnału wyjściowego (sieć Hopfielda) Sztuczne sieci neuronowe warstwa wyjściowa yk ( x, w) = f 0 ( wk 0 + ∑ whk f h (∑ whj x j + wh 0 )) yi = f (neti ) = f (∑ wij x j + wi 0 ) = f (∑ wij x j − θ i ) Sztuczne sieci neuronowe warstwy ukryte • neurony 1...M stanowią warstwę wyjściową sieci • neurony 1...K - warstwę ukrytą • Wektor wejściowy: sygnały wejściowe (x), sygnały wyjściowe warstwy ukrytej i wyjściowej 19 Sztuczne sieci neuronowe 20 Zadania sieci neuronowej Zadania sieci neuronowej • Aproksymacja - sieć pełni rolę uniwersalnego aproksymatora funkcji wielu zmiennych, realizując funkcję nieliniową postaci y = f(x) • Klasyfikacja i rozpoznawanie sieć uczy się podstawowych cech prezentowanych wzorców i na tej podstawie podejmuje odpowiednią decyzję klasyfikacyjną Sztuczne sieci neuronowe 21 Sztuczne sieci neuronowe Zadania sieci neuronowej Zadania sieci neuronowej – Heteroasoscjacja - sieć zapamiętuje i kojarzy pary obrazów i nawet zniekształcony obraz wejściowy może wywołać właściwą heteroasocjację na wyjściu (heteroasocjacja obejmuje problem klasyfikacji) • Asocjacja – Autoasocjacja - sieć zapamiętuje zbiór wzorców w taki sposób, aby po zaprezentowaniu nowego wzorca reakcją sieci było wytworzenie zapamiętanego wzorca, który jest najbardziej podobny do nowego. Sztuczne sieci neuronowe 22 23 Sztuczne sieci neuronowe 24 Zadania sieci neuronowej Zadania sieci neuronowej • Optymalizacja - pozwala na minimalizację pewnych funkcji kosztu, zwykle zadanych przez użytkownika. Sieć samoczynnie poszukuje minimum tzw. funkcji energii (wartości zależnej od stanu sieci), dochodzi do stanu o minimalnej energii i w nim pozostaje (np. problem szeregowania zadań) Sztuczne sieci neuronowe • Wykrywanie grup i wydobywanie cech – grupowanie danych - sieć samoczynnie wykrywa podobieństwa w przetwarzanych danych. – wykrywanie cech - często jest związane z redukcją wymiarów. Mogą realizować odwzorowanie cech wielowymiarowego sygnału wejściowego o złożonej strukturze na płaszczyznę. 25 Sztuczne sieci neuronowe Uczenie z nauczycielem Uczenie bez nauczyciela • Uczenie z nauczycielem - nadzorowane (ang. supervised learning) dla każdego wektora w chodzącego w skład zbioru uczącego znana jest poprawna odpowiedź. Korekcja wag oparta jest na „różnicy” pomiędzy rzeczywistą i pożądaną odpowiedzią sieci. Sztuczne sieci neuronowe 26 • Uczenie bez nauczyciela - nienadzorowane (ang. unsupervised learning) - pożądana odpowiedź sieci nie jest znana. Sieć uczy się poprzez analizę reakcji na pobudzenia. W trakcie wykrywania np. skupisk w danych parametry sieci podlegają zmianom, co nazywamy samoorganizacją. 27 Sztuczne sieci neuronowe 28 Zalety i wady sztucznych sieci neuronowych ZALETY • Przetwarzanie równoległe WADY • Sieć jako „czarna skrzynka” • Przy dużej liczbie elementów sieć jest odporna na uszkodzenia niewielkiej liczby elementów • Zdolność uogólniania • Brak założeń dotyczących rozkładów analizowanych zmiennych Sztuczne sieci neuronowe 29