uczenie sieci mlp

background image

Uczenie sieci typu MLP

background image

Przypomnienie – budowa sieci typu

MLP

background image

Przypomnienie budowy

neuronu

• Neuron ze skokową funkcją aktywacji jest zły!!!
• Powszechnie stosuje -> modele z sigmoidalną

funkcją aktywacji

•  - współczynnik nastromienia. Im większy tym

bardziej skokowa funkcja aktywacji

( )

( )

3

1

2

1

f z

f z

=

-

( )

(

)

1

1

1 exp

f z

z

b

=

+

-

( )

( )

2

f z

tgh z

b

=

0

M

i i

i

z

wx w

=

+

background image

Różniczkowalność funkcji

sigmoidalnej

• Pochodne funkcji aktywacji

( )

( )

( )

(

)

1

1

1

1

df x

f x

f x

dx

b

=

-

( )

( )

(

)

2

2

2

1

df x

f x

dx

b

=

-

( )

( )

( )

(

)

3

1

1

2

1

df x

f x

f x

dx

b

=

-

background image

Trochę o uczeniu

Uczenie sieci MLP to optymalizacja wartości

wag w celu minimalizacji błędu

popełnianego przez sieć

.

Jak zdefiniować funkcję celu?
Stosując metody gradientowe funkcja celu musi spełniać

warunek różniczkowalności!!!

Funkcja celu -

kryterium, według którego można oceniać dokonany wybór

rozwiązania najlepszego spośród dopuszczalnych rozwiązań (wariantów), czyli jak dany

system w procesie swego działania zbliża się do osiągnięcia wyznaczonego celu.

Działając zgodnie z zasadami ekonomii (zasadą oszczędności i zasadą wydajności) dąży

się każdorazowo do maksymalizacji lub minimalizacji funkcji celu w zależności od

postawionego celu działania. Funkcja celu określa więc w sposób formalny zależność

między celem systemu (firmy) a środkami służącymi do jego realizacji.

wg. portalwiedzy.onet.pl

background image

Funkcja celu

• Błąd średniokwadratowy dla sieci o M wyjściach

y – rzeczywista wartość i-tego wyjścia sieci
d – wyliczona wartość i-tego wyjścia sieci

Całkowita wartość funkcji celu po prezentacji n

przypadków uczących ma postać

( )

( )

(

)

2

1

1

1

2

n

M

i

j

i

j

j

i

E

y

d

= =

=

-

��

x

x

(

)

2

1

1

2

M

i

i

i

E

y d

=

=

-

background image

Inne odmiany funkcji celu

• Funkcja z normą L

1

Minimalizacja wszystkich błędów równomiernie
• Funkcja z normą wyższych rzędów

Minimalizacja największych błędów (małe błędy

stają się nie istotne)

1

1

2

M

i

i

i

E

y d

=

=

-

(

)

2

1

1

2

M

K

i

i

i

E

y d

=

=

-

background image

Inne odmiany funkcji celu.

CD.

• Kombinacja dwóch powyższych (Karayiannis):

• Dla =1 -> minimalizacja błędu

średniokwadratowego

• Dla =0 -> minimalizacja błędu zdefiniowanego

przez funkcję 

• W praktyce uczymy zaczynając od =1 i

stopniowo w trakcie uczenia zmniejszamy  do 0

(

) (

)

(

)

2

1

1

1

1

2

M

M

i

i

i

i

i

i

E

y d

y d

l

l

f

=

=

=

-

+ -

-

( )

( )

(

)

1

ln cosh

a

a

f

b

b

=

Dla dużych  zachodzi (a)=|a|

background image

Problem uczenia sieci MLP

• Jak dobrać odpowiednie wartości wag?
• Jak wyznaczyć błąd popełniany przez

warstwy ukryte?

• Jak więc uczyć warstwy ukryte by

minimalizować ów błąd?

• Jak określić kierunek zmian wartości wag,

czy + czy -, o jaką wartość zmieniać wagi?

background image

Metody optymalizacji

• Stochastyczne

– Monte carlo
– Algorytmy genetyczne
– Algorytmy ewolucyjne

• Gradientowe

– Największego spadku (reguła delta)

(

)

( )

( )

1

W k

W k

W

W

p W

h

+ =

+D

D =

- współczynnik ucenia

p(W) – kierunek i wartość zmian wektora W

background image

Algorytm wstecznej propagacji błędu

1.

Analiza sieci neuronowej o zwykłym kierunku przepływu

sygnałów. Podanie na wejście danego wektora x

i

i wyznaczenie

odpowiedzi każdego z nauronów dla każdej z warstw

(odpowiednio d

i

dla wyjściowej i s

i

dla ukrytej).

2.

Stworzenie sieci propagacji wstecznej zamieniając wejścia sieci

na jej wyjścia oraz zamieniając funkcje aktywacji neuronu na

pochodne oryginalnych funkcji aktywacji. Na wejście sieci należy

podać różnicę sygnałów wyjściowego i oczekiwanego (y

i

-d

i

)

3.

Uaktualnienie wag odbywa się na podstawie wyników

uzyskanych w punkcie 1 i 2 wg. zależności

4.

Opisany proces powatarzaj aż błąd nie spadnie poniżej wartości

progowej

<threshold

background image

Trochę wzorów

Funkcja celu uwzględniając dwie warstwy ukryte:

v

i

– wyjścia warstwy ukrytej, co dalej możemy zapisać jako

Uwaga sumowanie po K od 0 bo zakładamy że nasz wektor ma postać
x=[1 x

1

x

2

… x

N

]

T

i odpowiednio v=[1 v

1

v

2

… v

K

]

T

Uwaga N-wejść, K- neuronów ukrytych i M wyjść z sieci

Żródło rysunku i wzorów: Ossowski, Sieci neuronowe w ujęciu algorytmicznym”, WNT

background image

Wzory cd.

• Zmaina wag warstwy wy

.

– Gdzie

przyjmując:

• Ostatecznie zmianę wag dla wa-wy 2 możemy zapisać jako:

• Dla warstwy ukrytej (nr 1) zależność ta przyjmuje postać:

Gdzie zmiana wag wynikająca z wa-wy wyj (2), zmiana wag z wa-wy ukrytej(1)

(

)

( )

(2)

(2)

(2)

i

i

i

i

i

df u

y d

du

d =

-

Żródło rysunku i wzorów: Ossowski, Sieci neuronowe w ujęciu algorytmicznym”, WNT

background image

Wzory cd..

• Uwzględniając poszczególne składniki otrzymujemy

• Co dla poniższych oznaczeń:

• Pozwala zapisać pochodną funkcji kosztu w warstwie

ukrytej jako

• Ostatecznie zmiana wag realizowana jest jako:

 - wsp. uczenia

Żródło rysunku i wzorów: Ossowski, Sieci neuronowe w ujęciu algorytmicznym”, WNT

background image

Problem minimów lokalnych

Rys. M. Kordos „Search-based Algorithms for Multilayer Perceptrons” PhD

background image

Różne wersje algorytmów –

algorytmy gradientowe

• W sąsiedztwie najbliższego rozwiązania rozwijają funkcję

celu E(W) w szereg Taylora (najczęściej do pierwszych 3
składników)

Gdzie:

Oraz macierz drugich pochodnych

p – wektor kierunkowy liczenia pochodnych zależny od W
Optymalne rozwiązanie gdy g(W

k

)=0 i H(W

k

) jest dodatnio

określona (wszystkie wartości własne macierzy H są > 0)

lub

Żródło rysunku i wzorów: Ossowski, Sieci neuronowe w ujęciu algorytmicznym”, WNT

background image

Inne metody optymalizacji

• Algorytm największego spadku (rozwinięcie tylko do pierwszej pochodnej)
• Algorytm zmiennej metryki (wykorzystanie kwadratowego przybliżenia

funkcji E(W) w sąsiedztwie W

k

)

• Algorytm Levenberga-Marquardta (najlepsza, zastąpienie H(W) przez

aproksymację G(W) z reguloaryzacją)

background image

Dobór współczynnika

uczenia 

•Stały współczynnik uczenia

W praktyce jeśli jest stosowany to jest on wyznaczany
niezależnie dla każdej warstwy (n

i

-liczba wejść i-tego neuronu)

• Adaptacyjny dobór wsp. Uczenia

Przyjmując jako błąd uczenia

oraz 

(i+1)

, 

i

współczynniki uczenia w iterazji i oraz i+1 oraz odpowiednio
błąd uczenia 

(i+1)

, 

i

, k

w

– dopuszczalny wzrost wartości wsp 

if

then

else

Gdzie 

d

<1 (np. 0.7) oraz 

i

>1 (np. 1.05)

Żródło rysunku i wzorów: Ossowski, Sieci neuronowe w ujęciu algorytmicznym”, WNT

background image

Dobór współczynnika uczenia 

(inne metody)

Dobór wsp. uczania przez minimalizację kierunkową

Reguła delta-bar-delta doboru wsp. uczenia

Inicjalizacja wag

Inicjalizacja wag wpływa na rozwiązanie – zależy w
którym miejscu funkcji powierzchni funkcji celu
zaczniemy optymalizację

Losowa

PCA

W praktyce – zastosowanie
metody wielostartu

background image

Metody optymalizacji

globalnej

• Dotychczasowe metody mają charakter lokalny (optymalizujemy w obrębie

najbliższych rozwiązań)

• Metody globalne – patrzą na problem całościowy i całościowo optymalizują

sieć.

• Optymalizacja globalna to metody optymalizacji stochastycznej –

symulowane wyżarzania, algorytmy genetyczne i ewolucyjne

1.

Start procesu z rozwiązania początkowego W,
temperatura T=T

max

2.

Dopóki T>0 wykonaj L razy

Wybierz nowe rozwiązanie W’ w pobliżu W

Oblicz funkcję celu =E(W’)-E(W)

Jeżeli <= 0 to W=W’

W przeciwnym przypadku (>0)

jeżeli e

- /T

>R to W=W’ (gdzie R to liczba

losowa z przedziału [0,1])

3.

Zredukuj temperaturę T=rT (r –współczynnik
redukcji z przedziału [0,1])

4.

Po redukcji temperatury T do 0 ucz metodą
gradientową

Przykład – symulowane wyżarzanie


Document Outline


Wyszukiwarka

Podobne podstrony:
Algorytmy uczenia sieci jednokierunkowych
nai-sciaga, UCZENIE SIECI JEDNOWARSTWOWEJ
uczenie sieci
Algorytmy uczenia sieci jednokierunkowych
cw1 2009, uczenie maszynowe, sieci neuronowe
cw3 teoria old, uczenie maszynowe, sieci neuronowe
cwicz2 teoria, uczenie maszynowe, sieci neuronowe
cw3 old, uczenie maszynowe, sieci neuronowe
cwicz2 old, uczenie maszynowe, sieci neuronowe
cw1 old, uczenie maszynowe, sieci neuronowe
cwicz2, uczenie maszynowe, sieci neuronowe
Wykłady Sieci Neuronowe(1), uczenie maszynowe, sieci neuronowe
sn, uczenie maszynowe, sieci neuronowe
SIECI NEURONOWE(1), uczenie maszynowe, sieci neuronowe
Wirtualne sieci LAN
9 Sieci komputerowe II

więcej podobnych podstron