Wstęp do Sieci Neuronowych

Wielkość: px
Rozpocząć pokaz od strony:

Download "Wstęp do Sieci Neuronowych"

Transkrypt

1 Wstęp do Sieci Neuronowych Maja Czoków, Jarosław Piersa, Tomasz Schreiber 5 listopada 3 975, Profesor Uniwersytetu Mikołaja Kopernika w Toruniu. Autor oryginalnej formy wykładu na WMiI.

2

3 Spis treści Modele pojedynczych neuronów i ich zastosowania 5. Neuron biologiczny Perceptron prosty Dynamika perceptronu prostego Postacie funkcji aktywującej Dynamika działania Interpretacja geometryczna Ograniczenia perceptronu prostego Uczenie perceptronu Algorytm uczenia perceptronu (Simple perceptron learning algorithm, SPLA) Algorytm kieszonkowy (Pocket learning algorithm, PLA) Algorytm z zapadką (ang. Pocket algorithm with ratchet, RLA, PAwR) Poprawność algorytmów Zagadnienia klasyfikacyjne z wieloma kategoriami Maszyna liniowa Uzasadnienie poprawności konstrukcja Kesslera Warstwy ukryte, Radialne Funkcje Bazowe / Radial Basis Functions RBF Adaline Definicja Zagadnienie uczenia Adaline Poprawność algorytmu Wielkość stałej uczenia ρ APPENDIX: Algorytm Spadku Gradientowego Sieci skierowane 9. Sieci skierowane Algorytmy konstukcyjne Algorytm wieżowy Aglorytm piramidalny Algorytm kafelkowy Algorytm upstart Algorytm propagacji wstecznej dla sieci skierowanych Perceptron sigmoidalny Wsteczna propagacja błędu / Backerror propagation Dowód algorytmu Propagacja wsteczna z bezwładnością Literatura. R. Rojas Neural Networks, A Systematic Introduction, Springer 996,. P. Peretto, Introduction to Modeling Neural Networks, Cambridge University Press 99, 3. C. Bishop, Neural Networks for Pattern Recognition, Oxford University Press

4 SPIS TREŚCI Program. Informacje o przedmiocie, warunki zaliczenia. Pojedynczy neuron. Model perceptronu prostego, dynamika i uczenie Maszyna liniowa, dynamika i uczenie 3. Sieci skierowane. Toplogie, algorytmy konstrukcyjne, algorytmy uczenia Algorytm Wstecznej propagacji błędu. Uczenie bez nauczyciela, samoorganizacja, alg. Kohonena k-means, ART 5. Analiza składowych głównych PCA 6. Regresja liniowa, walidacja danych 7. Sieci rekurencyjne, podstawowe informacje 8. Sieć Hopfielda, model, dynamika, zastosowania w optymalizacji grafowej i graficznej 9. Łańcuchy Markowa, informacje, własności, zastosowania. Maszyny Boltzmanna i symulowane wyżarzanie. (?) Wielowartościowe sieci neuronowe, sieci zespolone, SVM. (?) Algorytmy genetyczne

5 Rozdział Modele pojedynczych neuronów i ich zastosowania. Neuron biologiczny Dendryty Jądro neuronu Ciało komórki Przewężenie Ranviera Komórka Schwanna Otoczka mielinowa Akson Zakończenia aksonów Rysunek.: Schemat komórki neuronowej. Rysunek za Krótkie wprowadzenie nie objęte egzaminem informacje o neuronach jako podstawowych jednostkach obliczeniowych mózgu, budowa anatomiczna neuronu (rys..), przybliżona dynamika neuronu jako integratora, który zbiera spływający prąd jonowy i po przkroczeniu progu sam wysyła impuls elektryczny, żadnych układów równań różniczkowych nie będzie (na razie) informacje o masowym paraleizmie ( neuronów, 5 połączeń synaptycznych), angdotki historyczne... 5

6 6 ROZDZIAŁ. MODELE POJEDYNCZYCH NEURONÓW I ICH ZASTOSOWANIA Zagadnienie Mając dane pewne obiekty opisane przez zestaw numerycznych cech (czyt. wektor liczb) chcemy stworzyć system, który będzie w stanie przypisać danym obiektom pewną kategorię, do której należą. Dodatkowo chcemy aby system był w stanie samodzielnie się takiej kategoryzacji nauczyć, jeżeli zobaczy przykładową listę obiektów z przypisanymi już poprawnymi kategoriami. Chcemy aby system działał również dla danych, których nie widział w trakcie uczenia (coś bardziej finezyjnego niż słownik).. Perceptron prosty Na początek zajmiemy się kategoryzacją binarną, tj. podziałem albo obiekt należy do danej, klasy, albo nie. Perceptronem prostym nazywamy następujący model składający się z: określonej liczby wejść n, wagi stowarzyszonej z każdym wejściem w i R, i =..n funkcji aktywującej φ : R R out Rysunek.: Schemat działania perceptronu.. Dynamika perceptronu prostego. Mając n wejść x...x n liczbowych perceptron zwraca wartość.. Postacie funkcji aktywującej out = φ( Identyczność φ(s) = s taka jednostka liczy po prostu sumę ważoną wejść, Afiniczna φ(s) = c s + c, Funkcja progowa (bipolarna) φ(s) = n x i w i ) (.) i= { s < p s p Wartość p jest w tym przypadku dodatkowym parametrem opisującym perceptron. Ten typ funkcji modeluje wysyłanie impulsu po przekroczeniu pewnego progu, które to zachowanie z pewnym przybliżeniem charakteryzuje komórki neuronowe. Taki model nazywamy perceptronem progowym funkcja znakowa (polarna) φ(s) = { s < p + s p Funkcja podobna do poprzedniej z tą różnicą, że wartość, łatwo implementowalna poprzez funkcję sign().

7 .. PERCEPTRON PROSTY Rysunek.3: Funkcja znakowa. Sigmoida φ(s) = σ(s) = + exp( βs) Funkcja sigmoidalna może tu dziwić. Wymaga dzielenia i potęgowania, czyli więcej obliczeń, co nie powinno być wskazane przy wielokrotnym wykonywaniu. Jednakże jest ciągła i różniczkowalna co ma zasadnicze znaczenie przy algorytmach uczenia i przybliża funkcją bipolarną. Ponadto zachodzi Symetryczna sigmoida (lim x φ = ) σ (s) = σ(s) ( σ(s)) φ(s) = exp( βs) + exp( βs).5 = = =5 = Rysunek.: Funkcja sigmoidalna z parametrami β =, β = 3, β =...3 Dynamika działania Mając dany punkt x R n perceptron prosty z progową funkcją aktywacji zwraca wartość + albo. Naturalną interpretacją jest przypisanie jednej z dwóch klas do danego punktu. Perceptron zwróci + dokładnie wtedy, gdy zachodzi n x i w i p i= Czasami przyjmuje się inną interpretację perseptronu progowego. Przyjmowane jest dodatkowe sztuczne wejście, które jest zawsze aktywne x = wraz z wagą w = p. Wówczas perceptron zwraca +, gdy: n x i w i i=

8 8 ROZDZIAŁ. MODELE POJEDYNCZYCH NEURONÓW I ICH ZASTOSOWANIA co jest równoważne n x i w i w = p i=.. Interpretacja geometryczna Przyjmijmy n =. W tej sytuacji, zbiorem punktów, dla których preceptron zwróci +, jest cała półpłaszczyzna po jednej stronie prostej x w + x w = p. Dla n = 3 zauważamy, że zborór rozdzielający jest płaszczyzną R w przestrzeni R 3. w x + w x + w 3 x 3 p = Przechodząc z n do wyższych wymiarów zauważamy, podział również przebiega wzdłuż pewnej hiperprzestrzeni opisanej przez równanie n x i w i p = i= W wypadku stosowania funkcji polarnych, efekt jest ten sam, z tym że klasyfikacja jest oznaczana poprzez + i. Dla funkcji ciągych (sigmoida), uzyskamy klasyfikację rozmytą na linii separującej Rysunek.5: Zbiór uczący na R z dwiema kategoriami oraz prosta rozdzielająca. Parametry perceptronu: w =.5, w =, p = w = Z punktu widzenia wektora wag w = (w..w n ) t zbiór separujący jest hiperpłaszczyzną (podprzestrzenią), która jest prostopadła do wektora wag oraz dodatkowo przesunięta o..5 Ograniczenia perceptronu prostego Z powodu wyżej wymienionej dynamiki perceptron prosty jest w stanie klasyfikować tylko zbiory, które dają się rozdzielić od siebie poprzez prostą na R, płaszczyznę na R 3 oraz hiperpłaszczyznę w wyższych wymiarach. Takie problemy nazywamy liniowo separowalnymi. Definicja Dwa zbiory punktów A oraz B w R n nazywamy liniowo separowalnymi jeżeli istnieje n + liczb w...w n, p R, które spełniają: dla każdego (x..x n ) A zachodzi n i= x i, w i p oraz dla każdego (x..x n ) B zachodzi n i= x i, w i < p Jeżeli podział zbioru nie jest liniowo separowalny, to nie istnieje perceptron (tj. układ wag i progu), który będzie w stanie zwrócić poprawną klasyfikację. W niskich wymiarach jest to dość duże ograniczenie. Ale w wyższych okazuje się, że pozwala na tworzenie dość dobrych klasyfikatorów. p w. Przykład Prostym przykładem problemu nieseparowalnego liniowo jest XOR.

9 .. PERCEPTRON PROSTY Rysunek.6: Problem XOR. Kiedy stosować perceptrony? W wypadku przestrzeni wysoko-wymiarowych, gdy chcemy uzyskać pewną generalizację klasyfikacji (intuicynie: podobne dane dają podobne wyniki), gdy chcemy uzyskać pewną odporoność na szum. Kiedy nie wiadomo jaki model będzie działał. Perceptron jest szybki i prosty w implementacji. Warto spróbować na początku, jeżeli nie daje zadowalających wyników, to należy stosować silniejsze narzędzia. Kiedy nie stosować perceptronów Perceptrony źle sobie radzą z uczeniem się funkcji logicznych, kiedy dane uczące różnią się na jednym bicie np. czy liczba zapisana binarnie jest podzielna przez 3?..6 Uczenie perceptronu Zagadnienie Niech dana będzie pewna ilość przykładów ((E (), C () ),..., (E (N), C (N) )). Za cel stawiamy sobie dobranie takiego układu wag i progu, by perceptron otrzymujący na wejściu E (i) dawał na wyjściu C (i)...7 Algorytm uczenia perceptronu (Simple perceptron learning algorithm, SPLA) Jest to podstawowy algorytm uczenia.. Przypisujemy wagom i progowi małe losowe wartości wokół,. Przebiegamy kolejno przykłady (albo jeden po drugim, albo (zalecane) losując z listy), 3. Dla wybranego przykładu E sprawdzamy, czy E jest dobrze klasyfikowany, Jesli tak, to wracamy do, Jesli nie, to korygujemu wartości wag oraz progu w i := w i + CE i θ := θ C,. Wracamy do kroku. Iteracje kończymy, jeśli wszystkie przykłady są dobrze sklasyfikowane (w przypadku wyborów zgodnych z kolejnością odpowiada to przebiegnieciu calej listy bez wprowadzania zmian, w przypadku doboru losowego odpowiednio długiej serii iteracji bez zmian wag). Uwaga. Jesli problem jest liniowo speparowalny, a więc istnieje odpowiedni zestaw wag oraz progu, to SPA go znajdzie. Uwaga. Algorytm modyfikuje wagi i próg, jeśli przykład E jest źle sklasyfikowany, czyli sign(< E, w > θ) C.

10 ROZDZIAŁ. MODELE POJEDYNCZYCH NEURONÓW I ICH ZASTOSOWANIA Niech najpierw C =, wtedy < E, w > θ <. Kładąc w = w + E mamy sprawdzić, czy < E, w + E > (θ ) > θ < E, w + E > (θ ) = < E, w > + < E, E > θ + = < E, w > θ+ < E, E > + Podobnie dla C = i < E, w > θ < Uwaga. Jesli dane uczące nie są liniowo separowalne, to SPLA zapętla się bez zwrocenia sensownego wyniku...8 Algorytm kieszonkowy (Pocket learning algorithm, PLA) Często rozkład przykladów jest na tyle skomplikowany, że ich idealna klasyfikacja przez perceptron prosty jest niemożliwa. Dążymy wówczas do tego, by sklasyfikować poprwnie jak największą ilość przykładów. Sluży do tego następujacy algorytm.. Przypisujemy wagom i progowi małe losowe wartości wokół, przypisujemy takiemu układowi wag zerowy czas życia, kopie wag, progu i czasu życia zapamiętujemy jako rekordzistę,. Przebiegamy przykłady losujac z listy, 3. Dla lylosowanego przykładu E sprawdzamy, czy E jest dobrze klasyfikowany, Jeśli tak, to zwiekszamy mu czas życia o jeden. Jeżeli jest to wynik lepszy niż u dotychczasowego rekordzisty, zapominamy dotychczasowego rekordziste i zapisujemy bieżacy uklad wag (i próg) jako nowego rekordzistę. W każdym z wypadków wracamy do, Jeśli nie, to przypisujemy w i := w i + CE i oraz θ := θ C, nowo powstałemu układowi przypisujemy zerowy czas życia,. Wracamy do. Algorytm kończymy po odpowiednio dużej ilości iteracji. Uwaga. Algorytm może zmienić dobre wagi rekordzisty na gorsze, skoro tylko informacja z ostatnio użytego przykładu jest wykorzystana (nie ma tego w algorytmie z zapadka). Prawdopodoieństwo, że się to stanie jest maleje wraz ze wzrostem ilości iteracji. Jeśli zbiór przykładów jest skończony i wagi sa wymierne, to można pokazać, że algorytm z prawdopodobienstwem zbiega do optymalnego rozwiazania...9 Algorytm z zapadką (ang. Pocket algorithm with ratchet, RLA, PAwR) Jest to modyfikacja powyżeszgo algorytmu. Jeśli ma nastapić zmiana rekordzisty, to sprawdzamy czy istotnie nowy kandydat na rekordzistę klasyfikuje poprawnie wiecej przykładow niż dotychczasowy rekordzista. Jeśli tak, to dokonujemy zmiany. Jesli nie, to zmianę blokujemy. Czasem może to minimalnie poprawić wydajność.. Przypisujemy wagom i progowi małe losowe wartości wokół, przypisujemy takiemu ukladowi wag zerowy czas życia, kopie wag, progu i czasu życia zapamiętujemy jako rekordzistę,. Przebiegamy przykłady, losując z listy, 3. Dla wybranego przykładu E sprawdzamy, czy E jest poprawnie klasyfikowany, Jesli tak, to zwiększamy mu czas życia o jeden. Jeżeli jest to wynik lepszy niż u dotychczasowego rekordzisty i jeżeli dotychczasowy rekordzista klasyfikował poprawnie nie więcej przykladów niż bieżacy układ, zapominamy go (dotychczasowego rekordziesę) i zapisujemy bieżacy układ wag jako nowego rekordzistę. Wracamy do punktu, Jeśli nie, to korygujemy wagi w i := w i + CE i oraz próg θ := θ C, nowo powstałemu układowi przypisujemy zerowy czas życia,

11 .. PERCEPTRON PROSTY. Wracamy do. Algorytm kończymy po odpowiedniej ilości iteracji. Uwaga. Wydajnosc algorytmow PLA i PAwR jest porównywalna, ponieważ plusem PAwR jest brak błędnych uaktualnień rekordzisty, natomiast minusem czas realizacji modyfikacji (dodatkowy koszt obliczeń)... Poprawność algorytmów W algorytmach pocket i pocket with ratchet zachodzi zbiezność wedłóg prawdopodobieństwa ilości dobrze sklasyfikowanych przykładow do wartości optymalnej (na podstawie pracy Marco Muselli On Convergence Properties of Pocket Algorithm). lim P (ε(w(t)) ε min < η) =, t Dla każdej η >, gdzie ε jest to funkcja błędu (ilość źle klasyfikowanych przykladów dla perceptronu z bipolarną funkcją aktywacji, por rys..7), natomiast w(t) to wagi w t-tej iteracji algorytmu) W przypadku prostej nauki mamy Twierdzenie Rozważmy separowalny zbiór przykładów ((E (n), C (n) )) N n= i załóżmy, że istnieje układ wag (w,..., wk ) i próg θ oraz σ > takie, że wj E j θ > σ dla wszystkich przykładów. Niech ponadto długość przykładów będzie wspólnie ograniczona przez K. Wówczas algorytm prosty osiągnie cel po wykonaniu najwyżej K ( (wi ) + (θ ) )/σ iteracji. Dowód Możemy bez straty ogólności wyzerować próg wydłużając o jeden przykłady (dopisując im na początku i traktując próg jako dodatkową wagę). Ponadto, ewentualnie zmieniając znaki, możemy uznać, że C (n) = + dla wszystkich n. Wtedy nasz perceptron zwraca znak iloczynu skalarnego w, E. Poprawiane wagi w wypadku złej klasyfikacji wynoszą: Ustalając η =.5 uzyskujemy: w t+ = w t + ηe (n) (C n O) = w t + E n η ( ( )) w t+ = w t + E n Policzmy (im większy iloczyn skalarny, tym bliższe sobie są wektory w i w t+ ): w, w t+ = w, w t + E (n) w, w t + σ Z kolei Stąd w, w t+ w, w t + E (n) + σ w, w t + σ w, w t tσ. (.) Z drugiej strony mamy oszacowanie długości wektora wag po t-tej poprawce: w t+ = w t + E(k), w t + E(k) = w t + w t, E(k) + E(k) Zauważmy, że w t, E(k) <. Inaczej przykład E k byłby poprawnie klasyfikowany, więc nie uaktualnialibyśmy wag. w t + w t, E(k) + E(k) w t + E(k) Stąd Zestawiając nierówności (.) i (.3) dostajemy w t tk (.3) tσ w, w t w w t w K (t) co daje oszacowanie na czas: Co kończy dowód. t w K σ

12 ROZDZIAŁ. MODELE POJEDYNCZYCH NEURONÓW I ICH ZASTOSOWANIA theta = Error w - w - Rysunek.7: Profil funkcji błędu (ilość błędnie klasyfikowanych przykładów) dla danych OR w zależności od wag (w, w ). Wartość progu jest ustalona na p=.5..3 Zagadnienia klasyfikacyjne z wieloma kategoriami Rozważmy kategoryzację, w której chcemy odwzorować podział obiektów na trzy lub więcej kategorii..3. Maszyna liniowa Załóżmy teraz, że dany jest pewien zestaw przykładów ((E (n), C (n) )) N n=, gdzie C (n) nie są już w zbiorze, +, ale należą do pewnego liczniejszego zbioru kategorii. Do rozwiązania takiego problemu używamy tzw. maszyn liniowych (winner-take-all groups). Każdej kategorii odpowiada jedna jednostka o identycznościowych aktywacjach. Przyklad jest klasyfikowany do tej kategorii, której jednostka osiągnęła najwyższą aktywację. Jak się uczy takie maszyny? Algorytm uczenia. Losujemy wagi, pamiętajac, by były w pobliżu (progów nie ma!),. Wybieramy przykład E (losowo lub wg kolejności), 3. Dla wybranego przykładu E sprawdzamy, czy E jest dobrze klasyfikowany, Jeśli tak, to wracamy do, Jeżeli przyklad jest źle klasyfikowany: niech i bedzie numerem prawdziwej kategorii C, zaś j kategorii wygrywajacej. Wtedy dodajemy E do wag kategorii i oraz odejmujemy E od wag kategorii j (nie wolno odejmować od innych, to zaburzyłoby stabilność algorytmu). Wracamy do. Oczywiscie, ten algorytm ma swoje odmiany (simple, pocket, pocket with ratchet) analogiczne do odpowiednich odmian dla perceptronu prostego..3. Uzasadnienie poprawności konstrukcja Kesslera Okazuje się, że wszystkie twierdzenia o zbieżnosci i o zapętleniu sformułowane powyżej mają swoje odpowiedniki dla maszyn liniowych. Wykazaniu tego służy konstrukcja Kesslera, zamieniająca każdy przykład klasyfikacyjny dla n wejść i k kategorii na k przykladów dla k n wejść (parujemy wygrywającą kategorię i po kolei z wszystkimi innymi kategoriami j tworząc wektory (,..., E j,..., E i,..., ), które mają być sklasyfikowane pozytywnie. Po przeniesieniu algorytmu uczenia maszyny liniowej przez konstrukcję Kesslera otrzymujemy algorytm uczenia perceptronu z wyborem zawsze najgorszego źle klasyfikowanego przykładu przebijającego poprawną kategorię. Ale w dowodzie tw. o zbieżnosci nie było mowy o kolejności.

13 .. WARSTWY UKRYTE, RADIALNE FUNKCJE BAZOWE / RADIAL BASIS FUNCTIONS RBF 3 Przykłd Rozważmy maszynę liniową z 3-ma wejściami (u, u, u 3 ) i z 3-ma wyjściami (u a, u b, u c ) (3 kategorie, 3 perceptrony). Skonstruujemy równoważną jednostkę jednokomórkowę składającą się z 9-u wejść (u,..., u 9 ) i jednego wyjścia u. 9 wag jednostki odpowiada poszczególnym wagom maszyny liniowej. Konstrukcja przykladow uczacych. Załóżmy, ze dla przykładu E = [E, E, E 3 ] najwyższą wartość powinna zwrócić jednostka u b Wtedy dla zmodyfikowanego problemu dla pojedynczej jednostki mamy dwa przykłady uczące E = [ E, E, E 3, E, E, E 3,,, ], C = E = [,,, E, E, E 3, E, E, E 3 ], C = E będzie dobrze sklasyfikowany wtedy i tylko wtedy, gdy [w,, w,5, w,6 ]E > [w,, w,, w,3 ]E natomiast E bedzie dobrze sklasyfikowany wtedy i tylko wtedy, gdy Wagi dla problu z jedną jednostką [w,, w,5, w,6 ]E > [w,7, w,8, w,9 ]E [w,, w,, w,3, w,, w,5, w,6, w,7, w,8, w,9 ] mogą zostać przekształcone na wagi dla trzech jednostek wyjściowych w orginalnej maszynie liniowej w nastepujący sposób w a, = w, w a, = w, w a,3 = w,3 w b, = w, w b, = w,5 w b,3 = w,6 w c, = w,7 w c, = w,8 w c,3 = w,9 Patrz książka Gallant, Neural Network learning and Expert Systems.. Warstwy ukryte, Radialne Funkcje Bazowe / Radial Basis Functions RBF Idea polega na dodaniu pewnej liczby jednostek ukrytych U,..., U m. Każda z jednostek przyjmuje jako wejścia wszystkie dane wejściowe x,..., x n oraz ma przypisane dodatkowe wagi powiązane do funkcji radialnych wejścia: φ(x) = f( x ) Zazwyczaj korzystamy z normy euklidesowej tj: x = n Taka jednostka zwraca wartość: Przykłady RBF φ(x) = x x φ(x) = exp( x x c ) φ(x) = ( x x + c ) d, gdzie < d < φ(x) = ( x x + c ) d, gdzie d < out(x) = φ(x) = c x x ln(c x x ), gdzie c > i= x i n w i φ(x) i= Główny perceptron jako wejścia przyjmuje wszystkie dane wejściowe x,..., x n oraz m wyników z jednostek ukrytych U,..., U m. Łącznie ma m + n wejść, tyleż wag oraz próg. Wagi jednostki głównej oraz próg podlegają uczeniu algorytmem kieszonkowym (z zapadką). Dodanie do sieci ukrytych jednostek o wyżej opisanej dynamice i z losowymi wagami przenosi nieseparowalne dane uczące do wyższego wymiaru, gdzie dzięki losowości mogą stać się separowalne. Jednostki ukryte stanowią tzw. warstwę ukrytą lub warstwę rozproszoną.

14 ROZDZIAŁ. MODELE POJEDYNCZYCH NEURONÓW I ICH ZASTOSOWANIA 5 5 RBF 5 5 y x y x Rysunek.8: Wykres funkcji f(x) = /(x ) + (y ) + f(x) = exp(- (x - x ) / ( sigma )) f(x) = exp(- (x - x ) / ( sigma )) 3.8 RBF.6 y x y x Rysunek.9: Wykres funkcji f(x) = exp x (,) out Rysunek.: Przykładowa warstwa ukryta.

15 .5. ADALINE 5.5 Adaline Jeżeli kategorii jest nieskończenie wiele, to taką kategoryzację możemy utożsamiać z funkcją f : R n R. Chcemy skonstruować system, który będzie w stanie (przy pewnych założeniach) lokalnie przybliżał daną funkcję. Jak poprzednio, chcemy aby system (pół-)samodzielnie nauczył się tej funkcji na podstawie przykładów uczących..5. Definicja Maszyna Adaline (Adaptive Linear Network) składa się z n wejść x,.., x n (w ogólności rzeczywistych) oraz stowarzyszonych z każdym wejściem wag w,.., w n. Przyjmujemy, że funkcja aktywująca ma postać identycznościową, tj. odpowiedź jednostki: n S(x,.., x n ) = w i x i Jednostka zwraca odpowiedź rzeczywistą, co za tym idzie pozwala na aproksymację funkcji ciągłych..5. Zagadnienie uczenia Adaline Dane: Lista m danych wejściowych E i = (e i,.., e i n), gdzie i =..m oraz odpowiadających im poprawnych odpowiedzi C i R. i= Wynik: Wartości wag w j maszyny, która będzie minimalizowała funkcję błędu: m ERROR = (S(e i,.., e i n) C i ) i= Algorytm:. Przypisz wagi losowo małe wokół zera.. Losowo wybierz przykład E oraz poprawną odpowiedź C uczący z listy. 3. Oblicz aktywację jednostki na przykładzie E n S = w i e i i=. Przypisz gdzie ρ > jest małą stałą uczenia. w j := w j + ρ(c S) e j 5. Jeżeli algorytm przebiegł określoną liczbę iteracji lub osiągnął odpowiednio niski błąd, to zakończ. W przeciwnym wypadku wróć do..5.3 Poprawność algorytmu. Zauważmy, że jest to algorytm spadku gradientowego. Określona jest funkcja błędu ERROR : R n R na przestrzenie wag. m n ERROR(w,..., w n ) = ( w i e j i Cj ) Chcemy znaleźć wagi, które minimalizują wartość tej funkcji. Policzmy pochodne cząstkowe funkcji błędu po wagach, przy ustalonym przykładzie (S, C): w j (S C) = w j ( i j= w i e i C) = ( i i= w i e i C) w j ( i w i e i C) Zauważmy, że w j ( i w i e i C) = i w i e i C = e j w j w j

16 6 ROZDZIAŁ. MODELE POJEDYNCZYCH NEURONÓW I ICH ZASTOSOWANIA Czyli pochodna cząskowa upraszcza się do: w j (S C) = ( i w i e i C)e j = (S C)e j Gradient pochodnych cząstkowych wskazuje kierunek największego wzrostu funkcji błędu. największy spadek, należy odwrócić zwrot (przemnożyć przez ). Aby uzyskać.5. Wielkość stałej uczenia ρ. Z jednej strony musi być ρ >. Przyjmijmy oznaczenia: w wektor wag przed zmianą, E przykład uczący, C oczekiwana odpowiedź, S = we uzyskana odpowiedź, w = w + ρ(c S)E wektor wag po zmianie. Enariga układu E() po zmianie (błąd, który chcemy zmniejszać): = E(w ) = (w E C) = ((w + ρ(c S)E)E C) = ( (we C) + ρ(c S) E ) = ( E(w) / ρe(w) / E ) = ( E(w) ρe(w) E + ρ E(w) E ) = E(w) ( ρ E + ρ E ) = = E(w) ( + ρ E (ρ E ) ) Chcemy aby energia zmalała tj. E(w ) < E(w) Zatem musimy otrzymać: ( + ρ E (ρ E ) ) < ρ E (ρ E ) < Z naszych założeń mamy ρ > oraz norma E, zatem upraszczamy nierówność: ρ E < < ρ < E.6 APPENDIX: Algorytm Spadku Gradientowego Dana niech będzie funkcja f : R n R ciągła i różniczkowalna (istnieją pochodne cząstkowe f x... f x n ). Chcemy wyznaczyć minimum (lokalne) funkcji tj. x R n, takie że dla f(x) f(y) dla y należących do pewnego otoczenia x. Dodatkowo dany niech będzie pewien punkt startowy a R n. Przypomnijmy definicję pochodnych cząstowych f f(x,.., x i, x i + h, x i+,...x n ) f(x,..., x n ) (x,..., x n ) = lim x i h h (.) Czym jest f x (a )? Przy kilku założeniach, intuicyjnie może być interpretowana jako kierunek, w którą stronę funkcja rośnie zmieniając pierwszą współrzędną, przy pozostałych ustalonych. Mając cały zestaw pochodnych cząstkowych (gradient) mamy dokładny kierunek, w którym funkcja najszybciej rośnie. Szukając maksimum należy zatem wykonać krok w tymże kierunku. Szukając minimum należy znaleźć kierunek najszybszego wzrostu... i wykonać krok w przeciwną stronę rys.... Rozpocznij w losowym / wybranym a (). Dla każdej współrzędnej i =..n 3. Powtarzaj krok a (k+) i = a (k) i η f x i (a (k) ) Uwaga! Algorytm spadku gradientowego może przy niesprzyjających okolicznościach utknąć w minimum lokalnym. Co gorsza, zazwyczaj nie jesteśmy w stanie stwierdzić czy zwrócony wynik jest minimum globalnym, czy lokalnym. W takich sytuacjach najprostszym (i jednym z najlepszych) rozwiązaniem jest restart algorytmu z losowego rozwiązania początkowego i wybranie najlepszego ze zwróconych wyników. Uwagi:

17 .6. APPENDIX: ALGORYTM SPADKU GRADIENTOWEGO Rysunek.: Interpretacja pochodnych cząstkowych (a) f(x) = x (b) f(x, y) = x + y - 6 Rysunek.: Postęp GDA do obliczania minimum funkcji. W przykładach rozważana jest parabola funkcja posiada dokładnie jedno minimum lokalne (i bardzo ładne wzory do jego analitycznego obliczenia jej celem jest ilustrowanie działania algorytmu). Jeżeli funkcja rozbiega do (minus) nieskończoności algorytm może się zapętlić. Trajektoria poszukiwania minimum zależy od punktu startowego. Wybór złego może powodować utknięcie w minimum lokalnym. Zazwyczaj nie ma możliwości stwierdzenia, że jest to minimum lokalne. W takiej sytuacji jednym z sensowniejszych pomysłów jest ponowne uruchomienie algorytmu z innym / losowym punktem startowym. Sugerowane warunki stopu: gdy zmiany będą bardzo małe (poniżej ustalonego progu względnego lub bezwzględnego), po wykonaniu ustalonej liczby iteracji, po osiągnięciu zadowalającej wartości. Parametr η > jest stałą uczenia. Zbyt duża wartość uniemożliwi osiągnięcie minimum (kolejne punkty zaczną przeskakiwać minimum na drugą stronę ), zbyt mały spowoduje powolne działanie. Wartość η można uzmiennić i zmniejszać wraz z postępem obliczeń.

18 8 ROZDZIAŁ. MODELE POJEDYNCZYCH NEURONÓW I ICH ZASTOSOWANIA

19 Rozdział Sieci skierowane Ograniczenia, o których mowa była w poprzednim rozdziale, spowodowały zastój w badaniach nad sztucznymi neuronami, ale na szczęście nie ich porzucenie. Okazuje się, że problemy nie do przeskoczenia dla pojedynczego neuronu może rozwiązać sieć współpracujących ze sobą perceptronów. Pozostajemy przy problemie zbudowania (bardziej zaawansowanego) systemu, który będzie mógł nauczyć się klasyfikacji obiektów. Tym razem natomiast system będzie budowany z większej liczby mniejszych neuronów, znanych z rozdziału.. Sieci skierowane W takiej sieci wyniki zwracane przez jedne neurony są wejściami do innych jednostek. Wyróżniamy podzbiór neuronów akceptujących impulsy z zewnątrz są to jednostki wejściowe, podzbiór neuronów, których wyjście jest również wyjściem, lub częścią wyjścia, całej sieci jednostki wyjściowe. Pozostałe neurony zwykło się określać mianem ukrytych. Wyróżniane są dwa typy sieci neuronowych: skierowane (ang. feed-forward) nie dopuszczane są cykle skierowane, w takiej sieci przepływ informacji jest ustalony w jednym kierunku. Zauważmy, że opawiany perceptron prosty jest (prymitywnym) przykładem sieci skierowanej, rekurencyjne (ang. recurrent) dopuszczane są cykle skierowane, wysłany impuls może kiedyś do neuronu powrócić, w ogólnym przypadku możliwe jest aby wejściem neuronu było jego własne wyjście. W bieżącej sekcji skupimy się na sieciach skierowanych. Sieci rekurencyjne opawiane będą później (sek. -5). out Rysunek.: Sieć składająca się z trzech perceptronów, która rozwiązuje problem XOR (aktywacje binarne tj., ). Dynamika Sieć skierowana charakteryzuje się synchroniczną dynamiką, to jest każdy neuron, przed obliczeniem swojej aktywacji, czeka aż wszystkie jego wejścia zostaną obliczone. Ponieważ nie występują cykle skierowane mamy gwarancję, że nie dynamika nie ulegnie zakleszczeniu. Programistycznie można obliczać funkcje aktywacji w neuronach po kolei według porządku nadanego przez algorytm sortowania topologicznego (jeżeli istnieje krawędź A B to A będze przed B na posortowanej liście). Jednostki wejściowe nie mają dochodzących krawędzi, więc będą na początku, jednostki wyjściowe na końcu. 9

20 ROZDZIAŁ. SIECI SKIEROWANE (a) Sieć wieżowa.... (b) Sieć piramidalna. Rysunek.: Porównanie sieci wieżowej i poramidalnej, w tej drugiej dodatkowo dochodzą połączenia od pośrednich neuronów do wszystkich wyższych Sieci warstwowe (Multi Layer Perceptron) Szczególnym typem sieci skierowanych są sieci warstwowe. Wszystkie perceptrony podzielone są na rozłączne warstwy.3. Warstwa wejściowa jest określana jako pierwsza. Warstwa L + -sza za wejścia przyjmuje wyniki z warstwy L-tej i tylko te. Warstwa wyjściowa jest ostatnia. W sieciach MLP nie są dopuszczane bezpośrednie połączenia wewnątrz tej samej warstwy, ani połączenia przeskakujące warstwę tj. z warstwy L do L +, z L do L + 3 itd. Propagacja sygnałów może następować jednocześnie w całej bieżącej warstwie, co ułatwia programowanie wielowątkowe.. Algorytmy konstukcyjne Zagadnienie: mając zadany zestaw uczący E = (E,.., E m ), gdzie E j = (E j,.., Ej n) oraz odpowiadający im zestaw oczekiwanych odpowiedzi C,..., C m chcemy znaleźć sieć o zgrubsza zadanej architekturze oraz wagi neuronów tejże sieci, tak aby poprawnie klasyfikowała ona wszystkie / możliwie najwięcej z przykładów uczących... Algorytm wieżowy Algorytm konstrukcyjny patrz również rys..(a).. Rozpocznij od sieci składającej się z pojedynczego perceptronu z progową funkcją aktywacji,. Naucz jedyny preceptron algorytmem kieszonkowym (z zapadką), 3. Powtarzaj aż do uzyskania zadowalającego rezultatu (tj. zadowalający poziom klasyfikacji, limit czasowy itp.) Na szczyt wieży dodaj kolejny neuron. neuronu leżącego bezpośrednio niżej, Jego wejściami będą dane uczące E,.., E n oraz wyjście Naucz szczytowy neuron algorytmem kieszonkowym (z zapadką), za n+-sze wejścia przyjmij wyniki z neuronu niższego, Jako wynik całej sieci zwracany będzie wynik nowo-dodanego perceptronu,. Zwróć wynikową sieć. Uzasadnienie działania Pokażemy, że da się tak dobrać wagi, aby nowo-dodany neuron klasyfikował poprawnie o (przynajmniej) jeden przykład uczący niż poprzedni. Przyjmijmy oznaczenia: O j jednostka j-ta, O j+ jednostka +j-ta, tą będziemy uczyli,

21 .. ALGORYTMY KONSTUKCYJNE E k k-ty przykład uczący, źle klasyfikowany przez O j, n ilość wejść (wymiar danych), θ j+ próg jednostki O j+, < ε mała stała dodatnia, w i,j+ wagi neuronu O j+ stowarzyszone z danymi wejściowymi, w j,j+ waga neuronu O j+ stowarzyszona wejściem pochodzącym z jednostki O j, Przypiszmy: w i,j+ :=C k Ei k w j,j+ :=n ε, gdzie n = ilość wejść θ j+ := Ck Obliczmy wynik na wejściu E k (ε klasyfikowane przez O j ): I j+ = i C k E k i E k i + (n ε)o j = C k n + n( C k ) ε( C k ) = εc k Zauważmy, że ten wynik w połączeniu z progiem da poprawną klasyfikację przykładu E k. Jak zadziała sieć na innych przykładach E l (l k)? I j+ (E l ) = (n ε)o j + i C k E k i E l i Zauważmy, że i Ck E k i El i = Ck i Ek i El i = +n, jeżeli ie k i = +El i lub ie k i = El i. Możliwości: Jeżeli E k = E l oraz C k = C l, to są to te same przykłady i E l będzie klasyfikowany poprawnie, Jeżeli E k = E l oraz C k = C l, to dane są sprzeczne (nie da się znaleźć poprawnych wag), (TODO: to chyba nie musi być prawda...) E k = E l nie zachodzi jeżeli mamy perceptron z obciążeniem stale równym, wówczas E k = E l = +, E k = E l oraz C k = C l, wówczas [I j+ (E l ) = (n ε)o j + i Ck E k i El i = (n ε)o j +n = no j εo j +n, Jeżeli O j =, to nadal będzie źle klasyfikowany (nie zmieni się), jeżeli E k = E l oraz C k = +C l, wówczas [I j+ (E l ) = (n ε)o j + i Ck E k i El i = (n ε)o j n W pozostałych wypadkach mamy C k i Ek i El i n, a zatem klasyfikacja się nie zmieni... Aglorytm piramidalny Algorytm konstrukcyjny patrz również rys..(b).. Rozpocznij od sieci składającej się z pojedynczego perceptronu z progową funkcją aktywacji,. Naucz jedyny preceptron algorytmem kieszonkowym (z zapadką), 3. Powtarzaj aż do uzyskania zadowalającego rezultatu (tj. zadowalający poziom klasyfikacji, limit czasowy itp.) Na szczyt wieży dodaj kolejny neuron. Jego wejściami będą dane uczące E,.., E n oraz wyszstkie wyjścia neuronów leżących poniżej, Naucz szczytowy neuron algorytmem kieszonkowym (z zapadką), Jako wynik całej sieci zwracany będzie wynik nowo-dodanego perceptronu,. Zwróć wynikową sieć.

22 ROZDZIAŁ. SIECI SKIEROWANE out Rysunek.3: Sieć kafelkowa..3 Algorytm kafelkowy Algorytm konstrukcyjny, por. rys.3.. Rozpocznij od sieci składającej się z warstwy wejściowej L =,. Dodaj do sieci L + kafel, na razie składający się tylko z jednego neuronu. Dodany neuron za wejścia przyjmuje wszystkie wyjścia zkafla L, Za wyjście sieci przyjmij wyjście z nowego neuronu. 3. Naucz dodaną jednostkę algorytmem kieszonkowym z zapadką. Jeżeli sieć klasyfikuje poprawnie wszystkie przykłady, to zakończ zwracając wynikową sieć,. Jeżeli nie, to dodaj do L + -go kafla kolejny neuron. Naucz go algorytmem kieszonkowym z zapadką, ale tylko na takim zbiorze, że: poprzednie neurony w L + kaflu dają na tych przykładach tę samą kombinację odpowiedzi (tj. z punktu widzenia sieci jest to ta sama klasa), oczekujemy, że mają być to przykłady z różnych klas, spośród wszystkich podzbiorów spełniających dwa powyższe wybrany powinien być najliczniejszy, Zauważmy, że ilość podzbiorów na jakie zestaw uczący jest dzielony będzie się zwiększała wykładniczo wraz z dodawaniem neuronów do kafla. Ale tym samym podzbiory będą coraz mniej liczne. W najgorszym przypadku każdy z nich będzie liczył po jednym przykładzie uczącym taki podzestaw uczący jest już wiernie reprezentowany przez sieć tj. nie ma w niem dwóch przykładów o różnych oczekiwanych odpowiedziach. 5. Jeżeli kafel poprawnie klasyfikuje wszystkie przykłady (tj. różnym kategoriom przypisuje różne zestawy odpowiedzi), to wróć do (dodaj nowy kafel), jeżeli nie to wróć do (dodaj nową jednostkę w tym samym kaflu), 6. Zwróć wynikową sieć (oczekujemy odpowiedzi binarnej, więc ostatni kafel powinien liczyć tylko jedną jednostkę)... Algorytm upstart Algorytm:. Tworzymy pojedynczą jednostkę U, która widzi wszystkie wejścia. Jej wyjście jest wyjściem całej sieci.. Odkładamy U na stos wraz ze wszystkimi przykładami uczącymi.

23 .. ALGORYTMY KONSTUKCYJNE (a) Podział danych przez neurony w kaflu ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) (b) Problem po przekształceniu przez pierwszy kafel Rysunek.: Działanie algorytmu na przykładach. (a) Etap : klasa jest niepoprawnie reprezentowana (tj. są w niej + oraz o). Etap : dodajemy nowy neuron separujący, klasa jest już poprawnie reprezentowana, klasa jeszcze nie. Etam 3: dodany trzeni neuron. Wszytkie klasy są wiernie reprezentowane. Klasa została podzielona na i, ale to nie jest problemem. (b) Problem po przekształceniu przez pierwszy kafel został przeniesiony do R 3 na separowalne odwzorowanie na hiperkostce. 3. Dopóki stos jest niepusty, powtarzamy: zdejmujemy ze stosu jednostkę U i i zbiór stowarzyszonych z nią przykładów uczących, uczymy U i na jej przykładach algorytmem zapadkowym, jeżeli klasyfikacja U i jest w pełni zgodna, to rozpocznij następną iterację pętli (continue), jeżeli istnieją źle sklasyfikowane przykłady z oczekiwaną odpowiedzią + dla jednostki U i, to tworzymy nową jednostkę U i+, jej wejściami są wszystkie wejścia, jej wyjście wchodzi do U i z dużą wagą dodatnią,

24 ROZDZIAŁ. SIECI SKIEROWANE Rysunek.5: Architektura upstart odkładamy U i+ na stos z następującym zbiorem uczącym: { E k : U k i =, C k U i = + } { E k : C k U i = }, to jest przykłady, które są klasyfikowane przez U i jako, a powinny + oraz przykłady, która powinny być klasyfikowane przez U i jako, Zbiór uczący dla U i+ jest mniejszy od U i o przykłady dodatnie, które są dobrze klasyfikowane, jeżeli istnieją źle sklasyfikowane przykłady z oczekiwaną odpowiedzią dla U i, to tworzymy nową jednostkę U i, jej wejściami są wszystkie wejścia, jej wyjście wchodzi do U i z dużą wagą ujemną, odkładamy U i na stos z następującym zbiorem uczącym: { E k : U k i = +, C k U i = } { E k : C k U i = + }, to jest przykłady, które są klasyfikowane przez U i jako +, a powinny oraz przykłady, która powinny być klasyfikowane przez U i jako +, zdejmij ze stosu następny neuron (continue),. Zwróć uzyskaną sieć..3 Algorytm propagacji wstecznej dla sieci skierowanych Zagadnienie Mając daną sieć warstwową neuronów oraz przykłady uczące (wraz z poprawnymi odpowiedziami), chcemy znaleźć zestaw wag, tak aby sieć klasyfikowała / przybliżała w przypadku danych ciągłych przykłady uczące możliwe jak najlepiej..3. Perceptron sigmoidalny Funkcja sigmoidalna: σ(x) = + exp( c (x p)) Parametr c odpowiada za nachylenie funkcji jest zazwyczaj ustalony (c = ). Parametr p odpowiada za progowanie. Zazwyczaj jest pomijany, a w jego miejsce dodawane jest sztuczne wejście zawsze równe + z dodatkową wagą w, która jest objęta uczeniem. Perceptron sigmoidalny o wagach w i na wejściach x i zwraca wartość (.) N out = σ( w i x i ) (.) Alternatywnie można wartość progu ustalić p =, do jednostki dodać N + -sze wejście, które zawsze jest równe + oraz stowarzyszoną z nim wagę w n+, która przejmie funkcję progu. Działanie neuronu jest identyczne. Sigmoida jest funkcją ciągłą i różniczkowalną. i= σ (x) = σ(x)( σ(x)) (.3)

25 .3. ALGORYTM PROPAGACJI WSTECZNEJ DLA SIECI SKIEROWANYCH 5.5 = = =5 = (a) Jeden wymiar parametry c =, c = 3, c = (b) Sigmoida określona na sumie ważonej dwóch zmiennych. Rysunek.6: Wykres sigmoidy σ(x) = +exp( c(x)) w = [ * * -.] (a) Portret błędu sieci z progową funkcją aktywacji (b) Portret błędu sieci z sigmoidalną funkcją aktywacji. Rysunek.7: Portret błędu dla problemu XOR. Podobnie jak w przypadku neuronów progowych, perceptrony z sigmoidalną funkcją aktywującą można łączyć w sieci. Ze względu na ciągłą (i różniczkowalną!) zależność wyjścia od danych można stosować bardziej wyrafinowane (ale i wymagające!) algorytmy uczenia (alg. spadku gradientowego, ang. gradient descent)..3. Wsteczna propagacja błędu / Backerror propagation Dane: Sieć warstwowa perceptronów o sigmoidalnej funkcji aktywacji, zakładamy, że wszystkie perceptrony w obrębie jednej warstwy mają takie same ilości wejść i są to wszystkie wyjścia z warstwy poprzedniej. Ponadto dany jest zestaw uczący zbiór przykładowych danych E (j) i oczekiwanych odpowiedzi C (j). Wynik: Wartości wagi. Funkcja błędu, określa jak bardzo niedostosowana jest sieć do zestawu uczącego ERR(w) = i (out(e i ) C i ) (.) Naturalna interpretacja im mniejsza wartość funkcji błędu tym lepiej nauczona sieć. Wniosek algorytm powinien poszukiwać minimum funkcji ERR na przestrzeni wszystkich możliwych konfiguracji wag w sieci (już sam wymiar przestrzeni może być gigantyczny, a do tego wagi są liczbami rzeczywistymi!).

26 6 ROZDZIAŁ. SIECI SKIEROWANE Oznaczenia η > stała uczenia, w ij wagi σ() funkcja sigmoidalna o i, I i,j wyjście z neuronu i, wejście numer i do neuronu numer j w następnej warstwie, są to te same wartości (choć mogą występować w różnych kontekstach), wejściami do warstwy pierwszej są dane uczące I i, = E j i. E j, C j zestaw uczący i odpowiadający mu poprawny wynik, Ej i [..] więc dane z poza tego przedziału należy znormalizować. Podobnie wynikowa odpowiedź C (...9). UWAGA! Ponieważ sigmoida nie osiąga wartości ani nie należy stosować skrajnych wartości odpowiedzi. Algorytm. Wybierz losowo (!!) przykład uczący E z listy przykładów i odpowiadający mu poprawny wynik C.. Oblicz wynik działania sieci na E, zapamiętaj go, zapamiętaj również wyniki w warstwach pośrednich o j, sumy ważone in j (wyniki przed zaaplikowaniem funkcji aktywującej) i wejścia do neuronów w danej warstwie I k,j (wejściem do warstwy pierwszej jest przykład, dla warstw wyższych j są nimi wyniki z warstwy poprzedniej k) 3. Dla wszystkich jednostek i w zewnętrznej warstwie sieci: Oblicz błąd err i := C i o i Oblicz δ i := err i σ (in i ) Uaktualnij wagi do jednostki i w j,i := w j,i + η I j,i δ i := w j,i + η o j err i f (in i ). Dla wszystkich jednostek j w kolejnych warstwach sieci (schodząc warstwami od przedostatniej do pierwszej): Oblicz błąd : err j := l w j,l δ l Oblicz Uaktualnij wagi do jednostki j δ j := σ (in j ) err j w k,j := w k,j + η I k,j δ j 5. Wróć do. 6. Zakończ po wykonaniu określonej liczby kroków lub osiągnięciu zadowalającego poziomu błędu.3.3 Dowód algorytmu Zauważmy, że jest to algotyrm spadku gradientowego z funkcją błędu Error( W ) = gdzie P ilość przykładów uczących, p d (o i (E k ) Ci k ), k= i= d wymiar wyjścia z sieci (d = neuron zwraca jedną liczbę), C k oczekiwana odpowiedź (wektor długości d), Out(E k ) wynik sieci na przykładzie uczącym E k (wektor długości d),

27 .3. ALGORYTM PROPAGACJI WSTECZNEJ DLA SIECI SKIEROWANYCH 7 stała / jest kosmetyczna, jej znaczenie się wyjaśni w dowodzie, w implementacji jest ukryta w stałej uczenia. Jeżeli ustalimy przykład uczący na (E, C), to w sumie w Error() pozostaje tylko jeden niezerowy składnik powiązany właśnie z bieżącym przykładem. W dalszej części będziemy rozważać tylko funkcję błędu na przykładzie (E, C) i już z wyzerowanymi pozostałymi składnikami: Error( W ) = d (Out i (E) C i ). i= Załóżmy, że neuron i-ty w pewnej warstwie zwrócił odpowiedź o i = σ(in i ) = σ( k w kio k ), gdzie k przebiega neurony w poprzedniej warstwie. Załóżmy, że powinien zwrócić odpowiedź wartość c i, (jeżeli neuron jest w warstwie wyjściowej, to c i = C i, dla innych warstw, patrz część następna dowodu). Policzmy zatem pochodną błędu po wagach w ki, dla k =..l po wagach neuronu oraz pochodną błędu po in i. Pokażemy, że: Error = δ i in i oraz Dla ostatniej warstwy mamy: Error w j,i = o j δ i Error d in i = in i j= (Out j(e) C j ) = in i (Out i(e) C i ) = in i (σ(in i) C i ) = (σ(in i) C i ) in i (σ(in i ) C i ) = (o i C i ) σ(ini) in i = (o i C i )σ (in i ) = δ i. Oraz: Error d w ji = w ji j= (Out j(e) C j ) = w ji (Out i(e) C i ) = w ji (σ(in i) C i ) = (σ(in i) C i ) w ji (σ(in i ) C i ) = (o i C i ) σ(ini) Ci in i in i w ji = (o i C i )σ (in i ) w ji k w kio k = δ i w ji w ji o j = δ i o j. Co kończy dowód kroku trzeciego. Krok czwarty: indukcja po numerze warstwy od ostatniej do pierwszej. Podstawa indukcji została pokazana powyżej. Krok indukcyjny: załóżmy że w jesteśmy w warstwie l-tej i że zależności jak powyżej zachodzą dla powyższych warstw (tzn. l+ szej). Zauważmy, że zachodzi: in m = j o j w jm = j σ(in j )w jm

28 8 ROZDZIAŁ. SIECI SKIEROWANE Mamy Error in j = m Error in m in m o j o j in j = m δ mw jm σ (in j ) Zgodnie z definicją w kroku. algorytmu Error in j = ( m δ mw jm )σ (in j ) wynosi zatem δ j. Pozostaje Error w kj = m Error in j in j w kj = δ j w kj l w ljo l = δ j w kj w kj o k = δ j o k. Co kończy dowód dla punktu i całego algorytmu (z dokładnością do zmiany oznaczeń (i, j) (j, k) dla warstw ukrytych)..3. Propagacja wsteczna z bezwładnością Do algorytmu propagacji (i ogólnie do całej klasy algorytmów gradientowych) można wprowadzić korektę poprzez składnik pędu lub bezwładności do zmiany wag. W literaturze można znaleźć określenia propagacja z pędem, propagacja z bezwładnością, metoda momentum (ang. momentum bezwładność) lub metoda momentu. Zauważmy że propagację możemy zapisać w wersji batch mode : w ij = ηδ j I i,j w ij + = w ij. W wersji z bezwładnością zmiany dodatkowo zależą od zmiany w poprzedniej epoce: w t ij = ηδ j I i,j + α w t i,j w ij + = t w ij gdzie t jest numerem epoki, natomiast α < jest parametrem bezwładności (α = daje klasyczny algorytm). To ostatnie określenie wydaje się pochodzić z błędnego tłumaczenia

Wstęp do sieci neuronowych, wykład 04. Skierowane sieci neuronowe. Algorytmy konstrukcyjne dla sieci skierowanych

Wstęp do sieci neuronowych, wykład 04. Skierowane sieci neuronowe. Algorytmy konstrukcyjne dla sieci skierowanych Wstęp do sieci neuronowych, wykład 04. Skierowane sieci neuronowe. dla sieci skierowanych Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2011-10-25 1 Motywacja

Bardziej szczegółowo

Wstęp do Sieci Neuronowych

Wstęp do Sieci Neuronowych Wstęp do Sieci Neuronowych T. Schreiber, M. Czoków, J. Piersa 9 listopada 1 Streszczenie Dokument poniższy nie jest skryptem do wykładu w roku akademickim 1/11. Co najwyżej podsumowanim najważniejszych

Bardziej szczegółowo

Wprowadzenie do Sieci Neuronowych Laboratorium 05 Algorytm wstecznej propagacji błędu

Wprowadzenie do Sieci Neuronowych Laboratorium 05 Algorytm wstecznej propagacji błędu Wprowadzenie do Sieci Neuronowych Laboratorium Algorytm wstecznej propagacji błędu Maja Czoków, Jarosław Piersa --7. Powtórzenie Perceptron sigmoidalny Funkcja sigmoidalna: σ(x) = + exp( c (x p)) () Parametr

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa. Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa. Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2011-10-11 1 Modelowanie funkcji logicznych

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline. Wstęp do sieci neuronowych, wykład 3 Warstwy, jednostka Adaline. Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 211-1-18 1 Pomysł Przykłady Zastosowanie 2

Bardziej szczegółowo

Wstęp do sieci neuronowych laboratorium 01 Organizacja zajęć. Perceptron prosty

Wstęp do sieci neuronowych laboratorium 01 Organizacja zajęć. Perceptron prosty Wstęp do sieci neuronowych laboratorium 01 Organizacja zajęć. Perceptron prosty Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2012-10-03 Projekt pn. Wzmocnienie potencjału

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa. Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa. Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2012-10-10 Projekt pn. Wzmocnienie

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa. Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa. Maja Czoków, Jarosław Piersa, Andrzej Rutkowski Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2018-10-15 Projekt

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 01 Neuron biologiczny. Model perceptronu prostego.

Wstęp do sieci neuronowych, wykład 01 Neuron biologiczny. Model perceptronu prostego. Wstęp do sieci neuronowych, wykład 01. Model perceptronu prostego. M. Czoków, J. Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2011-10-04 In memoriam prof. dr hab. Tomasz Schreiber

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka ADALINE.

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka ADALINE. Wstęp do sieci neuronowych, wykład 3 Warstwy, jednostka ADALINE. Maja Czoków, Jarosław Piersa, Andrzej Rutkowski Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 218-1-15/22 Projekt pn.

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 01 Neuron biologiczny. Model perceptronu prostego.

Wstęp do sieci neuronowych, wykład 01 Neuron biologiczny. Model perceptronu prostego. Wstęp do sieci neuronowych, wykład 01. Model perceptronu prostego. M. Czoków, J. Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2012-10-03 Projekt pn. Wzmocnienie potencjału dydaktycznego

Bardziej szczegółowo

Uczenie sieci neuronowych i bayesowskich

Uczenie sieci neuronowych i bayesowskich Wstęp do metod sztucznej inteligencji www.mat.uni.torun.pl/~piersaj 2009-01-22 Co to jest neuron? Komputer, a mózg komputer mózg Jednostki obliczeniowe 1-4 CPU 10 11 neuronów Pojemność 10 9 b RAM, 10 10

Bardziej szczegółowo

Wprowadzenie do Sieci Neuronowych Laboratorium 06 Algorytm wstecznej propagacji błędu

Wprowadzenie do Sieci Neuronowych Laboratorium 06 Algorytm wstecznej propagacji błędu Wprowadzenie do Sieci Neuronowych Laboratorium 6 Algorytm wstecznej propagacji błędu Maja Czoków, Jarosław Piersa 3--6 Powtórzenie. Perceptron sigmoidalny Funkcja sigmoidalna: σ(x) = + exp( c (x p)) ()

Bardziej szczegółowo

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe PB, 2009 2010 Sztuczna Inteligencja Tematy projektów Sieci Neuronowe Projekt 1 Stwórz projekt implementujący jednokierunkową sztuczną neuronową złożoną z neuronów typu sigmoidalnego z algorytmem uczenia

Bardziej szczegółowo

Wprowadzenie do Sieci Neuronowych lista zadań 1

Wprowadzenie do Sieci Neuronowych lista zadań 1 Wprowadzenie do Sieci Neuronowych lista zadań 1 Maja Czoków, Jarosław Piersa 2010-10-04 1 Zasadyzaliczania 1.1 Oceny Zaliczenie laboratoriów na podstawie implementowania omawianych algorytmów. Każde zadanie

Bardziej szczegółowo

Metody Sztucznej Inteligencji II

Metody Sztucznej Inteligencji II 17 marca 2013 Neuron biologiczny Neuron Jest podstawowym budulcem układu nerwowego. Jest komórką, która jest w stanie odbierać i przekazywać sygnały elektryczne. Neuron działanie Jeżeli wartość sygnału

Bardziej szczegółowo

Elementy inteligencji obliczeniowej

Elementy inteligencji obliczeniowej Elementy inteligencji obliczeniowej Paweł Liskowski Institute of Computing Science, Poznań University of Technology 9 October 2018 1 / 19 Perceptron Perceptron (Rosenblatt, 1957) to najprostsza forma sztucznego

Bardziej szczegółowo

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta www.michalbereta.pl Sieci radialne zawsze posiadają jedną warstwę ukrytą, która składa się z neuronów radialnych. Warstwa wyjściowa składa

Bardziej szczegółowo

8. Neuron z ciągłą funkcją aktywacji.

8. Neuron z ciągłą funkcją aktywacji. 8. Neuron z ciągłą funkcją aktywacji. W tym ćwiczeniu zapoznamy się z modelem sztucznego neuronu oraz przykładem jego wykorzystania do rozwiązywanie prostego zadania klasyfikacji. Neuron biologiczny i

Bardziej szczegółowo

Wprowadzenie do Sieci Neuronowych Laboratorium 04 Algorytmy konstrukcyjne dla sieci skierowanych

Wprowadzenie do Sieci Neuronowych Laboratorium 04 Algorytmy konstrukcyjne dla sieci skierowanych Projekt pn. Wzmocnienie potencjału dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych realizowany w ramach Poddziałania 4.1.1 Programu Operacyjnego Kapitał Ludzki Wprowadzenie do Sieci

Bardziej szczegółowo

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ Celem ćwiczenia jest zapoznanie się ze sposobem działania sieci neuronowych typu MLP (multi-layer perceptron) uczonych nadzorowaną (z nauczycielem,

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 01 Neuron biologiczny. Model perceptronu prostego.

Wstęp do sieci neuronowych, wykład 01 Neuron biologiczny. Model perceptronu prostego. Wstęp do sieci neuronowych, wykład 01 Neuron biologiczny. Model perceptronu prostego. M. Czoków, J. Piersa, A. Rutkowski Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2017-10-04 Projekt

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 9 Sieci rekurencyjne. Autoasocjator Hopfielda

Wstęp do sieci neuronowych, wykład 9 Sieci rekurencyjne. Autoasocjator Hopfielda Wstęp do sieci neuronowych, wykład 9. M. Czoków, J. Piersa 2010-12-07 1 Sieci skierowane 2 Modele sieci rekurencyjnej Energia sieci 3 Sieci skierowane Sieci skierowane Sieci skierowane graf połączeń synaptycznych

Bardziej szczegółowo

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej

Bardziej szczegółowo

Wprowadzenie do Sieci Neuronowych Laboratorium 01 Organizacja zajęć. Perceptron.

Wprowadzenie do Sieci Neuronowych Laboratorium 01 Organizacja zajęć. Perceptron. Wprowadzenie do Sieci Neuronowych Laboratorium Organizacja zajęć. Perceptron. Jarosław Piersa --3 Organizacja zajęć. Co będzie Dużo programowania (pisanie programów), Trochę matematyki, Małe zadania do

Bardziej szczegółowo

Podstawy Sztucznej Inteligencji (PSZT)

Podstawy Sztucznej Inteligencji (PSZT) Podstawy Sztucznej Inteligencji (PSZT) Paweł Wawrzyński Uczenie maszynowe Sztuczne sieci neuronowe Plan na dziś Uczenie maszynowe Problem aproksymacji funkcji Sieci neuronowe PSZT, zima 2013, wykład 12

Bardziej szczegółowo

Zastosowania sieci neuronowych

Zastosowania sieci neuronowych Zastosowania sieci neuronowych aproksymacja LABORKA Piotr Ciskowski zadanie 1. aproksymacja funkcji odległość punktów źródło: Żurada i in. Sztuczne sieci neuronowe, przykład 4.4, str. 137 Naucz sieć taką

Bardziej szczegółowo

synaptycznych wszystko to waży 1.5 kg i zajmuje objętość około 1.5 litra. A zużywa mniej energii niż lampka nocna.

synaptycznych wszystko to waży 1.5 kg i zajmuje objętość około 1.5 litra. A zużywa mniej energii niż lampka nocna. Sieci neuronowe model konekcjonistyczny Plan wykładu Mózg ludzki a komputer Modele konekcjonistycze Perceptron Sieć neuronowa Uczenie sieci Sieci Hopfielda Mózg ludzki a komputer Twój mózg to 00 000 000

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 10 Sieci rekurencyjne. Autoasocjator Hopfielda

Wstęp do sieci neuronowych, wykład 10 Sieci rekurencyjne. Autoasocjator Hopfielda Wstęp do sieci neuronowych, wykład 10. Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2011-12-13 1 Modele sieci rekurencyjnej Energia sieci 2 3 Modele sieci

Bardziej szczegółowo

Uczenie sieci typu MLP

Uczenie sieci typu MLP Uczenie sieci typu MLP Przypomnienie budowa sieci typu MLP Przypomnienie budowy neuronu Neuron ze skokową funkcją aktywacji jest zły!!! Powszechnie stosuje -> modele z sigmoidalną funkcją aktywacji - współczynnik

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3

Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3 Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3 Andrzej Rutkowski, Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2018-11-05 Projekt

Bardziej szczegółowo

Sztuczne sieci neuronowe Ćwiczenia. Piotr Fulmański, Marta Grzanek

Sztuczne sieci neuronowe Ćwiczenia. Piotr Fulmański, Marta Grzanek Sztuczne sieci neuronowe Ćwiczenia Piotr Fulmański, Marta Grzanek Piotr Fulmański 1 Wydział Matematyki i Informatyki, Marta Grzanek 2 Uniwersytet Łódzki Banacha 22, 90-232, Łódź Polska e-mail 1: fulmanp@math.uni.lodz.pl,

Bardziej szczegółowo

Sztuczne sieci neuronowe

Sztuczne sieci neuronowe www.math.uni.lodz.pl/ radmat Cel wykładu Celem wykładu jest prezentacja różnych rodzajów sztucznych sieci neuronowych. Biologiczny model neuronu Mózg człowieka składa się z około 10 11 komórek nerwowych,

Bardziej szczegółowo

Sieć przesyłająca żetony CP (counter propagation)

Sieć przesyłająca żetony CP (counter propagation) Sieci neuropodobne IX, specyficzne architektury 1 Sieć przesyłająca żetony CP (counter propagation) warstwa Kohonena: wektory wejściowe są unormowane jednostki mają unormowane wektory wag jednostki są

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 9 Sieci rekurencyjne. Autoasocjator Hopfielda

Wstęp do sieci neuronowych, wykład 9 Sieci rekurencyjne. Autoasocjator Hopfielda Wstęp do sieci neuronowych, wykład 9. Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2018-12-10 Projekt pn. Wzmocnienie potencjału dydaktycznego UMK w Toruniu

Bardziej szczegółowo

Podstawy sztucznej inteligencji

Podstawy sztucznej inteligencji wykład 5 Sztuczne sieci neuronowe (SSN) 8 grudnia 2011 Plan wykładu 1 Biologiczne wzorce sztucznej sieci neuronowej 2 3 4 Neuron biologiczny Neuron Jest podstawowym budulcem układu nerwowego. Jest komórką,

Bardziej szczegółowo

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe. Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe. zajecia.jakubw.pl/nai Literatura: S. Osowski, Sieci neuronowe w ujęciu algorytmicznym. WNT, Warszawa 997. PODSTAWOWE ZAGADNIENIA TECHNICZNE AI

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 10 Sieci rekurencyjne. Autoasocjator Hopfielda

Wstęp do sieci neuronowych, wykład 10 Sieci rekurencyjne. Autoasocjator Hopfielda Wstęp do sieci neuronowych, wykład 10. Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2012-12-19 Projekt pn. Wzmocnienie potencjału dydaktycznego UMK w Toruniu

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa M. Czoków, J. Piersa 2012-01-10 1 Łańcucha Markowa 2 Istnienie Szukanie stanu stacjonarnego 3 1 Łańcucha Markowa 2 Istnienie Szukanie stanu stacjonarnego

Bardziej szczegółowo

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0 Uczenie się pojedynczego neuronu W0 X0=1 W1 x1 W2 s f y x2 Wp xp p x i w i=x w+wo i=0 Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z=0 Wówczas: W 1 x 1 + w 2 x 2 + = 0 Algorytm

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova M. Czoków, J. Piersa 2010-12-21 1 Definicja Własności Losowanie z rozkładu dyskretnego 2 3 Łańcuch Markova Definicja Własności Losowanie z rozkładu

Bardziej szczegółowo

1. Logika, funkcje logiczne, preceptron.

1. Logika, funkcje logiczne, preceptron. Sieci neuronowe 1. Logika, funkcje logiczne, preceptron. 1. (Logika) Udowodnij prawa de Morgana, prawo pochłaniania p (p q), prawo wyłączonego środka p p oraz prawo sprzeczności (p p). 2. Wyraź funkcję

Bardziej szczegółowo

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych. Wstęp do teorii sztucznej inteligencji Wykład III Modele sieci neuronowych. 1 Perceptron model najprostzszy przypomnienie Schemat neuronu opracowany przez McCullocha i Pittsa w 1943 roku. Przykład funkcji

Bardziej szczegółowo

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda Sieci neuropodobne 1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN Agenda Trochę neurobiologii System nerwowy w organizmach żywych tworzą trzy

Bardziej szczegółowo

Programowanie celowe #1

Programowanie celowe #1 Programowanie celowe #1 Problem programowania celowego (PC) jest przykładem problemu programowania matematycznego nieliniowego, który można skutecznie zlinearyzować, tzn. zapisać (i rozwiązać) jako problem

Bardziej szczegółowo

Optymalizacja systemów

Optymalizacja systemów Optymalizacja systemów Laboratorium - problem detekcji twarzy autorzy: A. Gonczarek, J.M. Tomczak, S. Zaręba, P. Klukowski Cel zadania Celem zadania jest zapoznanie się z gradientowymi algorytmami optymalizacji

Bardziej szczegółowo

wiedzy Sieci neuronowe

wiedzy Sieci neuronowe Metody detekcji uszkodzeń oparte na wiedzy Sieci neuronowe Instytut Sterowania i Systemów Informatycznych Universytet Zielonogórski Wykład 7 Wprowadzenie Okres kształtowania się teorii sztucznych sieci

Bardziej szczegółowo

Inteligentne systemy przeciw atakom sieciowym

Inteligentne systemy przeciw atakom sieciowym Inteligentne systemy przeciw atakom sieciowym wykład Sztuczne sieci neuronowe (SSN) Joanna Kołodziejczyk 2016 Joanna Kołodziejczyk Inteligentne systemy przeciw atakom sieciowym 2016 1 / 36 Biologiczne

Bardziej szczegółowo

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335 Sztuczne sieci neuronowe Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335 Wykład 10 Mapa cech Kohonena i jej modyfikacje - uczenie sieci samoorganizujących się - kwantowanie wektorowe

Bardziej szczegółowo

Układy równań i nierówności liniowych

Układy równań i nierówności liniowych Układy równań i nierówności liniowych Wiesław Krakowiak 1 grudnia 2010 1 Układy równań liniowych DEFINICJA 11 Układem równań m liniowych o n niewiadomych X 1,, X n, nazywamy układ postaci: a 11 X 1 + +

Bardziej szczegółowo

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga; Sieci Hopfielda Najprostsze modele sieci z rekurencją sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga; Modele bardziej złoŝone: RTRN (Real Time Recurrent Network), przetwarzająca sygnały w czasie

Bardziej szczegółowo

KADD Minimalizacja funkcji

KADD Minimalizacja funkcji Minimalizacja funkcji Poszukiwanie minimum funkcji Foma kwadratowa Metody przybliżania minimum minimalizacja Minimalizacja w n wymiarach Metody poszukiwania minimum Otaczanie minimum Podział obszaru zawierającego

Bardziej szczegółowo

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 5. Metody kierunków poparwy (metoda Newtona-Raphsona, metoda gradientów sprzężonych) Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 28.03.2019 1

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 12 Wykorzystanie sieci rekurencyjnych w optymalizacji grafowej

Wstęp do sieci neuronowych, wykład 12 Wykorzystanie sieci rekurencyjnych w optymalizacji grafowej Wstęp do sieci neuronowych, wykład 12 Wykorzystanie sieci rekurencyjnych w optymalizacji grafowej Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-01-09

Bardziej szczegółowo

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH Transport, studia I stopnia rok akademicki 2011/2012 Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Uwagi wstępne Układ liniowych równań algebraicznych można

Bardziej szczegółowo

Wstęp do sztucznych sieci neuronowych

Wstęp do sztucznych sieci neuronowych Wstęp do sztucznych sieci neuronowych Michał Garbowski Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Wydział Informatyki 15 grudnia 2011 Plan wykładu I 1 Wprowadzenie Inspiracja biologiczna

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 8 Uczenie nienadzorowane.

Wstęp do sieci neuronowych, wykład 8 Uczenie nienadzorowane. Wstęp do sieci neuronowych, wykład 8. M. Czoków, J. Piersa, A. Rutkowski Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika w Toruniu 1-811-6 Projekt pn. Wzmocnienie potencjału dydaktycznego

Bardziej szczegółowo

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE Temat: Sztuczne Sieci Neuronowe Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE Dr inż. Barbara Mrzygłód KISiM, WIMiIP, AGH mrzyglod@ agh.edu.pl 1 Wprowadzenie Sztuczne sieci neuronowe

Bardziej szczegółowo

Wprowadzenie do Sieci Neuronowych Laboratorium 01 Organizacja zajęć. Perceptron.

Wprowadzenie do Sieci Neuronowych Laboratorium 01 Organizacja zajęć. Perceptron. Projekt pn. Wzmocnienie potencjału dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych realizowany w ramach Poddziałania 4.. Programu Operacyjnego Kapitał Ludzki Wprowadzenie do Sieci

Bardziej szczegółowo

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe Trening jednokierunkowych sieci neuronowych wykład 2. dr inż. PawełŻwan Katedra Systemów Multimedialnych Politechnika Gdańska

Bardziej szczegółowo

5. Analiza dyskryminacyjna: FLD, LDA, QDA

5. Analiza dyskryminacyjna: FLD, LDA, QDA Algorytmy rozpoznawania obrazów 5. Analiza dyskryminacyjna: FLD, LDA, QDA dr inż. Urszula Libal Politechnika Wrocławska 2015 1 1. Liniowe funkcje dyskryminacyjne Liniowe funkcje dyskryminacyjne mają ogólną

Bardziej szczegółowo

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu 1 Metody rozwiązywania równań nieliniowych. Postawienie problemu Dla danej funkcji ciągłej f znaleźć wartości x, dla których f(x) = 0. (1) 2 Przedział izolacji pierwiastka Będziemy zakładać, że równanie

Bardziej szczegółowo

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 1. Optymalizacja funkcji jednej zmiennej Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 28.02.2019 1 / 54 Plan wykładu Optymalizacja funkcji jednej

Bardziej szczegółowo

Wstęp do teorii sztucznej inteligencji Wykład II. Uczenie sztucznych neuronów.

Wstęp do teorii sztucznej inteligencji Wykład II. Uczenie sztucznych neuronów. Wstęp do teorii sztucznej inteligencji Wykład II Uczenie sztucznych neuronów. 1 - powtórzyć o klasyfikacji: Sieci liniowe I nieliniowe Sieci rekurencyjne Uczenie z nauczycielem lub bez Jednowarstwowe I

Bardziej szczegółowo

Sieci M. I. Jordana. Sieci rekurencyjne z parametrycznym biasem. Leszek Rybicki. 30 listopada Leszek Rybicki Sieci M. I.

Sieci M. I. Jordana. Sieci rekurencyjne z parametrycznym biasem. Leszek Rybicki. 30 listopada Leszek Rybicki Sieci M. I. Sieci M. I. Jordana Sieci rekurencyjne z parametrycznym biasem Leszek Rybicki 30 listopada 2007 Leszek Rybicki Sieci M. I. Jordana 1/21 Plan O czym będzie 1 Wstęp do sieci neuronowych Neurony i perceptrony

Bardziej szczegółowo

Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce Metody systemowe i decyzyjne w informatyce Laboratorium MATLAB Zadanie nr 2 Detekcja twarzy autorzy: A. Gonczarek, J.M. Tomczak Cel zadania Celem zadania jest zapoznanie się algorytmem gradientu prostego

Bardziej szczegółowo

Iteracyjne rozwiązywanie równań

Iteracyjne rozwiązywanie równań Elementy metod numerycznych Plan wykładu 1 Wprowadzenie Plan wykładu 1 Wprowadzenie 2 Plan wykładu 1 Wprowadzenie 2 3 Wprowadzenie Metoda bisekcji Metoda siecznych Metoda stycznych Plan wykładu 1 Wprowadzenie

Bardziej szczegółowo

Dystrybucje, wiadomości wstępne (I)

Dystrybucje, wiadomości wstępne (I) Temat 8 Dystrybucje, wiadomości wstępne (I) Wielkości fizyczne opisujemy najczęściej przyporządkowując im funkcje (np. zależne od czasu). Inną drogą opisu tych wielkości jest przyporządkowanie im funkcjonałów

Bardziej szczegółowo

Programowanie liniowe

Programowanie liniowe Programowanie liniowe Maciej Drwal maciej.drwal@pwr.wroc.pl 1 Problem programowania liniowego min x c T x (1) Ax b, (2) x 0. (3) gdzie A R m n, c R n, b R m. Oznaczmy przez x rozwiązanie optymalne, tzn.

Bardziej szczegółowo

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa.

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa. VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa. W rozdziale tym zajmiemy się dokładniej badaniem stabilności rozwiązań równania różniczkowego. Pojęcie stabilności w

Bardziej szczegółowo

III. Układy liniowe równań różniczkowych. 1. Pojęcie stabilności rozwiązań.

III. Układy liniowe równań różniczkowych. 1. Pojęcie stabilności rozwiązań. III. Układy liniowe równań różniczkowych. 1. Pojęcie stabilności rozwiązań. Analiza stabilności rozwiązań stanowi ważną część jakościowej teorii równań różniczkowych. Jej istotą jest poszukiwanie odpowiedzi

Bardziej szczegółowo

Sztuczne sieci neuronowe (SNN)

Sztuczne sieci neuronowe (SNN) Sztuczne sieci neuronowe (SNN) Pozyskanie informacji (danych) Wstępne przetwarzanie danych przygotowanie ich do dalszej analizy Selekcja informacji Ostateczny model decyzyjny SSN - podstawy Sieci neuronowe

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa. Wstęp do sieci neuronowych, wykład 2 Perceptrony c.d. Maszyna liniowa. Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 213-1-15 Projekt pn. Wzmocnienie potencjału

Bardziej szczegółowo

Metody Optymalizacji: Przeszukiwanie z listą tabu

Metody Optymalizacji: Przeszukiwanie z listą tabu Metody Optymalizacji: Przeszukiwanie z listą tabu Wojciech Kotłowski Instytut Informatyki Politechniki Poznańskiej email: imię.nazwisko@cs.put.poznan.pl pok. 2 (CW) tel. (61)665-2936 konsultacje: wtorek

Bardziej szczegółowo

Rozpoznawanie obrazów

Rozpoznawanie obrazów Rozpoznawanie obrazów Ćwiczenia lista zadań nr 7 autorzy: A. Gonczarek, J.M. Tomczak Przykładowe problemy Klasyfikacja binarna Dla obrazu x zaproponowano dwie cechy φ(x) = (φ 1 (x) φ 2 (x)) T. Na obrazie

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane cd.

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane cd. Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane cd. M. Czoków, J. Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika w Toruniu 2013-11-26 Projekt pn. Wzmocnienie potencjału

Bardziej szczegółowo

II. FUNKCJE WIELU ZMIENNYCH

II. FUNKCJE WIELU ZMIENNYCH II. FUNKCJE WIELU ZMIENNYCH 1. Zbiory w przestrzeni R n Ustalmy dowolne n N. Definicja 1.1. Zbiór wszystkich uporzadkowanych układów (x 1,..., x n ) n liczb rzeczywistych, nazywamy przestrzenią n-wymiarową

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane.

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane. Wstęp do sieci neuronowych, wykład 7. M. Czoków, J. Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika w Toruniu 212-11-28 Projekt pn. Wzmocnienie potencjału dydaktycznego UMK w Toruniu

Bardziej szczegółowo

Rozwiązywanie równań nieliniowych

Rozwiązywanie równań nieliniowych Rozwiązywanie równań nieliniowych Marcin Orchel 1 Wstęp Przykłady wyznaczania miejsc zerowych funkcji f : f(ξ) = 0. Wyszukiwanie miejsc zerowych wielomianu n-tego stopnia. Wymiar tej przestrzeni wektorowej

Bardziej szczegółowo

Zastosowania sieci neuronowych

Zastosowania sieci neuronowych Zastosowania sieci neuronowych klasyfikacja LABORKA Piotr Ciskowski zadanie 1. klasyfikacja zwierząt sieć jednowarstwowa żródło: Tadeusiewicz. Odkrywanie własności sieci neuronowych, str. 159 Przykład

Bardziej szczegółowo

5. Rozwiązywanie układów równań liniowych

5. Rozwiązywanie układów równań liniowych 5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a

Bardziej szczegółowo

Temat: Sieci neuronowe oraz technologia CUDA

Temat: Sieci neuronowe oraz technologia CUDA Elbląg, 27.03.2010 Temat: Sieci neuronowe oraz technologia CUDA Przygotował: Mateusz Górny VIII semestr ASiSK Wstęp Sieci neuronowe są to specyficzne struktury danych odzwierciedlające sieć neuronów w

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline. Wstęp do sieci neuronowych, wykład 3 Warstwy, jednostka Adaline. Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 13-1- Projekt pn. Wzmocnienie potencjału dydaktycznego

Bardziej szczegółowo

Metody numeryczne I Równania nieliniowe

Metody numeryczne I Równania nieliniowe Metody numeryczne I Równania nieliniowe Janusz Szwabiński szwabin@ift.uni.wroc.pl Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/66 Równania nieliniowe 1. Równania nieliniowe z pojedynczym pierwiastkiem

Bardziej szczegółowo

Sieci neuronowe w Statistica

Sieci neuronowe w Statistica http://usnet.us.edu.pl/uslugi-sieciowe/oprogramowanie-w-usk-usnet/oprogramowaniestatystyczne/ Sieci neuronowe w Statistica Agnieszka Nowak - Brzezińska Podstawowym elementem składowym sztucznej sieci neuronowej

Bardziej szczegółowo

BIOCYBERNETYKA SIECI NEURONOWE. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

BIOCYBERNETYKA SIECI NEURONOWE. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej. Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej BIOCYBERNETYKA Adrian Horzyk SIECI NEURONOWE www.agh.edu.pl Mózg inspiruje nas od wieków Co takiego

Bardziej szczegółowo

Projekt Sieci neuronowe

Projekt Sieci neuronowe Projekt Sieci neuronowe Chmielecka Katarzyna Gr. 9 IiE 1. Problem i dane Sieć neuronowa miała za zadanie nauczyć się klasyfikować wnioski kredytowe. W projekcie wykorzystano dane pochodzące z 110 wniosków

Bardziej szczegółowo

6. Perceptron Rosenblatta

6. Perceptron Rosenblatta 6. Perceptron Rosenblatta 6-1 Krótka historia perceptronu Rosenblatta 6-2 Binarne klasyfikatory liniowe 6-3 Struktura perceptronu Rosenblatta 6-4 Perceptron Rosenblatta a klasyfikacja 6-5 Perceptron jednowarstwowy:

Bardziej szczegółowo

IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. - funkcja dwóch zmiennych,

IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. - funkcja dwóch zmiennych, IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. Definicja 1.1. Niech D będzie podzbiorem przestrzeni R n, n 2. Odwzorowanie f : D R nazywamy

Bardziej szczegółowo

Przykładowe zadania z teorii liczb

Przykładowe zadania z teorii liczb Przykładowe zadania z teorii liczb I. Podzielność liczb całkowitych. Liczba a = 346 przy dzieleniu przez pewną liczbę dodatnią całkowitą b daje iloraz k = 85 i resztę r. Znaleźć dzielnik b oraz resztę

Bardziej szczegółowo

Elementy Modelowania Matematycznego

Elementy Modelowania Matematycznego Elementy Modelowania Matematycznego Wykład 8 Programowanie nieliniowe Spis treści Programowanie nieliniowe Zadanie programowania nieliniowego Zadanie programowania nieliniowego jest identyczne jak dla

Bardziej szczegółowo

Literatura. Sztuczne sieci neuronowe. Przepływ informacji w systemie nerwowym. Budowa i działanie mózgu

Literatura. Sztuczne sieci neuronowe. Przepływ informacji w systemie nerwowym. Budowa i działanie mózgu Literatura Wykład : Wprowadzenie do sztucznych sieci neuronowych Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka Tadeusiewicz R: Sieci neuronowe, Akademicka Oficyna Wydawnicza RM, Warszawa

Bardziej szczegółowo

wiedzy Sieci neuronowe (c.d.)

wiedzy Sieci neuronowe (c.d.) Metody detekci uszkodzeń oparte na wiedzy Sieci neuronowe (c.d.) Instytut Sterowania i Systemów Informatycznych Universytet Zielonogórski Wykład 8 Metody detekci uszkodzeń oparte na wiedzy Wprowadzenie

Bardziej szczegółowo

W. Guzicki Próbna matura, grudzień 2014 r. poziom rozszerzony 1

W. Guzicki Próbna matura, grudzień 2014 r. poziom rozszerzony 1 W. Guzicki Próbna matura, grudzień 01 r. poziom rozszerzony 1 Próbna matura rozszerzona (jesień 01 r.) Zadanie 18 kilka innych rozwiązań Wojciech Guzicki Zadanie 18. Okno na poddaszu ma mieć kształt trapezu

Bardziej szczegółowo

II. Równania autonomiczne. 1. Podstawowe pojęcia.

II. Równania autonomiczne. 1. Podstawowe pojęcia. II. Równania autonomiczne. 1. Podstawowe pojęcia. Definicja 1.1. Niech Q R n, n 1, będzie danym zbiorem i niech f : Q R n będzie daną funkcją określoną na Q. Równanie różniczkowe postaci (1.1) x = f(x),

Bardziej szczegółowo

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska Sieci neuronowe w Statistica Agnieszka Nowak - Brzezioska Podstawowym elementem składowym sztucznej sieci neuronowej jest element przetwarzający neuron. Schemat działania neuronu: x1 x2 w1 w2 Dendrites

Bardziej szczegółowo

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH Jednym z zastosowań metod numerycznych jest wyznaczenie pierwiastka lub pierwiastków równania nieliniowego. W tym celu stosuje się szereg metod obliczeniowych np:

Bardziej szczegółowo

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa SIMR 06/07, Analiza, wykład, 07-0- Przestrzeń wektorowa Przestrzeń wektorowa (liniowa) - przestrzeń (zbiór) w której określone są działania (funkcje) dodawania elementów i mnożenia elementów przez liczbę

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane.

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane. Wstęp do sieci neuronowych, wykład 7. M. Czoków, J. Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika w Toruniu 213-11-19 Projekt pn. Wzmocnienie potencjału dydaktycznego UMK w Toruniu

Bardziej szczegółowo

Klasyfikator liniowy Wstęp Klasyfikator liniowy jest najprostszym możliwym klasyfikatorem. Zakłada on liniową separację liniowy podział dwóch klas między sobą. Przedstawia to poniższy rysunek: 5 4 3 2

Bardziej szczegółowo