SID Wykład 8 Sieci neuronowe

Podobne dokumenty
Elementy inteligencji obliczeniowej

Uczenie sieci neuronowych i bayesowskich

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Sieci neuronowe: pomysl

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.

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

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

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

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

wiedzy Sieci neuronowe (c.d.)

Podstawy Sztucznej Inteligencji

Sztuczne sieci neuronowe

Podstawy Sztucznej Inteligencji (PSZT)

Deep Learning na przykładzie Deep Belief Networks

Sztuczne sieci neuronowe

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym

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

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

wiedzy Sieci neuronowe

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

Zastosowania sieci neuronowych

Metody Sztucznej Inteligencji II

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

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

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

I EKSPLORACJA DANYCH

Wstęp do sztucznych sieci neuronowych

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

Sztuczne siei neuronowe - wprowadzenie

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

Sztuczna inteligencja

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

Uczenie ze wzmocnieniem

Sieci neuronowe w Statistica

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

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Definicja perceptronu wielowarstwowego

Temat: Sieci neuronowe oraz technologia CUDA

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

Podstawy sztucznej inteligencji

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

Uczenie sieci typu MLP

Optymalizacja ciągła

Uczenie sieci radialnych (RBF)

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

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład III 2016/2017

ĆWICZENIE 5: Sztuczne sieci neuronowe

METODY INŻYNIERII WIEDZY

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

Widzenie komputerowe

Sieci neuronowe jako sposób na optymalizacje podejmowanych decyzji. Tomasz Karczyoski Wydział W-08 IZ

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

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

Systemy agentowe. Sieci neuronowe. Jędrzej Potoniec

Sztuczne sieci neuronowe (SNN)

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

METODY INTELIGENCJI OBLICZENIOWEJ wykład 5

Algorytmy wstecznej propagacji sieci neuronowych

Systemy agentowe. Sieci neuronowe. Jędrzej Potoniec

Wykład 1: Wprowadzenie do sieci neuronowych

1. Logika, funkcje logiczne, preceptron.

Inteligentne systemy przeciw atakom sieciowym

ELEMENTY SZTUCZNEJ INTELIGENCJI. Sztuczne sieci neuronowe

MODELOWANIE RZECZYWISTOŚCI

6. Perceptron Rosenblatta

Optymalizacja systemów

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2013/2014

Politechnika Warszawska

Podstawy Sztucznej Inteligencji Sztuczne Sieci Neuronowe. Krzysztof Regulski, WIMiIP, KISiM, B5, pok. 408

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Inteligentne systemy informacyjne

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD X: Sztuczny neuron

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

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Sztuczne sieci neuronowe i sztuczna immunologia jako klasyfikatory danych. Dariusz Badura Letnia Szkoła Instytutu Matematyki 2010

Automatyczna predykcja. Materiały/konsultacje. Co to jest uczenie maszynowe? Przykład 6/10/2013. Google Prediction API, maj 2010

Prognozowanie kierunku ruchu indeksów giełdowych na podstawie danych historycznych.

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

Optymalizacja optymalizacji

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

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

OCENA DZIAŁANIA AE. METODY HEURYSTYCZNE wykład 4 LOSOWOŚĆ W AE KRZYWE ZBIEŻNOŚCI ANALIZA STATYSTYCZNA:

Sztuczne sieci neuronowe. Uczenie, zastosowania

ESI: Perceptrony proste i liniowe

Metody klasyfikacji i rozpoznawania wzorców. Najważniejsze rodzaje klasyfikatorów

DEKOMPOZYCJA HIERARCHICZNEJ STRUKTURY SZTUCZNEJ SIECI NEURONOWEJ I ALGORYTM KOORDYNACJI

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym, kontynuacja badań

MATLAB Neural Network Toolbox uczenie sieci (dogłębnie)

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

SIECI REKURENCYJNE SIECI HOPFIELDA

Wrocław University of Technology. Uczenie głębokie. Maciej Zięba

PROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH**

Wprowadzenie do uczenia maszynowego

SIECI RBF (RADIAL BASIS FUNCTIONS)

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

Uczenie Wielowarstwowych Sieci Neuronów o

Zrównoleglona optymalizacja stochastyczna na dużych zbiorach danych

Zrealizować sieć neuronową (learnbpm) uczącą się odwzorowania z = x 2 + y 2 dla x i y zmieniających się od -1 do 1.

Transkrypt:

SID Wykład 8 Sieci neuronowe Wydział Matematyki, Informatyki i Mechaniki UW slezak@mimuw.edu.pl

Sztuczna inteligencja - uczenie Uczenie się jest procesem nastawionym na osiaganie rezultatów opartych o dostęp do danych (wiedzy, obserwacji) fragmentarycznych. Powinien umożliwiać doskonalenie się. Herbert Simon (1983) "Uczenie się oznacza zmiany w systemie, które maja charakter adaptacyjny w tym sensie, że pozwalaja systemowi wykonać za następnym razem takie same zadanie lub zadania podobne bardziej efektywnie." Donald Michie (1991) "System uczacy się wykorzystuje zewnętrzne dane empiryczne w celu tworzenia i aktualizacji podstaw dla udoskonalonego działania na podobnych danych w przyszłości oraz wyrażania tych podstaw w zrozumiałej i symbolicznej postaci."

Problemy optymalizacji Uczenie się jako metoda budowania optymalnego rozwiazania ze względu na określone kryterium jakości. Może być to zatem poszukiwanie ekstremum zadanej funkcji celu, np. oznaczajacej koszt (minimalizacja) lub wydajność (maksymalizacja). Ze względu na ogólna złożoność problemu i ograniczenia sprzętowe, zadania sztucznej inteligencji często skupiaja się na rozwiazaniach aproksymacyjnych - procedura poszukiwania może zakończyć się w punkcie będacym ekstremum lokalnym lub bliskim takiemu ekstremum. Często nie jesteśmy w stanie przebadać całej przestrzeni problemu, a dysponujemy jedynie jakimś wycinkiem obserwacji - wtedy zależy nam na generalizacji rozwiazania i możliwie najlepszym dopasowaniu się do nieznanych wcześniej przykładów.

Uczenie z nadzorem Zadanie: Uczenie prawidłowego przewidywania odpowiedzi na zadane pobudzenie - budowa i dopasowanie modelu do danych. Generalizacja - system powinien dobrze radzić sobie również z przypadkami, z którymi wcześniej się nie zetknał. Nadzór człowieka polega na dostarczeniu zestawu danych (treningowych) uczacych: wejściowych obiektów, np. w postaci wektorów danych pomiarowych oraz, dla każdego z obiektów, pożadanej (oczekiwanej) przez nauczyciela (nadzorcę) odpowiedzi, np. etykiety lub wartości liczbowej Przykład: regresja liniowa 1 0.5 0-0.5-1 1 2 3 4 5 6 7 8 9 10

Uczenie bez nadzoru Zakłada brak obecności ludzkiego nadzoru nad tworzeniem modelu (funkcji), majacego na celu odnalezienie ukrytej struktury danych. Dane dostarczone sa do systemu bez nadanych etykiet (pożadanych odpowiedzi) - dla systemu oznacza to brak informacji zwrotnej o błędzie (lub dokładności) budowanego modelu. Przykład: analiza skupień 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Sieci neuronowe: pomysł Naśladowanie mózgu działajacego jako sieć komórek neuronowych. Axonal arborization Synapse Axon from another cell Dendrite Axon Nucleus Synapses Cell body or Soma Sygnały to zaszumione bodźce trenujace poziom potencjału elektrycznego komórek.

Sieci neuronowe: sztuczne i naturalne Komputer M.zg Jednostki obliczeniowe 1 CPU 10 11 neuronów 10 8 bramek logicznych > 20 typów Jednostki pamięciowe 10 10 bitów RAM 10 11 neuronów 10 11 bitów dysku 10 14 synaps Czas cyklu 1 ns (10 9 sek.) 1 10 ms (10 3 sek.) Szerokość pasma 10 10 bitów/sek 10 14 bitów/sek Zmiany stanów/sek 10 9 10 14 Równoległość daje wciaż umysłowi ludzkiemu ogromna przewagę nad komputerem pomimo dużo wolniejszego czasu przetwarzania informacji.

Perceptron x = (x 1,x 2,...,x n ) wektor wejściowy (obiekt danych) x 1 w 1 x 0 =1 x 2 x n... w 2 w n w 0 Σ n Σ wi x i i=0 n 1 if Σ w > 0 o = { i x i=0 i -1 otherwise w = (w 0,w 1,...,w n ) wektor wag perceptronu w 0 waga przesunięcia ( przesuwa próg funkcji aktywacji) σ progowa (skokowa) funkcja aktywacji perceptronu o( x) wartość wyjścia perceptronu dla wektora x { 1 if w0 + w o( x) = σ( w x) = 1 x 1 +... + w n x n > 0 1 otherwise.

Perceptron: wyrażalność Perceptron reprezentuje liniowe cięcie w przestrzeni wejść X2 X1

Perceptron: wyrażalność Można wyrazić funkcje logiczne AND, OR, NOT W 0 = -1.5 W 0= -0.5 W 0= 0.5 W = 1 1 W 2= 1 W 1 = 1 W 2= 1 W 1 = -1 AND OR NOT ale nie da się dobrać wag do funkcji XOR I 1 I 1 I 1 1 1 1? 0 0 0 0 1 I 2 0 1 I 2 0 1 I 2 (a) I 1 and I 2 (b) I 1 or I 2 (c) I 1 xor I 2

Uczenie perceptronu: algorytm Przykładowy algorytm oparty na idei iteracyjnego poprawiania, celem jest optymalizacja (minimalizacja błędu) modelu. function PERCEPTRON-LEARN(perceptron, examples, α) returns a perceptron inputs: examples - a set of examples, each with input x and output y( x) perceptron - a perceptron with weights w = (w 0,...,w n ) α - the learning rate repeat for each x = (x 1,...,x n ) in examples do w α (y( x) w x) x w w + w end for until some stopping criterion is satisfied return perceptron end function

Uczenie perceptronu: własność Twierdzenie 1 Jeśli zbiór danych jest liniowo separowalny, a współczynnik szybkości uczenia α wystarczajaco mały = algorytm uczenia perceptronu jest zbieżny. Twierdzenie 2 Jeśli zbiór danych nie jest liniowo separowalny = algorytm zbiega lokalnie do minimalnego błędu średniokwadratowego.

Zbieżność uczenia perceptronu Bład średniokwadratowy dla zbioru treningowego U E[ w] = 1 2 x U(y( x) w x) 2 20 E[ w] 0 2 Gradient błędu średniokwadratowego [ ] E[ w] = E, E, E w 0 w 1 w n 0 0 2 2 w 1 w 0 = wskazuje kierunek, w którym bład E[ w] rośnie 2

Zbieżność uczenia perceptronu Bład średniokwadratowy E[ w] = 1 2 x U (y( x) w x) 2 E = 1 w i (y( x) w x) 2 w i 2 x U = 1 (y( x) w x) 2 2 w x U i = 1 2(y( x) w x) (y( x) w x) 2 w x U i = (y( x) w x) (y( x) w x) w x U i = (y( x) w x)( x i ) x U = (y( x) w x)x i x U Stad E[ w] = x U (y( x) w x) x.

Zbieżność uczenia perceptronu Gradient E[ w] = x U (y( x) w x) x wskazuje kierunek, w którym bład średniokwadratowy E[ w] rośnie = wagi perceptronu sa poprawiane w kierunku dokładnie przeciwnym do gradientu E[ w] Stad w algorytmie uczenia perceptronu: w α(y( x) w x) x w w + w

Płaska sieć perceptronów Reprezentuje funkcję wektorowa Poszczególne perceptrony sa niezależne = trzeba trenować każdy perceptron oddzielnie Input units W j,i Output units

Wielowarstwowa sieć neuronowa Jednostki: Jednostki podzielone sa na warstwy, każda jednostka przyporzadkowana jest do dokładnie jednej warstwy Wejścia: Wejścia podłaczone sa wyłacznie do jednostek znajdujacych się w najniższej warstwie Połaczenia: Połaczenia występuja wyłacznie pomiędzy jednostkami z sasiednich warstw, łacz a zawsze wyjścia jednostek z warstwy niższej z wejściami do jednostek w warstwie wyższej Wyjście: Typowa sieć z jedna wartościa funkcji ma tylko jedna jednostkę w najwyższej warstwie, wyjście z tej jednostki jest wyjściem całej sieci

Wielowarstwowa sieć neuronowa: przykład 2 warstwy, 10 wejść, 4 neurony ukryte (w warstwie wewnętrznej) Output units a i W j,i Hidden units a j W k,j Input units a k

Wielowarstwowa sieć neuronowa: ewaluacja 1 W 1,3 W 1,4 3 W 3,5 5 2 W 2,3 W 2,4 4 W 4,5 x 5 = σ(w 3,5 x 3 + w 4,5 x 4 ) = σ(w 3,5 σ(w 1,3 x 1 + w 2,3 x 2 ) + w 4,5 σ(w 1,4 x 1 + w 2,4 x 2 )) Uwaga: Zastosowanie liniowych funkcji przejścia w warstwach pośrednich byłoby nieefektywne - warstwy takie można pominać, poprzez odpowiednie przeliczenie wag i bezpośrednie połacznie warstw poprzedajacej i następujacej.

Wielowarstwowa sieć neuronowa: uczenie Problem Progowa funkcja aktywacji jest nieciagła i nieróżniczkowalna = dla jednostek wewnętrznych nie można wyprowadzić gradientowej reguły poprawiania wag gwarantujacej zbieżność uczenia Rozwiazanie Zastosowanie różniczkowalnej funkcji aktywacji

Perceptron z sigmoidalna funkcja aktywacji x 1 w 1 x 0 = 1 x 2 x n... w 2 w n w 0 Σ n net = Σ w i x i=0 i o = σ(net) = 1 1 + ē net Sigmoidalna funkcja aktywacji perceptronu σ(z) = 1 1+e z o( x) = σ( w x) = 1 1+e w x

Perceptron z sigmoidalna funkcja aktywacji Funkcja wyjścia dla pojedynczego perceptronu z sigmoidalna funkcja aktywacji i 2 wejściami: Perceptron output 0.9 1 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0-4 -2 0 x 1 2 4-4 -2 0 2 4 x 2

Wielowarstwowa sieć neuronowa: przykład Liczba wejść: 2, liczba warstw: 2 Warstwa ukryta: 2 perceptrony skierowane przeciwnie do siebie = definiuje krawędź X1 + +/ +/ + X 2 h W (x 1, x 2 ) 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0-4 -2 0 x 1 2-4 -2 0 4 2 4 x 2

Wielowarstwowa sieć neuronowa: przykład Liczba wejść: 2, liczba warstw: 3 Warstwa ukryta: 2 sieci tworzace krawędzie ustawione prostopadle do siebie = definiuje ograniczone wzniesienie h W (x 1, x 2 ) 0.9 1 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0-4 -2 0 x 1 2 4-4 -2 0 2 4 x 2

Wielowarstwowa sieć neuronowa: przykład Rozpoznawanie słów: 2 warstwy, 2 wejścia, wiele wyjść head hid who d hood...... F1 F2

Wielowarstwowa sieć neuronowa: własności Funkcje boolowskie: Każda funkcja boolowska może być reprezentowana przez sieć z jedna warstwa ukryta, ale może wymagać wykładniczej liczby jednostek ukrytych Funkcje ciagłe: Każda ograniczona funkcja ciagła może być aproksymowana z dowolnie małym błędem przez sieć z jedna warstwa ukryta [Cybenko 1989; Hornik et al. 1989] Dowolna funkcja może być aproksymowana z dowolna dokładnościa przez sieć z dwoma warstwami ukrytymi [Cybenko 1988]

Propagacja wsteczna: algorytm function BACK-PROP-UPDATE(examples, layers, α) returns a network inputs: examples - a set of examples, each with input x and output y( x) layer 0,layer 1,...,layer n - neuron layers sorted from the bottom to the top α - the learning rate repeat for each x = (x 1,...,x n) in examples do for each unit j layer 0 do o j x j end for for each unit j layer p in order from layer 1 up to layer n do z j i layerp 1 w i,j o i o j σ(z j ) end for for each unit j layer n do δ j σ (z j )(y j ( x) o j ) end for for each unit j layer p in order from layer n 1 down to layer 0 do δ j σ (z j ) k layerp+1 w j,k δ k w j,k αδ k o j w j,k w j,k + w j,k end for end for until some stopping criterion is satisfied return layers with modified weights end function

Propagacja wsteczna: własności Fakt Algorytm propagacji wstecznej działa dla dowolnego grafu skierowanego bez cykli Twierdzenie Algorytm propagacji wstecznej zbiega lokalnie do minimalnego błędu średniokwadratowego

Propagacja wsteczna: zbieżność uczenia E[ w] = 1 2 x U(y( x) o( x)) 2 = 1 2 x U (y( x) σ( w x)) 2 E = 1 w i (y( x) o( x)) 2 w i 2 x U = 1 (y( x) o( x)) 2 2 w x U i = 1 2(y( x) o( x)) (y( x) o( x)) 2 w x U i = (y( x) o( x)) o( x) w x U i = x U (y( x) o( x)) σ z [z = w x] w i ( w x) = (y( x) o( x)) σ z [z = w x]x i x U ( w i ( w x) = x i )

Propagacja wsteczna: zbieżność uczenia σ E[ w] = x U [z = w x](y( x) o( x)) x z Stad dla neuronów j z najwyższej warstwy stosujemy zmiany wag: δ j σ z [z = w x](y j( x) o j ( x)) w i,j αδ j x i,j Neurony z niższych warstw musza mieć odpowiednik błędu y j ( x) o j ( x) = dla każdego neuronu j layer p liczona jest ważona suma błędów na wyjściach tego neuronu k layerp+1 w j,k δ k Zmiana wag definiowana jest wtedy jako: δ j σ z [z = w x] k layer p+1 w j,k δ k w i,j αδ j x i,j

Propagacja wsteczna z sigmoidalna funkcja aktywacji Sigmoidalna funkcja aktywacji σ(z) = 1 1+e z we wszystkich neuronach o( x) = σ( w x) = 1 1+e w x ( )( ) σ z = 1 1 1 1+e z 1+e z σ [z = w x] = o( x)(1 o( x)) z Wartości współczynników zmiany wag δ j dla neuronów j z warstwy najwyższej: δ j o j (1 o j )(y j ( x) o j ) dla neuronów j z każdej niższej warstwy p: δ j o j (1 o j ) k layerp+1 w j,k δ k

Propagacja wsteczna: przykład zbieżności Epoka: przebiega jednokrotnie wszystkie obiekty treningowe poprawiajac wagi, na koniec wylicza bład sumaryczny dla całego zbioru treningowego = algorytm uczenia zatrzymuje się, kiedy bład przestaje maleć 14 Total error on training set 12 10 8 6 4 2 0 0 50 100 150 200 250 300 Number of epochs

Dobór współczynnika szybkości uczenia α Zazwyczaj: α [0.01;0.5] Po każdej ustalonej liczbie epok można redukować geometrycznie: α := α c c [0.9;0.99] = Pozwala na szybka zbieżność na poczatku (np. α 0.5) i precyzyjna zbieżność do lokalnego maksimum w końcowej fazie (α 0)

Dziękuję za uwagę!