lab5.pdf

(499 KB) Pobierz
399823852 UNPDF
Katedra
Podstaw
Konstrukcji
Maszyn
Wydział
Mechaniczny
Technologiczny
Metody Sztucznej
Politechnika
l¡ska
Inteligencji
Rok akademicki 2008/09
Instrukcja do ¢wicze« tablicowych i laboratoryjnych
Temat
Sztuczne sieci neuronowe
Strukturyipodstawowealgorytmyuczenia
Opracował: mgr in». Piotr Przystałka
ul.Konarskiego18a
44-100Gliwice
tel.2371467
fax.2371360
http://kpkm.polsl.pl
Gliwice 2006-04-25
- 1/19 -
 
1. Cel laboratorium
Celem zaj¦¢ laboratoryjnych jest nabycie umiej¦tno±ci stosowania sztucznych sieci neuronowych
(ssn) w rozwi¡zywaniu problemów in»ynierskich. Tematyka laboratorium dotyczy zagadnie«
wst¦pnej obróbki danych, doboru struktur sieci neuronowych oraz algorytmów trenuj¡cych.
2. Przygotowanie do ¢wiczenia laboratoryjnego
Przygotowanie do ¢wiczenia laboratoryjnego obejmuje szczegółowe zapoznanie si¦ z tre±ci¡
niniejszej instrukcji. Dodatkowo nale»y zapozna¢ si¦ z oprogramowaniem JNNS (SNNS, User
Manual, Version 4.1) dost¦pnym bezpłatnie. Przygotowanie do zaj¦¢ zostanie sprawdzone.
Studenci zobowi¡zani s¡ do wykonania sprawozdania zgodnie ze wskazówkami prowadz¡cego.
3. Wprowadzenie teoretyczne
Sztuczne sieci neuronowe, nazywane cz¦sto sieciami neuronalnymi, uznawane s¡ za nowoczesn¡
technik¦ modelowania zdoln¡ do odwzorowania bardzo zło»onych funkcji. Sieci neuronowe
powstały w wyniku bada« w dziedzinie sztucznej inteligencji, a w ostatnich latach zauwa»alny
jest bardzo gwałtowny wzrost zainteresowania t¡ technik¡.
3.1. Model matematyczny neuronu
Prototypem sieci neuronowej jest układ nerwowy istoty »ywej, który składa sie z neuronów.
Neuron ma wiele wej±¢ i jedno wyj±cie oraz próg aktywacji. Neurony poł¡czone s¡ ze sob¡
w zło»one struktury.
Istnieje kilka modeli matematycznych neuronów np.
neuronu McCullocha-Pittsa (rys. 1) , neuronu z szu-
mem, neuronu typu GMDH 1 , neuronu dynamicznego.
Dla potrzeb zrozumienia zasady działania wybrano naj-
prostszy model a zarazem najcz¦±ciej stosowany.
" X
#
y = F [ ' ] = F
w i · u i + b
(1)
i =0
y = F
w T · u + b i
(2)
gdzie:
u i - wej±cia neuronu,
w i - wagi neuronu (siły poł¡cze« synaptycznych mi¦dzy neuronami) ,
Rys. 1: Formalny model neuronu [2]
1 ang.GroupMethodofDataHandling-metodagrupowejobróbkidanych
Gliwice 2006-04-25
- 2/19 -
h
399823852.007.png
b - próg zadziałania neuronu (bias, parametr regulowany neuronu) ,
y - wyj±cie neuronu,
F - funkcja przej±cia, aktywacji, zapłonu,
i 2 (1 , 2 ,...,N ) - indeks okre±laj¡cy wej±cie neuronu,
N - liczba wej±¢ neuronu.
Funkcja aktywacji
Bardzo wa»nym elementem neuronu jest tzw. funkcja aktywacji. Jej argumentem jest suma
wa»onych wej±¢ neuronu, która zostaje przetworzona zgodnie z ustalon¡ zale»no±ci¡. Do
najcz¦±ciej stosowanych funkcji aktywacji zaliczamy:
Tab. 1: Najcz¦±ciej stosowane funkcje aktywacji
Sigmoida (krzywa logistyczna)
F ( ' ) = sgn ( ' ) = 1
1+ e '
Tangens hiperboliczny (tangensoida)
F ( ' ) = tgh ( ' ) = e ' e '
0 dla ' ¬ 0
1 dla ' > 0
e ' + e '
Progowa (Heaviside’a)
F ( ' ) =
Liniowa
F ( ' ) = '
3.2. Struktury sieci neuronalnych
Struktura ssn zale»y od sposobu poł¡czenia neuronów tej sieci oraz od kierunku przepływu
sygnałów w sieci. Istnieje bardzo wiele rodzajów sieci neuronowych jednak»e najbardziej popu-
larne to [5, 7]:
sieci jednokierunkowe
- jednowarstwowe (perceptron prosty) ,
- wielowarstwowe (perceptron wielowarstwowy) ,
sieci rekurencyjne
- lokalnie rekurencyjne (sie¢ Elmana) ,
- globalnie rekurencyjne (sie¢ Hopfielda) ,
sieci radialne,
sieci komórkowe (sie¢ Kohonena) ,
sieci neuronów dynamicznych,
sieci typu GMDH ,
rozmyte sieci neuronowe.
Gliwice 2006-04-25
- 3/19 -
399823852.008.png 399823852.009.png 399823852.001.png 399823852.002.png 399823852.003.png
Sieci jednokierunkowe
Perceptron wielowarstwowy jest sieci¡ w której neurony pogrupowane s¡ w warstwy. Sie¢ tego
typu posiada warstw¦ wej±ciow¡, wyj±ciow¡ oraz jedn¡ lub wi¦cej warstw ukrytych. W warstwie
wej±ciowej sygnały doprowadzone do sieci s¡ wst¦pnie przetwarzane: normalizacja, filtracja
lub skalowanie. Przetwarzanie neuronowe sygnału wej±ciowego odbywa si¦ w warstwach
ukrytych oraz w warstwie wyj±ciowej. Odpowied¹ sieci neuronowej otrzymuje si¦ na wyj±ciu
neuronów warstwy wyj±ciowej a liczba tych odpowiedzi (sygnałów) proporcjonalna jest do
liczby neuronów warstwy wyj±ciowej.
Sieci rekurencyjne
W sieciach tego typu wyst¦puje sprz¦»enie zwrotne mi¦dzy poszczególnymi warstwami.
Oznacza to, »e np. sygnały z wyj±¢ podawane s¡ na wej±cia warstwy wej±ciowej lub ukrytej,
co powoduje pewn¡ dynamik¦ w pracy sieci. Sygnały wej±ciowe w takiej sieci zale»¡ zarówno
od aktualnego stanu wej±cia jak i od sygnałów wyj±ciowych w poprzednim cyklu. Du»¡
u»yteczno±ci¡ praktyczn¡ cechuj¡ si¦ sieci maj¡ce wszystkie poł¡czenia o charakterze sprz¦»e«
zwrotnych. Sieci takie nazywane s¡ sieciami Hopfielda (zastosowanie m.in. jako pami¦ci
asocjacyjne) .
Sieci komórkowe
Sprz¦»enia wzajemne mi¦dzy elementami przetwarzaj¡cymi dotycz¡ jedynie najbli»szego
s¡siedztwa (poł¡czenia te s¡ w ogólno±ci nieliniowe) . Podstawow¡ trudno±¢ w stosowaniu tego
typu sieci stanowi opracowanie skutecznej, efektywnej i uniwersalnej metody projektowania.
Typowym przykładem sieci komórkowej mo»e by¢ sie¢ typu mapa Kohonena .
Rys. 2: Podstawowe struktury sieci neuronowych [2]
3.3. Zastosowanie sieci neuronalnych
Zró»nicowanie poł¡cze« mi¦dzy neuronami oraz modeli pojedynczych elementów przetwarza-
j¡ch powoduje zróznicowanie ich struktury co w wyniku daje mo»liwo±¢ stosowania ssn do
czterech ró»nych typów zada« [1]:
autoasocjacja: w danym przypadku faktyczny obraz jest rekonstruowany przez sie¢
z obrazu niekompletnego i/lub obarczonego zakłuceniami,
Gliwice 2006-04-25
- 4/19 -
399823852.004.png 399823852.005.png
heteroasocjacja: sie¢ realizuje odwzorowanie wej±cie-wyj±cie,
klasyfikacja: sie¢ klasyfikuje, czyli przypisuje do odpowiednich zbiorów (klas) ró»ne
obrazy wej±ciowe,
detekcja regularno±ci: zadaniem sieci jest wykrywanie statystycznie istotnych cech
w obrazie wej±ciowym.
3.4. Uczenie sieci neuronalnych
Uczenie sieci [2] traktujemy ”jako metod¦ automatycznego poszukiwania takiego zestawu
współczynników wagowych wyst¦puj¡cych we wszystkich neuronach całej sieci aby warto±¢
bł¦du sumarycznego popełnianego przez sie¢ była minimalna” . Stosuj¡c jaki± algorytm tre-
nowania sieci jeste±my w stanie minimalizowa¢ bł¡d popełniany przez sie¢ i co za tym idzie
poprawiamy działanie sieci. Najbardziej popularnym algorytmem jest wsteczna propagacja bł¦-
dów (ang. backpropagation errors) oraz jej pó¹niejsze modyfikacje.
Istniej¡ dwa najcz¦±ciej stosowane sposoby trenowania sztucznych sieci neuronowych [2]:
uczenie bez nauczyciela (nienadzorowane) - podczas tego uczenia nie jest podawane
prawidłowe rozwi¡zanie (przykłady) , sie¢ stara si¦ sama uczy¢ rozró»nia¢ nadchodz¡ce
do niej sygnały i grupowa¢ je w pewne kategorie;
uczenie z nauczycielem (nadzorowane) - wła±ciwy rezultat jest znany, poniewa» na-
uczyciel podpowiada sieci wymagan¡ odpowied¹ na zadany sygnał wej±ciowy.
Jak ju» wcze±niej wspomniano uczenie polega na automatycznej modyfikacji wag, realizowanej
przez zało»ony algorytm. Dzieje si¦ to zgodnie z ogóln¡ zale»no±ci¡ [1]:
w ji ( n + 1) = w ji ( n ) + w ji ( n )
(3)
gdzie:
n - numer kroku,
k - numer warstwy,
w ji - j ty neuron, i te wej±cie.
Wyró»niamy dwa sposoby korekcji wag [2]:
sposób przyrostowy (ang: incremental) - wagi aktualizowane s¡ bezpo±rednio po po-
daniu ka»dego wzorca. Funkcja bł¦du jest zmniejszana w ka»dym kroku.
sposób grupowy (ang: batch updating) - korekcja wag nast¦puje po podaniu całego
zestawu danych ucz¡cych
To, który ze sposobów korekcji wybierzemy, podyktowane jest rozpatrywanym przez nas
problemem, jednak bardziej korzystne wydaje si¦ by¢ podej±cie pierwsze.
Gliwice 2006-04-25
- 5/19 -
399823852.006.png
Zgłoś jeśli naruszono regulamin