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

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

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

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

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Uczenie sieci typu MLP

Metody Sztucznej Inteligencji II

Temat: Sieci neuronowe oraz technologia CUDA

Podstawy Sztucznej Inteligencji (PSZT)

Sztuczne sieci neuronowe

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

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

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

Zastosowania sieci neuronowych

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

wiedzy Sieci neuronowe

Zastosowania sieci neuronowych

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

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

Sieci neuronowe w Statistica

Rozdział 1 Sztuczne sieci neuronowe. Materiały do zajęć dydaktycznych - na podstawie dokumentacji programu Matlab opracował Dariusz Grzesiak

Podstawy sztucznej inteligencji

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Inteligentne systemy przeciw atakom sieciowym

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

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

Uczenie sieci neuronowych i bayesowskich

wiedzy Sieci neuronowe (c.d.)

Uczenie Wielowarstwowych Sieci Neuronów o

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.

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

Zastosowania sieci neuronowych - automatyka identyfikacja sterowanie

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

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

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Sztuczne sieci neuronowe

Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie:

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

Optymalizacja ciągła

Sztuczna inteligencja

Wyszukiwanie binarne

Optymalizacja systemów

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

Elementy inteligencji obliczeniowej

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Wstęp do sztucznych sieci neuronowych

Instrukcja realizacji ćwiczenia

Sztuczne sieci neuronowe (SNN)

Co to jest grupowanie

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

Sieć Hopfielda. Sieci rekurencyjne. Ewa Adamus. ZUT Wydział Informatyki Instytut Sztucznej Inteligencji i Metod Matematycznych.

Widzenie komputerowe

Uczenie sieci radialnych (RBF)

2. FUNKCJE. jeden i tylko jeden element y ze zbioru, to takie przyporządkowanie nazwiemy FUNKCJĄ, lub

Agnieszka Nowak Brzezińska Wykład III

1. Logika, funkcje logiczne, preceptron.

0 + 0 = 0, = 1, = 1, = 0.

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH

3. FUNKCJA LINIOWA. gdzie ; ół,.

FUNKCJA KWADRATOWA. Zad 1 Przedstaw funkcję kwadratową w postaci ogólnej. Postać ogólna funkcji kwadratowej to: y = ax + bx + c;(

Definicja pochodnej cząstkowej

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

FUNKCJA LINIOWA - WYKRES

Sztuczne siei neuronowe - wprowadzenie

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

WYKŁAD 4 PLAN WYKŁADU. Sieci neuronowe: Algorytmy uczenia & Dalsze zastosowania. Metody uczenia sieci: Zastosowania

Propozycje rozwiązań zadań otwartych z próbnej matury rozszerzonej przygotowanej przez OPERON.

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

Rozwiązywanie problemów z użyciem Solvera programu Excel

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

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

I EKSPLORACJA DANYCH

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

Z52: Algebra liniowa Zagadnienie: Zastosowania algebry liniowej Zadanie: Operatory różniczkowania, zagadnienie brzegowe.

Metoda eliminacji Gaussa. Autorzy: Michał Góra

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

Weźmy wyrażenie. Pochodna tej funkcji wyniesie:. Teraz spróbujmy wrócić.

Definicje i przykłady

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

TEORETYCZNE PODSTAWY INFORMATYKI

SIEĆ NEURONOWA JAKO NARZĘDZIE APROKSYMACJI I KLASYFIKACJI DANYCH. Jakub Karbowski Gimnazjum nr 17 w Krakowie

WYKŁAD 9 METODY ZMIENNEJ METRYKI

Agnieszka Nowak Brzezińska Wykład III

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

Optymalizacja optymalizacji

Agnieszka Nowak Brzezińska

Algorytmy sztucznej inteligencji

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

SZTUCZNA INTELIGENCJA

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

//warunki początkowe m=500; T=30; c=0.4; t=linspace(0,t,m); y0=[-2.5;2.5];

13. Równania różniczkowe - portrety fazowe

SIECI REKURENCYJNE SIECI HOPFIELDA

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

Systemy uczące się Lab 4

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

FUNKCJA LINIOWA, RÓWNANIA I UKŁADY RÓWNAŃ LINIOWYCH

Transkrypt:

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 jego sztuczny model Sieć neuronowa to wysoce równoległy, rozproszony procesor złożony z prostych elementów obliczeniowych zwanych neuronami. Pierwowzorem dla stworzenia sztucznych sieci neuronowych był model sieci neuronowej organizmów żywych. Podobnie jak neuron z systemu nerwowego istot żywych sztuczny neuron posiada kilka wejść oraz jedno wyjście, będące przetworzoną informacją wejściową. Model neuronu skła- Rysunek : Model neuronu. da się z elementu sumacyjnego, do którego dochodzą sygnały wejściowe x, x 2,..., x n tworzące wektor wejściowy x = [x, x 2,..., x n ] pomnożony przez przyporządkowane im wagi w, w 2,..., w n. Sygnał wejściowy sumatora to suma wartości wejściowych x i pomnożonych przez odpowiadające im wagi w i. Informacja wyjściowa neuronu jest przetworzonym sygnałem wejściowym sumatora przez tzw. funkcję aktywacji f. Najczęściej stosowanymi funkcjami aktywacji są:. Funkcja liniowa. 2. Funkcja sgn.

Rysunek 2: Funkcja liniowa. Rysunek 3: Funkcja sgn. 3. Funkcja sigmoidalna. Mówiąc najogólniej jak tylko można, z czysto użytkowego punktu widzenia, neuron można traktować jak czarną skrzynkę. Skrzynkę posiadającą pewną ilość wejść i tylko jedno wyjście. Cel jaki zamierzamy osiągnąć to spowodowanie aby w odpowiedzi na pewne zadane sygnały wejściowe skrzynka ta zwracała konkretne warości na swoim wyjściu. Dużo bardziej jednak istotne jest to, aby o podaniu na wejście sygnałów nie identycznych, ale podobnych do wcześniej zadanych również zwracała prawodłowe wartości (czyli odpowiedzi). Tak będzie na przykłd z literami. Możemy neuronowi zaprezentować na przykład 2 litery A i C i przypisać odpowiednio wartości sygnałów wyjściowych równe 0 i. Oczekiwać będziemy, że po podaniu A otrzymamy 0, gdy podamy C. Jeszcze bardziej jednak ucieszy nas, gdy po podanu inaczej zapisanej litery A otrzymamy odpowied bliską wzorcowej, na przykład 0.00. Podobnie dla C. Aby ta czarna skrzynka mogła spełnić to nasze żądanie musimy nauczyć neuron prawidłowego odwzorowania. Właśnie nauką neuronu w tym ćwiczeniu się zajmiemy. 2

Rysunek 4: Funkcja sigmoidalna. Nauka Jedynymi parametrami, za pomocą których możemy sterować zachowaniem neuronu są wagi. Od ich doboru będzie zależało jakie zadania i w jakim stopniu neuron będzie w stanie wykonać. Na początku podkreślmy to o czym już powiedzieliśmy a co być może umknęło nam. Po pierwsze musimy mieć zdefiniowane dwa zbiory.. Zbiór pierwszy, to zbiór sygnałów jakie będą podawane na wejście neuronu; w przykładzie sygnały reprezentujące litery A i C). 2. Zbiór drugi, to zbiór prawidłowych sygnałow wyjściowych neuronu (w przykładzie 0 i ). Oznaczmy pierwszy z tych zbiorów przez P, drugi przez T. Elementy tych zbiorów będziemy oznaczac prza małe literki odpowiednio p i t, z ineksem wskazujacym na numer. Tak wiec mamy: P = {p, p 2 } T = {t, t 2 } = {0, } gdzie p i p 2 to wektory powstałe w oparciu o poniższe obrazki, według zasady: czarne pole =, białe = 0 (odstępu co 5 dodane są dla czytelnosci): XXXXX XXXXX XXXXX X XXXX p = 000 000 000 000 000 p 2 = 0000 0000 0000 0000 0000 Oba zbiory tworzą zbiór uczący L = {P, T } Powiedzieliśmy także, że chcemy aby wyście z neuronu różniło się jak najmniej od odpowiedzi oczekiwanej przez nas, czyli chcemy aby różnica (t i y i ) dla i =,..., n była jak najmniejsza (przy podawanym na wejście p lub p 2 ). Inaczej mówiąc dążymy do minimalizacji określonej tym sposobem funkcji. Skoro jednak ma to być funkcja, to powinna mieć jakąś zmienną (lub zmienne). Przed chwilą powiedzieliśmy, że jedyne co może sie w neuronie zmieniać to jego wagi. Ostatecznie więc otrzymujemy nastepującą definicję funkcji E(w) = (t i y i ), 3

gdzie w = [w,..., w n ] Po prawej stronie nie widać aby y i zależało od w, ale łatwo jest to zmienić... Zgodnie z informacjami ze wstępu net i = (x i kw k ) y i = f(net i ) a więc E(w) = (t i f( x i kw k )) Zwykle aby zapewnić sobie, że funkcja E ma minimum i aby łatwiej się nam potem liczyło, przyjmuje się (i my też tak zrobimy) E(w) = 2 (t i y i ) 2 Mamy więc zdefiniowaną pewną funkcję i poszukujemy jej minimum. Do tego celu świetnie nadaje sie metoda gradientowa metoda wyznaczania minimum funkcji. Zgodnie z nią w(t + ) = w(t) ηe (w(t)) Teraz musimu zdecydować się na funkcję stosowaną jako funkcja wyjścia. Przyjmijmy, że f = + e ( x) Policzmy zatem gradient funkcji E [ E E =,..., E ] w w n [ ] E = E w w p (w) = p 2 (t i f( x i kw k )) 2 = w i 2 2(t i f( x i kw k ))(t i f( x i kw k )) = = (t i f( x i kw k ))( x i kw k ) w p f ( x i kw k ) = = (t i f( x i kw k ))x i pf ( x i kw k ) = = (t i f(net i ))x i pf (net i ) = = (t i y i )x i pf (net i ). Iloczyn (t i y i )f E E (net i ), czyli gdyż net w p delta i oznaczamy go δ. Następnie f (x) = f(x)( f(x)) = E net net w p nazywany jest sygnałem błędu Uwaga: zatem pochodna w punkcie x wyraża się przez wartość tejże funkcji w tym samym punkcie x. Oznacza to, że nie musimy przeprowadzać prawie żadnych dodatkowych obliczeń w celu obliczenia pochodnej. Ostatecznie E w p = (t i y i )x p f(net i )( f(net i )) = (t i y i )x p y i ( y i ) 4

(gdzie w naszym przypadku i =, 2). W praktyce jednak i zmienia się w dużo większym zakresie. Po prostu po jednokrotnej prezentacji próbki uczącej p (to znaczy podaniu na wejścia neuronu sygnałów z p ) i jednokrotnej prezentacji p 2 wprowadzone poprawki wag będą niewielkie. Zatem ponownie będziemy musieli zaprezentować neuronowi dane wejściowe p i p 2 a następnie jeszcze raz i jeszcze raz i jeszcze... Dlatego też możemy przyjąć, że na przykład i =, 2,... i gdy i jest liczbą nieparzystą to na wejście podajemy p, gdy zaś i jest liczbą parzystą, to p 2. Teraz wiemy już wszystko aby móc nauczyć nasz neuron rozpoznawania liter A i C. Pozostaje jedynie w bardziej zwartej formie zaprezentować rozważany algorytm. Algorytm Mamy dany zbiór uczący L następującej postaci: L = {P, T } P = {p, p 2,..., p ilośćobrazów } T = {t, t 2,..., t ilośćobrazów } t k [0, ] k numer obrazu, k =, 2,..., ilośćobrazów p i = [p i,,..., p i,n ], gdzie n ilość wejść. Wybór η > 0 (współczynnik uczenia), E max > 0 (maksymalny błąd jaki chcemy osiągnąć), C max > 0 (ilość kroków uczenia). 2. Losowy wybór początkowych wartości wag (zmienne w,..., w n ) jako niewielkich liczb (na przykład z przedziału [, ]). c := 0. 3. l := 0, E := 0 4. Podanie jednego z obrazów ze zbioru P (na przykład k tego) na wejscia neuronu x i = p k,i k numer obrazu, n =,..., n, n ilosć wejść d = t k i obliczenie sygnału wyjściowego neuronu y = f(net) net = n x k w k 5. Uaktualnienie wartości wag według wzoru w p (t+) = w p (t)+η(d y)( y)x p y 6. Obliczanie błędu E = E + (d y)2 2 7. Jesli l < ilosćobrazów to l := l + i przejscie do kroku 4. 8. Jesli E < E max, to kończymy algorytm. Jeśli c < C max, to c := c + i przechodzimy do kroku 3. W przeciwnym razie kończymy algorytm. Teraz kilka uwag:. W kroku 4 wybieramy jeden z obrazów ze zbioru P. Najlepiej jeśli kolejność wybieranych obrazów będzie losowa. 2. Zmienna c wskazuje na kolejne cykle uczące. Jak widać jeden cykl składa się z prezentacji wszystkich wzorców uczących. Zadanie Należy zaimplementować zaprezentowany algorytm dla identycznego zadania jak rozważanego w tekście (rozpoznawanie pewnych liter). Program ma mieć możliwość, po nauczeniu neuronu, podawania przez użytkownika wartości sygnałów wejściowych i obliczenia dla nich odpowiedzi neuronu. 5