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

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

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

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

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

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

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 07 Uczenie nienadzorowane.

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

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

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

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Uczenie sieci neuronowych i bayesowskich

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

Elementy inteligencji obliczeniowej

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

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

Optymalizacja systemów

Uczenie sieci typu MLP

Optymalizacja ciągła

Metody systemowe i decyzyjne w informatyce

wiedzy Sieci neuronowe

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

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

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

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Rozpoznawanie obrazów

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

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.

Podstawy Sztucznej Inteligencji (PSZT)

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

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

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

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

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

Metody Sztucznej Inteligencji II

Zastosowania sieci neuronowych

Sieci neuronowe w Statistica

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

SZTUCZNA INTELIGENCJA

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

Elektroniczne materiały dydaktyczne do przedmiotu Wstęp do Sieci Neuronowych

Wstęp do sieci neuronowych, wykład 09, Walidacja jakości uczenia. Metody statystyczne.

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

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

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

Uczenie sieci radialnych (RBF)

Rozpoznawanie obrazów

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

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

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

Projekt Sieci neuronowe

Metody systemowe i decyzyjne w informatyce

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Sztuczne sieci neuronowe

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

Metody Optymalizacji: Przeszukiwanie z listą tabu

Podstawy sztucznej inteligencji

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

Optymalizacja ciągła

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

Zrównoleglona optymalizacja stochastyczna na dużych zbiorach danych

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Rozpoznawanie obrazów

Agnieszka Nowak Brzezińska Wykład III

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

Metody systemowe i decyzyjne w informatyce

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

Wstęp do sieci neuronowych, wykład 13-14, Walidacja jakości uczenia. Metody statystyczne.

Inteligentne systemy przeciw atakom sieciowym

1. Logika, funkcje logiczne, preceptron.

Transformaty. Kodowanie transformujace

Inżynieria Wiedzy i Systemy Ekspertowe. Logika rozmyta. dr inż. Michał Bereta Politechnika Krakowska

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

I EKSPLORACJA DANYCH

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

Metody eksploracji danych 2. Metody regresji. Piotr Szwed Katedra Informatyki Stosowanej AGH 2017

5. Analiza dyskryminacyjna: FLD, LDA, QDA

Temat: Sieci neuronowe oraz technologia CUDA

KADD Minimalizacja funkcji

METODY INŻYNIERII WIEDZY

Elementy Sztucznej Inteligencji. Sztuczne sieci neuronowe cz. 2

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

Wstęp do sztucznych sieci neuronowych

Widzenie komputerowe

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

Agnieszka Nowak Brzezińska Wykład III

Wstęp do Sieci Neuronowych

WYKŁAD 9 METODY ZMIENNEJ METRYKI

Optymalizacja ciągła

Zmienne losowe ciągłe i ich rozkłady

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

Sztuczne sieci neuronowe (SNN)

Systemy agentowe. Sieci neuronowe. Jędrzej Potoniec

Interpolacja, aproksymacja całkowanie. Interpolacja Krzywa przechodzi przez punkty kontrolne

Aproksymacja funkcji a regresja symboliczna

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

KADD Minimalizacja funkcji

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

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Transkrypt:

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 3 Filtrowanie obrazów Rozpoznawanie obrazów DFT Zadania

Pomysł Przykłady Zastosowanie 1 Pomysł Przykłady Zastosowanie 2 3 Filtrowanie obrazów Rozpoznawanie obrazów DFT Zadania

Pomysł Przykłady Zastosowanie Idea Radialne Funkcje Bazowe (ang. Radial Basis Function, ) Pojedynczy perceptron zachowuje pewną pasmowość, Dane czasami układają się koncentrycznie, Zmiana kształtu aktywacji perceptronu może zatem poprawić działanie.

Pomysł Przykłady Zastosowanie Idea 4 f(x) = exp(- (x - x ) 2 / (2 sigma 2 )) 4 2-2 -4 y 3 2 1-1 -2-3 -4-2 2 4-4 -4-3 -2-1 1 2 3 4 x

Pomysł Przykłady Zastosowanie Budowa Wejście x = (x 1,..., x n ) R n, Zwracana jest wartość pewnej funkcji zależnej od normy x, O( x) = φ( x ) Możemy dodatkowo wycentrować funkcję w punkcie x, zwracamy wówczas O( x) = φ( x x ) Zazwyczaj korzystamy z normy euklidesowej tj. x 2 = n i=1 Wyjście takiej jednostki często stanowi wejście do innego neuronu. x 2 i

Pomysł Przykłady Zastosowanie Norma euklidesowa f ( x) = x x 2 = (x x ) 2 + (y y ) 2 2 15 1 5 1 5 y -5-1 -1-5 x 5 1

Pomysł Przykłady Zastosowanie Hiperbola f (x) = a(x x ) 2 + b(y y ) 2 + c 25 2 15 1 5-1 -5 x 5 1-1 -5 y 5 1

Pomysł Przykłady Zastosowanie Hiperbola f (x) = ( a(x x ) 2 + b(y y ) 2 + c 2) d, d < 1.8.6.4.2 1 5 1 5 y -5-5 x -1-1

Pomysł Przykłady Zastosowanie Funkcja Gaussa f (x) = exp x x 2 2 2σ 2 f(x) = exp(- (x - x ) 2 / (2 sigma 2 )) 1.8.6.4.2-4 -3-2 -1 x 1 2 3 4-4 -3-2 -1 1 y 2 3 4

Pomysł Przykłady Zastosowanie Funkcja liniowo-logarytmiczna f (x) = c x x 2 ln(c x x ), c > 1 8 6 4 2 1 5 1 5 y -5-5 x -1-1

Pomysł Przykłady Zastosowanie Jak wykorzystać w zagadnieniach klasyfikacyjnych Ustalamy liczbę stosowanych funkcji, Dla każdej z nich losowo (jeżeli mamy informacje o koncentracji danych, to deterministycznie) ustalamy punkt centralny x, wariancję itp, Wyjścia podpinamy jako dodatkowe wejścia do perceptronu, Uczymy tak zbudowany rozszerzony perceptron.

Pomysł Przykłady Zastosowanie Jak wykorzystać w zagadnieniach klasyfikacyjnych 2 1.5 1.5-6 -4-2 2 4 6 2 4 6 8 1 12

Pomysł Przykłady Zastosowanie Jak wykorzystać w zagadnieniach klasyfikacyjnych out 2 1.5 1.5-6 -4-2 2 4 6 2 4 6 8 1 12

y Pomysł Przykłady Zastosowanie Efekt 8 6 4 2-2 1.8.6.4.2-4 -8-6 8-6 -4-2 4 6-8 -8-6 -4-2 2 4 6 8 x x 2 4 6 8-8 -6-4 -2 2 y

y Pomysł Przykłady Zastosowanie Efekt 8 6 1 4.8.6 2.4.2-2 8 6-4 4 2-6 -8-8 -6-4 -2 2 4 6 8 x x -2-4 -6-8 8 6 4 2 y -2-4 -6-8

1 Pomysł Przykłady Zastosowanie 2 3 Filtrowanie obrazów Rozpoznawanie obrazów DFT Zadania

Ang. Adaptive Linear Neuron, Jednostka składa się z n wejść x 1,.., x n oraz n wag w 1,.., w n (+ ewentualnie próg w ), Identycznościowa postać funkcji aktywującej, Jednostka zwraca O( x) = n w i x i ( + 1 w ). i=1

Jednostka zwraca O( x) = n w i x i ( + w 1), i=1 Zwracane odpowiedzi są ciągłe, więc Adaline stosuje się do (lokalnego) przybliżania funkcji o wartościach rzeczywistych.

Uczenie Daną mamy próbkę uczącą wraz z poprawnymi odpowiedziami (E (i), C (i) ), przy czym C i są ciągłe, Chcemy znaleźć wagi jednostki liniowej w,.., w n tak, aby neuron możliwie wiernie modelował zależności w danych uczących.

Uczenie 4 w = [.42, -1.55, -2.34] 2 z -2-4 -1-5 x 5 1-4 -2 2 4 y

Funkcja błędu Co oznacza możliwie wiernie? (E 1, C 1 ),..., (E k, C k ) dane wejściowe z poprawnymi odpowiedziami, Funkcja błędu: ERROR(w,..., w n ) = k ( O(E i ) C i) 2, i=1 Im mniejsza wartość funkcji błędu, tym lepsze dopasowanie.

Funkcja błędu 5 5-5 -5-1 -1-15 2 4 6 8 1-15 2 4 6 8 1

Dana jest funkcja f : R n R, Chcemy znaleźć (numerycznie) jej minimum lokalne, Dodatkowo założymy, że f jest różniczkowalna.

Przypomnienie pochodnych Pochodna cząstkowa funkcji f : R n R po x i f f (x 1,.., x i 1, x i + h, x i+1,...x n ) f (x 1,..., x n ) (x 1,..., x n ) = lim x i h h

Przypomnienie pochodnych 25 Czym jest f x 1 (x )? Intuicyjnie: jest to kierunek, w którym funkcja rośnie zmieniając tylko pierwszą współrzędną, tj. przy pozostałych ustalonych. 2 15 1 5-6 -4-2 2 4 6 8

Przypomnienie pochodnych Czym jest gradient? [ f (x ),.., f ] (x )? x 1 x n Intuicyjnie: jest to wektor, w kierunku którego f w punkcie x rośnie najszybciej.

Przypomnienie pochodnych

(ang. Gradient Descent Algorithm, GDA) Chcemy znaleźć minimum funkcji f, Obliczamy gradient pochodnych cząstkowych, Robimy krok w przeciwną stronę.

5 4 3 2 1 6 4 2-2 -4-6 -6-4 -2 2 4 6

1 Rozpoczynamy w losowym / wybranym a (), 2 Dla każdej współrzędnej i = 1..n a (k+1) i = a (k) i gdzie η > jest stałą uczenia, 3 Powtarzamy krok 2, η f x i (a (k) )

Postęp algorytmu click

Uczenie (przyp.) Daną mamy próbkę uczącą wraz z poprawnymi odpowiedziami (E (i), C (i) ), przy czym C (i) są ciągłe, Chcemy znaleźć wagi jednostki liniowej w,.., w n, tak aby neuron możliwie wiernie modelował zależności w danych uczących.

Funkcja błędu (przyp.) Co oznacza możliwie wiernie? (E (1), C (1) ),..., (E (k), C (k) ) dane wejściowe z poprawnymi odpowiedziami, Funkcja błędu: ERROR(w,..., w n ) = k (O(E (i) ) C i) 2 i=1 Im mniejsza wartość funkcji błędu, tym lepsze dopasowanie.

Algorytm 1 Przypisujemy wagom małe, losowe wartości, 2 Losowo wybieramy przykład uczący E oraz poprawną odpowiedź C, 3 Obliczamy aktywację jednostki na przykładzie E O = i w i e i 4 Korygujemy wagi (dla j =,..., n) w j := w j + η(c O) e j gdzie η > jest małą stałą uczenia. 5 Kończymy, jeżeli algorytm przebiegł określoną liczbę iteracji lub osiągnął odpowiednio niski błąd. W przeciwnym wypadku wracamy do 2.

Algorytm click

Wykres błędu 3 Error 25 2 Error 15 1 5 5 1 15 2 25 3 Iterations

algorytmu będzie przeprowadzony na tablicy

algorytmu Dla tych, którzy chcą się uczyć ze slajdów:

algorytmu Dla tych, którzy chcą się uczyć ze slajdów: Zauważmy, że jest to algorytm spadku gradientowego. Określona jest funkcja błędu ERROR : R n R na przestrzeni wag. k n ERROR(w,..., w n ) = ( w i e (j) i C (j) ) 2 Chcemy znaleźć wagi w,..., w n, które minimalizują wartość tej funkcji. j=1 i=1

algorytmu Policzmy pochodne cząstkowe funkcji błędu po wagach, przy ustalonym przykładzie (E = (e 1,..., e n ), C): w j (O(E) C) 2 = w j ( i w i e i C) 2 = Zauważmy, że = 2( i w i e i C) w j ( i w i e i C) w j ( i w i e i C) = i w i e i C = e j w j w j

algorytmu Czyli pochodna cząstkowa upraszcza się do: w j (O(E) C) 2 = 2( i w i e i C)e j = 2(O(E) C)e j Gradient pochodnych cząstkowych wskazuje kierunek największego wzrostu funkcji błędu. Aby uzyskać największy spadek, należy odwrócić zwrot (przemnożyć przez 1).

Wielkość η Jaka powinna być stała uczenia? Rachunki na tablicy

Wielkość η Przyjmijmy oznaczenia: w wektor wag przed zmianą, E przykład uczący, C oczekiwana odpowiedź, O = we uzyskana odpowiedź, w = w + η(c O)E wektor wag po zmianie, ERROR( w) = E() błąd kwadratowy na wagach w.

Wielkość η Energia układu ERROR() = E() po zmianie (błąd, który chcemy zmniejszać): E(w ) = (w E C) 2 = ((w + η(c O)E)E C) 2 = ( (we C) + η(c O) E 2) 2 = ( E(w) 1/2 ηe(w) 1/2 E 2) 2 = ( E(w) 2ηE(w) E 2 + η 2 E(w) E 4) = E(w) ( 1 2η E 2 + η 2 E 4) = E(w) ( 1 + η E 2 (η E 2 2) )

Wielkość η Chcemy aby energia zmalała tj. E(w ) < E(w) Zatem musimy otrzymać: ( 1 + η E 2 (η E 2 2) ) < 1 η E 2 (η E 2 2) < Z naszych założeń mamy η > oraz norma E 2, zatem upraszczamy nierówność: η E 2 2 < < η < 2 E 2

Wielkość η 14 12 1 8 3 6 2 p(x,y) 4 1 2 4 3 2 1 y -1-2 -3-4 -1-2 -3-4 -5-5 x

Uwagi do algorytmu Dobór stałej uczenia: Małe η długie działanie, Duże η niestabilności, przeskakiwanie minimum, Tendencja do utykania w minimach lokalnych, Rozwiązanie: wielokrotne restarty algorytmu z losowych punktów startowych, Spowolnienia przy obszarach o małej pochodnej, Rozwiązanie: automatyczny dobór stałej uczenia, Ograniczenie modelowania tylko do zależności liniowych.

Adaline Filtrowanie obrazów Rozpoznawanie obrazów DFT Zadania owanie zależności (lokalnie) liniowych, Adaptacyjne filtry liniowe.

Filtry liniowe Filtrowanie obrazów Rozpoznawanie obrazów DFT Zadania Oryginalny rysunek za http://en.wikipedia.org/, 211-9.

Rozpoznawanie obrazów Filtrowanie obrazów Rozpoznawanie obrazów DFT Zadania Chcemy rozpoznawać obraz po przesunięciu,

Rozpoznawanie obrazów Filtrowanie obrazów Rozpoznawanie obrazów DFT Zadania Po przesunięciu piksele mogą zmieniać się dowolnie, Amplituda transformaty Fouriera obrazu jest niewrażliwa na takie przesunięcia.

DFT Filtrowanie obrazów Rozpoznawanie obrazów DFT Zadania Dany sygnał (ciąg) x = (x,..., x N 1 ), Dyskretna transformata Fouriera sygnału x: DFT (x) = X = (X,..., X N 1 ) gdzie X j = N 1 k= x k ω kj N, ω N = exp(i 2π N ) = cos(2π N ) + i sin(2π N ) UWAGA. Zarówno x jak i DFT (x) mogą być zespolone.

DFT Filtrowanie obrazów Rozpoznawanie obrazów DFT Zadania Dany sygnał (ciąg) x = (x,..., x N 1 ), Dyskretna transformata Fouriera sygnału x: DFT (x) = X = (X,..., X N 1 ) X j = Y j + iz j, Y j, Z j R Amplituda DFT: A(X j ) = (Y 2 j + Z 2 j )

DFT Filtrowanie obrazów Rozpoznawanie obrazów DFT Zadania obraz DFT obraz DFT

DFT Filtrowanie obrazów Rozpoznawanie obrazów DFT Zadania DFT 1 log(dft)

DFT Filtrowanie obrazów Rozpoznawanie obrazów DFT Zadania DFT 1 log(dft)

DFT Filtrowanie obrazów Rozpoznawanie obrazów DFT Zadania out

Zadania Filtrowanie obrazów Rozpoznawanie obrazów DFT Zadania Dostosuj jednostkę tak, aby miała kształt eliptyczny (a nie kolisty). (*) Jak będzie działała jednostka korzystająca z normy pierwszej, trzeciej itp. (a nie zwykłej drugiej)? x p = ( x p i i ) 1 p Zaimplementuj algorytm spadku gradientowego dla funkcji p(x, y) = 2x 2 + 2y 2 + 2x + 2y + 2 ze stałą uczenia η 1 =.51 oraz η 1 =.49. Zaimplementuj algorytm spadku gradientowego dla funkcji p(x) = x 3 ze stałą uczenia η =.1, punkt startowy x = 3.

Zadania Filtrowanie obrazów Rozpoznawanie obrazów DFT Zadania Czym skutkuje dodanie progu (w ) do jednostki Adaline? (*) Zapoznaj się i zaimplementuj algorytm szybkiej transformaty Fouriera (fast Fourier transform, FFT) w klasyfikatorze graficznym. http://en.wikipedia.org/wiki/fast_fourier_transform. (*) Zapoznaj się z algorytmem regresji liniowej (least squares linear regression). http://pl.wikipedia.org/wiki/metoda_ najmniejszych_kwadrat%c3%b3w. Porównaj działanie (dla wymiarów 1 i 2) z algorytmem uczenia Adaline.