Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/2006 21/10/05Prof. dr hab. Elżbieta Richter-Wąs Wykład 3 Nieliniowe Sieci Neuronowe Sieci CP.

Podobne prezentacje


Prezentacja na temat: "Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/2006 21/10/05Prof. dr hab. Elżbieta Richter-Wąs Wykład 3 Nieliniowe Sieci Neuronowe Sieci CP."— Zapis prezentacji:

1 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05Prof. dr hab. Elżbieta Richter-Wąs Wykład 3 Nieliniowe Sieci Neuronowe Sieci CP Sieci Neuronowe wykład przygotowany na podstawie. R. Tadeusiewicz, Sieci Neuronowe, Rozdz. 4,5. Akademicka Oficyna Wydawnicza RM, Warszawa 1993.

2 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 2 Prof. dr hab. Elżbieta Richter-Wąs Nieliniowe sieci neuronowe Siecią neuronową, która odegrała historycznie bardzo istotną rolę był PRECEPTRON koncepcja w której wprowadzono nieliniowy element przetwarzający informację. Wprowadzenie nieliniowości było uzasadnione, biologiczne układy faktycznie są nieliniowe. Nieliniowy element przyjmowany w sieciach neuronowych może być opisany równaniem. y = (e) gdzie (e) jest wybraną funkcją nieliniową a sygnał e odpowiada łącznemu pobudzeniu neuronu.

3 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 3 Prof. dr hab. Elżbieta Richter-Wąs Nieliniowe sieci neuronowe Lączne pobudzenie neuronu możemy uznać za zgodne z formułą przyjmowaną uprzednio dla ADALINE lub uzupełnioną o dodatkowo o składnik stały (bias) Aby uprościć zapis, przyjmijmy, że oprócz mamy również element x 0, co pozwoli formalnie zapisać: lub wektorowo: e = W T X n e = i x i i=1 n e = i x i + 0 i=1 n e = i x i i=0

4 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 4 Prof. dr hab. Elżbieta Richter-Wąs Nieliniowe sieci neuronowe Formułę nieliniowego pobudzenia możemy też zapisać następująco, np. w postaci sumy kumulowanej, której postać w j-tym kroku symulacji może być wyznaczoną ze wzoru: e (j+1) = e (j) + albo funkcji majoryzacji: gdzie i jest miarą efektywności i-tego wejścia wyznaczaną ze wzoru: i = 1 gdy i x i > 0 i = 0 gdy i x i 0 n i (j) x i (j) i=1 n e = i i=0

5 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 5 Prof. dr hab. Elżbieta Richter-Wąs Nieliniowe sieci neuronowe Inne możliwe postacie: maximum e = MAX i i x i minimum e = MIN i i x i produktowa e = i i x i Te i inne funkcje scalające wejściowe sygnały x i w łączne wypadkowe pobudzenie e, używane są w perceptronie jedynie jako wstępny etap przetwarzania informacji w neuronie. n

6 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 6 Prof. dr hab. Elżbieta Richter-Wąs Nieliniowe sieci neuronowe O specyficznych własnościach perceptonu decyduje funkcja określającą nieliniowy związek miedzy sygnałem wypadkowego pobudzenia neuronu e, a jego odpowiedzią y. W klasycznym perceptonie funkcja ma postać progowa: (e) = 1 gdy e 0; (e) = 0 gdy e < 0; Ta postać ma szereg wad ale jest łatwa do wyprowadzenia pewnych intuicji. Ponieważ sygnał wyjściowy przyjmuje wartość ( y=1 lub y=0 ), może być rozważany w kategoriach określonej decyzji. Możliwa jest też interpretacja oparta na logice matematycznej, prawda lub fałsz. Percepton może być interpretowany jako układ realizujący pewną funkcj ę logiczną, a więc automat skończony.

7 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 7 Prof. dr hab. Elżbieta Richter-Wąs Własności nieliniowego modelu neuronu Dygresja: Zależnie od postaci przyjętej funkcji (e) sygnał y można rozpatrywać jako binarny y { 0, 1 } bipolarny y { -1, 1 } Pozornie różnica jest nieistotna, trywialne przeskalowanie. Może mieć jednak poważne konsekwencje ponieważ punkty należące do zbioru { 0,1} są wierzchołkami jednostkowego hiperszescianu w R n, natomiast punkty należące do zbioru {-1,1} leżą na powierzchni jednostkowej sfery R n. W n-wymiarowej przestrzeni sześcian i sfera różnią się w sposób zasadniczy. Porównajmy objętości: objetosc szescianu: V s = a n objetosc kuli: V k = n/2 / (n/2)! r n gdy n jest parzyste V k = 2 n n-1)/2 ((n-1)/2)! / n! r n gdy n jest nieparzyste

8 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 8 Prof. dr hab. Elżbieta Richter-Wąs Własności nieliniowego modelu neuronu Tak więc dla jednostkowego boku a, objętość sześcianu jest stała V s = 1, podczas gdy objętość kuli o jednostkowym promieniu r, V k 0 dla n. Wszystkie punkty sfery są oczywiście jednakowo odlegle od jej środka (odległością jest promień sfery), natomiast dla sześcianu, narożniki są odlegle od środka o sqrt(n/2) (odległość rośnie). Sześcian coraz bardziej przypomina jeża. W większych wymiarach..... należy dość ostrożnie podchodzić do intuicji geometrycznych.

9 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 9 Prof. dr hab. Elżbieta Richter-Wąs Własności nieliniowych sieci wielowymiarowych Przyjmując interpretację progowej funkcji (e) jako funkcji rozdzielającej przestrzeń wejściowych sygnałów X na obszar wyróżniony, w którym y=1, oraz na resztę – należy stwierdzić, że przy przyjęciu najczęściej rozważanej reguły scalania wejściowych sygnałów w postaci podział ten formułuje granica mająca postać hiperp ł aszczyzny. Istotnie, jeśli (e) = 1 gdy e 0; oraz (e) = 0 gdy e < 0; to obszar w którym neuron podejmuje decyzje y=1 ogranicza powierzchnia e=0, czyli twór o równaniu Dla n=2 jest to równanie lini prostej, dla n=3 – równanie płaszczyzny, a dla n > 3 twór nazywany prawidłowo rozmaitością liniową stopnia n-1, a popularnie traktowany jako płaszczyzna w n-wymiarowej przestrzeni czyli w skrócie hiperp ł aszczyzna.. n e = i x i i=1 n i x i = 0 i=1

10 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 10 Prof. dr hab. Elżbieta Richter-Wąs Własności nieliniowych sieci wielowymiarowych Możemy interpretować działanie neuronu budującego perceptron jako dyskryminatora liniowego. Może on zrealizować te wszystkie odwzorowania, w których wystarczy oddzielenie podobszaru przestrzeni X mającego formę otwartej podprzestrzeni ograniczonej hiperp ł aszczyzną. Proces uczenia, polegający zawsze na zmianie wartości współczynników i, pozwala ustalić graniczną hiperp ł aszczyznę w dowolnym położeniu, nie pozwala jednak na zmianę charakteru realizowanego odwzorowania, niezależnie od tego jak długo by się go uczyło.

11 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 11 Prof. dr hab. Elżbieta Richter-Wąs Własności nieliniowych sieci wielowymiarowych Nierozwiązywalne zadanie: problem XOR Percepton nie może się nauczyć realizacji odwzorowania y = x 1 x 2 gdzie operator oznacza alternatywę wyłączającą (eXclusive OR). Kilkuwarstwowa sieć: Jednak, czego nie potrafi zrobić jeden neuron, może zrobić kilkuwarstwowa sieć, ponieważ dla nieliniowych neuronów dodanie nowych warstw istotnie poszerza zakres odwzorowań, które sieć potrafi zrealizować.

12 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 12 Prof. dr hab. Elżbieta Richter-Wąs Własności nieliniowych sieci wielowymiarowych Rozważmy przykładową sieć dwuwarstwową : Pierwsza warstwa, złożona z k neuronów otrzymujących sygnały wejściowe X, dzieli przestrzeń X tych sygnałów za pomocą k oddzielnych hiperp ł aszczyzn. Powstaje w ten sposób układ 2k liniowo rozdzielnych obszarów, które sygnalizowane są przez odpowiednie zestawy 0 i 1 jako wartości sygnałów neuronów pierwszej warstwy. Sygnały te podawane są z kolei na wejścia neuronów drugiej warstwy, które dokonują klasyfikacji zestawów tych sygnałów według zasady: sygnał wyjściowy neuronu drugiej warstwy ma wartość 0 lub 1 w zależności od tego, jaki podzbiór neuronów pierwszej warstwy sygnalizuje 0, a jaki 1. W efekcie neurony drugiej warstwy mogą rozpoznawać (sygnalizować) pojawienie się wektorów wejściowych X zawartych w pewnych ograniczonych obszarach przestrzeni X. Obszary te nie muszą być już równoważne do całej podprzestrzeni X, ponieważ możliwe jest sygnalizowanie bardziej złożonego podobszaru, ograniczonego z wielu stron fragmentami wielu hiperp ł aszczyzn.

13 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 13 Prof. dr hab. Elżbieta Richter-Wąs Własności nieliniowych sieci wielowymiarowych Siec dwuwarstwowa nie pozwala jeszcze rozpoznać dowolnego podobszaru przestrzeni X, ponieważ łatwo sprawdzić, że obszary sygnalizowane przez neurony drugiej warstwy musza być wypuk ł e oraz jednospójne (simpleksy). Jest to dość istotne ograniczenie. Aby się od niego uwolnić należy wprowadzić trzecią warstwę neuronów. Dopiero w rezultacie dołączenia trzeciej warstwy możliwe jest utworzenie dowolnych obszarów. Za pomocą nieliniowej sieci neuronowej o przynajmniej trzech warstwach można zrealizować dowolne odwzorowanie, wiążące w całkowicie dowolny sposób wejściowe sygnały X z wyjściowymi sygnałami sieci.

14 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 14 Prof. dr hab. Elżbieta Richter-Wąs Formy nieliniowości neuronu Funkcja wiążąca łączne pobudzenie neuronu e z jego sygnałem wyjściowym y y = (e) Funkcja ta może mieć różne postacie, dotychczas omawialiśmy postać progowa. Sigmoidalna funkcja wywodzącą się z funkcji logistycznej. d / de = y ( 1 – y ) Przebieg funkcji logistycznej dla dwóch wartości parametrów (oznaczenie na rysunku = Ważną własnością funkcji logistycznej jest fakt, że zbiór jej wartości należy do otwartego zbioru y (0,1), co oznacza, ze wartości 0, 1, mające istotne znaczenie przy niektórych interpretacjach funkcjonowania sieci neuronowych są nieosiągalne.

15 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 15 Prof. dr hab. Elżbieta Richter-Wąs Formy nieliniowości neuronu Funkcja tangens hiperboliczny: y = tanh ( e ) który można rozpisać jako exp ( e ) - exp ( - e ) y = exp ( e ) + exp ( - e ) Przy zastosowaniu tej funkcji y (0,1) Zaletą tej funkcji jest prosta formuła określająca pochodną tej funkcji w zależności od jej wartości d / de = ( 1 + y ) ( 1 – y ) Funkcja sinus: chętnie stosowana, można doformu ł ować do przedziału zamkniętego [-1,1]: -1 gdy e < - /2 y = sin( e ) gdy - /2 < e < /2 1 gdy e > /2 Ta postać funkcji jest szczególnie przydatna przy budowie sieci dokonującej transformaty Fouriera wejściowego sygnału.

16 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 16 Prof. dr hab. Elżbieta Richter-Wąs Formy nieliniowości neuronu Niekiedy nieliniowość ma postać nie różniczkowalną, przydatną w praktycznych zastosowaniach, ale kłopotliwą do teoretycznej analizy. Z bardziej znanych postaci można wymienić: Funkcje signum: 1 gdy e > 0 y = 0 gdy e = 0 -1 gdy e < 0 Zmodyfikowana funkcje signum: 1 gdy e > 0 y = -1 gdy e 0 Funkcja skoku jednostkowego: 1 gdy e > 0 y = 0 gdy e 0 Funkcja perceptonowa: e gdy e > 0 y = 0 gdy e 0 Funkcje signum: 1 gdy e > 0 y = 0 gdy e = 0 -1 gdy e < 0 Funkcja BAM (Bidirectorial Associative Memory) 1 gdy e > 0 y (j+1) = y (j) gdy e = 0 -1 gdy e < 0 Funkcja BSB (Brain State in a Box) 1 gdy e > 1 y = e gdy 1 > e > gdy e < -1 Funkcja SPR (Spatio-Temporal Pattern Recognition) y (j+1) = y (j) + A [ -a y (j) + b e + ] gdzie funkcja ataku A[u] = u gdy u > 0 u gdy u 0 zapis e + oznacza e + = e gdy e > 0 0 gdy e Powyższe funkcje są inżynierskie: opis który pozwala na wygodna analizę matematyczna, łatwą realizacje techniczna (perceptron) lub wygodne modelowanie w formie programu symulacyjnego (signum).

17 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 17 Prof. dr hab. Elżbieta Richter-Wąs Uczenie nieliniowego neuronu Rozważmy problem uczenia nieliniowych sieci neuronowych. Dla uproszczenia analizujemy wyłącznie regułę DELTA w jej podstawowej postaci. U =,, , > Formu ł e uczenia opieramy na regule minimalizacji funkcjonału błędu średniokwadratowego: Q = ½ ( z (j) – y (j) ) 2 gdzie y (j) = ( i (j) x i (j) ) Rozkładając funkcjonał błędu na elementy składowe związane z poszczególnymi krokami procesu uczenia Q = Q (j) gdzie Q (j) = ½ ( z (j) – (y (j) ) 2 j=1 N N N

18 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 18 Prof. dr hab. Elżbieta Richter-Wąs Uczenie nieliniowego neuronu Możemy zgodnie z gradientową strategią procesu uczenia zapisać algorytm zmian czynników wag i (j+1) – i (j) = i (j) = - Q (j) / i Analogiczny wzór wyprowadzono wcześniej dla sieci ADALINE, jednak treść tego wzoru jest w tym wypadku bogatsza ze względu na nieliniową funkcję (e). Q (j) / i = Q (j) / y i (j) y i (j) / i = Q (j) / y i (j) y i (j) / e (j) e (j) / i łatwo możemy obliczyć: Q (j) / y i (j) = - (z (j) – y (j) ) = - (j) e (j) / i = x i (j)

19 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 19 Prof. dr hab. Elżbieta Richter-Wąs Uczenie nieliniowego neuronu Problem może być natomiast z wyrażeniem y i (j) / e (j) = (e) / e (j) gdzie (e) nie zawsze jest różniczkowalne. Ostateczny wzór, na podstawie którego prowadzi się proces uczenia ma postać i (j) = - (j) (e) / e (j) x i (j)

20 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 20 Prof. dr hab. Elżbieta Richter-Wąs Uczenie nieliniowego neuronu Dość chętnie (bezkrytycznie) stosuje się w rozważaniach funkcje logistyczną y = (e) = 1/(1 + exp( - e) ) która ma łatwą postać pochodnej, (e) / e (j) = y (j) ( 1 - y (j) ) Ostateczny wzór dla funkcji logistycznej może być zapisany w prostszej postaci i (j) = - (z (j) – y (j) ) ( 1 - y (j) ) y (j) x i (j) Powyższy algorytm uczenia jest możliwy do bezpośredniego zastosowania jedynie w przypadku sieci jednowarstwowej.

21 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 21 Prof. dr hab. Elżbieta Richter-Wąs Uczenie sieci nieliniowej Dla sieci wielowarstwowych, które mają istotnie szersze możliwości przetwarzania informacji niż sieci jednowarstwowe omawiany poprzednio wzór nie daje się zastosować. Dla warstw wewnętrznych nie ma możliwości bezpośredniego określenia oczekiwanych (wymaganych) wartości sygnałów wejściowych z (j), a tym samych określenia wartości błędu (j). Rozważając ciąg U =,, , > mamy do dyspozycji n-wymiarowe wektory wejściowe X oraz k-wymiarowe wektory wyjściowe Z z neuronów terminalnych. Jeżeli odnotujemy błąd, czyli różnice ( X (j) - Z (j) ), to nie będziemy w stanie ustalić w jaki sposób za pojawienie się błędu odpowiadają neurony warstwy wyjściowej a jaki sposób powstał w elementach wcześniejszych (wewnętrznych) warstw. (Noszą one nazwę warstw ukrytych, hidden layers). Przez wiele lat nie było dobrego pomysłu w jaki sposób uczyć warstwy ukryte.

22 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 22 Prof. dr hab. Elżbieta Richter-Wąs Uczenie sieci nieliniowej W latach 80-tych zaproponowano algorytm tzw. wstecznej propagacji błędów (backpropagation), polegający na tym że mając wyznaczony błąd (m) (j) (j-ty krok uczenia m-tego neuronu) możemy rzutować ten błąd wstecz do wszystkich tych neuronów, których sygnały stanowiły wejścia do m-tego neuronu. W sieci wielowarstwowej niemożliwe jest ściśle rozgraniczenie sygnałów wyjściowych od sygnałów wejściowych, z tego względu wprowadzamy jednolitą numeracje wszystkich neuronów, oraz stosujemy stałe oznaczenia y m (j), niezależnie od tego czy jest to sygnał wejściowy czy wyjściowy (zawsze można założyć istnienie neuronu buforującego o odpowiedzi jednostkowej, takiego ze y m (j) =x i (j) ).

23 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 23 Prof. dr hab. Elżbieta Richter-Wąs Uczenie sieci nieliniowej Backpropagation w j-tym kroku uczenia, sygnał na wyjściu m-tego neuronu może być wyznaczony z następującej zależności: y m (j) = ( i (m)(j) y i (j) ) i gdzie i oznacza zbiór neuronów dostarczających sygnał wejściowy do konkretnego, rozważanego aktualnie m-tego neuronu. Pozornie zapis jest niejednoznaczny, ale ta niejednoznaczność jest pozorna ponieważ można (jeżeli chwilowo pominiemy problem sprzężeń zwrotnych) wyznaczyć taką kolejność wyliczania elementu y m (j), aby wszystkie y i (j), konieczne do jego wyliczenia, były już znane.

24 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 24 Prof. dr hab. Elżbieta Richter-Wąs Uczenie sieci nieliniowej Na samym początku wyznacza się poprawki dla neuronów stanowiących wyjściową warstwę sieci. Dla poszczególnych sygnałów y m (j) istnieją w ciągu uczącym wzorcowe (oczekiwane) wartości z m (j), z którymi można je porównywać, wyznaczając bezpośrednio błąd m (j). m (j) = ( y m (j) - z m (j) ) i (m)(j) = m (j) d (e)/de m (j) y i (j) dla funkcji logistycznej wzór ten ulega znacznemu uproszczeniu: i (m)(j) = - (z m (j) – y m (j) ) ( 1 - y m (j) ) y i (j) y m (j) k 0

25 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 25 Prof. dr hab. Elżbieta Richter-Wąs Uczenie sieci nieliniowej Dla warstwy ukrytej, przez analogię możemy zapisać i (m)(j) = m (j) d (e)/de m (j) y i (j) ale teraz nie mamy możliwości bezpośrednego wyznaczenia m (j). Załóżmy, że rozważany neuron należy do warstwy ukrytej, ale sygnały od niego docierają tylko do warstwy wyjściowej (dla której potrafimy określić k (j) ). Wówczas (backpropagation) m (j) = m (k)(j) k (j) m (k)(j) – waga w neuronie o numerze k, przy jego wejściu m Rzutowane wstecznie błędy przemnażane są przez te same współczynniki, przez które mnożone były sygnały, tyle tylko, że kierunek przesyłania informacji zostaje w tym przypadku odwrócony; zamiast od wejścia do wyjścia przesyła się je od wyjścia kolejno w kierunku wejścia.

26 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 26 Prof. dr hab. Elżbieta Richter-Wąs Uczenie sieci nieliniowej Powyższą technikę propagacji wstecznej błędów można powtarzać dla kolejno coraz głębszej warstwy sieci. Każdy neuron z warstwy ukrytej albo przesyła sygnały do wartości wyjściowych, albo znajduje się w jednej z głębszych warstw, wówczas jego błąd można oszacować z chwilą określenia błędów dla wszystkich neuronów w sieci które są odbiorcą jego sygnałów. W sieci feedforward zawsze daje się określić taką kolejność wstecznej propagacji błędów, która pozwala obliczyć błędy dla wszystkich elementów sieci. Uczenie tą metoda jest stosunkowo skuteczne ale powolne. Przyspieszanie: techniki momentu, kumulanty błędów, odrzucania małych poprawek, itp.

27 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 27 Prof. dr hab. Elżbieta Richter-Wąs Sieci CP (Counter Propagation) Wada, jaką jest powolny i uciążliwie pracochłonny proces uczenia w sieciach ze wsteczną propagacja błędów sprawiła, że pojawiły się jej sprawniejsze modyfikacje. Jedną z najbardziej znanych jest propozycja Hecht-Nielsena, określana jako sieć Counter-Propagation (CP).

28 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 28 Prof. dr hab. Elżbieta Richter-Wąs Sieci CP (Counter Propagation) Sieć CP właściwie nie jest oryginalną propozycją, lecz stanowi kompilację sieci Kohonena i sieci Grossberga. Jednak zestawienie tych sieci w strukturze sieci CP wprowadziło istotnie nowa jakość – sieć stosunkowo szybko się uczącą i mającą (potencjalnie) nieograniczony zakres możliwych odwzorowań pomiędzy sygnałem wejściowym X i wyjściowym Y.

29 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 29 Prof. dr hab. Elżbieta Richter-Wąs Sieci CP Podstawowym założeniem przy stosowaniu sieci CP jest normalizacja sygnałów wejściowych. Każdy wektor X wprowadzany do systemu musi spełniać warunek ||X|| = 1 (czyli X T X = 1). Normalizacja X jest dokonywana poza siecią neuronową. Normalizacja wejść jest potrzebna ze względu na element konkurencji (rywalizacji) występujący w pierwszej warstwie sieci CP. Do dalszego przetwarzania w kolejnej warstwie sieci przesyłany jest zaledwie jeden sygnał, pochodzący od tego elementu warstwy pierwszej który był najbardziej optymalnie dopasowany do przedstawionego sygnału wejściowego X. Pierwsza warstwa sieci CP jest warstwą realizująca algorytm Kohonena.

30 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 30 Prof. dr hab. Elżbieta Richter-Wąs Sieci CP Pierwsza warstwa sieci CP jest warstwą realizująca algorytm Kohonena. Wektory wejściowe X mnożone są przez wektory wag W j poszczególnych neuronów sieci dostarczając wartości e j będących sumarycznym (ważonym) pobudzeniem każdego neuronu. e j = W j T X a następnie wybierany jest element o największej wartości pobudzenia e j (zwycięzca) i tylko jego sygnał wyjściowy przyjmuje wartość 1. To jest właśnie ten tytułowy counter zastępujący i symbolizujący wszystkie sygnały wejściowe.

31 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 31 Prof. dr hab. Elżbieta Richter-Wąs Zasada pierwszej warstwy sieci CP Zasada działania sieci Kohonena zakłada, że sygnał wejściowy e j każdego neuronu jest miarą stopnia podobieństwa pomiędzy aktualnym sygnałem wejściowym X, a abstrakcyjnym wzorcem sygnału, na którego wykrywanie wytrenowany jest j-ty neuron. Ten wzorzec idealnego sygnału dla j-tego neuronu zawarty jest w jego wektorze wag W j. Jeżeli: X = W j neuron odpowiada sygnałem o maksymalnej wartości X W j wówczas e j jest miarą kąta pomiędzy wektorami X i W j ej = W j T X = ||W j T || ||X|| cos( ) miara ta jest wiarygodna jeżeli ||W j T || = 1 oraz ||X|| = 1 Przykład sieci CP ilustrujący wady jej działania: W T 1 = [1 2 3] W T 2 = [0 1 0] X = [1 2 3] to e 1 =14, e 2 = 2 wgrywa neutron 1 X = [0 1 0] to e 1 = 2, e 2 = 1 wygrywa neuron 1 ZLE Błąd pojawił się ponieważ wejścia X oraz wektor wag nie były znormalizowane.

32 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 32 Prof. dr hab. Elżbieta Richter-Wąs Zasada drugiej warstwy sieci CP Druga warstwa sieci realizuje algorytm Outstar Grossberga. Jeżeli oznaczymy, że sygnały wejściowe do tej warstwy tworzą wektor K, a sygnał wyjściowy Y obliczany jest wg. klasycznej reguły Y = V K, gdzie macierz współczynników wagowych V składa się z transponowanych wektorów V i odpowiadających zestawom wag kolejnych neuronów warstwy wyjściowej. Z formalnego punkty widzenia, sygnał z neuronów warstwy wyjściowej ma postać y i = v ij k j gdzie m ma z reguły dużą wartość. W praktyce tylko jeden element wektora K ma wartość 1, pozostałe maja wartość 0 i wystarcza utożsamić wyjścia y j z pewnym współczynnikiem v ij. Na wszystkich wyjściach pojawiają się tylko te wartości v ij które odpowiadają numerowi j dla których k j =1. Zauważmy, że działanie to przypomina odczyt gotowej tabeli. j=1 m

33 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 33 Prof. dr hab. Elżbieta Richter-Wąs Uczenie pierwszej warstwy sieci CP Uczenie sieci CP przebiega równocześnie w obu warstwach sieci. Jest to proces uczenia z nauczycielem, wraz z każdym wektorem wejściowym X podany jest wektor wyjściowy, jaki użytkownik chce uzyskać z sieci. przy uczeniu pierwszej warstwy stosuje się technikę Kohonena, która jest formą uczenia bez nauczyciela przy uczeniu drugiej warstwy stosuje się algorytm Grossberga do bezpośredniego wymuszania pożądanych odpowiedzi sieci. Zgodnie z regułą Kohonena uczenie przebiega następująco:

34 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 34 Prof. dr hab. Elżbieta Richter-Wąs Uczenie pierwszej warstwy sieci CP Na k-tym kroku pokazuje się wektor wejściowy X (k), a dysponując (z wcześniejszych kroków procesu uczenia) wartościami wszystkich wektorów W j (k) można obliczyć wszystkie wartości e j (k) e j (k) = W j (k)T X (k), j=1,2,...,m oraz wyznaczyć numer zwycięskiego neuronu (tzn. tego, dla którego zachodzi) ( j z ) e z (k) > e j (k) Korekcie podlegają wyłącznie wagi zwycięskiegoneuronu według reguły W z (k+1) = W z (k) + 1 ( X (k) – W z (k) ) współczynnik uczenia 1 jest przyjmowany początkowo jako 0.7, potem stopniowy zmniejszany.

35 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 35 Prof. dr hab. Elżbieta Richter-Wąs Uczenie pierwszej warstwy sieci CP Przy realizacji metody Kohonena najważniejsze są pierwsze kroki. Najpierw należy nadać współczynnikom wagowym w ij wartości początkowe. Należy zapewnić unormowanie wszystkich wag ||W j (1) || = 1 oraz wskazane jest takie dobranie kierunków, by w sposób równomierny rozkładały się na powierzchni jednostkowej w przestrzeni n-wymiarowej. To nie jest takie proste w realizacji. Technika convex combination method. Początkowo, wszystkim składowym wszystkich wektorów wag nadaje się te sama wartość początkowa ij (1) = sqrt(1/n) W procesie uczenia jako wektory wejściowe podajemy x i (k) = 2 (k) x i (k) + [1 - 2 (k) ] sqrt(1/n) gdzie 2 (k) – funkcja adaptująca, która dla małych k przyjmuje małe wartości a potem stopniowo rośnie to wartości 1 i tą wartość zachowuje podczas całego procesu uczenia.

36 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 36 Prof. dr hab. Elżbieta Richter-Wąs Uczenie drugiej warstwy sieci CP Uczenie drugiej warstwy sieci jest wykonywane wg. następującej reguły: v ij (k+1) = v ij (k) + 3 (y i – z i ) k j Ponieważ tylko jedna wartość k j jest różna od zera i w każdym kroku procesu uczenia korygowane są tylko te wagi, które łączą poszczególne neurony wyjściowej warstwy z jednym tylko – zwycięskim elementem poprzedniej warstwy. Ta zasada (zwana regułą outstar) znacznie zmniejsza pracochłonność procesu uczenia. Parametr 3 wybiera się ostrożnie tak,aby proces uczenia nie spowodował wpisania do look-up tablicy błędnych wartości.

37 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 37 Prof. dr hab. Elżbieta Richter-Wąs Uczenie drugiej warstwy sieci CP Sieć CP potrafi uogólniać i kojarzyć dostarczone jej informacje. W rozbudowanej wersji jest ona dość chętnie i z powodzeniem stosowana. Doskonale zdają egzamin jako systemy klasyfikacji i rozpoznawania obrazów, są wykorzystywane w automatyce i robotyce, są cenione jako systemy do redukcji ilości przesyłanych informacji (transmisji obrazów).

38 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 38 Prof. dr hab. Elżbieta Richter-Wąs Autoasocjacyjna siec CP Wersja autoasocjacyjna oznacza, ze sieć nauczona realizacji odwzorowania X Y może również realizować odwzorowanie Y X Uczenie sieci polega na tym ze na wejście podaje się X, Y (jako sygnały wejściowe) na wyjściu oczekuje się również X,Y. Siec uczy się realizacji odwzorowania tożsamościowego. Eksploatuje się sieć podając tylko sygnał X (k) (wejścia Y bez sygnału), na wyjściu otrzymuje się odtworzony X (k) oraz również Y (k) który na etapie uczenia był kojarzony z X (k).

39 Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/ /10/05 39 Prof. dr hab. Elżbieta Richter-Wąs Autoasocjacyjna siec CP Ponieważ na etapie uczenia sygnały X, Y są całkowicie równoprawne, sieć potrafi także odtwarzać odwzorowanie odwrotne. Wystarczy na wejściu podać sygnał Y (k), pozostawiając wejścia X (k) bez sygnału, na wyjściu otrzymamy X (k) oraz oczywiście odtworzony przez sieć Y (k). Sieci CP znalazły liczne zastosowania: Doskonale zdają one egzamin jako systemy klasyfikacji i rozpoznawania obrazów, są wykorzystywane w automatyce i robotyce do sterowania określonych systemów, są bardzo cenione jako systemy służące do przesyłania informacji – na przykład podczas transmisji obrazów.


Pobierz ppt "Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ – 2005/2006 21/10/05Prof. dr hab. Elżbieta Richter-Wąs Wykład 3 Nieliniowe Sieci Neuronowe Sieci CP."

Podobne prezentacje


Reklamy Google