Sztuczne sieci neuronowe

Slides:



Advertisements
Podobne prezentacje
System oceny ryzyka zawału serca
Advertisements

Excel Narzędzia do analizy regresji
Tablice 1. Deklaracja tablicy
Modelowanie i symulacja
o radialnych funkcjach bazowych
Metody Sztucznej Inteligencji 2012/2013Zastosowania systemów rozmytych Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania 1 Zastosowania.
Sieć jednokierunkowa wielowarstwowa
Mechanizm wnioskowania rozmytego
11. Różniczkowanie funkcji złożonej
SIECI NEURONOWE Sztuczne sieci neuronowe są to układy elektroniczne lub optyczne, złożone z jednostek przetwarzających, zwanych neuronami, połączonych.
STATYSTYKA WYKŁAD 03 dr Marek Siłuszyk.
Inteligencja Obliczeniowa Metody oparte na podobieństwie do wzorców.
SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE
Inteligencja Obliczeniowa Otwieranie czarnej skrzynki.
Katedra Informatyki Stosowanej UMK
Katedra Informatyki Stosowanej UMK
Uczenie konkurencyjne.
Inteligencja Obliczeniowa Sieci dynamiczne.
Inteligencja Obliczeniowa Metody probabilistyczne.
Inteligencja Obliczeniowa Perceptrony o dużym marginesie błędu
Inteligencja Obliczeniowa Sieci o zmiennej strukturze.
Inteligencja Obliczeniowa Perceptrony
Badania operacyjne. Wykład 2
o radialnych funkcjach bazowych
Dobór optymalnej architektury
Sieci neuronowe - architektury i zastosowania
Sztuczne sieci neuronowe w doświadczeniach nad fizyką spinową w CERN
Wykład 2 Pole skalarne i wektorowe
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.
Mirosław ŚWIERCZ Politechnika Białostocka, Wydział Elektryczny
Sieci Hopfielda.
Sieci neuronowe jednokierunkowe wielowarstwowe
Sztuczne sieci neuronowe (SSN)
formalnie: Budowa i zasada funkcjonowania sztucznych sieci neuronowych
Systemy wspomagania decyzji
Sztuczne Sieci Neuronowe
Systemy Wspomagania Decyzji
ETO w Inżynierii Chemicznej MathCAD wykład 4.. Analiza danych Aproksymacja danych.
Systemy Wspomagania Decyzji
Uczenie w Sieciach Rekurencyjnych
Systemy wspomagania decyzji
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
Dana jest sieć dystrybucji wody w postaci: Ø      m- węzłów,
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Ekonometryczne modele nieliniowe
Systemy Wspomagania Decyzji
Algorytm kaskadowej korelacji
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.
SZTUCZNA INTELIGENCJA
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy,
GeneracjeTechnologia Architektura przetwarzania 0. Przekaźniki elektromechaniczne 1. Lampy elektronowe 2. Tranzystory 3. Układy scalone 3.5.Układy dużej.
Metody sztucznej inteligencji - Technologie rozmyte i neuronowe 2015/2016 Systemy rozmyte – wnioskowanie Mamdani’ego II © Kazimierz Duzinkiewicz, dr hab.
Inteligencja Obliczeniowa Perceptrony o dużym marginesie błędu
Systemy neuronowo – rozmyte
Perceptrony o dużym marginesie błędu
Jednorównaniowy model regresji liniowej
Metody sztucznej inteligencji
Sieci o zmiennej strukturze
Perceptrony o dużym marginesie błędu
Systemy Ekspertowe i Sztuczna Inteligencja trudne pytania
Inteligencja Obliczeniowa Perceptrony
Programowanie sieciowe Laboratorium 4
Perceptrony wielowarstwowe, wsteczna propagacja błędów
Zapis prezentacji:

Sztuczne sieci neuronowe Wykład 5 dr inż. Piotr Gołąbek

Reguła gradientowa W nadzorowanym trybie uczenia, w którym znana jest poprawna wartość wyjścia dla każdego przetwarzanego przykładu ze zbioru uczącego, stosowana jest zwykle metoda uczenia oparta o tzw. funkcję błędu popełnianego przez sieć

Średniokwadratowa funkcja błędu Wartość funkcji błędu uśredniona po wszystkich N przykładach trenujących, dlatego, dla ustalonego zbioru trenującego, wartość funkcji błędu zależy tylko od wektora wag sieci w

Średniokwadratowa funkcja błędu Da się „wymyśleć” zdroworozsądkowo niewrażliwość na znak błędu w funkcji kwadratowej Funkcja abs(x) nie byłaby odpowiednia – nie jest różniczkowalna w zerze (dlaczego musi być różniczkowalna – za chwilę) ... ale wynika także z przesłanek statystycznych: można prześledzić związek takiej postaci funkcji błędu z założeniem o Gaussowskim rozkładzie zaburzenia danych tak wyrażona funkcja błędu ma związek z oszacowaniem wariancji utworzonego modelu

Reguła gradientowa Funkcja błędu E wyliczana jest na podstawie rozbieżności tego, co sieć wskazuje dla poszczególnych przykładów i tego, co powinna wskazywać.

Proces uczenia Proces uczenia może więc być postrzegany jako minimalizacja funkcji błędu Funkcja błędu zależy od parametrów w, a więc zadanie uczenia, to znaleźć taki zestaw parametrów w, dla którego wartość funkcji błędu będzie jak najmniejsza Ponieważ funkcja błędu zależy nieliniowo (poprzez funkcję przetwarzania sieci) od wag, mamy do czynienia z minimalizacją nieliniową

Gradient funkcji błędu Wartość pochodnej informuje nas, czy wraz ze wzrostem argumentu wartość funkcji będzie rosła, czy malała (i jak szybko?) W tym wypadku wartość funkcji maleje, a więc pochodna ma znak ujemny Gradient funkcji błędu Musimy postąpić „wbrew” znakowi pochodnej. Chcemy zmniejszyć wartość funkcji, więc musimy zwiększyć argument. wi

Reguła gradientowa

Gradient funkcji błędu W wielu wymiarach mamy do czynienia z wielowymiarową pochodną – wektorem pochodnych cząstkowych funkcji błędu względem każdej ze współrzdnych (gradientem):

Metoda ta nazywana jest potocznie „wędrówką po górach” Metoda gradientowa Metoda ta nazywana jest potocznie „wędrówką po górach” w1 w2 E

Metoda gradientowa w2 w1

Algorytm wstecznej propagacji błędu Δwij?

Algorytm wstecznej propagacji błędu

Reguła łańcuchowa Korzysta z reguły łańcuchowej różniczkowania: Można w ten sposób „przenieść” błąd wstecz przez neuron, przez połączenie, itp.

Przeniesienie błędu „wstecz” przez neuron: Reguła łańcuchowa Przeniesienie błędu „wstecz” przez neuron:

Propagacja wstecz przez neuron

Propagacja wstecz przez neuron

Propagacja wstecz przez neuron

Propagacja wstecz przez neuron

Propagacja wstecz przez neuron

Propagacja wstecz przez neuron

Propagacja wstecz przez neuron

Propagacja wstecz przez neuron

Propagacja wstecz przez neuron Konkluzja: jeśli znamy gradient funkcji błędu względem wyjścia neuronu, potrafimy wyznaczyć gradient funkcji błędu względem każdej jego wagi Generalnie chodzi więc o przepropagowanie gradientu z wyjścia sieci (wyjścia neuronu w warstwie wyjściowej) na wyjścia neuronów w warstwach ukrytych

Wsteczna propagacja Dodatkowy problem: generalnie każdy neuron warstwy ukrytej jest połączony z wieloma neuronami warstwy następnej Jest więc wiele ścieżek, którymi gradienty względem wyjść neuronów warstwy kolejnej mogą być przeniesione na wyjście rozważanego neuronu

Wsteczna propagacji błędu to „wrażliwość” E na zmiany wij

Wsteczna propagacja przez warstwę Korzystając z reguły różniczkowania funkcji złożonej: można przenieść błąd przez warstwę połączeń

Wsteczna propagacja przez warstwę z1(aj) z2(aj) aj

Wsteczna propagacja przez warstwę

Wsteczna propagacja przez warstwę Ogólniej:

Wsteczna propagacja przez warstwę

Propagacji podlegają aktywacje neuronów Propagacja wprzód z1 a1 a2 a3 w11 w12 w13 Propagacji podlegają aktywacje neuronów

Propagacji podlegają aktywacje neuronów Propagacja wprzód a1 w11 z1 w12 a2 w13 a3 Propagacji podlegają aktywacje neuronów

Propagacji podlegają gradienty funkcji błędu Propagacja wstecz w12 w22 a2 Propagacji podlegają gradienty funkcji błędu

Propagacji podlegają gradienty funkcji błędu Propagacja wstecz w12 a2 w22 Propagacji podlegają gradienty funkcji błędu

Jeden cykl algorytmu Cykl algorytmu zakończony (sytuacja taka, jak na początku)

Propagacja wprzód Jeden cykl: weź wejścia kolejnej warstwy policz pobudzenia neuronów warstwy, „przenosząc” wejścia przez warstwę wag (czyli mnożąc odpowiednie wejścia przez odpowiednie wagi) policz aktywacje neuronów warstwy, „przenosząc” pobudzenia neuronów przez ich funkcje aktywacyjne Powtarzaj ten cykl, zaczynając od warstwy 1, której wejścia są wejściami sieci, a kończąc na warstwie wyjściowej – aktywacje neuronów tej warstwy są wyjściami sieci

Propagacja wstecz Jeden cykl: weź gradienty funkcji błędu względem wyjść warstwy policz gradienty funkcji błędu względem pobudzeń neuronów warstwy, „przenosząc” gradienty względem wyjść przez pochodne funkcji aktywacyjnych neuronów policz gradienty funkcji błędu względem wyjść warstwy poprzedniej, „przenosząc” gradienty względem pobudzeń przez warstwę wag (czyli mnożąc odpowiednie gradienty przez odpowiednie wagi)

Propagacja wsteczna Powtarzaj ten cykl, zaczynając od warstwy ostatniej – gradient funkcji błędu względem wyjść tej warstwy da się policzyć bezpośrednio – aż do warstwy pierwszej. Policzone po drodze gradienty względem pobudzeń neuronów przekładają się na gradienty względem wag

Algorytm BP Wychodzi z tego bardzo elegancka i efektywna obliczeniowo procedura, pozwalająca wyliczyć pochodną cząstkową funkcji błędu względem dowolnej wagi w sieci. Pozwala to na skorygowanie każdej wagi w sieci tak aby zmniejszyć wartość błędu Powtarzanie tego procesu prowadzi do coraz mniejszego błędu i nazywane jest uczeniem sieci

Szybkość uczenia Czynnik η to tzw. szybkość uczenia Im szybciej, tym lepiej, ale zbyt duża szybkość uczenia powoduje niestabilność procesu uczenia

Szybkość uczenia W praktyce – należy manipulować szybkością uczenia w trakcie uczenia Strategia utrzymywania stałej prędkości uczenia przez cały czas jest niezbyt dobra