Trening jednokierunkowych sieci
Trening jednokierunkowych sieci
neuronowych
neuronowych
Inteligentne systemy decyzyjne:
Inteligentne systemy decyzyjne:
Uczenie maszynowe
Uczenie maszynowe
–
–
sztuczne sieci neuronowe
sztuczne sieci neuronowe
wyk
wyk
ł
ł
ad 2.
ad 2.
dr inż. Paweł Żwan
Katedra Systemów Multimedialnych Politechnika Gdańska
Model matematyczny sztucznego
Model matematyczny sztucznego
neuronu
neuronu
Wartość wyjściowa neuronu o jest określana w oparciu o wzór: o=f(net),
gdzie: w – wektor wag połączeń wejściowych
x – wektor wartości sygnałów wejściowych
f – funkcja aktywacji
Dodatkową wagą jest waga progowa, dlatego wektory w i x określone są jako:
w=[w1,w2,...,wn,wn+1], x=[x1,x2,....,xn,-1]
Topologia sieci jednokierunkowej
Topologia sieci jednokierunkowej
--
sieci jednokierunkowe
sieci jednokierunkowe
x=[x1,x2,...,xN,-1] – wektor wejściowy
y=[y1,y2,...,yI,-1] – wektor wyjściowy pierwszej warstwy ukrytej
z=[z1,z2,...,zJ,-1] – wektor wyjściowy drugiej warstwy ukrytej
o=[o1,o2,...,oK,-1] – wektor wyjściowy Macierze U,V,W zawierają
Współczynniki wagowe dla wszystkich Połączeń synaptycznych
Metoda treningu sieci
Metoda treningu sieci
jednokierunkowej
jednokierunkowej
trening z nadzorem
trening z nadzorem
Regu
Regu
ł
ł
a delta
a delta
Rozwa
Rozwa
ż
ż
my jednokierunkow
my jednokierunkow
ą
ą
sie
sie
ć
ć
neuronow
neuronow
ą
ą
sk
sk
ł
ł
adaj
adaj
ą
ą
c
c
ą
ą
si
si
ę
ę
z dw
z dw
ó
ó
ch warstw: ukrytej, zawieraj
ch warstw: ukrytej, zawieraj
ą
ą
cej
cej
J
J
neuron
neuron
ó
ó
w
w
oraz wyj
oraz wyj
ś
ś
ciowej, zawieraj
ciowej, zawieraj
ą
ą
cej
cej
K
K
neuron
neuron
ó
ó
w
w
x = [x1, ... , xI-1, -1]T
y = [y1, ... , yJ-1, -1] T
o = [o1, ... , oK] T
macierze wag warstw:
fy’ = [f1’(net1), f2’(net2),..., fJ’(netJ)] T
fo’ = [f1’(net1), f2’(net2),..., fK’(netJ)] T
Regu
Regu
ł
ł
a delta
a delta
–
–
cd
cd
.
.
Metoda uczenia jest metod
Metoda uczenia jest metod
ą
ą
nadzorowan
nadzorowan
ą
ą
, dlatego
, dlatego
mo
mo
ż
ż
na okre
na okre
ś
ś
li
li
ć
ć
miar
miar
ę
ę
mi
mi
ę
ę
dzy wskazaniem sieci
dzy wskazaniem sieci
o
o
, a
, a
oczekiwan
oczekiwan
ą
ą
odpowiedzi
odpowiedzi
ą
ą
sieci
sieci
d
d
, czyli tzw.
, czyli tzw.
funkcj
funkcj
ę
ę
b
b
ł
ł
ę
ę
du
du
.
.
Najczęściej stosuje się odl.średniokwadratową:
gdzie p jest liczbą wektorów w zb. uczącym Błąd ten liczony jest dla wszystkich wektorów ze zbioru uczącego – błąd skumulowany.
Podczas treningu prezentowane są kolejno wektory uczące, wówczas funkcja błędu dla
Regu
Regu
ł
ł
a delta
a delta
–
–
cd
cd
.
.
W dalszej cz
W dalszej cz
ęś
ęś
ci przyj
ci przyj
ę
ę
to,
to,
ż
ż
e rozwa
e rozwa
ż
ż
ania dotycz
ania dotycz
ą
ą
pojedynczego
pojedynczego
p
p
-
-
tego
tego
wektora ze zbioru ucz
wektora ze zbioru ucz
ą
ą
cego.
cego.
Niech zdefiniowany zostanie operator:
wtedy:
Funkcja błędu:
przyjmuje postać:
- warstwa wyjściowa
Regu
Regu
ł
ł
a delta
a delta
–
–
cd
cd
.
.
wtedy:
gdzie wprowadzono pomocniczy operator:
Takie określenie błędu nakłada ograniczenia na postać funkcji aktywacji, która musi być
ciągła i różniczkowalna.
Reguła DELTA mówi, że aktualizacja macierzy wag V i W następuje wg zależności:
Regu
Regu
ł
ł
a delta
a delta
–
–
cd
cd
.
.
W wyniku podstawienia wcześniejszych wyników otrzymujemy:
Wagi w kolejnym kroku nauki są równe
wagom w poprzednim kroku powiększonym proporcjonalnie do iloczynów wektorów
wejściowych warstw i wektorów błędu działania sieci.
Minimalizacja funkcji błędu jest oparta o metody gradientowe i
Zbie
Zbie
ż
ż
no
no
ść
ść
procesu nauki
procesu nauki
Mo
Mo
ż
ż
liwo
liwo
ść
ść
zatrzymania w minimum lokalnym funkcji
zatrzymania w minimum lokalnym funkcji
b
b
ł
ł
ę
ę
du
du
Mo
Mo
ż
ż
liwo
liwo
ść
ść
zatrzymania nauki w p
zatrzymania nauki w p
ł
ł
askim obszarze funkcji
askim obszarze funkcji
b
b
ł
ł
ę
ę
du przy zbyt ma
du przy zbyt ma
ł
ł
ej warto
ej warto
ś
ś
ci wsp
ci wsp
ó
ó
ł
ł
czynnika nauki
czynnika nauki
Aby poprawi
Aby poprawi
ć
ć
w
w
ł
ł
a
a
ś
ś
ciwo
ciwo
ś
ś
ci nauki stosuje si
ci nauki stosuje si
ę
ę
dodatkowy
dodatkowy
sk
sk
ł
ł
adnik
adnik
MOMENTU
MOMENTU
, uzale
, uzale
ż
ż
niaj
niaj
ą
ą
cy przyrost wag od
cy przyrost wag od
przyrostu wag w poprzednim kroku nauki
przyrostu wag w poprzednim kroku nauki
Po uwzgl
Po uwzgl
ę
ę
dnieniu sk
dnieniu sk
ł
ł
adnika momentu, wzory warto
adnika momentu, wzory warto
ś
ś
ci
ci
macierzy wag w kroku
macierzy wag w kroku
n
n
+1 wygl
+1 wygl
ą
ą
daj
daj
ą
ą
nast
nast
ę
ę
puj
puj
ą
ą
co:
co:
Dodatkowe w
Dodatkowe w
ł
ł
a
a
ś
ś
ciwo
ciwo
ś
ś
ci momentu
ci momentu
składnik momentu
Moment wprowadza do algorytmu element
Moment wprowadza do algorytmu element
bezw
bezw
ł
ł
adno
adno
ś
ś
ci, kt
ci, kt
ó
ó
ry zmniejsza chwilowe i
ry zmniejsza chwilowe i
gwa
gwa
ł
ł
towne zmiany kierunku wskazywanego
towne zmiany kierunku wskazywanego
przez gradient funkcji b
przez gradient funkcji b
ł
ł
ę
ę
dy
dy
Uczenie nie wchodzi w p
Uczenie nie wchodzi w p
ł
ł
ytkie minima lokalne
ytkie minima lokalne
Zdolno
Zdolno
ść
ść
do znacznego przyspieszania nauki
do znacznego przyspieszania nauki
dla p
W
W
ł
ł
a
a
ś
ś
ciwy dob
ciwy dob
ó
ó
r wsp
r wsp
ó
ó
ł
ł
czynnik
czynnik
ó
ó
w
w
nauki
nauki
W
W
ł
ł
a
a
ś
ś
ciwy dob
ciwy dob
ó
ó
r wsp
r wsp
ó
ó
ł
ł
czynnik
czynnik
ó
ó
w nauki
w nauki
umo
umo
ż
ż
liwia wyj
liwia wyj
ś
ś
cie z minim
cie z minim
ó
ó
w lokalnych
w lokalnych
funkcji b
funkcji b
ł
ł
ę
ę
du i szybkie osi
du i szybkie osi
ą
ą
gni
gni
ę
ę
cie warto
cie warto
ś
ś
ci
ci
bliskich jej minimum globalnego.
Algorytm wstecznej propagacji b
Algorytm wstecznej propagacji b
ł
ł
ę
ę
du
du
KROK 1:• Inicjalizacja macierzy wag V i W małymi losowyim wartościami z zakresu (-1,1)
• Ustawianie parametrów nauki sieci:
- funkcji aktywacji neuronów (razem z λ) - parametrów nauki - ɳ i
αααα
KROK 2:
• Ustawienie wartości błędu
skumulowanego na E=0 dla każdego
nowego cyklu treningowego
KROK 3:
• Wybór dowolnego wektora ze zbioru uczącego, najlepiej wybór losowy.
Ustawienie oczekiwanej odpowiedzi sieci d.
Algorytm wstecznej propagacji b
Algorytm wstecznej propagacji b
ł
ł
ę
ę
du
du
KROK 4:• Wyznaczanie odpowiedzi warstw sieci y, o (przetwarzanie wektora wejściowego przez
sieć)
KROK 5:
• Obliczanie sygnałów błędów dla kolejnych
warstw
KROK 6:
• Obliczanie nowych wartości wag,
z uwzględnieniem momentu lub bez (w
zależności od wyboru)
KROK 7:
• Obliczana jest wartość funkcji błędu dla wektora x. Wartość ta dodawana jest do
Algorytm wstecznej propagacji b
Algorytm wstecznej propagacji b
ł
ł
ę
ę
du
du
KROK 8:• Jeśli wektor x nie jest ostatnim wykorzystywanym wzorcem, to sterowanie wraca do kroku 3. Jeśli
wektor x jest ostatnim wektorem uczącym to sterowanie przechodzi
kroku 9.
KROK 9:
• Sprawdzany jest warunek czy wartość
błędu skumulowanego jest większa od zadanej progowej wartości EMAX. Jeśli tak to trening się zatrzymuje.
Jeśli warunek ten nie jest spełniony
to następuje kolejny cykl treningowy i powrót do kroku 2.
W
W
ł
ł
a
a
ś
ś
ciwo
ciwo
ś
ś
ci
ci
generalizacyjne
generalizacyjne
Sie
Sie
ć
ć
mo
mo
ż
ż
na przeuczy
na przeuczy
ć
ć
, gdy algorytm powtarza si
, gdy algorytm powtarza si
ę
ę
w
w
zbyt wielu krokach
zbyt wielu krokach
Sie
Sie
ć
ć
przeuczona posiada bardzo dobre w
przeuczona posiada bardzo dobre w
ł
ł
a
a
ś
ś
ciwo
ciwo
ś
ś
ci
ci
reagowania na obiekty ze zbioru treningowego ale nie
reagowania na obiekty ze zbioru treningowego ale nie
umie sobie dobrze radzi
umie sobie dobrze radzi
ć
ć
z przyk
z przyk
ł
ł
adami spoza zbioru
adami spoza zbioru
ucz
ucz
ą
ą
cego
cego
Metoda przeciwdzia
Metoda przeciwdzia
ł
ł
ania
ania
–
–
sprawdzanie dzia
sprawdzanie dzia
ł
ł
ania sieci
ania sieci
dla danych walidacyjnych
dla danych walidacyjnych
Sieć
neuronowa
dane treningowe (X,Y) dane walidacyjne (X,Y) obserwacja wartości błędu walidacyjnegoW
W
ł
ł
a
a
ś
ś
ciwo
ciwo
ś
ś
ci
ci
generalizacyjne
generalizacyjne
Kontrola bł
Kontrola b
ł
ę
ę
du walidacyjnego w ka
du walidacyjnego w ka
ż
ż
dym kroku nauki
dym kroku nauki
uniemo
uniemo
ż
ż
liwia przetrenowanie sieci –
liwia przetrenowanie sieci
–
utrzymuje zdolno
utrzymuje zdolno
ś
ś
ci
ci
generalizacyjne
generalizacyjne
Gdy bł
Gdy b
ł
ą
ą
d walidacyjny ro
d walidacyjny ro
ś
ś
nie przez pewna zał
nie przez pewna za
ł
o
o
ż
ż
on
on
ą
ą
liczb
liczb
ę
ę
cykl
cykl
ó
ó
w (
w (
Epochs
Epochs
) nauka sieci powinna by
) nauka sieci powinna by
ć
ć
przerywana
przerywana
błąd walidacyjny
błąd na zbiorze treningowym
W
W
ł
ł
a
a
ś
ś
ciwo
ciwo
ś
ś
ci
ci
generalizacyjne
generalizacyjne
zagadnienie klasyfikacyjne dane treningowe należące do dwóch kategorii
sieć przetrenowana sieć z zachowanymi właściwościami general.
?
? 0