Sieci neuronowe jednokierunkowe wielowarstwowe

Slides:



Advertisements
Podobne prezentacje
OBLICZENIA NUMERYCZNE
Advertisements

Nieliniowa metoda najmniejszych kwadratów
Sieć jednokierunkowa wielowarstwowa
IV Tutorial z Metod Obliczeniowych
SIECI NEURONOWE Sztuczne sieci neuronowe są to układy elektroniczne lub optyczne, złożone z jednostek przetwarzających, zwanych neuronami, połączonych.
Metody rozwiązywania układów równań liniowych
Katedra Informatyki Stosowanej UMK
Inteligencja Obliczeniowa Ulepszenia MLP
Inteligencja Obliczeniowa Perceptrony
Wykład no 11.
Dobór optymalnej architektury
Problemy nieliniowe Rozwiązywanie równań nieliniowych o postaci:
Sztuczne sieci neuronowe
Regresja w EXCELU.
Sztuczne sieci neuronowe w doświadczeniach nad fizyką spinową w CERN
Wariacje na temat propagacji wstecznej
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz,
Czy potrafimy obliczyć wartość wyjścia sieci znając wartości jej wejść? Tak, przy założeniu, że znamy aktualne wartości wag i progów dla poszczególnych.
Perceptrony proste liniowe - Adaline
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania.
Nieliniowa metoda najmniejszych kwadratów
Sieci Hopfielda.
Klasyfikacja dokumentów za pomocą sieci radialnych
KINEMATYKA MANIPULATORÓW I ROBOTÓW
formalnie: Budowa i zasada funkcjonowania sztucznych sieci neuronowych
Systemy wspomagania decyzji
Elementy Rachunku Prawdopodobieństwa i Statystyki
Sztuczne Sieci Neuronowe
Dane do obliczeń.
Opiekun: dr inż. Maciej Ławryńczuk
Komputerowe Wspomaganie w Inżynierii Materiałowej
Metody matematyczne w Inżynierii Chemicznej
ETO w Inżynierii Chemicznej MathCAD wykład 4.. Analiza danych Aproksymacja danych.
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
formalnie: Uczenie nienadzorowane
Systemy Wspomagania Decyzji
Sieci bayesowskie Wykonali: Mateusz Kaflowski Michał Grabarczyk.
Uczenie w Sieciach Rekurencyjnych
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
Zakładamy a priori istnienie rozwiązania α układu równań.
Systemy wspomagania decyzji
Modelowanie matematyczne jako podstawa obliczeń naukowo-technicznych:
Technika optymalizacji
Modelowanie i Identyfikacja 2011/2012 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania 1 Warstwowe.
Modelowanie i identyfikacja 2010/2011Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz, Katedra.
Perceptrony proste liniowe - Adaline
Model I/O bazujący na HSWN Problem uczenia sieci HSWN
Dana jest sieć dystrybucji wody w postaci: Ø      m- węzłów,
Marcin Jaruszewicz Jacek Mańdziuk
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Systemy Wspomagania Decyzji
Ekonometryczne modele nieliniowe
Analiza numeryczna i symulacja systemów
Metody rozwiązywania układów równań liniowych
Warstwowe sieci jednokierunkowe – perceptrony wielowarstwowe
Metody sztucznej inteligencji – technologie rozmyte i neuronoweReguła propagacji wstecznej  Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów.
Wykład drugi Szereg Fouriera Warunki istnienia
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy,
Wykład 3,4 i 5: Przegląd podstawowych transformacji sygnałowych
GeneracjeTechnologia Architektura przetwarzania 0. Przekaźniki elektromechaniczne 1. Lampy elektronowe 2. Tranzystory 3. Układy scalone 3.5.Układy dużej.
Modelowanie i podstawy identyfikacji
Systemy neuronowo – rozmyte
Kognitywne właściwości sieci neuronowych
Wykład 4 (cz. 1) Pierwsze zastosowania modelowania molekularnego: lokalna i globalna minimalizacja energii potencjalnej.
Katedra Informatyki Stosowanej UMK
Systemy Ekspertowe i Sztuczna Inteligencja trudne pytania
Sterowanie procesami ciągłymi
Hiperpowierzchnia energii potencjalnej cząsteczki
Programowanie sieciowe Laboratorium 4
Perceptrony wielowarstwowe, wsteczna propagacja błędów
Zapis prezentacji:

Sieci neuronowe jednokierunkowe wielowarstwowe

Wstęp Jednokierunkowe sieci wielowarstwowe radzą sobie z szerszą klasą problemów niż sieci liniowe. Jednokierunkowe sieci wielowarstwowe (perceptrony wielowarstwowe) radzą sobie z szerszą klasą problemów niż sieci liniowe. Dzięki większej ilości warstw sieci te radzą sobie z problemami liniowo nieseparowalnymi. Uczenie sieci polegać będzie na minimalizacji pewnej funkcji celu, indukowanej przez reakcje sieci na wektory z zadanego zbioru uczącego. Funkcja ta jest ciągłą funkcją wielu zmiennych. Algorytmy uczenia są bardziej skomplikowane. Zwykle stosuje się uczenie z nauczycielem.

2. Budowa jednokierunkowej sieci wielowarstwowej

2.1 Model neuronu (2.1) - wektor wejściowy - wektor wag i-tego neuronu Neuron składa się z elementu sumacyjnego, do którego dochodzi sygnał x, pomnożony przez wektor wag W, oraz wartość Wi0 zwana progiem. Sygnał z bloku sumacyjnego podawany jest do bloku realizującego nieliniową funkcję aktywacji f(ui). - wektor wag i-tego neuronu - funkcja aktywacji - próg

2.2 Funkcje aktywacji neuronu Algorytmy uczenia dla sieci wielowarstwowych wymagają aby funkcje aktywacji były ciągłe i różniczkowalne a ich pochodne były możliwie proste do wyliczenia. Ponadto często chcielibyśmy móc łatwo rozróżnić kiedy neuron jest w stanie wzbudzenia, a kiedy nie, dlatego powyższe funkcje są ciągłymi przybliżeniami funkcji skokowych. Parametr beta pozwala nam zwiększyć lub zmniejszyć stopień przybliżania funkcji skokowej. Im większe beta tym ostrzejszy skok. Zazwyczaj przyjmuje się beta=1. Na powyższych rysunkach mamy możemy wyróżnić funkcje unipolarne o wartościach [0,1] i bipolarną o wartościach [-1,1].

Wyliczmy pochodną funkcji aktywacji dla analogicznie dla Pochodne w punkcie x można łatwo obliczyć znając tylko f(x). oraz dla

2.3 Struktura sieci Sieć składa się z warstwy wejściowej, której zadaniem jest przekazanie sygnałów wejściowych do pierwszej warstwy ukrytej. Jednej (lub więcej) warstwy ukrytej, generującej sygnały vi, oraz warstwy wyjściowej generującej sygnały yi. Oznaczamy przez N - ilość neuronów warstwy wejściowej, K ilość neuronów warstwy ukrytej, M – ilość neuronów warstwy wyjściowej.

3. Funkcja celu Najskuteczniejszą metodą uczenia sieci jednokierunkowych jest optymalizacja funkcja celu, minimalizująca błąd między wartościami żądanymi a aktualnie otrzymywanymi na wyjściu sieci. Oznaczenia: - wektor znanych wartości żądanych na wyjściu - p-elementowy zbiór uczący Para ucząca to wektor wejściowy i wektor z oczekiwanymi odpowiedziami dla danego wektora wejściowego. Funkcja celu to funkcja wag sieci. - wektor wszystkich wag w sieci - funkcja celu

3.1 Definicje Dla jednej pary uczącej (x,d) najprostsza definicja funkcji celu ma postać błędu średniokwadratowego Dla p-elementowego ciągu uczącego możemy przyjąć Tak zdefiniowane funkcje celu są ciągłe i różniczkowalne, ponieważ funkcje aktywacji są ciągłe i różniczkowalne. Umożliwia to wykorzystanie metod gradientowych do ich minimalizacji.

3.2 Minimalizacja funkcji celu W gradientowych metodach optymalizacji wykorzystuje się informacje o gradiencie funkcji celu Na jego podstawie, w każdym kroku, określa się kierunek minimalizacji Następnie aktualizuje się wektor wag według formuły W najprostszym przypadku za wektor kierunki można kierunek zgodny z kierunkiem ujemnego gradientu, a współczynnik uczenia ustalić stały. gdzie to współczynnik uczenia

Uczenie (minimalizacja) rozpoczyna się w losowo wybranym punkcie i przebiega wielokrokowo. W każdym kroku wyznaczamy wektor kierunku, według którego dokonujemy zmiany wag. Jakość i prędkość minimalizacji zależy od metody wyznaczania wektora kierunku oraz od metody doboru współczynnika uczenia. Niektóre algorytmy lepiej zachowują się w pobliżu minimum funkcji, inne lepiej radzą sobie w obszarach równinnych. Problemem może być tu utykanie algorytmów w płytkich minimach lokalnych. W takim wypadku mówimy że sieć nie została poprawnie nauczona i zazwyczaj rozpoczynamy minimalizację od nowa z innego miejsca. Niektóre algorytmy mają tendencję do unikania płytkich minimów lokalnych. Przykładowy wykres funkcji celu, dla sieci złożonej z jednego neuronu o dwóch wagach. Jakość i prędkość minimalizacji zależy od metody wyznaczania kierunku oraz od metody wyznaczenia współczynnika uczenia.

3.3 Inne funkcje celu W zależności od zastosowania, możemy definiować inne funkcje celu: Funkcja ta zapewnia bardziej równomierny udział poszczególnych składników błędu w ogólnej definicji funkcji celu. Pierwsza funkcja zapewnia bardziej równomierny udział poszczególnych składników błędu w ogólnej definicji funkcji celu. Drugą możemy stosować gdy zadaniem układu jest minimalizacja największego odchylenia odpowiedzi od wielkości żądanej. Funkcja minimalizuje największego odchylenia odpowiedzi od wielkości żądanej.

4. Algorytm wstecznej propagacji błędu 1. Analiza sieci neuronowej o zwykłym kierunku przepływu sygnałów, dla aktualnego wektora x, w wyniki której otrzymujemy sygnały wyjściowe wszystkich warstw, a także pochodne 2. Utworzenie sieci propagacji wstecznej przez odwrócenie kierunków sygnałów, zastąpienie funkcji aktywacji ich pochodnymi, i podanie do byłego wejścia różnic między wartościami otrzymanymi w punkcie 1 a żądanymi. Obliczenie gradientu. 3. Na podstawie wyników z 1 i 2 dokonujemy adaptacji wag (uczenie) w sieci. 4. Powtarzamy cały proces dla wszystkich wzorców tak długo aż norma gradientu będzie mniejsza niż zadany stopień dokładności

4.1 Wyznaczenie gradientu Przyjmijmy za funkcję celu dla powyższej sieci

Składowe gradientu otrzymujemy różniczkując funkcję celu Dla warstwy wyjściowej otrzymujemy Oznaczmy Więc ostatecznie

niż jedna warstwę ukrytą. W wyliczeniu składowych gradientu dla warstwy ukrytej korzystamy z rezultatów obliczeń w warstwie wyjściowej przy czym Wzory można przez analogię rozszerzyć na sieć posiadającą więcej niż jedna warstwę ukrytą. Powyższe wzory można przez analogię rozszerzyć na sieć posiadającą więcej niż jedna warstwę ukrytą.

Posiadając wszystkie składowe gradientu można przystąpić do aktualizacji wag przyjmując

4.2 Wyznaczenie gradientu metodą grafów przepływowych Graf przepływowy graf skierowany w którym: Sygnał przepływa wzdłuż krawędzi tylko w kierunku z godnym z kierunkiem krawędzi. Przepływający przez krawędź przepuszczany jest przez funkcję przypisaną tej kawędzi. Wartość węzła jest sumą wartości wszystkich sygnałów wchodzących do węzła Wartość każdego węzła jest przesyłana przez wszystkie krawędzie wychodzące z węzła Graf przepływowy graf skierowany w którym: Sygnał przepływa wzdłuż krawędzi tylko w kierunku z godnym z kierunkiem krawędzi. Przepływający przez krawędź sygnał jest mnożony przez wagę krawędzi. Wartość węzła jest sumą wartości wszystkich sygnałów wchodzących do węzła Wartość każdego węzła jest przesyłana przez wszystkie krawędzie wychodzące z węzła

Dla sieci przedstawionej jako graf przepływowy, tworzymy graf dołączony

Do wejścia otrzymanego grafu dołączonego podajemy różnice sygnałów otrzymanych i oczekiwanych w grafie oryginalnym.

Analizując oba grafy, wyznaczamy składowe wektora gradientu Dla warstwy wyjściowej Dla k-tej warstwy ukrytej Dla warstwy pierwszej warstwy ukrytej

5. Algorytmy gradientowe optymalizacji w zastosowaniu do uczenia sieci Algorytmy te bazują na informacji o gradiencie oraz na rozwinięciu w szereg Taylora funkcji celu, w najbliższym sąsiedztwie znanego rozwiązania W.

Celem działania tych algorytmów jest minimalizacja funkcji celu poprzez wyznaczanie, w każdym kroku, kierunku poszukiwań oraz wartości takich że

5.1 Algorytm największego spadku W tym algorytmie jako kierunek poszukiwań obieramy ujemny gradient Wadą tego algorytmu jest niewykorzystanie informacji o krzywiźnie funkcji zawartej w hesjanie, co powoduje że metoda ta jest wolno zbieżna. W okolicy punktu optymalnego gradient przyjmuje małe wartości, co wydłuża czas działania algorytmu. Poprawę efektywności może przynieść umiejętne dobieranie parametru oraz zastosowanie czynnika momentum uzależniającego wykonanie kroku algorytmu od kroku wykonanego w poprzedniej iteracji. Ulepszenie to przyspiesza działanie algorytmu nawet 10-krotnie

5.2 Algorytm zmiennej metryki W algorytmie tym, wyznaczając wektor poszukiwań, wykorzystujemy kwadratowe przybliżenie funkcji celu, a wektor poszukiwań wyznaczamy korzystając z formuły Z przyczyn praktycznych rezygnuje się w tym algorytmie z dokładnego Wyznaczenia hesjanu, a w zamian stosuje się jego przybliżenie stosując metodę zmiennej metryki.

Oznaczmy Reguła Broydena-Goldfarba-Fletchera-Shanno (BFGS) Reguła Reguła Davidona-Fletchera-Powella (DFP)

Za wartość startową przyjmuje się zwykle Za wartość startową przyjmuje się zwykle oraz pierwszy krok algorytmu wykonuje zgodnie z algorytmem największego spadku. Metoda zmiennej metryki charakteryzuje się zbieżnością superliniową. Jest obecnie uważana za jedną z najlepszych metod optymalizacji funkcji wielu zmiennych. Jednakże konieczność aproksymowania macierzy hesjanu ogranicz jej zastosowanie do problemów z niewielką ilością zmiennych (<1000).

5.3 Algorytm Levenberga- Marquardta Przyjmijmy definicję funkcji celu odpowiadającej istnieniu jednego wzorca uczącego oraz oznaczmy

Algorytm LM również wyznacza wektor zgodnie z regułą Jednakże zarówno gradient jak i przybliżoną macierz hesjanu wyznaczamy w oparciu o jakobian Wartość skalarna jest dobierana arbitralnie i zmniejszana w trakcie uczenia do zera w okolicy rozwiązania minimalnego. Wartość nazywamy czynnikiem regularyzacyjnym.

Na początku działania algorytmu gdy wartość jest duża, można przyjąć że Wtedy poszukiwanie odbywa się zgodnie z metodą największego spadku W miarę zbliżania się do rozwiązania jest zmniejszane i pierwszy składnik wzoru na przybliżony hesjan zaczyna odgrywać coraz większą rolę.

5.5 Metoda gradientów sprzężonych W metodzie tej rezygnuje się z bezpośredniej informacji o hesjanie. Kierunek poszukiwań konstruowany jest tak aby był ortogonalny i sprzężony ze wszystkimi kierunkami wyznaczonymi w poprzednich krokach algorytmu. Wektor spełniający te założenia ma postać Przy czym Zaś kumuluje informację o ortogonalności i sprzężoności wszystkich wektorów Kierunku wyznaczanych w poprzednich k-1 krokach.

Ze względu na kumulację błędów zaokrągleń, metoda zatraca własność ortogonalności między wektorami, zatem co określoną ilość iteracji należy przeprowadzać jej ponowny start. Efektywność tej metody jest słabsza niż efektywność metody zmiennej metryki, jednakże jej prostota i niewielkie wymagania pamięciowe czynią ją najlepszą metodą optymalizacji funkcji o dużej ilości zmiennych.

6. Algorytmy heurystyczne

6.1 Algorytm Quickprop Czynnik redukuje wartości wag i nie pozwala na ich duży przyrost. Typowa wartość to 10-4 Czynnik przyjmuje dwie wartości: Na starcie uczenia, lub gdy albo zero w przeciwnym wypadku

Istotną rolę pełni współczynnik momentu dobierany dla każdej wagi indywidualnie. lub wpw.