1 / 42

Sztuczne sieci neuronowe

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

race
Download Presentation

Sztuczne sieci neuronowe

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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ć

  3. Ś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

  4. Ś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

  5. 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ć.

  6. 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ą

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

  8. Reguła gradientowa

  9. 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):

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

  11. w2 w1 Metoda gradientowa

  12. Δwij? Algorytm wstecznej propagacji błędu

  13. Algorytm wstecznej propagacji błędu

  14. 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.

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

  16. Propagacja wstecz przez neuron

  17. Propagacja wstecz przez neuron

  18. Propagacja wstecz przez neuron

  19. Propagacja wstecz przez neuron

  20. Propagacja wstecz przez neuron

  21. Propagacja wstecz przez neuron

  22. Propagacja wstecz przez neuron

  23. Propagacja wstecz przez neuron

  24. 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

  25. 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

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

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

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

  29. a1 w11 z1 w12 a2 w13 a3 Wsteczna propagacja przez warstwę

  30. Wsteczna propagacja przez warstwę Ogólniej:

  31. Wsteczna propagacja przez warstwę

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

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

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

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

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

  37. 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

  38. 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)

  39. 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

  40. 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

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

  42. 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

More Related