Professional Documents
Culture Documents
Hrvoje Gold
Upute za vjebe na raunalu
Zagreb, 1997/2002
a = F(n) = F(w*p)
Slika 1.1.1 Model neurona s jednim ulazom
Vrijednost ulazne veliine p se prenosi spojnicom koja mnoenjem s teinom w pojaava
vrijednost ulazne veliine za umnoak w*p. Optereena ulazna veliina n = w*p je
neposredna ulazna veliina i jedini argument aktivacijske (prijenosne) funkcije F.
Aktivacijska funkcija izraunava vrijednost izlazne veliine a. Neuron na slici 1.1.2.
posjeduje dodatni prilagodljivi lan b, koji kao dodatak umnoku w*p pomie aktivacijsku
funkciju F u lijevu stranu za iznos b. Dodatni prilagodljivi lan se promatra kao teina sa
stalnim jedininim iznosom pridijeljene ulazne veliine. Neposredna ulazna veliina
aktivacijske funkcije je zbroj optereenog ulaza w*p i dodatnog lana b.
p
a
a = F(n) = F(w*p + b)
b
1
Slika 1.1.2 Model neurona s jednim ulazom i dodatnim prilagodljivim lanom (bias)
Teina w i lan b su prilagodljivi parametri modela neurona.
1.2 Aktivacijska funkcija
Najee koritene aktivacijske funkcije F su funkcija skoka, linearna i sigmoidna funkcija.
Aktivacijska funkcija skoka ili praga (engl. hard limiter), slika 1.2.1, ograniava izlaznu
vrijednost neurona na binarni iznos 0 ili 1. Koristi se za tvorbu neurona kojima se donose
odluke, npr. kod klasifikacije uzoraka.
1-2
P(1)
P ( 2)
P=
M
P ( R )
1-3
Zato se argument aktivacijske funkcije kao prolaz ulazne veliine kroz teine moe izraziti
skalarnim produktom W*P.
Neuronski sloj
Ulaz
Ulaz
a)
Neuronski sloj
b)
Neuronski sloj
Ulaz
Neuronski sloj
R = Broj ulaza
S = Broj neurona
a)
b)
1-4
W =
M
M
M
W ( S ,1) W ( S ,2) L W ( S , R )
Indeks retka u matrici teina oznaava neuron koji prima optereeni ulaz, a indeks stupca
oznaava ulaz u teinski lan. Npr., indeksi (1, 2) u matrici teina oznaavaju da jakost
signala od drugog ulaznog lana prema prvom i jedinom neuronu iznosi W(1, 2).
1.5 Vieslojne mree
Neuronska mrea moe sadravati vie slojeva. Pojedini sloj tvori matrica teina W, vektor
dodatnih lanova B, optereenih ulaza N i vektor izlaznih vrijednosti A. Za razlikovanje
veliina pojedinog sloja nazivima veliina se dodaju oznake sloja. Npr., matrica teina i
vektor izlaza prvog sloja oznaeni su kao W1 i A1, drugog sloja W2 i A2, itd.
Sloj iji izlazni vektor predstavlja ujedno i izlazni vektor cijele mree naziva se izlaznim
slojem. Ulazni vektor se najee ne promatra kao ulazni sloj ve samo kao sloj za razdiobu
ulaznih signala. Ostali slojevi ine unutarnje (skrivene) slojeve neuronske mree. Troslojnu
mreu s jednim izlaznim (sloj 3) i dva unutarnja sloja (sloj 1 i sloj 2) prikazuje slika 1.5.1.
Mrea na slici 1.5.1 ima R ulaza, S1 neurona u prvom sloju, S2 neurona u drugom i S3
neurona u treem sloju. Najee razliiti slojevi imaju razliite brojeve neurona.
Izlazi pojedinog sloja predstavljaju ulaze sljedeeg sloja. Sloj 2 se moe promatrati kao
jednoslojna mrea s R = S1 ulaza, S = S2 neurona i matricom teina W = W2 reda S*R..
Ulaz
Neuronski sloj 1
Neuronski sloj 2
R = Broj ulaza
S2 = Broj neurona 2. sloja
Neuronski sloj 3
1-5
Neuronski sloj 1
Neuronski sloj 2
R = Broj ulaza
S2 = Broj neurona 2. sloja
Neuronski sloj 3
1-6
2. PERCEPTRON
Perceptron je naziv niza prvih praktino upotrebljivih neuronskih mrea s mogunou
poduavanja, koje je razvio F. Rosenblatt i opisao u knjizi Principles of Neurodynamics,
Washington D.C., Spartan Press, 1961. Najjednostavniju arhitekturu predstavlja jednoslojna
mrea ije je teine i dodatni lan poduavanjem mogue prilagoditi tako da pri upotrebi za
ulazni uzorak (vektor) izraunava odgovarajui ciljni izlazni uzorak (vektor). Primjena
perceptrona je u rjeavanju jednostavnih zadataka prepoznavanja uzoraka.
2.1 Model neurona
Perceptron, slika 2.1.1, kao aktivacijsku funkciju neurona koristi funkciju skoka
Ulaz
Neuronski sloj
Ulaz
Neuronski sloj
R = Broj ulaza
2-7
Neuronski sloj
Ulaz
Neuronski sloj
R = Broj ulaza
S = Broj neurona
2-8
2-9
2-10
B0 = [-0.1680];
2-11
2-12
+ 0.1 + 0.7 + 0.8 + 0.8 + 1.0 + 0.3 0.0 0.3 0.5 1.5
P=
+ 1.2 + 1.8 + 1.6 + 1.6 + 0.8 + 0.5 + 0.2 + 0.8 1.5 1.3
dok odgovarajui deseterolani ciljni vektor glasi
1 1 1 0 0 1 1 1 0 0
T =
0 0 0 0 0 1 1 1 1 1
ZADATAK 2.3: U koordinatnom sustavu s apscisom Ulaz 1 i ordinatom Ulaz 2, nacrtati
poloaje vrijednosti ulaznih vektora. Kod oznaavanja koristiti oznake: o za ciljni vektor 00,
* za ciljni vektor 01, + za ciljni vektor 10 i x za ciljni vektor 11. Povui pravac
razdvajanja ulaznih uzoraka.
ZADATAK 2.4: Zadatak klasifikacije rijeiti neuronskom mreom perceptrona. U
programskom sustavu MATLAB izvesti program hperc2 uz razliite ponuene poetne
vrijednosti teina i dodatnog prilagodnog lana. Komentirati rezultate.
2-13
3. PREPOZNAVANJE UZORAKA
3.1 Sustav za prepoznavanje uzoraka
Sustav za prepoznavanje uzoraka sastavljen je od podsustava za unos i obradu slike i
klasifikacijskog podsustava izvedenog neuronskom mreom, slika 3.1.1.
Vanjski
uzorak
PODSUSTAV ZA
UNOS I OBRADU
SLIKE
Ulazni
uzorak
NEURONSKA
MREA
Prepoznati
uzorak
Meutim radi nepreciznosti podsustava za unos i obradu slika slova na ulazu u neuronsku
mreu mogu biti oteena, odnosno optereena umom:
3-14
%
%
%
%
%
%
%
%
%
%
%
letterA =
[0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
1
1
1
1
...
...
...
...
...
...
]';
letterB =
[1
1
1
1
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
...
...
...
...
...
...
]';
...............
letterZ =
[1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
...
...
...
...
...
...
]';
3-15
Ulaz
Neuronski sloj 1
Neuronski sloj 2
R = 35 ulaza
S1 = 10 neurona 1. sloja
S2 = 26 neurona 2. sloja
3-16
3-17
Slika 3.5.1 Postotak pogrenog prepoznavanja uzoraka mree poduene bez uma (Mrea 1) i
mree poduene sa umom (Mrea 2) u zavisnosti o razini uma od 0 do 0.5
3-18
Uz pojedinu razinu uma mrei se predouje 100 razliitih prikaza uzoraka i izraunava
izlazni vektor. Izlazni vektor se zatim proputa kroz aktivacijsku funkciju takmienja tako da
samo jedan od 26 lanova izraunatog vektora, koji odgovara predoenom ulaznom slovu,
poprimi iznos 1. Broj netonih klasifikacija se poveava za jedan i izraunava postotak
netonih klasifikacija dotine razine uma.
%
%
%
%
%
%
%
%
3-19
% BILJEENJE REZULTATA
network1 = [network1 errors1/max_test/Q];
network2 = [network2 errors2/max_test/Q];
end
% PRIKAZ REZULTATA
plot(noise_range,network1*100,'--',noise_range,network2*100);
title('Postotak pogrenog prepoznavanja');
xlabel('Razina uma');
ylabel('Mrea 1 _ _
Mrea 2 ___');
Vea tonost prepoznavanja uzoraka se moe postii duim vremenom poduavanja ili
poduavanjem s veim brojem neurona u unutarnjem sloju. Razluivost ulaznih uzoraka se
postie poveanjem ulazne matrice, npr., reda 10*14. Ako je ulazne uzorke potrebno
prepoznati uz vie razine uma mreu treba poduiti s uzorcima vie razine uma.
ZADATAK 3.2: U programskom sustavu MATLAB pokretanjem programa hprtest
analizirati tonost prepoznavanja uzoraka poduene mree u sluaju kada je poduena samo
neoteenim uzorcima i usluaju kada je pouena oteenim uzorcima.
3.6 Provjera prepoznavanja slova (hprtests)
%
%
%
%
%
3-20