Professional Documents
Culture Documents
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.
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:
1 , gdy
i 1
f ( x)
n
0 , gdy
wi xi
w x
i 1
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.
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
1 , gdy e 0
y
0 , gdy e 0
w1 ' w1 ( d y ) x1
w2 ' w2 ( d y ) x 2
b' b ( d y ) 1
dla
danego
1
1 exp x
wektora
e w1 x1 w2 x2 b
uczcego
, 1
(x1,
x2,
d)
wyliczenie
cznego
pobudzenia
1
1 exp x
f ' ( x ) f ( x ) (1 f ( x ))
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].
(k )
j (k ) - bd neuronu j w warstwie k,
f(ej) pochodna funkcji aktywacji,
xi sygna wejciowy pochodzcy od neuronu j.
(k )
1 j
gdzie:
(k )
f ' (e j ) xi 2 m ji
(k )