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

Podobne dokumenty
Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Uczenie sieci radialnych (RBF)

Zastosowania sieci neuronowych

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

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Lekcja 5: Sieć Kohonena i sieć ART

Przykładowe funkcje przejścia używane przy budowie sztucznych neuronów

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

Metody sztucznej inteligencji Zadanie 3: (1) klasteryzacja samoorganizująca się mapa Kohonena, (2) aproksymacja sieć RBF.

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Optymalizacja ciągła

Sieci neuronowe w Statistica

wiedzy Sieci neuronowe

SIECI RBF (RADIAL BASIS FUNCTIONS)

Temat: Sieci neuronowe oraz technologia CUDA

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

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.

Elementy inteligencji obliczeniowej

Uczenie sieci typu MLP

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

Sztuczne sieci neuronowe

Podstawy Sztucznej Inteligencji (PSZT)

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

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

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

Algorytm grupowania danych typu kwantyzacji wektorów

ALGORYTMY SZTUCZNEJ INTELIGENCJI

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

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

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

Systemy Inteligentnego Przetwarzania wykład 7: Sieci RBF

Sztuczne Sieci Neuronowe

WYKŁAD 9 METODY ZMIENNEJ METRYKI

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

Projekt Sieci neuronowe

1. Logika, funkcje logiczne, preceptron.

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

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

SZTUCZNA INTELIGENCJA

wiedzy Sieci neuronowe (c.d.)

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

Widzenie komputerowe

Sztuczne sieci neuronowe

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

Sztuczne sieci neuronowe (SNN)

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

Algorytmy wstecznej propagacji sieci neuronowych

PRÓBA ZASTOSOWANIA SIECI NEURONOWYCH DO PROGNOZOWANIA OSIADAŃ POWIERZCHNI TERENU POWSTAŁYCH NA SKUTEK EKSPLOATACJI GÓRNICZEJ**

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

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

Budowa i własności. sztucznych neuronów i sieci


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

Definicja perceptronu wielowarstwowego

Metody Sztucznej Inteligencji II

Sieci neuronowe do przetwarzania informacji / Stanisław Osowski. wyd. 3. Warszawa, Spis treści

Podstawy Sztucznej Inteligencji

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

Rozpoznawanie wzorców. Dr inż. Michał Bereta p. 144 / 10, Instytut Informatyki

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

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

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

METODY INŻYNIERII WIEDZY

SIECI REKURENCYJNE SIECI HOPFIELDA

Zastosowania sieci neuronowych

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

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

Sztuczne Sieci Neuronowe. Wiktor Tracz Katedra Urządzania Lasu, Geomatyki i Ekonomiki Leśnictwa, Wydział Leśny SGGW

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

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

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

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

Celem tych ćwiczeń jest zapoznanie się z klasyfikacją za pomocą sieci neuronowych.

ĆWICZENIE 5: Sztuczne sieci neuronowe

Sztuczne siei neuronowe - wprowadzenie

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

ELEMENTY SZTUCZNEJ INTELIGENCJI. Sztuczne sieci neuronowe

Podstawy sztucznej inteligencji

Zad. 3: Układ równań liniowych

sieci jednowarstwowe w MATLABie LABORKA Piotr Ciskowski

Rozpoznawanie obrazów

Inteligentne systemy przeciw atakom sieciowym

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

Co to jest wektor? Jest to obiekt posiadający: moduł (długość), kierunek wraz ze zwrotem.

Politechnika Warszawska

Zastosowanie sztucznych sieci neuronowych w prognozowaniu szeregów czasowych (prezentacja 2)

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

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

Metody Optymalizacji: Przeszukiwanie z listą tabu

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

Rozpoznawanie obrazów

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

Wstęp do głębokich sieci neuronowych. Paweł Morawiecki IPI PAN

Algorytmy sztucznej inteligencji

Emergentne właściwości. sztucznych sieci neuronowych

METODY SZTUCZNEJ INTELIGENCJI 2 Opis projektu

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

Obliczenia inteligentne Zadanie 4

Transkrypt:

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 się z neuronów liniowych. Każdy j-ty neuron radialny realizuje funkcję Gaussa: Jak widać, wektor wag jest tu użyty inaczej niż w neuronach z sigmoidalną funkcją aktywacji. W neuronie radialnym nie wykonuje się iloczynu skalarnego wektora wag z wektorem sygnałów wejściowych x. Zamiast tego liczy się odległość euklidesową między wektorem wag a wektorem sygnałów wejściowych x. Dodatkowo, każdy neuron posiada parametr sigma, który steruje szerokością kapelusza Gaussa. Oba te parametry (wektor wag oraz sigma) są inne dla każdego neuronu radialnego i mogą być modyfikowane w trakcie nauki. Podejście jest takie samo jak w przypadku sieci MLP, tzn. liczymy gradient funkcji błędu względem wszystkich parametrów sieci, które mają podlegać modyfikacjom w trakcie nauki. W tym przypadku neurony liniowe w warstwie wyjściowej są dokładnie takie same jak w przypadku sieci MLP. W warstwie ukrytej (radialnej) wektor wag w1 jest używany inaczej, zatem jego wpływ na błąd będzie inny, co prowadzi do

innych wzorów na gradient. Potrzebne jest również policzenie pochodnych (składowych wektora gradientu) funkcji błędu po parametrach sigma każdego neuronu radialnego. Neuron i-ty warstwy wyjściowej realizuje odwzorowanie liniowe sygnałów h dochodzących od neuronów warstwy ukrytej: gdzie i=1..m, m to liczba neuronów wyjściowych. Bardziej dokładnie zależność od wektora sygnałów wejściowych x można przedstawić jako: Dla jednego przykładu trenującego błąd definiujemy podobnie jak poprzednio jako: przy czym m oznacza liczbę neuronów liniowych w warstwie wyjściowej, y i oznacza odpowiedź neuronu i-tego, d i oznacza odpowiedź wzorcową (oczekiwaną) tego neuronu. Idea algorytmu wstecznej propagacji błędów polega na modyfikowaniu wektora wag w odwrotnym kierunku niż gradient funkcji błędu. Ogólny wzór zatem to: gdzie eta to krok uczenia, będący parametrem algorytmu. W szczególności dla j-tej wagi i-tego neuronu warstwy wyjściowej (drugiej), wzór ten sprowadza się do: Uwaga! 2 w górnym indeksie wagi w nie oznacza potęgi, a jedynie jest indeksem wskazującym numer warstwy sieci. Analogicznie jest dla neuronów warstwy pierwszej (ukrytej). Dla g-tej wagi neuronu t-tego warstwy ukrytej (pierwszej) wzór sprowadza się do:

Jako, że parametry sigma neuronów radialnych również mają wpływ na błąd sieci, podlegają one modyfikacji poprzez odpowiednie składowe gradientu, tzn., dla sigma neuronu radialnego j-tego mamy : Wartość gradientu dla j-tej wagi i-tego neuronu warstwy wyjściowej wynosi (tak samo jak dla warstwy wyjściowej sieci MLP): w szczególności dla wagi biasu: Wartość gradientu dla q-tej wagi neuronu p-tego warstwy ukrytej wynosi: gdzie m to liczba neuronów liniowych w warstwie wyjściowej. UWAGA! 2 w górnym indeksie w oznacza numer warstwy, a nie potęgę. Natomiast 2 przy parametrze sigma oznacza podniesienie do kwadratu. Wartość gradientu dla parametru sigma neuronu radialnego o indeksie p wynosi:

gdzie s p to kwadrat odległości wektora x oraz wektora wag p-tego neuronu radialnego, czyli: Ostatecznie otrzymujemy następujące wzory na modyfikację wag obu warstw oraz parametrów sigma (k to chwila czasowa): Liczba neuronów ukrytych zależy od rozwiązywanego problemu. Zaletą sieci radialnych jest to, że można wstępnie wybrać rozsądne położenie neuronów radialnych, tzn. punkty ich zaczepienia (wektor wag w 1 dla każdego neuronu radialnego). Istnieje wiele sposobów. Można zastosować algorytm grupowania, jak k-means. Najprościej jest wybrać losowo pewien podzbiór przykładów uczących. Każdy taki wybrany przykład x staje się wektorem wag jednego neuronu radialnego (punktem zaczepienia kapelusza Gaussa). Wstępną wartość parametru sigma można dobrać choćby posługując się prostą heurystyką: dla każdego neuronu radialnego znajdź jego najbliższego sąsiada wśród innych neuronów radialnych posługując się odległością Euklidesa (odległości mierzy się korzystając ze wstępnie ustalonych wektorów wag w 1 ). Następnie, ustaw początkowe sigma jako połowę odległości między tymi neuronami (ich wektorami wag). Przykładowy rezultat dla problemu 1D widać na rysunku poniżej jeden neuron radialny jest w punkcie -10, drugi w punkcie 4. Sigma dla nich obu jest ustalona jako 0.5*sqrt((w1-w2)*(w1-w2)) = 7.0

gdzie w1 = -10 a w2 = 4. Taka procedura zapewnia, że neurony będą na siebie mniej więcej zachodzić. W innym przypadku, gdy w1 = -1 oraz w2=0.5, sigma zostanie wyliczona jako: 0.5*sqrt((w1-w2)*(w1-w2)) = 0.75

Inną metodą jest policzenie maksymalnej odległości d między dowolnymi dwoma centrami neuronów radialnych i oszacowanie sigma (identycznej dla każdego neuronu radialnego) jako sigma = d / sqrt( 2 * K ) gdzie K oznacza liczbę centrów (liczbę neuronów radialnych). W trakcie nauki sieci, sigma dla każdego neuronu radialnego może ulec zmianie.