SZTUCZNE SIECI NEURONOWE
Transkrypt
SZTUCZNE SIECI NEURONOWE
www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl SZTUCZNE SIECI NEURONOWE INTELIGENTNE TECHNIKI KOMPUTEROWE wykład 100 1 HISTORIA SSN www.kwmimkm.polsl.pl 2 HISTORIA SSN www.kwmimkm.polsl.pl • Walter Pitts, Pitts, Warren McCulloch (1943) – opracowanie matematyczne pojęcia sztucznego neuronu. neuronu. Udowodnili też, iż ich wynalazek jest w stanie odzwierciedlić w swym działaniu dowolną funkcję logiczną. • Bernard Widrow i Ted Hoff (1960) - neuron typu Adaline z liniową funkcją aktywacji oraz algorytm uczenia LMS (Least Mean Square), zwany regułą delty lub regułą WidrowaWidrowa-Hoffa. Hoffa. • Donald Olding Hebb (1949) psychologia: jakość połączenia dwóch neuronów wyznaczana jest poprzez liczbę efektywnych przepływów sygnału sygnału pomiędzy nimi -> zasada uczenia się Hebba (Hebbian learning) 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 • John Hopfield (1982) – teoria pamięci asocjacyjnej, asocjacyjnej, jako istoty działania sieci rekurencyjnych (sieci Hopfielda). Hopfielda). • Paul Werbos (1974) 1974); David Rumelhart, Rumelhart, Geoffrey Hinton, Hinton, Ronald Williams (1986) - wsteczna propagacja błędów (backpropagation) – pozwalająca na rozwiązywanie problemów liniowo nieseparowalnych. nieseparowalnych. 3 ZALETY SSN: www.kwmimkm.polsl.pl • Nie wymagają programowania (tylko uczenie); uczenie); 4 KLASY ZASTOSOWAŃ: www.kwmimkm.polsl.pl PREDYKCJA • Mają zdolność uogólniania; uogólniania; ze znajomości: • Są wysoce odporne na szumy i zniekształcenia sygnału; { f ( x n −k ), f ( x n−k +1 ),..., f ( x n )} przewidzieć : f ( x n +1 ) • 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, kryteria, dla stworzenia programu komputerowego. 5 bez jawnego definiowania związku między danymi wejściowymi a wyjściowymi 6 1 www.kwmimkm.polsl.pl KLASYFIKACJA I ROZPOZNAWANIE WZORCÓW www.kwmimkm.polsl.pl APROKSYMACJA (interpolacja, ekstrapolacja) zaszeregowanie danych wejściowych do jednej z klas: ze znajomości: {xi , f ( x i )} odtworzyć: f ( x) ASOCJACJA Podanie danego wzorca na wejście powinno powodować pojawienie się odpowiadającego mu wzorca na wyjściu. 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. regres. 7 8 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl STEROWANIE FILTRACJA SYGNAŁÓW KOJARZENIE DANYCH OPTYMALIZACJA automatyzacja procesów wnioskowania i wykrywanie istotnych powiązań między danymi. statyczna i dynamiczna, optymalizacja kombinatokombinatoryczna i zagadnienia bardzo trudne obliczeniowo. 9 www.kwmimkm.polsl.pl PRZYKŁADOWE ZASTOSOWANIA: 10 NIE NADAJĄ SIĘ DO: www.kwmimkm.polsl.pl • 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). 11 12 2 www.kwmimkm.polsl.pl KOMÓRKA NERWOWA CZŁOWIEKA www.kwmimkm.polsl.pl B. Komórki nerwowe (neurony) W tkance nerwowej: A. Komórki glejowe • Jest ich więcej; • 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. • 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ć... 13 14 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl Synapsa - przekazuje sygnał między aksonem a dendrytem (każda komórka nerwowa posiada średnio kilka tysięcy synaps). • Poszczególne synapsy różnią się wielkością oraz możlimożliwością gromadzenia neuroprzekaźników w pobliżu błony synaptycznej. • Dlatego taki sam impuls na wejściu komórki może popowodować inne jej pobudzenie niż dla innego wejścia. ChemicznoChemiczno-elektryczne przekazywanie sygnałów: STATYSTYKA: • Liczba komórek nerwowych w mózgu – ok. 1011; • Pod wpływem przychodzących bodźców wydzielane są neuroprzekaźniki; neuroprzekaźniki; • Połączeń nerwowych – ok. 1014; • Neuroprzekaźniki oddziałują na błonę komórki zmieniając jej potencjał elektryczny. Perceptron (Rosenblatt 1958): • Częstotliwość biologicznego neuronu – ok. kilkaset Hz. Hz. 15 www.kwmimkm.polsl.pl 16 Sprzętowo: www.kwmimkm.polsl.pl Pojedynczy perceptron pozwala na: • przetwarzanie jednostkowych informacji; Układ posiadający wiele wejść i jedno wyjście: • podejmowanie prostych decyzji; Wejś Wejście: cie: n stanó stanów wejsciowych x1,...,x ,...,xn • przekazywanie wyników sąsiadom. Wyjś Wyjście: 0 lub 1 Uwaga: pod pojęciem „perceptronu „perceptronu”” rozumie się też czasem siec połączonych jednostek (neuronów). Dopiero w połączeniu z innymi węzłami uzyskuje się zdolność podejmowania złożonych decyzji. decyzji. 17 18 3 www.kwmimkm.polsl.pl Sygnał Sygnał wyjś wyjściowy yi i-tego neuronu liniowego : www.kwmimkm.polsl.pl Sygnał Sygnał wyjś wyjściowy yi i-tego neuronu (ogó (ogólnie): lnie): N yi = ∑ wij x j ⎛ N ⎞ yi = ϕ (e) = ϕ ⎜ ∑ wij x j + B ⎟ ⎝ j =1 ⎠ j =0 wij – waga dla j-ego wejś wejścia i-tego neuronu; neuronu; xj – j-ty sygnał sygnał wejś wejściowy; ciowy; N – liczba wejść wejść w i-tym neuronie; neuronie; e – łączne łączne pobudzenie neuronu (net value) ϕ – funkcja aktywacji; aktywacji; W neuronie liniowym e jest sygnałem wyjściowym 20 B – pró próg (bias). 19 www.kwmimkm.polsl.pl Poprawka wartości wagi dla perceptronu w j-ym kroku (reguła (reguła delta): delta): www.kwmimkm.polsl.pl Sygnał Sygnał WY jest tym wię większy, im bardziej sygnał sygnał WE będzie przypominał przypominał wagę wagę (dla. sygnałów znormalizowanych). x2, w2 ∇wi( j ) = ηδ ( j ) xi( j ) wagi neuronu sygnał WE γ x1, w1 δ ( j ) = z ( j ) − y( j ) Kąt pomię pomiędzy wektor wektorem WE a wektorem wag: - mał mały – silny sygnał sygnał pozytywny; - bliski 90° 90° – słaby sygnał neutralny (bliski 0); - duży – silny sygnał sygnał negatywny. z – wymagana odpowiedź odpowiedź neuronu; y – uzyskana odpowiedź odpowiedź neuronu; xi – dana wejś wejściowa dla i-tego wejś wejścia. η - wspó współczynnik uczenia uczenia (learning rate) 21 www.kwmimkm.polsl.pl Waga: Waga: Dł. wektora WE znaczą znacząco mniejsza od dł dł. wektora wag – sygnał sygnał neutralny (niezależ (niezależnie od kierunku wektora WE). FUNKCJA AKTYWACJI 22 www.kwmimkm.polsl.pl Wartość Wartość f. aktywacji – sygnał sygnał wyjś wyjściowy neuronu. neuronu. - dodatnia - sygnał pobudzający; pobudzający; - ujemna – sygnał gaszący; gaszący; - „0” - brak połączenia między neuronami. neuronami. • liniowa liniowa f. aktywacji; • nieliniowa f. aktywacji: - f. skoku jednostkowego (progowa), np.: gdy e ≥ 0 ϕ ( e ) = {10 gdy e< 0 Sygnał Sygnały wyjś wyjściowe: 〈0,1〉 0,1〉 (funkcje unipolarne) unipolarne) - inna, np. typu sigmoidalnego (f. logistyczna): logistyczna): 〈-1,1〉 1,1〉 (funkcje bipolarne). bipolarne). ϕ (e) = 23 1 1 + exp( − β e ) β – wspó współczynnik sterują sterujący nachyleniem krzywej 24 4 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl WYMAGANE CECHY F. AKTYWACJI: • Ciągłe przejś przejście pomię pomiędzy wartoś wartością cią maksymalną maksymalną a minimalną minimalną. • Łatwa do obliczenia i ciągł a pochodna ciągła Sieć liniowa: np. dla f. sigmoidalnej: sigmoidalnej: • Liniowe odwzorowanie zbioru sygnał sygnałów WE w zbió zbiór sygnał sygnałów WY. • Ograniczone zastosowanie. zastosowanie. ϕ ( e) = 1 1 + exp( − β e) ϕ '(e) = β ⋅ ϕ (e) ⋅ [1 − ϕ (e)] Sieć nieliniowa: • Nieliniowe odwzorowanie zbioru sygnał sygnałów WE w zbió zbiór sygnał sygnałów WY. • Odpowiednio duż duża - praktycznie dowolny charakter odwzorowania. 25 www.kwmimkm.polsl.pl WSPÓ WSPÓŁCZYNNIK β • Moż Możliwość liwość wprowadzenia do argumentu parametru β do ustalania kształ kształtu krzywej. 26 www.kwmimkm.polsl.pl Bipolarny odpowiednik f. sigmoidalnej: sigmoidalnej: 1 ϕ ( e) = beta=1 exp( β e) − exp( − β e) = tgh( − β e) exp( β e) + exp( − β e) beta=0.5 0.5 ϕ '(e) = β ⋅ [1 + ϕ (e)] ⋅ [1 − ϕ (e)] beta=2 0 -10 -5 0 5 10 1 BIAS 0.5 1 0 beta=0.5 -10 -5 0 5 10 bias=0 0.5 bias=-2 -0.5 bias=2 -1 0 -10 -5 0 5 10 27 www.kwmimkm.polsl.pl SIEĆ SIEĆ NEURONOWA: NEURONOWA: - ukł czonych neuronó układ połą połączonych neuronów (model warstwowy) 28 RODZAJE NEURONÓW: www.kwmimkm.polsl.pl • warstwy WE (nie liczona); • warstw ukrytych: 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ń). Sieć jednowarstwowa Sieć wielowarstwowa Pamięć Pamięć neuronu – reprezentowana poprzez wagi. Sieć Sieć wielowarstwowa – min. jedna warstwa ukryta. ukryta. Sieć Sieć dział działa jako cał całość. ść. Zwykle: czenia każ Zwykle: kilka warstw, połą połączenia każdy z każ każdym (min. liczba parametró parametrów do opisu). 29 30 5 KLASY SIECI: www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl • feedfeed-forward (jednokierunkowe) – najczęściej stosowane; Projektowanie sieci - problemy: • rekurencyjne – sprzężenia zwrotne; • ile warstw ukrytych? • ile neuronó neuronów w warstwach? • sieci Kohonena Kohonena – samoorganizują samoorganizujące się się; • sieci radialne (RBF) - uniwersalny aproksymator.. Liczba neuronó neuronów w warstwie WE: WE: STRUKTURA SIECI: SIECI: zależ zależy od liczby danych podawanych na wejś wejście. - waż ważna, lecz nie do przesady: • wystarczają wystarczający „potencjał potencjał intelektualny” intelektualny”; Liczba neuronó neuronów w warstwie WY: WY: • „rozsą rozsądna” dna”. zależ zależy od liczby poszukiwanych rozwią rozwiązań zań. Struktura SSN wpływa na: • szybkość uczenia; • wielkość popełnianego błędu; • zdolność generalizacji Dobó Dobór optymalnej struktury SSN: SSN: 31 32 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl 3 główne grupy algorytmów pomocnych w utworzeniu sieci optymalnej : • metody wzrostu; wzrostu; • • Metody redukcji • na początku procesu optymalizacji struktura sieci powinna być możliwie złożona; złożona; metody redukcji, redukcji, metody optymalizacji dyskretnej. dyskretnej. Metody wzrostu: - na początku procesu optymalizacji struktura sieci powinna być możliwie mała; 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. optymalnego. 33 Metody optymalizacji dyskretnej www.kwmimkm.polsl.pl • 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. 34 Przykład (met. wzrostu): www.kwmimkm.polsl.pl Rozpoznawanie znaków alfabetu • opierają się na założeniu, że proces nauki sieci i wyboru architektury zachodzą równocześnie; 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. idealna. Często wybór którejś z nich zależy od rodzaju rozwiązywanego problemu. problemu. 35 • WE - 35 (pikseli) • WY -26 (liter) a co wewnątrz? Wstę Wstępnie: pnie: 35 – 4 – 26 36 6 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl • Sieć Sieć z 1 warstwą warstwą ukrytą ukrytą powinna nauczyć nauczyć się się rozrozwią wiązywania wię większoś kszości postawionych problemó problemów. • Nieznane są są problemy wymagają wymagające sieci z wię więcej niż niż 3 warstwami ukrytymi (zwykle 1 lub 2). • Liczbę Liczbę neuronó neuronów w warstwie ukrytej moż można pró próbować bować oszacować oszacować: N u = N we * N wy Ostatecznie: Ostatecznie: 35 – 9 – 26 37 www.kwmimkm.polsl.pl 38 www.kwmimkm.polsl.pl Np.(L. Rutkowski, Metody i techniki sztucznej inteligencji, PWN, W-wa 2006): • Zbyt mał mało neuronó neuronów w warstwie ukrytej – sieć sieć nie potrafi poprawnie odwzorować odwzorować funkcji. Cią Ciąg uczą uczący: • Zbyt wiele elementó elementów warstwy ukrytej: 1 Wejście x • wydł wydłużenie procesu uczenia; • uczenie się się „na pamięć pamięć”” (szczegó (szczególnie, gdy liczba pró próbek w cią ciągu uczą uczącym jest niewielka) - sieć sieć poprawnie rozpoznaje tylko sygnał sygnały zgodne z tymi w cią ciągu uczą uczącym ( brak generalizacji przy dobrej interpolacji). interpolacji). 39 Dobór próbek (ciąg uczący) wpływa na jakość nauczania: nauczania: x ∈ [ 0, 2π ] y = sin( x ), www.kwmimkm.polsl.pl Oczekiwane wyjście d=f(x) 1–2–1 0 2 3 4 π π π 6 3 4 3 2 2 2 0 0.5 5 6 π 2π 0 0 7 7π 6 8 4π 3 -0.5 − 1–3–1 9 5π 4 10 5π 6 3 2 1 − 2 2 2 11 12 2π 3π 3 4 3 2 13 14 5π 11π 3 6 15 7π 4 3 1 2 2 − − − 2 2 2 2 1–15– 15–1 40 www.kwmimkm.polsl.pl Zbyt długie uczenie również może skutkować utratą zdolności uogólniania: odpowiedź na ciąg uczący odpowiedź na ciąg testowy Ghaboussi, CISM 2007 41 Ghaboussi, CISM 2007 42 7 www.kwmimkm.polsl.pl UCZENIE SIECI NEURONOWYCH • Zamiast programowania! programowania! • Wymuszanie okreś określonego reagowania sieci na zadane sygnał sygnały wejś wejściowe (poprzez odpowiedni dobó dobór wag). wag). Ta sama sieć sieć moż może sł służyć do rozwią rozwiązywania skrajnie ró różnych zadań zadań. Warianty uczenia: uczenia: Uczenie z nauczycielem www.kwmimkm.polsl.pl • Podawanie sieci zestawó zestawów sygnał sygnałów WE wraz z prawidł prawidłowym sygnał sygnałem WY. • Naś Naśladowanie nauczyciela, nauczyciela, jakim jest cią ciąg uczą uczący. cy. • Zestawy sygnał sygnałów (zwykle) powtarza się się wielokrotnie, zaś zaś sieć sieć modyfikuje wagi na wejś wejściach tak, by zminizminimalizować malizować błąd łąd. • Zmiana wagi na i-tym wejś wejściu neuronu po pokazaniu j-ego obiektu uczą uczącego jest proporcjonalna do popeł du δ ( j ). popełnianego na tym etapie błę błędu • uczenie z nauczycielem (nadzorowane); • uczenie z krytykiem; krytykiem; • uczenie bez nauczyciela (nienadzorowane). nienadzorowane). 43 www.kwmimkm.polsl.pl 44 www.kwmimkm.polsl.pl Uczenie z krytykiem (reinforcement learning): Uczenie bez nauczyciela • Odmiana uczenia nadzorowanego. • Donald Hebb (fizjolog i psycholog) – w umyś umyśle zazachodzą czeń ń mię chodzą procesy wzmacniania połą połącze między neuroneuronami, nami, jeśl jeślii został zostały one pobudzone jednocześ jednocześnie. • Nauczyciel Nauczyciel nie dysponuje peł pełną wiedzą wiedzą na temat wszystkich prawidł prawidłowych odpowiedzi. • Pożą dana odpowiedź Pożądana odpowiedź nie jest znana. • Zamiast informacji o pożą danym WY, sieć pożądanym sieć dysponuje jedynie oceną oceną efektu swego dział działania w ramach dwó dwóch prostych kategorii. • Ocena Ö wzmocnienie (pozytywne lub negatywne) Ö odpowiednie zmiany wag. • Bardziej uniwersalne w zastosowaniu podejśc ie do podejście problemu. • Praktyczna realizacja jest bardziej skomplikowana. • Sieć Sieć uczy się się poprzez analizę analizę reakcji na pobudzenia; samoorganizacja struktury – wszelkie regularnoś regularności, ci, linie podział podziału i inne charakterystyki danych wejś wejściowych sieć sieć musi wykryć wykryć sama. • Zdolnoś Zdolności do wykrywania skupisk obrazó obrazów wejś wejściociowych są wykorzystywane do ich klasyfikacji, klasyfikacji, gdy klasy nie są są z gó góry ustalone. 45 www.kwmimkm.polsl.pl • Sieci pokazuje się kolejne przykłady bez określenia, co trzeba z nimi zrobić. • 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. 46 Uczenie bez nauczyciela - wady www.kwmimkm.polsl.pl • Zwykle powolniejsze. • Nie wiadomo, któ który neuron bę będzie rozpoznawał rozpoznawał jaki sygnał sygnał. • Część sygnał sygnałów moż może być być rozpoznawana przez wię więcej niż niż jeden neuron. • Część sygnał sygnałów moż może nie być być rozpoznawana przez żaden neuron (sieć (sieć musi być być wię większa niż niż przy nauczycielu zwykle przynajmniej 3 razy). razy). 47 48 8