METODY INTELIGENCJI OBLICZENIOWEJ wykład 4 1
2 SZTUCZNE SIECI NEURONOWE
HISTORIA SSN 3 Walter Pitts, Warren McCulloch (1943) opracowanie matematyczne pojęcia sztucznego neuronu.. Udowodnili też, iż ich wynalazek jest w stanie odzwierciedlić w swym działaniu dowolną funkcję logiczną. Donald Olding Hebb (1949) (1949) psychologia: jakość połączenia dwóch neuronów wyznaczana jest poprzez liczbę efektywnych przepływów sygnału s pomiędzy nimi pomiędzy nimi -> zasada uczenia się Hebba (Hebbian learning) ) dla sztucznych sieci neuronowych (SSN). Frank Rosenblatt (1958) pierwszy funkcjonujący model SSN (perceptron) oraz pierwszy z algorytmów uczenia SSN (do nauczenia perceptronu rozpoznawania liter alfabetu łacińskiego). Określił również zasadę, iż perceptron zbudowany wg jego teorii jest w stanie rozwiązać każdy problem liniowo separowalny.
HISTORIA SSN 4 Bernard Widrow, Ted Hoff (1960) - neuron typu Adaline z liniową funkcją aktywacji oraz algorytm uczenia LMS ( (Least Square), zwany regułą delty lub regułą Widrowa-Hoffa Hoffa. Least Mean John Hopfield (1982) teoria pamięci asocjacyjnej,, jako istoty działania sieci rekurencyjnych (sieci Hopfielda). Paul Werbos (1974); David Rumelhart,, Geoffrey Hinton, Ronald Williams (1986) - wsteczna propagacja błędów (backpropagation) pozwalająca na rozwiązywanie problemów liniowo nieseparowalnych.
5 ZALETY SSN: Nie wymagają programowania (tylko uczenie). Mają zdolność uogólniania. Są wysoce odporne na szumy i zniekształcenia sygnału. Pomagają wykrywać istotne powiązania pomiędzy danymi. Stosuje się je gdy istnieje duża złożoność zagadnienia i trudno jest jednoznacznie określić formalne kryteria, dla stworzenia programu komputerowego.
KLASY ZASTOSOWAŃ: PREDYKCJA ze znajomości: przewidzieć : { f ( x ), f( x ),..., f( x )} f( x n+ 1) n k n k+ 1 n bez jawnego definiowania związku między danymi wejściowymi a wyjściowymi 6
KLASYFIKACJA I ROZPOZNAWANIE WZORCÓW Zaszeregowanie danych wejściowych do jednej z klas: np. sieć pozwala na podstawie danych bilansowych stwierdzić, czy dane przedsiębiorstwo należy do zwyżkujących gospodarczo, czy przeżywa stagnację czy też grozi mu regres. 7
8 APROKSYMACJA (interpolacja, ekstrapolacja) ze znajomości: odtworzyć: { x, f( x )} i f ( x) i ASOCJACJA Podanie danego wzorca na wejście powinno powodować pojawienie się odpowiadającego mu wzorca na wyjściu.
9 STEROWANIE KOJARZENIE DANYCH automatyzacja procesów wnioskowania i wykrywanie istotnych powiązań między danymi.
10 FILTRACJA SYGNAŁÓW OPTYMALIZACJA statyczna i dynamiczna, optymalizacja kombinato- ryczna i zagadnienia bardzo trudne obliczeniowo.
PRZYKŁADOWE ZASTOSOWANIA: 11
NIE NADAJĄ SIĘ DO: 12 Przetwarzania informacji symbolicznej (np. edytory tekstu). Obliczeń o wymaganej wysokiej dokładności (sieć pracuje jakościowo, dając wyniki przybliżone). Rozwiązywania zagadnień, gdzie rozumowanie jest przeprowadzanie wieloetapowo (a musi być udokumentowane).
13 KOMÓRKA NERWOWA CZŁOWIEKA W tkance nerwowej: A. Komórki glejowe Jest ich więcej; Pełnią rolę pomocniczą (funkcje podporowe, odżywcze, odgraniczające i regenerujące) Są stosunkowo małe i mają kształt gwiazdy. nie będą nas dalej interesować...
B. Komórki nerwowe (neurony) Dendryty zbierają sygnały z innych komórek nerwowych. Ciało komórki agreguje sygnały wejściowe i tworzy sygnał wyjściowy. Akson wyprowadza sygnał wyjściowy i przekazuje go dalej. 14
Synapsa - przekazuje sygnał między aksonem a dendrytem (każda komórka nerwowa posiada średnio kilka tysięcy synaps). Chemiczno-elektryczne elektryczne przekazywanie sygnałów: Pod wpływem przychodzących bodźców wydzielane są neuroprzekaźniki; Neuroprzekaźniki oddziałują na błonę komórki zmieniając jej potencjał elektryczny. 15
16 Poszczególne synapsy różnią się wielkością oraz możli- wością gromadzenia neuroprzekaźników w pobliżu błony synaptycznej. Dlatego taki sam impuls na wejściu komórki może po- wodować inne jej pobudzenie niż dla innego wejścia. STATYSTYKA: Liczba komórek nerwowych w mózgu ok. 10 Połączeń nerwowych ok. 10 10 14 14 ; 10 11 Częstotliwość biologicznego neuronu ok. kilkaset Hz. 11 ;
Perceptron (Rosenblatt 1958): Układ posiadający wiele wejść i jedno wyjście: Wejście cie: n stanów wejsciowych x 1,...,x n Wyjście: 0 lub 1 Uwaga: pod pojęciem perceptronu perceptronu rozumie się też czasem siec połączonych jednostek (neuronów). 17
Sprzętowo: Pojedynczy perceptron pozwala na: przetwarzanie jednostkowych informacji; podejmowanie prostych decyzji; przekazywanie wyników sąsiadom. Dopiero w połączeniu z innymi węzłami uzyskuje się zdolność podejmowania złożonych decyzji. 18
Sygnał wyjściowy y i i-tego tego neuronu liniowego : w ij x j N y N = w x i ij j j= 0 waga dla j-ego wejścia i-tego neuronu; j-ty sygnał wejściowy ciowy; liczba wejść w i-tym neuronie; 19
Sygnał wyjściowy y i i-tego tego neuronu (ogólnie) lnie): N yi = ϕ() e = ϕ wijxj + B j= 1 e łączne pobudzenie neuronu (net value); ϕ funkcja aktywacji; B próg (bias). W neuronie liniowym e jest sygnałem wyjściowym. 20
Poprawka wartości wagi dla perceptronu w j-ym kroku (reguła( delta): ( j) ( j) x ( j) i i w =ηδ δ = z y ( j) ( j) ( j) z wymagana odpowiedź neuronu; y uzyskana odpowiedź neuronu; x i dana wejściowa dla i-tego wejścia; η - współczynnik uczenia (learning rate). 21
Sygnał WY jest tym większy, im bardziej sygnał WE będzie przypominał wag wagę (dla. sygnałów znormalizowanych). x 2, w 2 wagi neuronu sygnał WE γ x 1, w 1 Kąt pomiędzy wektorem em WE a wektorem wag: - mały silny sygnał pozytywny; - bliski 90 słaby sygnał neutralny (bliski 0); - duży silny sygnał negatywny. Dł.. wektora WE znacząco co mniejsza od dł. d. wektora wag sygnał neutralny (niezależnie od kierunku wektora WE). 22
23 Waga: - dodatnia - sygnał pobudzający; - ujemna sygnał gaszący; - 0 - brak połączenia między neuronami. Sygnały y wyjściowe: 0,1 (funkcje unipolarne) -1,1 (funkcje bipolarne).
FUNKCJA AKTYWACJI Wartość f. aktywacji sygnał wyjściowy neuronu. liniowa f. aktywacji; nieliniowa f. aktywacji: - f. skoku jednostkowego (progowa), np.: ϕ ( e) = { 1 gdy e 0 0 gdy e< 0 - inna, np. typu sigmoidalnego (f. logistyczna): 1 ϕ ( e) = 1 + exp( β e) β współczynnik sterujący nachyleniem krzywej 24
Sieć liniowa: Liniowe odwzorowanie zbioru sygnałów w WE w zbiór sygnałów w WY. Ograniczone zastosowanie. Sieć nieliniowa: Nieliniowe odwzorowanie zbioru sygnałów w WE w zbiór sygnałów w WY. Odpowiednio duża - praktycznie dowolny charakter odwzorowania. 25
WYMAGANE CECHY F. AKTYWACJI: 26 Ciągłe e przejście pomiędzy wartości cią maksymalną a minimalną. Łatwa do obliczenia i ciągł ągła a pochodna np. dla f. sigmoidalnej: 1 ϕ() e = 1 + exp( β e) [ ] ϕ'( e) = β ϕ( e) 1 ϕ( e) Możliwo liwość wprowadzenia do argumentu parametru β do ustalania kształtu tu krzywej.
WSPÓŁCZYNNIK β 1 0.5 beta=1 beta=0.5 beta=2 0-10 -5 0 5 10 BIAS 1 0.5 bias=0 bias=-2 bias=2 0-10 -5 0 5 10 27
Bipolarny odpowiednik f. sigmoidalnej: exp( βe) exp( βe) ϕ() e = = tgh( βe) exp( βe) + exp( βe) [ ] [ ] ϕ'( e) = β 1 + ϕ( e) 1 ϕ( e) 1 0.5 0-10 -5 0 5 10 beta=0.5-0.5-1 28
SIEĆ NEURONOWA: - układ połą łączonych neuronów (model warstwowy) Sieć jednowarstwowa Sieć wielowarstwowa Sieć wielowarstwowa min. jedna warstwa ukryta. Zwykle: kilka warstw, połą łączenia każdy z każdym (min. liczba parametrów w do opisu). 29
RODZAJE NEURONÓW: 30 warstwy WE (nie liczona); warstw ukrytych: efekty działania obserwowane pośrednio poprzez WY; pośredniczenie między WE a WY; niemożność dokładnego obliczenia błędów; warstwy WY (rozwiązania stawianych zadań). Pamięć neuronu reprezentowana poprzez wagi. Sieć działa a jako całość ść.
KLASY SIECI: feed-forward forward (jednokierunkowe) najczęściej stosowane; rekurencyjne sprzężenia zwrotne; sieci Kohonena samoorganizujące się; sieci radialne (RBF) - uniwersalny aproksymator. STRUKTURA SIECI: - ważna, lecz nie do przesady: wystarczający cy potencjał intelektualny ; rozsądna. Struktura SSN wpływa na: szybkość uczenia; wielkość popełnianego błędu; zdolność generalizacji 31
32 Projektowanie sieci - problemy: ile warstw ukrytych? ile neuronów w w warstwach? Liczba neuronów w w warstwie WE: zależy y od liczby danych podawanych na wejście. Liczba neuronów w w warstwie WY: zależy y od liczby poszukiwanych rozwiąza zań.
Dobór r optymalnej struktury SSN: 3 główne grupy algorytmów pomocnych w utworzeniu sieci optymalnej : metody wzrostu; metody redukcji, metody optymalizacji dyskretnej. Metody wzrostu: - na początku procesu optymalizacji struktura sieci powinna być możliwie mała; - w kolejnych iteracjach są dodawane kolejne neurony ukryte (co powinno powodować zwiększenie sprawności działania sieci); - neurony są dodawane aż do osiągnięcia punktu optymalnego. 33
34 Metody redukcji na początku procesu optymalizacji struktura sieci powinna być możliwie złożona; w kolejnych iteracjach są usuwane kolejne neurony lub połączenia między nimi (co powinno powodować zwiększenie sprawności działania sieci); postępowanie jest powtarzane aż do osiągnięcia punktu optymalnego.
Metody optymalizacji dyskretnej opierają się na założeniu, że proces nauki sieci i wyboru architektury zachodzą równocześnie; czynnikiem ocenianym jest określona funkcja, reprezentująca jakość danej sieci; w kolejnych krokach sieci dobierane są tak, by dążyć do maksymalizacji funkcji jakości; możliwe jest wykorzystanie AE jako metody optymalizacji. Żadna z tych metod nie jest idealna.. Często wybór którejś z nich zależy od rodzaju rozwiązywanego problemu. 35
Przykład: Rozpoznawanie znaków znaków alfabetu 36 WE - 35 (pikseli) WY -26 (liter) a co wewnątrz? Metoda wzrostu: wstępnie: 35 4 26 Ostatecznie: 35 9 26
37 Sieć z 1 warstwą ukrytą powinna nauczyć się roz- wiązywania większo kszości postawionych problemów. Nieznane sąs problemy wymagające sieci z więcej niż 3 warstwami ukrytymi (zwykle 1 lub 2). Liczbę neuronów w w warstwie ukrytej można próbowa bować oszacować: N = N * N u we wy
Zwykle: : uczenie z początkowo małą liczbą neuronów i stopniowe zwiększanie ich liczby. Zbyt mało neuronów w w warstwie ukrytej sieć nie potrafi poprawnie odwzorować funkcji. Zbyt wiele elementów w warstwy ukrytej: wydłużenie procesu uczenia; uczenie się na pamięć ęć (szczególnie, gdy liczba próbek w ciągu uczącym cym jest niewielka) - sieć poprawnie rozpoznaje tylko sygnały y zgodne z tymi w ciągu uczącym cym ( brak generalizacji przy dobrej interpolacji). 38
Np Np.(L. Rutkowski, Metody i techniki sztucznej inteligencji, PWN, W-wa 2006): Ciąg g uczący: cy: Wejście x 0 Oczekiwane wyjście d=f(x) [ ] y = sin( x), x 0, 2π 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 π π π 7π 4π 5π 5π 2π 3π 5π 11π 7π π 2π 6 3 4 6 3 4 6 3 4 3 6 4 3 2 0 0.5 0 0-0.5 2 2 3 2 2 2 1 2 3 2 2 2 3 2 1 2 2 2 1 2 1 1 3 1 1 15 1 39
40 Dobór próbek (ciąg uczący) wpływa na jakość nauczania: odpowiedź na ciąg uczący odpowiedź na ciąg testowy Ghaboussi, CISM 2007
Zbyt długie uczenie również może skutkować utratą zdolności uogólniania: Ghaboussi, CISM 2007 41
UCZENIE SIECI NEURONOWYCH 42 Zamiast programowania! Wymuszanie określonego reagowania sieci na zadane sygnały y wejściowe (poprzez odpowiedni dobór r wag). Ta sama sieć może e służyćs do rozwiązywania zywania skrajnie różnych r zadań. Warianty uczenia: uczenie bez nauczyciela (nienadzorowane); uczenie z nauczycielem (nadzorowane); uczenie z krytykiem.
Uczenie bez nauczyciela (uns unsupervisedupervised learning) 43 Donald Hebb (fizjolog i psycholog) w umyśle za- chodzą procesy wzmacniania połą łączeń między neuro- nami,, jeśl śli i zostały y one pobudzone jednocześnie. nie. Pożą żądana odpowiedź nie jest znana. Sieć uczy się poprzez analizę reakcji na pobudzenia; samoorganizacja struktury wszelkie regularności ci, linie podziału i inne charakterystyki danych wejściowych sieć musi wykryć sama. Zdolności do wykrywania skupisk obrazów wejścio cio- wych są wykorzystywane do ich klasyfikacji,, gdy klasy nie sąs z góry g ustalone.
Uczenie spontaniczne, odkrywanie ciekawych struktur w przestrzeni danych, korelacja zachowań systemu ze zmianą tych struktur dominuje w okresie niemowlęcym. 44 Uczenie bez nauczyciela (uns Sieci pokazuje się kolejne przykłady bez określenia, co trzeba z nimi zrobić. unsupervisedupervised learning) Różne pobudzenie różnych neuronów - połączenia między źródłami silnych sygnałów a neuronami, które na nie reagują są wzmacniane. W sieci stopniowo powstają wzorce poszczególnych typów sygnałów rozpoznawane przez pewną część neuronów.
Uczenie bez nauczyciela - wady 45 Zwykle powolniejsze. Nie wiadomo, który neuron będzie b rozpoznawał jaki sygnał. Część sygnałów w może e być rozpoznawana przez więcej niż jeden neuron. Część sygnałów w może nie być rozpoznawana przez ża- den neuron (sieć musi być większa niż przy nauczycielu zwykle przynajmniej 3 razy).
Uczenie z nauczycielem (supervised upervised learning) 46 Podawanie sieci zestawów w sygnałów w WE wraz z prawidłowym sygnałem WY. Naśladowanie nauczyciela,, jakim jest ciąg (podejście szkolne ). uczący cy Zestawy sygnałów w (zwykle) powtarza się wielokrotnie, zaś sieć modyfikuje wagi na wejściach tak, by zmini- malizować błąd. Zmiana wagi na i-tym wejściu neuronu po pokazaniu j-ego obiektu uczącego cego jest proporcjonalna do popełnianego na tym etapie błęb łędu δ ( j ).
Uczenie z krytykiem (reinforcement reinforcement learning): 47 Odmiana uczenia nadzorowanego. Nauczyciel nie dysponuje pełną wiedzą na temat wszystkich prawidłowych odpowiedzi. Zamiast informacji o pożą żądanym WY, sieć dysponuje jedynie oceną efektu swego działania ania w ramach dwóch prostych kategorii. Ocena wzmocnienie (pozytywne lub negatywne) odpowiednie zmiany wag.
Uczenie z krytykiem (reinforcement reinforcement learning): 48 Optymalizacja zysków w na dłuższą metę. Np.: gry z przeciwnikiem, krytyką jest przegrana lub wygrana na końcu partii. Uczenie z krytykiem lub z wzmocnieniem pożądanych zachowań po dłuższym d okresie. Uczenie dojrzałe (nabieranie mądrości ). Bardziej uniwersalne w zastosowaniu podejśc ście do problemu. Praktyczna realizacja jest bardziej skomplikowana.