You are on page 1of 6

TEORIA DO WICZENIA 2

Model neuronu
Sztuczna sie neuronowa (SSN) to model obliczeniowy, zoony z elementw
naladujcych dziaania komrek nerwowych zwanych neuronami. Sztuczne neurony nie s
dokadnymi kopiami oryginalnych neuronw, s raczej ich bardzo uproszczonymi
odpowiednikami matematycznymi, majcymi podobne waciwoci i dziaajcymi w zbliony
sposb jak ich pierwowzory. Neuron w SSN charakteryzuje si wystpowaniem wielu wej i
jednego wyjcia. W modelu sztucznego neuronu, kademu poczeniu midzy neuronami
przypisuje si odpowiedni wag (si powizania midzy elementami). Waga (odpowiednik
efektywnoci synapsy w neuronie biologicznym) to pewna staa, przez ktr przemnoony
jest kady sygna przechodzcy midzy dwoma konkretnymi neuronami, dziki czemu,
impulsy od jednych neuronw s waniejsze od innych. Waga moe mie charakter
pobudzajcy (dodatnia waga) lub hamujcy (ujemna waga). Jeeli nie ma poczenia midzy
neuronami to waga jest rwna zero. W ten sposb odrzucane s nieistotne informacje
wejciowe.
W praktyce kady neuron pobiera sygnay od wszystkich poczonych ze sob
elementw, przemnaa je przez odpowiedni wag, otrzymane wartoci sumuje i to czne
pobudzenie neuronu jest z kolei przeksztacane przez ustalon funkcj aktywacji (zwan te
funkcj przejcia) rys.1. Warto funkcji aktywacji jest ostatecznie wartoci wyjciow
neuronu. Funkcja przejcia moe by funkcj liniow, skokow, sigmoidaln, tangensoidaln
etc.. Wybr funkcji naley do projektanta sieci i zaley od problemu, ktry ma ona
rozwizywa.

Rys. 1: Model sztucznego neuronu

Do kadego neuronu o numerze i przesyana jest warto rzeczywist xi z wag wi.


Informacja wejciowa xi jest przemnaana przez odpowiadajc jej wag wi. Przekazana
informacja jest integrowana w neuronie (zwykle przez zsumowanie wszystkich sygnaw) i to
tzw. czne pobudzenie neuronu e jest przekazywane jako argument do funkcji aktywacji f i
nastpnie jest wyliczana warto sygnau wyjciowego.
Model opisujcy dziaanie neuronu moe by zapisany w postaci:
n

y f ( wi xi )
i 1

gdzie
x1, ... ,xn sygnay wejciowe danego neuronu;
w1, ... ,wn wagi synaptyczne;
y sygna wyjciowy.
Przykadowe funkcje aktywacji uywane przy konstrukcji sieci:

Progowa (skokowa) funkcja aktywacji stosowana w sieciach liniowych


(podstawowa posta)
n

1 , gdy
i 1
f ( x)
n
0 , gdy

wi xi

w x
i 1

gdzie warto progowa.

Funkcja sigmoidalna
f ( x)

1
1 exp x

, 0

Uczenie neuronu
Jedn z najwaniejszych cech sieci neuronowych jest ich zdolno uczenia si, czyli
zdolno do samodzielnego dostosowywania wspczynnikw wagowych. Dziki temu maj
one charakter sztucznej inteligencji, potrafi samodzielnie przystosowywa si do
zmieniajcych si warunkw. Celem uczenia jest taki dobr wag w poszczeglnych
neuronach aby sie moga rozwizywa stawiane przed ni problemy.
W naszym przypadku sie uczy si metod wstecznej propagacji bdw - jest to
uczenie z nadzorem lub inaczej z nauczycielem.
Pierwsz czynnoci w procesie uczenia jest przygotowanie dwch cigw danych:
uczcego i weryfikujcego. Cig uczcy jest to zbir takich danych, ktre w miar dokadnie
charakteryzuj dany problem. Jednorazowa porcja danych nazywana jest wektorem uczcym.
W jego skad wchodzi wektor wejciowy czyli te dane wejciowe, ktre podawane s na
wejcia sieci i wektor wyjciowy czyli takie dane oczekiwane, jakie sie powinna
wygenerowa na swoich wyjciach. Po przetworzeniu wektora wejciowego, porwnywane s
wartoci otrzymane z wartociami oczekiwanymi i sie jest informowana, czy odpowied jest
poprawna, a jeeli nie, to jaki powsta bd odpowiedzi. Bd ten jest nastpnie propagowany
do sieci ale w odwrotnej ni wektor wejciowy kolejnoci (od warstwy wyjciowej do
wejciowej) i na jego podstawie nastpuje taka korekcja wag w kadym neuronie, aby
ponowne przetworzenie tego samego wektora wejciowego spowodowao zmniejszenie bdu
odpowiedzi. Procedur tak powtarza si do momentu wygenerowania przez sie bdu
mniejszego ni zaoony. Wtedy na wejcie sieci podaje si kolejny wektor wejciowy i
powtarza te czynnoci. Po przetworzeniu caego cigu uczcego (proces ten nazywany jest
epok) oblicza si bd dla epoki i cay cykl powtarzany jest do momentu, a bd ten spadnie
poniej dopuszczalnego. Sieci wykazuj tolerancj na niecigoci, przypadkowe zaburzenia
lub wrcz niewielkie braki w zbiorze uczcym.

Jeeli mamy ju nauczon sie, musimy zweryfikowa jej dziaanie. W tym momencie wane
jest podanie na wejcie sieci wzorcw z poza zbioru treningowego w celu zbadania czy sie
moe efektywnie generalizowa zadanie, ktrego si nauczya. Do tego uywamy cigu
weryfikujcego, ktry ma te same cechy co cig uczcy tzn. dane dokadnie charakteryzuj
problem i znamy dokadne odpowiedzi. Wane jest jednak, aby dane te nie byy uywane
uprzednio do uczenia. Dokonujemy zatem prezentacji cigu weryfikujcego z t rnic, e w
tym procesie nie rzutujemy bdw wstecz a jedynie rejestrujemy ilo odpowiedzi
poprawnych i na tej podstawie orzekamy, czy sie spenia nasze wymagania, czyli jak zostaa
nauczona.
Algorytm propagacji wstecznej jest jednym z najskuteczniejszych algorytmw uczenia sieci
wielowarstwowej. Jego nazwa pochodzi od sposobu obliczania bdu w poszczeglnych
warstwach sieci. Najpierw obliczane s bdy w warstwie ostatniej na podstawie porwnania
aktualnych i wzorcowych sygnaw wyjciowych i na tej podstawie dokonywane s zmiany
wag pocze, nastpnie w warstwie j poprzedzajcej i tak dalej a do warstwy wejciowej.
W algorytmie propagacji wstecznej mona wyrni trzy fazy:
podanie na wejcie sygnau uczcego x i wyliczenie aktualnych wyj y.
porwnujemy sygna wyjciowy y z sygnaem wzorcowym d, a nastpnie wyliczamy
lokalne bdy dla wszystkich warstw sieci,
adaptacja wag.

Dziaanie pojedynczego neuronu


Model pojedynczego neuronu (perceptronu) mona przedstawi nastpujco:
bias = 1
x1

b
w1
w2

e = w1x1 + w2x2 + b

y = f(e)

x2
gdzie:
w1, w2, b to wartoci wag pocze odpowiednio wej x1, x2 i biasu
e w1 x1 w2 x2 b jest to czne pobudzenie neuronu e
Kolejne etapy w jednym kroku uczenia dla przedstawionego neuronu przy skokowej
funkcji aktywacji:
1) dla danego wektora uczcego (x1, x2, d) wyliczenie cznego pobudzenia
e w1 x1 w2 x2 b

2) wyliczenie aktualnego wyjcia sieci

1 , gdy e 0
y
0 , gdy e 0

zaoylimy, e warto progowa = 0


3) w przypadku bdnej odpowiedzi sieci tzn. yd modyfikacja wag wedug nastpujcych
wzorw:

w1 ' w1 ( d y ) x1
w2 ' w2 ( d y ) x 2
b' b ( d y ) 1

gdzie - wspczynnik szybkoci uczenia

Przy liniowej separowalnoci sygnaw wejciowych sie jest w stanie si nauczy


poprawnych odpowiedzi. Po zakoczeniu procesu uczenia granica decyzyjna jest dana
wzorem: w1 x1 w2 x 2 b 0 . Perceptron poprawnie klasyfikuje sygnay z cigu uczcego,
jak i te ktre do cigu nie nale, ale rwnie speniaj warunek liniowej separowalnoci.
Na sieci tej moliwa jest realizacja funkcji logicznych AND i OR, ale ju nie jest moliwa
realizacja funkcji XOR (nie spenia warunku liniowej separowalnoci). Sia sieci
neuronowych tkwi w poczeniach, w zwizku z tym sieci skadajce si z wielu neuronw
bd miay o wiele wicej zastosowa.
Kolejne etapy w jednym kroku uczenia dla przedstawionego neuronu przy sigmoidalnej
funkcji aktywacji f ( x )
1)

dla

danego

1
1 exp x

wektora

e w1 x1 w2 x2 b

uczcego

, 1
(x1,

x2,

d)

wyliczenie

cznego

pobudzenia

2) wyliczenie aktualnego wyjcia sieci y 1 exp e


3) w przypadku bdnej odpowiedzi sieci tzn. yd modyfikujemy wagi
Stosujemy tutaj regu Delta:
wi ( d y ) f ' ( e) xi

Warto zauway, e dla funkcji sigmoidalnej o wzorze f ( x)

1
1 exp x

f ' ( x ) f ( x ) (1 f ( x ))

Modyfikacja wag przebiega nastpujco:


w1 ' w1 ( d y ) f ( e) (1 f ( e)) x1
w2 ' w2 ( d y ) f ( e) (1 f ( e)) x2
b' b ( d y ) f ( e) (1 f ( e)) 1

Sie wielowarstwowa
Sie wielowarstwowa posiada warstw wejciow, wyjciow oraz jedn lub wicej
warstw ukrytych. Zadaniem elementw w warstwie wejciowej jest wstpne przetwarzanie
impulsu wejciowego x=[x1, x2, x3, ..., xN]. Zasadnicze przetwarzanie neuronowe impulsu
wejciowego odbywa si w warstwach ukrytych oraz w warstwie wyjciowej. Warstwy te
zbudowane s z elementw przetwarzajcych, ktre stanowi modele sztucznych neuronw.
Poczenia pomidzy poszczeglnymi warstwami s zaprojektowane tak, e kady element
warstwy poprzedniej jest poczony z kadym elementem warstwy nastpnej. Poczeniom
tym s przypisane odpowiednie wspczynniki wag, ktre w zalenoci od zadania, jakie dana
sie powinna rozwizywa, s wyznaczane dla kadego przypadku z osobna. Na wyjciu sieci
generowany jest impuls wyjciowy y=[y1, ..., yM].

Model sieci wielowarstwowej:

Uczenie sieci wielowarstwowych


W sieciach tego typu najistotniejszym problemem jest dobr wag w warstwach
ukrytych. Jednak istniej algorytmy umoliwiajce efektywne uczenie takich sieci.
Dla duych sieci i cigw uczcych skadajcych si z wielu tysicy wektorw uczcych ilo
oblicze wykonywanych podczas caego cyklu uczenia jest gigantyczna a wic i
czasochonna. Nie zdarza si take aby sie zostaa dobrze zbudowana od razu. Zawsze jest
ona efektem wielu prb i bdw. Ponadto nigdy nie mamy gwarancji, e nawet prawidowa
sie nie utknie w minimum lokalnym podczas gdy interesuje nas znalezienie minimum
globalnego. Dlatego algorytmy realizujce SSN wyposaa si mechanizmy dajce
nauczycielowi moliwo regulacji szybkoci i jakoci uczenia. S to tzw wspczynniki:
uczenia i momentum. Wpywaj one na stromo funkcji aktywacji i reguluj szybko
wpywu zmiany wag na proces uczenia.
Przy pojedynczym wspczynniku uczenia , do uczenia sieci wielowymiarowych
stosujemy regu Delta, przy czym definiujemy sygna bdu dla kadego neuronu z warstw
ukrytych. Doprowadza nas to do nastpujcego wzoru na zmian wagi midzy j- tym
neuronem w warstwie k a i- tym w warstwie k-1:
(k )
(k )
wij j f ' (e j ) xi
gdzie:
wij

(k )

- zmiana wartoci wagi poczenia midzy neuronem j w warstwie k, a


neuronem i w warstwie k-1,
- wspczynnik szybkoci uczenia,

j (k ) - bd neuronu j w warstwie k,
f(ej) pochodna funkcji aktywacji,
xi sygna wejciowy pochodzcy od neuronu j.

Aby przyspieszy proces uczenia, a jednoczenie unikn niebezpieczestwa oscylacji


w sieci (czyli wpadania algorytmu w minima lokalne funkcji bdu) wprowadza si
modyfikacj do algorytmu, zwan Uoglnion Regu Delty, zawierajc czynnik
(k )
bezwadnoci 2 m ji :
wij

(k )

1 j

gdzie:

1 - wspczynnik szybkoci uczenia,


2 momentum,
(k )
m ji - poprzednia zmiana wag.

(k )

f ' (e j ) xi 2 m ji

(k )

You might also like