METODY INTELIGENCJI OBLICZENIOWEJ wykład 4 SZTUCZNE SIECI NEURONOWE HISTORIA SSN Walter Pitts, Warren McCulloch (94) 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 (949) psychologia: jakość połączenia dwóch neuronów wyznaczana jest poprzez liczbę efektywnych przepływów sygnału s pomiędzy nimi -> zasada uczenia się Hebba (Hebbian learning) ) dla sztucznych sieci neuronowych (SSN). Frank Rosenblatt (958) 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 Bernard Widrow, Ted Hoff (96) - neuron typu Adaline z liniową funkcją aktywacji oraz algorytm uczenia LMS ( (Least Mean Square), ), zwany regułą delty lub regułą Widrowa-Hoffa Hoffa. John Hopfield (98) teoria pamięci asocjacyjnej,, jako istoty działania sieci rekurencyjnych (sieci Hopfielda). Paul Werbos (974); David Rumelhart,, Geoffrey Hinton, Ronald Williams (986) - wsteczna propagacja błędów (backpropagation) pozwalająca na rozwiązywanie problemów liniowo nieseparowalnych. 4 ZALETY SSN: Nie wymagają programowania (tylko uczenie). Mają zdolność uogólniania. Są wysoce odporne na szumy i zniekształcenia sygnału. KLASY ZASTOSOWAŃ: PREDYKCJA ze znajomości: f ( x nk), f( x n k+ ),..., f( x n) przewidzieć : f( x n+ ) { } 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. 5 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: 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. 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 STEROWANIE FILTRACJA SYGNAŁÓW KOJARZENIE DANYCH automatyzacja procesów wnioskowania i wykrywanie istotnych powiązań między danymi. OPTYMALIZACJA statyczna i dynamiczna, optymalizacja kombinato- ryczna i zagadnienia bardzo trudne obliczeniowo. 9 PRZYKŁADOWE ZASTOSOWANIA: NIE NADAJĄ SIĘ DO: 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).
KOMÓRKA NERWOWA CZŁOWIEKA W tkance nerwowej: B. Komórki nerwowe (neurony) 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ć... 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. 4 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żli- wością gromadzenia neuroprzekaźników w pobliżu błony synaptycznej. 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. 5 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. Połączeń nerwowych ok. 4 ; ; Częstotliwość biologicznego neuronu ok. kilkaset Hz. 6 Perceptron (Rosenblatt 958): Sprzętowo: Pojedynczy perceptron pozwala na: Układ posiadający wiele wejść i jedno wyjście: Wejście cie: n stanów wejsciowych x,...,x n Wyjście: lub Uwaga: pod pojęciem perceptronu perceptronu rozumie się też czasem siec połączonych jednostek (neuronów). 7 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. 8
Sygnał wyjściowy y i i-tego neuronu liniowego : y N = w x i ij j j= w ij waga dla j-ego ego wejścia i-tegotego neuronu; x j j-tyty sygnał wejściowy ciowy; N liczba wejść w i-tym neuronie; 9 Sygnał wyjściowy y i i-tego neuronu (ogólnie) lnie): N yi = ϕ() e = ϕ wijxj + B j= e łączne pobudzenie neuronu (net value); ϕ funkcja aktywacji; B próg (bias). W neuronie liniowym e jest sygnałem wyjściowym. Poprawka wartości wagi dla perceptronu w j-ymym kroku (reguła( delta): w =ηδ x ( j) ( j) ( j) i i x, w wagi neuronu sygnał WE Sygnał WY jest tym większy, im bardziej sygnał WE będzie przypominał wagę (dla. sygnałów znormalizowanych). γ x, w δ = z y ( j) ( j) ( j) z wymagana odpowiedź neuronu; y uzyskana odpowiedź neuronu; x i dana wejściowa dla i-tego tego wejścia; η - współczynnik uczenia (learning rate). Kąt pomiędzy wektorem em WE a wektorem wag: - mały silny sygnał pozytywny; - bliski 9 słaby sygnał neutralny (bliski ); - 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). Waga: - dodatnia - sygnał pobudzający; - ujemna sygnał gaszący; - - brak połączenia między neuronami. Sygnały y wyjściowe:, (funkcje unipolarne) -, (funkcje bipolarne). FUNKCJA AKTYWACJI Wartość f. aktywacji sygnał wyjściowy neuronu. liniowa f. aktywacji; nieliniowa f. aktywacji: - f. skoku jednostkowego (progowa), np.: ϕ ( e) = { gdy e gdy e< - inna, np. typu sigmoidalnego (f. logistyczna): ϕ( e) = + exp( β e) β współczynnik sterujący nachyleniem krzywej 4 4
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. WYMAGANE CECHY F. AKTYWACJI: 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: ϕ() e = + exp( β e) [ ] ϕ'( e) = β ϕ( e) ϕ( e) Możliwo liwość wprowadzenia do argumentu parametru β do ustalania kształtu tu krzywej. odwzorowania. 5 6 WSPÓŁCZYNNIK β Bipolarny odpowiednik f. sigmoidalnej:.5 beta= beta=.5 beta= exp( βe) exp( βe) ϕ() e = = tgh( βe) exp( βe) + exp( βe) [ ] [ ] ϕ'( e) = β + ϕ( e) ϕ( e) - -5 5 BIAS.5 bias= - -5 5 beta=.5.5 bias=- bias= -.5 - -5 5 7-8 SIEĆ NEURONOWA: - układ połą łączonych neuronów (model warstwowy) RODZAJE NEURONÓW: 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ń). Sieć jednowarstwowa Sieć wielowarstwowa Sieć wielowarstwowa min. jedna warstwa ukryta. Zwykle: kilka warstw, połą łączenia każdy z każdym (min. liczba parametrów do opisu). 9 Pamięć neuronu reprezentowana poprzez wagi. Sieć działa a jako całość ść. 5
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 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ń. zdolność generalizacji Dobór r optymalnej struktury SSN: 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 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. optymalnego. 4 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. 5 Przykład: Rozpoznawanie znaków alfabetu WE - 5 (pikseli) WY -6 (liter) a co wewnątrz? Metoda wzrostu: wstępnie: 5 4 6 Ostatecznie: 5 9 6 6 6
N = N * N u we wy Sieć z 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ż warstwami ukrytymi (zwykle lub ). Liczbę neuronów w w warstwie ukrytej można próbowa bować oszacować: 7 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). 8 Np Np.(L. Rutkowski, Metody i techniki sztucznej inteligencji, PWN, W-wa 6): Ciąg g uczący: cy: Wejście x Oczekiwane wyjście d=f(x) [ ] y = sin( x), x, π π 6.5 π 4 π 4 5 π 6 7 8 9 4 5 7π 4π 5π 5π π π 5π π 7π π 6 4 6 4 6 4 -.5 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 7 5 9 4 Zbyt długie uczenie również może skutkować utratą zdolności uogólniania: UCZENIE SIECI NEURONOWYCH Zamiast programowania! Wymuszanie określonego reagowania sieci na zadane sygnały y wejściowe (poprzez odpowiedni dobór wag). Ta sama sieć może e służyćs do rozwiązywania zywania skrajnie różnych r zadań. Warianty uczenia: Ghaboussi, CISM 7 4 uczenie bez nauczyciela (nienadzorowane); uczenie z nauczycielem (nadzorowane); uczenie z krytykiem. 4 7
Uczenie bez nauczyciela (unsupervisedupervised learning) 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. 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. 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. 4 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. Uczenie bez nauczyciela (unsupervisedupervised learning) W sieci stopniowo powstają wzorce poszczególnych typów sygnałów rozpoznawane przez pewną część neuronów. Uczenie spontaniczne, odkrywanie ciekawych struktur w przestrzeni danych, korelacja zachowań systemu ze zmianą tych struktur dominuje w okresie niemowlęcym. 44 Uczenie bez nauczyciela - wady Uczenie z nauczycielem (supervised learning) 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. 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 Część sygnałów w może nie być rozpoznawana przez ża- den neuron (sieć musi być większa niż przy nauczycielu zwykle przynajmniej razy). 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 ). 45 46 Uczenie z krytykiem (reinforcement learning): Uczenie z krytykiem (reinforcement learning): 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. 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. 47 48 8