You are on page 1of 6

Sztuczne sieci neuronowe EGA Wiki

http://wiki.ega.org.pl/index.php?title=Sztuczne_sieci_neuronowe&print...

Sztuczne sieci neuronowe


Z EGA Wiki
Witaj, skoro znalaze si na tej stronie, oznacza to zapewne, e nie trzeba Ci przedstawia w jak wielu dziedzinach naszego ycia wykorzystuje si mechanizmy sztucznych sieci neuronowych. Jeeli czujesz si na siach, przejd bezporednio do nastpnego paragrafu. Dla pozostaych, oraz tych, ktrzy trafili tutaj przypadkiem, postaram si pokaza dlaczego warto pozosta nieco duej na tej stronie. Czy wiedziae, e sieci neuronowe mona znale w... filtrze antyspamowym - tak, konieczno cigego dostosowywania si do coraz wymylniejszych metod spamerw sprawia, e operatorzy serwerw pocztowych sigaj po t technologi, sondach kosmicznych - owszem, nie zawsze ju przed startem rakiety wiadomo jak najlepiej pokona przeszkod na Marsie, rozpoznawaniu gestw - a take mowy oraz w oprogramowaniu OCR (elastyczno sieci neuronowych coraz czciej pomaga w rozpoznawaniu tekstu pisanego), wojskowych i cywilnych systemach radarowych - sieci doskonale rozpoznaj wzorce, twarze itd... grach komputerowych - sieci neuronowe stoj za niektrymi decyzjami podejmowanymi przez bohaterw sterowanych przez komputer!

Spis treci
1 Idea 2 Model neuronu 3 Sieci neuronowe 4 Uczenie sztucznych sieci neuronowych 4.1 Uczenie z nauczycielem 4.1.1 Regua perceptronowa sieci dyskretnej 4.1.2 Regua Widrowa-Hoffa 4.2 Uczenie bez nauczyciela 4.2.1 WTA (ang. Winner Takes All) 4.2.2 WTM (ang. Winner Takes Most)

Idea
Nazwa - sieci neuronowe - mwi ju wiele o pochodzeniu i strukturze samej sieci. Nie martw si jednak, jeeli spae w czasie licealnych lekcji biologii. Rzut okiem na rysunek 1. wystarczy, aby zrozumia jak dziaaj pierwowzory sztucznych neuronw - komrki nerwowe. Pomijajc ca chemi oraz mechaniczne "pompy" jonw takich jak sd, potas czy wap, ktre stoj za przesyaniem sygnaw elektrycznych, dla naszych celw naley jedynie wiedzie, e sygnay wejciowe dla komrki s podawana na dendryty, za wyjciowe kierowane na synaps (bd synapsy). Decyzja o tym, jakiego rodzaju bdzie to sygna podejmowana jest w ciele komrki. Jaka jest wydajno komrki nerwowej? C, z uwagi na procesy biochemiczne rzdzce przesyaniem sygnaw, komrki mog je przekazywa z czstotliwoci z zakresu
1z6

2011-06-13 15:56

Sztuczne sieci neuronowe EGA Wiki

http://wiki.ega.org.pl/index.php?title=Sztuczne_sieci_neuronowe&print...

1-100 Hz. Czas trwania samego impulsu to okoo 1-2 milisekundy, za szybko propagacji (nie, to nie jest zwyky kabel, odpowied nie brzmi c!) zaley od regionu ciaa i waha si w zakresie od 1-100 metrw na sekund. Ludzki mzg - jeden z najwspanialszych efektw ewolucji. Monaby rzez, wzr do naladowania dla chccych tworzy sztuczne sieci neuronowe. Natrafi mona tu jednak na kolejny problem - mimo objctoci oko ptorej litra, w mzgu znajduje si rednio okoo 100 miliardw komrek nerwowych, dokonujcych okoo 1 attooperacji na sekund (10^18). Nawet majc moliwo odtworzenia struktury ich pocze, nie wydaje si prawdopodobne aby w najbliszym czasie mona byo efektywnie naladowa ludzki mzg. Dlatego te, w dzisiejszych czasach, odchodzi si od porwnania sztucznych sieci neuronowych do mzgu jako takiego, uznajc to za zbyt daleko idce uproszczenie.

Rysunek 1. Komrka nerwowa neuron

Model neuronu
Niemniej jednak okazao si, e nawet bardzo proste sztuczne sieci neuronowe w pewnych sytuacjach wypeniaj doskonale swoje zadania. Pierwszy model neuronu, ktrego uywa si zreszt do dnia dzisiejszego, zaproponowali jeszcze w czasie trwania drugiej wojny wiatowej McCulloch i Pitts (rysunek 2.).

Rysunek 2. Model neuronu McCullocha-Pittsa

By i jest on rzecz jasna zbyt prosty, aby naladowa rzeczywisty neuron biologiczny, jednak nie taki by cel jego powstania. Neuron taki posiada <math>n</math> wej oraz jedno dodatkowe, na ktre zawsze podawany jest sygna jednostkowy (lub maksymalny przy innym doborze zakresu pracy). Kady z sygnaw wejciowych <math>x_i</math> (<math>i \in (1, n)</math>) jest nastpnie mnoony przez odpowiedni wag <math>w_i</math> oraz sumowany. Otrzymana w ten sposb warto jest argumentem tzw. funkcji aktywacji, ktrej wynik dziaania jest podawany na wyjcie tego neuronu.

W bardziej zwartym, matematycznym opisie wyglda to nastpujco: <math>y= f(\sum w_{i} x_{i}) = f( \textbf{w}^{T} \textbf{x}) = f( net )</math> gdzie: <math>\textbf{x} = [1, x_1, x_2, ... , x_n]^{T}</math> - wartoci sygnaw wejciowych <math>\textbf{w} = [-\Theta, w_1, ... , w_n]</math> - wartoci wag przyporzdkowanych poszczeglnym wejciom f - funkcja aktywacji

2z6

2011-06-13 15:56

Sztuczne sieci neuronowe EGA Wiki

http://wiki.ega.org.pl/index.php?title=Sztuczne_sieci_neuronowe&print...

y - sygna wyjciowy Kolejn cech wpywajc na uywan powszechnie terminologi jest zakres zwracanych przez neuron wartoci. Neurony formalne, dla ktrych warto zwracana przybiera wartoci dyskretne (cakowite, typu int). Neurony cig, wartoci funkcji aktywacji z zakresu (0,1), bd (-1,1). Funkcja aktywacji zwracajca wartoci z zakresu (0,1) nazywane s unipolarnymi, te za, ktre zwracaj wartoci z przedziau (-1,1) nazywane s bipolarnymi. Poniej przedstawiam postaci najczciej spotykanych funkcji aktywacji, zarwno dyskretnych (u gry), jak i cigych (u dou), unipolarnych (po lewej) i bilpolarnych (po prawej). Warto podkreli zaleno przebiegu wartoci poniszych funkcji od parametru <math>\lambda</math>.

Rysunek 3. Rne rodzaje funkcji aktywacji

Sieci neuronowe
Dysponujc podstawow jednostk budulcow, modelem pojedynczego neuronu, mona pomyle o poczeniu ich w sie. Sieci jednokierunkowe to takie, w ktrych sygna przechodzi przez kady z neuronw tylko raz. Ze wzgldu na ilo poczonych po kolej neuronw, mona wyrni: sieci jednowarstwowe, Rysunek 4. Sie jednokierunkowa Rysunek 5. Sie jednokierunkowa jednowarstwowa rysunek 4 (jeden wielowarstwowa lub wicej neuronw, przez ktre sygna przechodzi w tym samym czasie), sieci wielowarstwowe, rysunek 5 (spotykane w rzeczywistych sytuacjach; warstwy dziel si na wejciow, wyjciow, a wszystko pomidzy nimi nazywamy warstwami ukrytymi),

3z6

2011-06-13 15:56

Sztuczne sieci neuronowe EGA Wiki

http://wiki.ega.org.pl/index.php?title=Sztuczne_sieci_neuronowe&print...

Sieci rekurencyjne to takie, w ktrych istnieje sprzeenie zwrotne. Poczenia midzy neuronami stanowi graf z cyklami. Innymi sowy, wartoci wyj neuronw z dalszych czci sieci stanowi cz danych wejciowych dla wczeniejszych jej czci.

Konwencja uyta przy numerowaniu wag dla neuronw w kolejnych warstwach polega na zapisaniu dwch liczb w indeksie dolnym, z ktrych pierwszy mwi o numerze warstwy (ukrytej), drugi za o numerze neuronu, tj. <math>w_{j,i}</math>: j-numer warstwy, i-numer neuronu. Nie ma przy tym adnego powodu, aby zakada, e poszczeglne warstwy posiadaj t sam ilo neuronw. Co wicej, istnieje wiele metod majcych na celu optymalizacj iloci neuronw w sieci. Ideowo ich dziaanie mona przedstawi jako sukcesywne usuwanie tych elementw, ktrych wpyw na ostateczny wynik jest zaniedbywalny.

Uczenie sztucznych sieci neuronowych


Jedn z cech, ktre czyni sztuczne sieci neuronowe tak potnym narzdniem jest ich zdolno do uczenia (si). Nauka taka moe by (ang. supervised learning, uczenie z nauczycielem), ale nie musi (ang. unsupervised learning, uczenie bez nauczyciela) nadzorowana przez tzw. nauczyciela. W pierwszym przypadku dla kadego wektora danych wejciowych znamy dokadn, porzdan przez nas odpowied sieci. Korekta wag neuronw nastpuje przez uwzgldnienie rnicy midzy podan, a rzeczywist odpowiedzi sieci. W procesie uczenia si sieci bez nauczyciela, porzdana odpowied jest oczywicie nie znana, dlatego sie uczy si poprzez analiz swych reakcji na pobudzenia. Tego typu zmiany nazywane s samoorganizacj. Opis symboli uytych przy opisie metod uczenia sztucznych sieci neuronowych x= <math>[1, x_1, x_2, ... , x_N ]^{T}</math> - wektor wejciowy d= <math>[d_1, d_2, ... , d_M ]^{T}</math> - zadana posta wektora wyjciowego <math>\textbf{w_k} = [-\theta, w_i1, w_i2, ..., w_iN]^{T}</math> - zbir wag k-tej warstwy neuronw <math>w_ij</math> - waga poczenia neuronu j-tego warstwy k+1 i i-tego warstwy k-tej f - funkcja aktywacji y= <math>[y_1, y_2, ..., y_M]^{T}</math> - sygna wyjciowy sieci dla M neuronw w warstwie wyjciowej x(k), w(k) - oglnie, wektory wejcia oraz wag w k-tym kroku uczenia Zmiana wartoci wag odbywa si w kolejnych krokach uczenia i mona j zapisa formalnie jako: <math> w_{ij}(k+1) = w_{ij}(k) + \Delta w_{ij}(k) </math>

Uczenie z nauczycielem
Regua perceptronowa sieci dyskretnej Regua ta dziaa dla pojedynczego neuronu dyskretnego. Definiuje si funkcj bdu e(k) bdc rnic pomidzy wartoci oczekiwan d(k), a t zwrcon przez sie y(k): <math> e(k) = d(k) - y(k) </math> W zalenoci od wartoci funkcji bdu, wzmacnia bd osabia si wagi neuronu:
4z6

2011-06-13 15:56

Sztuczne sieci neuronowe EGA Wiki

http://wiki.ega.org.pl/index.php?title=Sztuczne_sieci_neuronowe&print...

e(k)>0 - wzmocnienie wag, e(k)<0 - osabienie wag. Korekcja moe przebiega przykadowo wg poniszej reguy: w_i(k+1) = w_i(k) gdy y(k) = d(k) w_i(k+1) = w_i(k)+x(k) gdy y(k) = -1, d(k) = +1 w_i(k+1) = w_i(k)-x(k) gdy y(k) = +1, d(k) = -1 Celem metody jest taka zmiana wag, aby dla kadego wektora wejciowego e(k) byo rwne zeru, dla wszystkich kolejnych krokw uczenia. Regua Widrowa-Hoffa Regua ta stanowi uoglnienie reguy perceptronowej dla sieci zoonej z zarwno neuronw cigych jak i dyskretnych. W metodzie tej korekcja wag nastpuje wg poniszych zalenoci <math>w_{ij}(k+1) = w_{ij}(k) + \Delta w_{ij}(k)</math> <math>\Delta w_{ij}(k) = x_j(k) ( d_i(k) - y_i(k) ) </math> Prowadzi to do minimalizacji rnic pomidzy wartociami <math>y_i</math> i <math>d_i</math>, co mona rwnoznacznie zapisa jako minimalizacj pewnej kwadratowej funkcji celu: <math>FC = \sum_{k=1}^{p} ( y_i(k) - d_i(k) )^2</math> gdzie p oznacza liczb krokw w procesie uczenia.

Uczenie bez nauczyciela


Omwione tutaj zostan dwie metody uczenia samoorganizujcego si typu konkurencyjnego, w ktrych neurony wspzawodnicz midzy sob, aby sta si jak najbardziej aktywnymi. WTA (ang. Winner Takes All) Zasada gosi, e tylko jeden z neuronw moe by aktywny w danym kroku procesu nauki. Po podaniu na wejcie sieci wektora uczcego x, bierzemy pod uwag sygnay wyjciowe neuronw <math>net_i = \sum_{j} w_{ij} x_j</math> po czym wyaniajmy neurona-zwycizc (ozn. <math>i^*</math>), dla ktrego warto net jest najwiksza: <math>net_{i^*} = max(net_i)</math> , i=1,2,...,N Aktualizacja wagi zwycizcy nastpuje zgodnie z, podobnym do wczeniejszych, wzorem: <math>w_{ij}(k+1) = w_{ij}(k) + c(x_j - w_{ij}(k))</math>

5z6

2011-06-13 15:56

Sztuczne sieci neuronowe EGA Wiki

http://wiki.ega.org.pl/index.php?title=Sztuczne_sieci_neuronowe&print...

gdzie wspczynnik c to tak zwana staa uczenia decydujca m.in. o szybkoci i dokadnoci procesu nauki. Warto zapamita, e w wyniku uczenia wartoci wag neuronu bd odpowiada urednionym wartociom wektorw wejciowych, dla ktrych zadany neuron by zwycizc. WTM (ang. Winner Takes Most) Zasada gosi, e w danym kroku procesu nauki neuron wygrywajcy uaktywnia si w sposb maksymalny, za jego najblisi ssiedzi uaktywniaj si tylko czciowo. Pozostae neurony nie s aktywne podczas tego kroku. W regule tej staa c wystpujca w metodzie WTA zamieniona jest na funkcj okrelajc stopie ssiedztwa pomidzy neuronem-zwycizc a pozostaymi neuronami w warstwie. Przykadowo, funkcja taka mogaby wyglda jak:

<math> h(i, i^*) = 1 dla i = i^* </math> <math> h(i, i^*) = 0.35 dla |i = i^*|=1 </math> <math> h(i, i^*) = 0 dla |i - i^*| > 1 </math>

<math> h(i, i^*) = \frac{1}{\rho(i, i^*)} dla \rho(i, i*) </math> Tytu linku rdo http://wiki.ega.org.pl/index.php?title=Sztuczne_sieci_neuronowe T stron ostatnio zmodyfikowano 14:42, 15 gru 2009.

6z6

2011-06-13 15:56

You might also like