POPRAWA EFEKTYWNOŚCI METODY WSTECZNEJ

Podobne dokumenty
Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Uczenie sieci typu MLP

Podstawowe funkcje biblioteki narzędziowej Neural Network Toolbox. Version 5 pakietu MATLAB v. 6

Optymalizacja ciągła

Definicja pochodnej cząstkowej

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Widzenie komputerowe

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Zastosowania sieci neuronowych

Poprawa efektywnoci metody wstecznej propagacji bdu. Jacek Bartman

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

10. Techniki minimalizacji a sieci neuronowe

SIEĆ NEURONOWA DO OCENY KOŃCOWEJ PRZEDSIĘWZIĘCIA (PROJEKTU)

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

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

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

Optymalizacja ciągła

A B. Modelowanie reakcji chemicznych: numeryczne rozwiązywanie równań na szybkość reakcji chemicznych B: 1. da dt. A v. v t

Podstawy Sztucznej Inteligencji

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

WYKŁAD 9 METODY ZMIENNEJ METRYKI

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

wiedzy Sieci neuronowe

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)

Algorytmy wstecznej propagacji sieci neuronowych

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

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

Uczenie sieci neuronowych i bayesowskich

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

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

SIEĆ NEURONOWA DO OCENY KOŃCOWEJ PRZEDSIĘWZIĘCIA (PROJEKTU)

Zastosowania sieci neuronowych

Ćwiczenie 14. Maria Bełtowska-Brzezinska KINETYKA REAKCJI ENZYMATYCZNYCH

KADD Minimalizacja funkcji

Systemy uczące się Lab 4

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

Optymalizacja ciągła

. Diody, w których występuje przebicie Zenera, charakteryzują się małymi, poniŝej 5V, wartościami napięcia stabilizacji oraz ujemną wartością α

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

KADD Minimalizacja funkcji

Elementy inteligencji obliczeniowej

2.4. Algorytmy uczenia sieci neuronowych

Metody numeryczne I Równania nieliniowe

Lekcja 5: Sieć Kohonena i sieć ART

Przetwarzanie i transmisja danych multimedialnych. Wykład 6 Metody predykcyjne. Przemysław Sękalski.

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

Podstawy Sztucznej Inteligencji (PSZT)

ALGORYTMY SZTUCZNEJ INTELIGENCJI

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

Temat: Sieci neuronowe oraz technologia CUDA

Typowe błędy w analizie rynku nieruchomości przy uŝyciu metod statystycznych

Interpretacja krzywych sondowania elektrooporowego; zagadnienie niejednoznaczności interpretacji (program IX1D Interpex) Etapy wykonania:

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

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

I EKSPLORACJA DANYCH

Wstęp do metod numerycznych 11. Minimalizacja: funkcje wielu zmiennych. P. F. Góra

Optymalizacja systemów

LABORATORIUM Z FIZYKI

Politechnika Warszawska

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

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

Metody i techniki sztucznej inteligencji / Leszek Rutkowski. wyd. 2, 3 dodr. Warszawa, Spis treści

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

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

Bezwładność - Zrywanie nici nad i pod cięŝarkiem (rozszerzenie klasycznego ćwiczenia pokazowego)

PRZETWORNIKI C / A PODSTAWOWE PARAMETRY

ĆWICZENIE 5: Sztuczne sieci neuronowe

Budowa sztucznych sieci neuronowych do prognozowania. Przykład jednostek uczestnictwa otwartego funduszu inwestycyjnego

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

Reprezentacja i analiza obszarów

5 Błąd średniokwadratowy i obciążenie

Projekt Sieci neuronowe

1. Podstawowe pojęcia

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

Metody Sztucznej Inteligencji II

POLSKIE TOWARZYSTWO ELEKTROCIEPŁOWNI ZAWODOWYCH

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

Metody numeryczne Wykład 7

1. Znajdowanie miejsca zerowego funkcji metodą bisekcji.

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

Optymalizacja optymalizacji

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

POMIAR NAPIĘCIA STAŁEGO PRZYRZĄDAMI ANALOGOWYMI I CYFROWYMI. Cel ćwiczenia. Program ćwiczenia

Sieci neuronowe w Statistica

Dla naszego obiektu ciągłego: przy czasie próbkowania T p =2.

Drzewa Decyzyjne, cz.2

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

POMIARY REZYSTANCJI. Cel ćwiczenia. Program ćwiczenia

Streszczenie. Słowa kluczowe: predykcja temperatury, sieci neuronowe, algorytmy uczenia sieci, MATLAB

Walidacja metod analitycznych Raport z walidacji

6. Perceptron Rosenblatta

NEURAL NETWORK ) FANN jest biblioteką implementującą SSN, którą moŝna wykorzystać. w C, C++, PHP, Pythonie, Delphi a nawet w środowisku. Mathematica.

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

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

METODY INTELIGENCJI OBLICZENIOWEJ wykład 5

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Laboratorium 5 Przybliżone metody rozwiązywania równań nieliniowych

Transkrypt:

Nowoczesne techniki informatyczne - Ćwiczenie 6: POPRAWA EFEKTYWNOŚCI METODY BP str. 1 Ćwiczenie 6: UCZENIE SIECI WIELOWARSTWOWYCH. POPRAWA EFEKTYWNOŚCI METODY WSTECZNEJ PROPAGACJI BŁĘDU WYMAGANIA 1. Sztuczne sieci neuronowe algorytmy poprawiające efektywność klasycznej metody wstecznej propagac błędu: metoda z momentum, adaptacyjny dobór współczynnika uczenia, 2. Środowisko Matlab, w szczególności z zakresu: tworzenia sieci jednokierunkowej (newff), wybór funkc uczącej oraz trenującej sieć uczenie sieci (train) symulacja pracy sieci (sim) WPROWADZENIE TEORETYCZNE Wady metody wstecznej propagac błędu (BP) Dobry algorytm uczenia SSN powinien nie tylko poprawnie określać wartości wag neuronów ale powinien równieŝ wykonywać to jak najszybciej (minimalizować liczbę obliczeń potrzebnych do osiągnięcia tego celu). Oznacza to, Ŝe wagi winny być wyznaczane w jak najmniejszej liczbie epok uczenia, charakteryzujących się jak najmniejszą złoŝonością obliczeniową. Algorytm wstecznej propagac błędu jest algorytmem bardzo wolnym; najczęściej oszacowanie wartości wag wymaga wielu iterac. Metoda wstecznej propagac błędu nie gwarantuje, odnalezienia minimum globalnego funkc miary błędu (funkc celu) - często zdarza, Ŝe odnalezione zostaje minimum lokalne, którego algorytm nie jest w stanie opuścić. A tym samym wyznaczone wartości wag nie są wartościami optymalnymi i w konsekwenc działająca sieci moŝe popełniać większe błędy (niŝ gdyby zostało odnalezione minimum globalne). Sytuacja taka wystąpi jeŝeli niewłaściwie zostanie dobrany punkt startowy - niewłaściwie zostaną dobrane wartości początkowe wag (a przecieŝ są one losowane) albo droga uczenia ma niewłaściwy przebieg nie zawsze kierunek w którym jest największe nachylenie funkc celu prowadzi do minimum globalnego (metoda jest metodą gradientową, a więc wybiera drogi o największym nachyleniu jako potencjalnie najkrótsze). Podsumowując klasyczna metoda wstecznej propagac błędów wymaga duŝej liczby iterac by osiągnąć zbieŝność oraz jest wraŝliwa na występowanie minimów lokalnych. Podstawowy algorytm BP moŝe się okazać bardzo wolny, jeŝeli przyjmie się za mały współczynnik uczenia, z kolei zbyt duŝa wartość współczynnika grozi wystąpieniem oscylac bądź rozbieŝnością procesu uczenia.

Nowoczesne techniki informatyczne - Ćwiczenie 6: POPRAWA EFEKTYWNOŚCI METODY BP str. 2 BP z momentum Klasyczny algorytm wstecznej propagac błędów modyfikuje wagę w kj o wartość ( w kj ), która jest proporcjonalna do pochodnej cząstkowej funkc celu (wagi są modyfikowane zgodnie z regułą delty): w kj E = η = ηδky w kj j Gdzie η jest parametrem nauczania algorytmu wstecznej propagac błędów. Jednym z rozwiązań umoŝliwiających bezpieczne zwiększenie efektywnego tempa uczenia sieci bez pogarszania stabilności procesu jest zastosowanie momentowej metody wstecznej propagac błędu (ang. Momentum BackPropagation). Istotą metody jest wprowadzenie do procesu uaktualniania wagi pewnej bezwładności tzw. "momentu", proporcjonalnego do zmiany tej wagi w poprzedniej iterac: Momentum w t + 1 = w t + ηδ j t yi t + µ w t w t 1 gdzie µ (-0,1] - współczynnik momentu. Pierwsze dwa składniki po prawej stronie wyraŝenia są analogiczne, jak w klasycznej metodzie BP, natomiast ostatni uwzględnia poprzednią zmianę wagi i jest niezaleŝny od aktualnej wartości gradientu. Zasada działania metody przypomina zastosowanie koła zamachowego, które ułatwia ruch w kierunku w którym zostało rozpędzone a utrudnia w przeciwnym: jeŝeli w kolejnych krokach gradienty wykazują ten sam kierunek (pochodna cząstkowa dla danej wagi ma ten sam znak) ich działanie się kumuluje i przyrosty wag są coraz większe. jeŝeli znaki z kolejnych kroków są róŝne (gradienty wykazują przeciwny kierunek) działanie jest osłabiane co przeciwdziała powstawaniu oscylac. Składnik momentu wpływa pozytywnie w sytuacjach gdy: występują duŝe płaskie odcinki funkc błędu powoduje zwiększenie kroku, kolejne gradienty są przeciwnie skierowane powoduje skrócenie kroku, uczenie przebiega przez minimum lokalne funkc błędu pomaga go opuścić, występują na powierzchni funkc błędu tzw. wąwozy (wąskie obszary o stromych ścianach bocznych i głębokich dnach). Składnik momentu nie powinien zdominować procesu uczenia, poniewaŝ grozi to jego niestabilnością - aby zapobiec temu kontroluje się wartość funkc błędu w trakcie uczenia, doprowadzając do jej wzrostu jedynie w ograniczonym zakresie. BP ze zmiennymi współczynnikami uczenia i momentu Właściwy dobór współczynnika uczenia η oraz współczynnika momentum µ ma duŝy wpływ na tempo oraz zbieŝność procesu uczenia. Optymalne wartości obu tych współczynników mogą być róŝne dla nie tylko poszczególnych iterac ale nawet dla kaŝdej z wag. Nie znamy metod analitycznego ich wyznaczenia dlatego wartości przyjęte na początku procesu uczenia sieci mogą okazać się niewłaściwe, co znacznie zmniejsza efektywność uczenia, a w skrajnym przypadku moŝe prowadzić do jego rozbieŝności. Rozwiązaniem tego problemu moŝe być zmiana współczynnika uczenia i momentu w trakcie procesu uczenia sieci.

Nowoczesne techniki informatyczne - Ćwiczenie 6: POPRAWA EFEKTYWNOŚCI METODY BP str. 3 Techniki zmian współczynników uczenia i momentum: zastosowanie większych wartości η oraz µ na początku uczenia i zmniejszanie ich w miarę zbliŝania się funkc błędu do minimum, przyjęci na początku procesu uczenia małych wartości współczynnika uczenia η (ewentualnie równieŝ współczynnika momentu µ). Gdy proces uczenia nabierze tempa współczynniki są zwiększane, by w końcowej fazie ponownie ich zmniejszyć, uzaleŝnienie współczynnika uczenia od wartości funkc błędu średniokwadratowego gdy błąd maleje moŝna zwiększyć współczynnik uczenia, gdy rośnie naleŝy go zmniejszyć. Doświadczalnie stwierdzono, iŝ najlepsze efekty uzyskuje się gdy współczynnik uczenia zwiększa się algebraicznie o stałą wartość, a zmniejsza geometrycznie. Metoda Rprop Algorytm został zaproponowany przez Riedmillera, Brauna w 1992, nazwa pochodzi od nazwy angielskiej Resilent backpropagation. Istota metody polega na uwzględnianiu jedynie znaku gradientu bez uwzględniania jego wartości - wówczas wartości wag w następnym kroku moŝna wyznaczyć zgodnie z zaleŝnością: w δe 1 sgn ( t ) = w ( t ) η( t 1) ( t 1) W metodzie tej współczynnik uczenia η zaleŝy od zmian znaku gradientu. JeŜeli w kolejnych iteracjach znak pochodnej jest taki sam następuje wzrost współczynnika, jeŝeli natomiast znak się zmienia następuje jego redukcja. η min t ) = max η ( t 1) δe t δe( t 1) a* η ( t 1), η gdy δe t δe( t 1) b* η ( t 1), η gdy ( min gdy δe gdzie: a - współczynnik zwiększania (a 1,2), b współczynnik zmniejszania (b 0,5), η min dolne ograniczenie współczynnika uczenia, η max górne ograniczenie współczynnika uczenia. max ( t ) δe( t 1) > 0 < 0 = 0 Zastosowanie wartości minimalnej i maksymalnej współczynnika uczenia zapobiega zbytniemu ograniczeniu oraz nadmiernemu wzrostowi zmian wartości wag. Algorytm Rprop powoduje przyspieszenie procesu nauczania zwłaszcza w obszarach o niewielkim nachyleniu funkc błędu, gdzie wartość pochodnej ma bardzo małą wartość.

Nowoczesne techniki informatyczne - Ćwiczenie 6: POPRAWA EFEKTYWNOŚCI METODY BP str. 4 Algorytm Levenberga-Marquardta Działanie algorytmu Levenberga-Marquardta opiera się na załoŝeniu Ŝe modelowana przez sztuczną sieć neuronową rzeczywista funkcja odwzorująca sygnał wejściowy w sygnał wyjściowy ma charakter liniowy. Takie załoŝenie umoŝliwia analityczne wyznaczenie minimum funkc, ale poniewaŝ rzeczywista funkcja nie jest liniowa więc wyznaczona wartość minimum niekoniecznie jest faktycznym minimum. Dlatego w kolejnym kroku - po wyznaczeniu hipotetycznego minimum funkc błędu - algorytm przeprowadza jego testowanie. Jeśli wartość błędu jest mniejsza od błędu w punkcie startowym (poprzednim), to współrzędne nowego punktu wyznaczają nowy punkt startowy, a odpowiadający mu zestaw wag jest traktowany jako nowe przybliŝenie optymalnych parametrów uczonej sieci. Proces ten jest powtarzany w kolejnych epokach. Algorytm Levenberga-Marquardta umiejętnie łączy dwie metody: metodę największego spadku oraz omówiony powyŝej algorytm hipotetycznej aproksymac liniowej (metoda Newtona). W trakcie swojej pracy algorytm wybiera metodę dającą w danej chwili lepsze rezultaty - próbuje hipotetycznej aproksymac liniowej i jeŝeli nie daje ona pozytywnych wyników cofa się do metody największego spadku, co w sumie umoŝliwia mu bardzo szybkie działanie. Modyfikacja wag odbywa się wg formuły: w t = ( H + λi ) 1 δe t ( w( 1) ) gdzie: H hesjan funkc celu I macierz jednostkowa λ paramet Marquardta λ duŝe (daleko od minimum) metoda największego spadku λ małe (blisko od minimum) metoda Newtona Pierwszy człon w formule Levenberga-Marquardta (zawierający hesjan) odpowiada załoŝeniu o liniowości; drugi metodzie gradientowej. Parametr Marquardta λ określa, która z metod ma charakter dominujący. Za kaŝdym razem, gdy następuje zmniejszenia wartości błędu, wartość parametru jest zmniejszana, wzmacnia to załoŝenie o liniowości i kieruje algorytm w stronę próby bezpośredniego osiągnięcia minimum. Za kaŝdym razem, gdy nie powiedzie się próba zmniejszenia błędu, wartość parametru jest zwiększana. Zwiększa to wpływ metody gradientowej i zmniejsza wielkość kroku. W ten sposób zapewnione jest zmniejszenie wartości błędu niezaleŝnie od połoŝenia aktualnego punktu i wynikającego z niego lepszego lub gorszego przybliŝania rzeczywistej funkc przez jej liniową aproksymację. Algorytm Levenberga-Marquardta jest jednym z najbardziej efektywnych algorytmów uczenia sieci jednokierunkowych.

Nowoczesne techniki informatyczne - Ćwiczenie 6: POPRAWA EFEKTYWNOŚCI METODY BP str. 5 PRZEBIEG ĆWICZENIA Zadanie 1 Przeprowadzić symulacje komputerowe w celu porównania szybkości uczenia jednokierunkowych wielowarstwowych sieci neuronowych róŝnymi metodami bazującymi na wstecznej propagac błędu Porównać następujące metody: a) klasyczną metodę propagac błędu - GD, b) metodę wstecznej propagac błędu z momentum - GDM, c) metodę wstecznej propagac błędu z adaptacyjnym doborem współczynnika uczenia - GDA, d) metodę wstecznej propagac błędu z adaptacyjnym doborem współczynnika uczenia i momentum - GDX, e) metodę Levenberga-Marquardta LM, f) metodę RPROP - RP. Porównanie wykonać dla sieci uczonych reguł sumatora pełnego. a i b i c i y c i+1 a i b i c i y i c i+1 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 0 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 1 1 1 1 1 1 Wykonać po minimum 30 symu-lac dla kaŝdej metody uczenia, wyniki zebrać w tabeli, wyzna-czyć minimalną, maksymalną oraz średnią liczbę epok potrze-bną do nauczenia sieci. Zobrazo-wać rezultaty na wykresie. Dla kaŝdej metody zamieścić przykładowy przebieg procesu uczenia Podać wnioski i spostrzeŝenia. Sprawdzić jaki parametry uczenia moŝna podawać dla poszczególnych metod uczenia, podać ich znaczenie (interpretację) Lp. 1. 2.. 30. średnia Max min Ilość epok uczenia GD GDM GDA GDX LM RP 5000 4500 4000 3500 3000 2500 2000 1500 1000 500 0 Max Średnia Min Traingd TraingdmTraingda Traingdx Trainlm Trainrp

Nowoczesne techniki informatyczne - Ćwiczenie 6: POPRAWA EFEKTYWNOŚCI METODY BP str. 6 Uwaga! 1. Wybrane parametry uczenia zawarte w obiekcie opisującym sieć neuronową net.trainparam.epochs - maksymalna liczba epok uczenia net.trainparam.goal - oczekiwana końcowa wartość funkc celu net.trainparam.lr - współczynnik uczenia net.trainparam.max_fail maksymalna liczba błędnych zmian net.trainparam.min_grad - minimalna zmiana gradientu 2. Wybrane funkcje uczenia traingd - metoda gradientu prostego (wstecznej propagac błędu), traingdm - metoda propagac wstecznej błędu z momentum, traingda - metoda propagac wstecznej błędu z adaptacyjną zmianą współczynnika uczenia, traingdx - metoda propagac wstecznej błędu z momentum i adaptacją współczynnika, trainlm trainbr - metoda Levenberga-Marquardta, - odmiana metody Levenberga-Marquardta z regularyzacją Bayes owską, trainbfg - metoda gradientowa Broydena-Flrtchera-Goldfarba-Shano (quasi-newtonowska), trainscg - metoda skalowanego gradientu sprzęŝonego, traincgb - metoda gradientu sprzęŝonego Powella-Beale go, traincgf - metoda gradientu sprzęŝonego Fletchera-Powella, traincgp - metoda gradientu sprzęŝonego Polaka-Ribiere, trainrp - metoda propagac wstecznej błędu RPROP (metoda Riedmillera, Brauna)