Professional Documents
Culture Documents
Neuronske mreže
Europski univerzitet
Brčko Distrikt
2020/2021
1
Sadržaj
2
UVOD
Danas znamo da se ljudski mozak sastoji od velikog broja živčanih stanica (neurona),
koji pri obradi različitih vrsta informacija rade paralelno.
Neurofiziološka istraživanja, koja su nam omogućila bolje razumijevanje strukture
mozga, pa čak i kognitivna psihologija – koja promatra obradu podataka čovjeka na
makro-razini - daju naslutiti da je modelu mozga najsličniji model u kojem brojni
procesni elementi podatke obrađuju paralelno.
Warren McCulloh i Walter Pitts bio prvi koji je opisao biološku neuronsku mrežu, i koji se smatraju
tvorcima izraza „neuronska mreža“ (engl. Neural network).
Razvili su pojednostavljeni model neurona, nazvan MP neuron, koji je imao u sebi okosnicu ideje
da neuron daje izlaz jedino ako je vrijednost praga (engl. threshold) prijeđena.
Između 1959. i 1960., Bernard Wildrow i Marcian Hoff sa Sveučilišta na Standfordu, USA razvijaju
ADALINE (Adaptive Linear Elements) i MADELINE (Multiple Adaptive Linear Elements) modele. Ovo
su prve neuronske mreže koje je bilo moguće primijeniti na stvarne probleme, te je ADALINE
model korišten za uklanjanje eha iz telefonskih linija.
4
Biološka i vještačka neuronska mreža
Neuron: biološki i vještački
Za razumijevanje sposobnosti mozga nužno je upoznati građu njegovog sastavnog dijela:
neuroni (živčane stanice). Ljudski mozak sastavljen je od oko 1011 neurona kojih ima
više od 100 vrsta i koji su shodno svojoj funkciji raspoređeni prema točno definiranom
rasporedu. Svaki je neuron u prosjeku povezan s 104 drugih neurona. Četiri su osnovna
dijela neurona: tijelo stanice (soma), skup dendrita (ogranaka), akson (dugačke cijevčice
koje prenose električke poruke) i niza završnih članaka - sinapse.
5
Tijelo stanice sadrži informaciju predstavljenu električkim potencijalom između
unutrašnjeg i vanjskog dijela stanice (oko –70 mV u neutralnom stanju).
Na sinapsama, spojnom sredstvu dvaju neurona kojim su pokriveni dendriti, primaju se informacije od
drugih neurona u vidu post-sinaptičkog potencijala koji utječe na potencijal stanice
povećavajući (hiperpolarizacija) ili smanjivajući ga (depolarizacija).
U tijelu stanice sumiraju se post-sinaptički potencijali hiljada susjednih neurona, u ovisnosti o vremenu
dolaska ulaznih informacija.
Ako ukupni napon pređe određeni prag, neuron "pali" i generira tzv. akcijski potencijal u trajanju od 1 ms.
Kada se informacija akcijskim potencijalom prenese do završnih članaka, onda oni, ovisno o veličini potenijala,
proizvode i otpuštaju kemikalije, tzv. neurotransmitere.
To zatim ponovno inicira niz opisanih događaja u daljnjim neuronima. Propagacija impulsa očigledno je
jednosmjerna.
6
Osnovni elementi neuronske mreže
Svaka neuronska mreža je građena od pojednostavljenih modela bioloških neurona koji primaju težinske ulaze,
sumiraju ih, te primjenom prijenosne funkcije koja je ekvivalent funkcioniranju akcijskog potencijala u
biološkom neuronu daju izlaz.
U opštem slučaju neuronska mreža se sastoji od tri osnovne komponente:
1. vještački neuron,
2. topologija mreže,
3. algoritam učenja.
• Feed-forward mreže – signali putuju samo u jednom smjeru, od ulaza prema izlazu.
• Feedback mreže – signali mogu putovati u oba smjera zbog postojanja petlji
• Mrežni slojevi – najčešće 3 sloja: ulazni, skriveni i izlazni
7
Principi rada NM podijeljeni su u 3 skupa:
1. Učenje
2. Ispitivanje
3. Provjera
8
Prednosti i ograničenja
Prednosti neuronskih mreža:
• Dobre u procjeni nelinearnosti
• Rad s nejasnim podacima
• Robusnost na pogreške u podacima
• Prilagodljivost okolini
• Velik broj varijabli
Nedostaci:
• Ne postoji nužno skup za učenje
• Nema objašnjenja za dobivenu klasifikaciju
• Rezultat ovisi o početnom stanju mreže
• Ne postoji kvalitetan način obrade podataka
9
Primjena
Danas se
neuronske mreže primjenjuju u mnogim segmentima života poput medicine, bankarstva,
strojarstva, geologije, fizike itd., najčešće za slijedeće zadatke:
• raspoznavanje uzoraka,
• obrada slike,
• obrada govora,
• problemi optimizacije,
• nelinearno upravljanje,
• obrada nepreciznih i nekompletnih podataka,
• simulacije i sl
Prepoznavanje uzoraka je najčešći problem s kojim se bave neuronske mreže. Predstavljen im je uzorak, slika, zvuk ili već
neki podaci, a neuronska mreža pokušava utvrditi da li ulaz odgovara uzorku kojeg je naučila prepoznati.
Klasifikacija je proces sličan prepoznavanju, no ovdje neuronska mreža želi podijeliti podatke u više grupa, stvarajući time
klasifikaciju između podataka.
Predviđanje je također tipična primjena za neuronske mreže, gdje neuronska mreža na temelju ulaznih podataka
klasificiranih vremenski želi utvrditi buduće vrijednosti. Preciznost rezultata ovisi o više faktora, kao što je kvantiteta i
kvaliteta ulaznih podataka.
10
Vještački neuron
Vještačka neuronska mreža u širem je smislu riječi umjetna replika ljudskog mozga
kojom se nastoji simulirati postupak učenja.
To je paradigma kojom su implementirani pojednostavljeni modeli što sačinjavaju
biološku neuronsku mrežu.
Analogija s pravim biološkim uzorom zapravo je dosta klimava jer uz mnoga
učinjena pojednostavljena postoje još mnogi fenomeni živčanog sustava koji nisu
modelirani umjetnim neuronskim
mrežama, kao što postoje i karakteristike umjetnih neronskih mreža koje se ne slažu
s onima bioloških sustava.
Neuronska mreža je skup međusobno povezanih jednostavnih procesnih
elemenata, jedinica ili čvorova, čija se funkcionalnost temelji na biološkom
neuronu. Pri tome je
moć obrade mreže pohranjena u snazi veza između pojedinih neurona tj. težinama
do kojih se dolazi postupkom prilagodbe odnosno učenjem iz skupa podataka za
učenje. 11
Funkcionalnost biološkog neurona imitira McCulloch-Pitts model umjetnog neurona,
tzv. Threshold Logic Unit (TLU). Model koristi slijedeću analogiju:
signali su opisani numeričkim iznosom i na ulazu u neuron množe se težinskim faktorom koji opisuje jakost
sinapse;
signali pomnoženi težinskim faktorima zatim se sumiraju analogno sumiranju
potencijala u tijelu stanice;
ako je dobiveni iznos iznad definirana praga, neuron daje izlazni signal.
Na osnovi opisa funkcioniranja
biološkoga neurona može se zaključiti
da se obrada signala u njemu odvija
kroz dvije odvojene operacije:
• sinaptička operacija: daje određeni
značaj (težinu) svakom ulaznom signalu
u neuron;
• somatska operacija: prikuplja sve
"otežane" ulazne signale, te ako je
njihova kumulativna
vrijednost veća od praga osjetljivosti
neurona, generira impulse koje šalje
prema drugim neuronima
12
U općenitom slučaju, umjetni neuron umjesto funkcije praga može imati i neku drugu
funkciju, tzv. prijenosnu funkciju (transfer funkcija, aktivacijska funkcija)
Pojam umjetni neuron ravnopravno koristiti i istovjetne pojmove: procesni element (PE), čvor ili jedinica.
Ulazne
signale, njih ukupno n, označavamo sa x1, x2,... xn. Težine označavamo sa ω1,
ω2, ... ωn.
Ulazni signali općenito su realni brojevi u intervalu [-1,1], [0,1] ili samo elementi iz
{0,1}, kada govorimo o Booleovom ulazu. Težinska suma net dana je s:
y= =
13
Vrste umjetnih neurona i prijenosna funkcija
Općeniti model umjetnog neurona kakav je prikazan na slici možemo dalje razmatrati prema ugrađenoj prijenosnoj
funkciji.
Najčešći oblici funkcije:
Najjednostavnija moguća aktivacijska funkcija je
f (net) = net
Takva je funkcija svojstvena modelu umjetnog neurona ADALINE (Adaptive Linear
Element). Izlaz iz takve jedinice upravo je, dakle, težinska suma njegovih ulaza.
Druga je mogućnost korištenje funkcije skoka ili praga (engl. threshold function, hard-limiter)
čime dobivamo procesnu jedinicu koja daje Booleov izlaz (engl. Threshold Logic Unit,
TLU):
0 za net <0
= { 1 inače
14
Izlaz linearne prenosne funkcije jednak je je ulazu iste funkcije.
an
Neuroni sa ovom prenosnom funkcijom nazivaju se ADALINE mrežama.
15
Prijenosna funkcija može biti definirana po dijelovima linearno:
Arhitektura perceptrona koristi prostiranje signala u jednom smjeru (eng. feedforward). Izlazna
vrijednost linearnog neurona sa pragom θ je određena izrazom:
17
Primjer:
Zadan je TLU (engl. Threshold Logic Unit) perceptron prikazan slikom.
Težine pojedinih ulaza su: w0 = -1, w1 = 2, w2 = 1. Ako se na ulaz dovede uzorak x = (x1, x2) = (-4, 2), odredite izlaz
neurona.
Slijedi:
18
Primjer 2
Zadan je TLU perceptron prikazan slikom. Težine pojedinih ulaza su: w0 = -1.5, w1 = 1,
w2 = 1. Promatrajte ulazni uzorak x = (x1, x2) kao par dviju booleovih varijabli. Pri tome
istinitosti odgovara vrijednost 1, a laži vrijednost 0. Odredite koju logičku funkciju u tom
slučaju obavlja prikazani neuron.
Kako je izlaz postao 1 (istinit) samo za slučaj kada su oba ulaza bila 1 (istinita),zaključujemo da se radi o
Booleovoj funkciji I
19
Godine 1958. Frank Rosenblatt predstavio je algoritam za trening koji je osigurao prvi postupak
za obuku jednostavne umjetne neuronske mreže: Perceptron.
Perceptron je najjednostavniji oblik neuronske mreže.
Sastoji se od jednog neurona s podesivim sinaptičkim težinama i tvrdim graničnicima. wi(p+1) =
wi(p) + α * xi(p) * e(p),
20
Iteracija p ovdje se odnosi na p-ti trening s primjerom prikazanim na perceptronu.
Ako je:
pogreška, e(p), pozitivna, moramo povećati izlaz perceptrona Y(p),
ako je negativan, moramo ga smanjiti.
Uzimajući u obzir da svaki perceptronski ulaz doprinosi xi(p) * wi(p) ukupnom izlazu Y(p),
zaključujemo da ako je ulazna vrijednost pozitivna, povećanje njezine težine povećava perceptronski
izlaz, dok ako je negativna, povećanje teži smanjenju. Dakle, sljedeće pravilo učenja perceptrona
može se utvrditi:
wi(p+1) = wi(p) + α * xi(p) * e(p), --------LMS pravilo
gdje je stopa učenja α, pozitivna konstanta.
Pravilo učenja perceptrona prvi je iznio Rosenblatt 1960. Koristeći ovo pravilo možemo izvesti
perceptronski algoritam obuke za klasifikaciju zadataka.
1.korak: Inicijalizacija
Postavljanje početne težine w1, w2, ..., wn i prag θ, za nasumične brojeve u rasponu [-0.5, 0.5].
2.korak: Aktivacija
Aktiviranje perceptrona primjenom ulaza x1(p), x2(p), ..., xn(p) i željenim rezultatom Yd(p).
Izračunti stvarni izlaz za iteraciju p = 1
21
gdje je n broj perceptronskih ulaza, a step je korak aktivacijske funkcije.
4.korak: Ponavljanje
Povećati ponavljanje p za jedan, vratiti se na korak 2. i ponoviti postupak do usklađivanja.
22
Primjer treniranja Perceptrona
Perceptron je po strukturi najjednostavnija umjetna neuronska mreža koja se sastoji od dva ulaza
i jednog neurona. Struktura perceptrona prikazana je na slici
24
Učenje neuronskih mreža
Učenje je proces promjene sinaptičkih težina i nivoa odstupanja u mreži. Odvija se kao odgovor na
podatke izvana koji su predstavljeni ulaznom sloju i u nekim mrežama izlaznom sloju.
Pravilo koje opisuje način na koji se vrši promjena težinskih veza između čvorova u mreži tokom
vremena, kako bi se dobilo željeno ponašanje mreže naziva se algoritam učenja.
Algoritmi učenja se međusobno razlikuju po načinu podešavanja tj. promjene sinaptičkih
parametara neuronske mreže.
25
Ako u trenutku n promjenimo iznos sinaptičke težine wkj ( n) za Δ wkj ( n)
dobivamo novu vrijednost težine:
Proces podešavanja težina u mreži se odvija u više iteracija ili prolaza kroz mrežu.
• U svakoj iteraciji računaju se nove težine, a kod nadgledanih algoritama i nova
greška.
• Broj učitavanja koji se obrađuju u jednoj iteraciji (prezentacija svih parova za
treniranje) naziva se epoha.
26
Primjer -Treniranje perceptrona – logička funkcija AND
Za provođenje treniranja perceptrona za obavljanje logičkih funkcija AND i OR postavljene su sljedeće početne
vrijednosti navedenih parametara:
𝑤1 = 0,3 𝛩 = 0,2
𝑤2 = −0,1 𝛼 = 0,1
S obzirom da postoje četiri kombinacije ulaznih parametara, jedan prolaz kroz sve četiri moguće
kombinacije naziva se epohom.
Svaka epoha u sebi sadrži četiri iteracije navedenog algoritma.
Iterativni je postupak završen kada uz dobivene vrijednosti težinskih faktora w1 i w2 trenirani
perceptron za svaku od ulaznih kombinacija daje točnu izlaznu vrijednost.
U slučaju treniranja mreže za obavljanje logičke funkcije AND, istrenirana mreža treba za svaku
od ulaznih kombinacija x1 i x2 na izlazu dati željenu vrijednost Yželjeno izlazne veličine u skladu sa
sljedećom tablicom:
27
Provođenjem iterativnog postupka dobivaju se rezultati prikazani u sljede ćoj tablici.
28
Treniranje perceptrona – logička funkcija OR
U slučaju treniranja mreže za obavljanje logičke funkcije OR, istrenirana mreža treba za svaku
od ulaznih kombinacija x1 i x2 na izlazu dati željenu vrijednost Yželjeno izlazne veličine u skladu sa
sljedećom tablicom:
29
Kao što se iz rezultata prikazanih u
Tablici može vidjeti, točne vrijednosti
težinskih faktora
w1 i w2 dobivene su nakon 10.
iteracije, s tim da je bilo nužno
provesti još šest dodatnih iteracija
da bi
se provjerilo da dobivene vrijednosti
odgovaraju za sve moguće ulazne
kombinacije (cijelu epohu).
30
Metode ili koncepti učenja
U ovisnosti da li nam je u postupku učenja poznat izlaz iz mreže pa ga pri učenju mreže
koristimo uz svaki ulazni primjer, ili nam je izlaz nepoznat razlikujemo dva načina učenja
prema [16] postoje dvije različite metode učenja neuronskih mreža:
• nadgledano učenje - učenje sa učiteljem (eng. supervised learning),
• nenadgledano učenje – učenje bez učitelja (eng. unsupervised learning), ili podjela
• Proces se iterativno ponavlja sve dok mreža ne nauči imitirati učitelja, a potom
mreža može raditi bez učitelja.
• Mana učenja pod nadzorom je da bez učitelja mreža ne može naučiti nove
strategije koje nisu pokrivene primjerima koji su korišteni za učenje.
32
Učenje bez nadzora
33
Algoritmi učenja s podrškom
• Zasnivaju se na tzv. Signalu podrške (ili ojačanja) koji daje kvalitetnu ocjenu
ponašanja neuronske mreže (“dobro/loše”);
• Skalarna vrijednost
34
• Rane metode (za jednoslojne NM):
• Učenje perceptrona
• LMS učenje (engl. least-mean-square; algoritam najmanjih kvadrata) ili Windrow-Hoff
učenje ili Delta pravilo
• Grossbergovo učenje
• Gradijentni algoritmi prvoga reda (za višeslojne NM):
• Backpropagacija (engl. back-propagation) ili algoritam s povratnom propagacijom greške
• Backpropagacija sa momentumom
• Delta-bar-delta
• Gradijentne metode drugoga reda :
• Newton
• Gauss-Newton
• Levenberg-Marquardt
• Quickprop
• Konjigirani gradijentni opadajući metod
36
• Učenje korekcijom greške - smanjenje razlike (greške) između izračunatog i ciljnog izlaznog
vektora
• dk(t) – željeni odziv neurona k u trenutku t
• yk(t) – dobiveni odziv neurona k u trenutku t pobudom sa ulaznim vektorom x(t)
• Ulazni vektor x(t) i željeni odziv dk(t) predstavljaju jedan primjer koji je predstavljen mreži u
trenutku t
• Razlika između željenog i dobivenog odziva neurona k u trenutku t jeste:
37
Algoritam najmanjih kvadrata
(LMS)
• Algoritam najmanjih kvadrata (eng. Least Mean Square, LMS) predložili su Widrow i
Hoff kao kvalitetnu metodu učenja jednoslojnog linearnog perceptrona.
• Algoritam se bazira na funkciji srednje kvadratne greške definisane izrazom:
38
• Zadnji izraz predstavlja procjenu gradijenta g(n) = - x(n)e(n), koji
upotrijebljen u izrazu za promjenu težinskog vektora:
39
Delta pravilo učenja
40
41
Neuronske mreže
EU BD - Predavanje 2 i 3
2020/2021
42
Primjena neuronskih mreža
Neuronska mreža se stoga vrlo efikasno primjenjuje:
• u problemima procesuiranja slike,
• govora,
• signala radara,
• seizmičkih snimaka itd.
Neuronske mreže imaju niz prednosti u odnosu na uobičajen način obrade podataka:
- vrlo su dobre u procjeni nelineranih odnosa uzoraka,
- mogu raditi sa nejasnim ili manjkavim podacima (kao što su npr. podaci iz različitih senzora, poput kamere ili
mikrofona),
- otporne su na pogreške u podacima, za razliku od uobičajenih metoda,
- stvaraju vlastite odnose između podataka,
- prilagodljive su okolini,
- sposobne za formiranje znanja na osnovu iskustva,
- viševarijabilni sistemi (neuronske mreže karakteriše lahka primjena za modeliranje i upravljanje viševarijabilnim
procesima),
- univerzalni aproksimator (neuronske mreže imaju mogućnost aproksimiranja proizvoljne kontinuirane nelinearne
funkcije do željene tačnosti),
- paralelna obrada informacija.
43
Danas se neuronske mreže primjenjuju u mnogim segmentima života, poput: medicine,
bankarstva, elektrotehnike, geologije, fizike itd., najčešće za sljedeće zadatke:
- raspoznavanje uzoraka,
- obrada slike,
- obrada govora,
- problemi optimizacije,
- nelinearno upravljanje,
- obrada nepreciznih i nekompletnih podataka,
- simulacije,
- otkrivanje eksploizva u prtljagu na aerodromu,
- određivanje problema kod rada avio-motora,
- određivanje tipova oblaka temeljem postojećih satelitskih snimki,
- obrada signala (npr. za otkrivanje radara),
- prepoznavanje govora,
- pretvaranje teksta u govor,
- finansije (procjene rizika, krediti, berze itd.),
- marketing (segmentiranje kupaca), itd.
44
Primjer
Definicija problema
Pretpostavimo da trgovac ima prodavnicu voća i povrća.
Prilikom isporuke voće i povrće može biti izmješano.
Prodavac želi mašinu za razdvajanje voća u zavisnosti od vrste.
Beskonačna traka na kojoj stiže voće prolazi kroz grupu senzora koja mjeri tri karakteristike
voća:
oblik,
teksturu i
težinu.
Senzori za oblik će na svom izlazu dati 1 ako je voćka okrugla, i -1 ako je voćka elpitična.
Senzor za teksturu će na svom izlazu dati vrednost 1 ako je površina voćke glatka, i -1 ako je
površina voćke naborana (neravna).
Senzor za težinu će na svom izlazu dati vrednost 1 ako je voćka teža od 500g, i -1 ako je težina
voće manja od 500g.
Izlazi iz tri senzora potom se vode na ulaz neuronske mreže. Zadatak mreže je: odrediti koja
vrsta voćke se nalazi na traci i na osnovu toga voćka se proslijediti u određenu gajbu.
Pretpostavimo dvije vrste voća: jabuke i narandže.
45
Prilikom prolaska pored senzora, svaka voćka
, može se reprezentovati pomoću trodimenzionalnog
vektora.
Prvi element vektora = oblik,
drugi element = tekstura,
treći element predstavlja težinu
46
Ulaz neuronske mreže prihvata trodimenzionalni ulazni vektor za svaku voćku koja stiže na traci i
donosi odluku da li se radi o narandži (p1) ili jabuci (p2).
Pošto ulazne uzorke treba razdvojiti u samo dve odvojene kategorije, možemo koristiti perceptron sa
samo jednim neuronom. Ulazni vektori su trodimenzionalni R 3 tako da će jednačina perceptrona
imati oblik
p1
a hardlims w1,1 w1,2 w1,3 p 2 b
a = =
p3
Želimo da izlaz perceptrona bude1 kad je na ulazu jabuka, a da izlaz perceptrona bude -1
kad je na ulazu narandža
Treba da pronađemo linearnu granicu koja razdvaja jabuke od narandži.
47
Skup prenosnih funkcija
48
p1
0 1 0 p 2 0 0
p3
W 0 1 0 b0
Jabuka:
Narandža:
1 1
a hardlims 0 1 0 1 0 1 narandža a hardlims 0 1 0 1 0 1 jabuka
1
1
49
1
a hardlims 0 1 0 1 0 1 narandža -Slučaj kada narandža nije okrugla
1
Primjer2
Zadatak:
Primjer2
Rješenje
50
Primjer3
Zadatak:
Primjer3
Rješenje
a) Za prag (Hard limit) prenosnu funkciju
b) Za linearnu prenosnu funkciju
c) Za log-sigmoidalnu funkciju:
51
Primjer 4
Zadatak:
52
Primjeri neuralnih mreža
Perceptron sa jednim neuronom (Single-Neuron perceptron)
53
Primjer:
Neka su težine i bias w1,1 1, w1, 2 1, b 1.
b 1 b 1
p2 1 if p1 0. p1 1 if p2 0.
w1, 2 1 w1,1 1
2
p 2 0
T
T
a hardlim 1 w p b hardlim 1 1 1 1.
0
Granica je uvijek ortogonalna na W1 Granica je definisana relacijom: 1 wT
pb 0
54
Primjer:
Zadani su ulazno - izlazni parovi
0 0 1 1
p
1 1 , t 0 p
2 2 , t 0 p
3 3 , t 0 p ,
4 4 t 1
0
1
0
1
- svaki ulazni vektor obilježen u skladu sa svojim izlazom. Ispunjeni kružić ● označava da željeni cilj ima
vrednost 1, a prazan kružić ○ označava da željeni cilj ima vrednost 0.
1 w p b 01 w p b
T T
55
Ako uzmemo ( s granice) radi testiranja;
p 1.5 0
T
1.5
1w p b 2 2 b 3 b 0 b 3.
dobijemo T
0
Testiramo mrežu jednim od parova ulaz/izlaz
0
a hardlim 1 w p2 b hardlim 2 2 3
T
1
a hardlim 1 0.
Za vježbu koristiti Neural Network Design Demonstration
Decision Boundaries (nnd4db).
56
Pravila za obučavanje perceptrona
Perceptron pravilo obuke je obuka sa nadzorom, gde se pravilo obučavanja sastoji od parova koji označavaju
pravilno ponašanje mreže:
{ p1 , t1},{ p2 , t 2 },,{ pQ , tQ }
U praksi je to:
1 1 0
p1 , t1 1 p2 , t2 0 p3 , t3 0
2 2 1
57
Jedna od mogućnosti treniranja (traži se težinski koeficijent) bila bi sabiranje p1 i 1 w
Višestruko ponavljanje ovog postupka izazvalo bi da smjer 1 w asimptotski teži ka smjeru p1.
Ovo pravilo matematički se može izraziti kao:
w new
i w old
ei p binew biold ei
znak p isti kao i znak greške e. i
58
Primjer
Za testiranje pravila obuke perceptrona uradimo ponovo problem prepoznavanja jabuke i narandže.
Ulazni/izlazni prototip vektori su:
1 1
p1 1, t1 0 p2 1 , t 2 1
1 1
Za narandže koristimo izlaznu vrednost 0 umjesto -1 kao što je bilo u prethodnom odeljku. To je zato
što koristimo hardlim prenosnu funkciju umjesto hardlims funkcije.
Pretpostavimo početak sa inicijalnim težinama i bias-om koji iznose: W 0.5 1 0.5, b 0.5
Prvi korak - na ulaz mreže dovodimo prvi ulazni vektor p1 (narndža)
1
a hardlim Wp1 b hardlim 0.5 1 0.5 1 0.5
1
hardlim 2.5 1
59
Zatim izračunavamo grešku:
e t1 a 0 1 1
Nove vrednosti težina su:
b new
b old
e 0.5 1 0.5
60
Sa ovim smo završili prvu iteraciju.
Druga iteracija ima sljedeći tok:
1
a hardlim Wp 2 b hardlim 0.5 0 0.5 1 0.5
1
hardlim 0.5 0
e t2 a 1 0 1
61
b new
b old
e 0.5 1 0.5
Treća iteracija ponovo počinje sa prvim ulaznim vektorom:
1
a hardlim Wp1 b hardlim 0.5 1 0.5 1 0.5
1
hardlim 0.5 1
e t1 a 0 1 1
- jabuke 1
a hardlim Wp1 b hardlim 0.5 2 0.5 1 0.5
1
hardlim 0.5 1
- algoritam konvergirao ka rješenju
63
Višeslojna neuronska mreža i backpropagation algoritam učenja
Historija razvoja neuronskih mreža dovela je do različitih podjela:
- prema broju slojeva:
• jednoslojne,
• višeslojne.
• povratne ili rekurzivne mreže (eng. feedback networks)- omogućuju povratak informacija od izlaza
nazad u niže slojeve. Ove mreže imaju mnogo veće procesne sposobnosti od prethodno navedenih
Neuronska mreža može da utvrdi grešku na internom neuronu - backpropagation algoritam obučavanja,
Termin backpropagation je način na koji se izračunava greška u višeslojnim neuronskim mrežama.
64
Višeslojne neuronske mreže (eng. Multilayer Perceptron) koriste gradijentni postupak pri obučavanju, koji
je analogan procesu minimizacije greške. To znači da uči preslikavanje ulaza u izlaze kroz proces
minimizacije greške ostvarenog izlaza mreže i očekivanog izlaza ( željenog).
Proces učenja počinje dovođenjem ulaza mreži u kojoj se primjenjuje delta pravilo. Utvrđuje se greška na
izlazu.Prostiranjem greške unazad preko skrivenih slojeva mreža modifikuje težinske koeficijente
To se ponavlja za svaku ulaznu sekvencu.
Delta pravilo konvergira proces učenja do zadatog nivoa tačnosti kroz iterativni postupak adaptacije
težinskih koeficijenata.
Osnovna struktura višeslojne neuronske mreže ima tri potpuno povezana sloja, pri čemu se broj neurona u
slojevima razlikuje i zavisi od oblasti primjene, a također i broj skrivenih slojeva može biti različit.
Najčešće slučaj - da mreža posjeduje samo jedan skriveni sloj, jer je pokazano da je mreža sa takvom
troslojnom arhitekturom u stanju da realizuje proizvoljnu funkciju f.
65
Algoritam prostiranja greške unazad
67
Primjer
Posmatrajmo vezu između neurona A (skriveni sloj) i
neurona B (izlazni sloj) koji ima težinu WAB.
Veza između neurona A i C je WAC. Algoritam ima
sljedeći tok:
68
Promjenimo težine. Neka nova obučena težina grane bude WAB a WAB stara inicijalna težina.
W
AB WAB ErrorB Output A
koristimo izlaz priključenog neurona (neuron A), a ne neurona B
70
2. Mijenjamo težine izlaznog sloja
W
B WB Bin WB WB B in
W
C WC C in W
C WC C in
72
Primjer 1.
1
Output Input
1 e
Težine grana su: w1=0.3, w2=0.9, w3=0.1, w4=0.8,
w5=0.4, w6=0.6.
Zadatak:
(i) Izvršiti propuštanje ulaznih signala kroz mrežu (feed
forward).
(ii) Izvršiti propuštanje signala jednom unazad
(obučavanje) (target = 0.5).
(iii)Izvršiti još jedno propuštanje unapred i komentarisati
dobijeni rezultat.
73
Rješenje:
Izlaz=0.69.
1 e
74
2. Propuštanje signala unazad
75
Nove težine za skriveni sloj su:
w3 0.1 2.406 103 0.35 0.09916
w4 0.8 2.406 10 3
0.9 0.7978
w5 0.4 7.916 103 0.35 0.3972
w6 0.6 7.916 10 3
0.9 0.5928
Nakon rekalkulacije težina, stanje je sljedeće:
Ulaz u gornji neuron = (0.35x0.09916)+(0.9x0.7978)=0.752726. Izlaz=0.67977.
Ulaz u donji neuron = (0.9x0.5928)+(0.35x0.3972)=0.67254. Izlaz=0.66207.
Ulaz u izlazni neuron = (0.272392x0.67977)+(0.87305x0.66207)=0.763. Izlaz=0.682.
Zaključak
Nakon podešavanja težina, apsolutna greška je
Željena vrednost – Aktuelna vrednost = 0.5-0.682=-0.182. (-0.19.)
Greška se smanjila. 76
Primjer 2.
1
sigmoidalna aktivaciona funkcija. Output Input
1 e
77
Rješenje:
(i) Propuštanje ulaznog signala unapred
78
1 w1 0.11343 0.2668 1 output output 0.007326
2 w2 0.11343 0.16152 1 output output 0.004547
Primjer u praksi.
80
Ispravan način obučavanja mreže je:
1. Dovedemo prvo slovo na ulaz i promjenimo SVE težine u mreži JEDNOM.
2. Na ulaz mreže dovedemo drugo slovo, i učinimo isto.
3. Slijedi treće slovo, i tako dalje.
Kad završimo sa sva četiri slova, postupak obučavanja počinjemo od početka i obučavanje vršimo
sve dok greška ne postane mala (to se dešava kad su sva slova pravilno prepoznata).
82
Neuronska mreža potpuno utrenirana = greška skupa za
validaciju dostiže svoj minimum.
Kad je neuronska mreža pretrenirana (previše precizna) =
greška skupa za validaciju počinje da se povećava
83
Obučavanjem višeslojne neuralne mreže metodom prostiranja
greške unazad (backpropagation)- grafički prikaz.
Svaki neuron sastoji se od dve jedinice
Prva jedinica sabire proizvode težinskih koeficijenata sa
njihovim odgovarajućim ulazima.
Druga jedinica ostvaruje nelinearnu funkciju, koja se
naziva aktivaciona funkcija neurona. Signal e predstavlja
sumu ulaza pomnoženih sa odgovarajućim težinama, a
y=f(e) je izlaz neurona.
84
Prostiranje signala kroz ulazni sloj
85
Prostiranje signala kroz skriveni sloj
86
Prostiranje signala kroz izlazni sloj
87
Izlazni signal iz mreže y se upoređuje sa željenim
izlazom (target) koji je poznat iz skupa za obučavanje.
Dobijena razlika između izlaznog signala i željenog
izlaza naziva se signalom greške δ izlaznog neurona.
88
Nemoguće je izračunati grešku za interne neurone direktno jer izlazne vrijednosti ovih
neurona nisu unapred poznate.
Ideja je da se signal greške δ (izračunat u svakom koraku obučavanja) propagira unazad prema
svim neuronima čiji su izlazi bili ulazni u razmatrane neurone.
89
Vrednosti koeficijenata wmn prilikom prostiranja greške unazad jednake su koeficijentima koji su korišćeni prilikom
prostiranja signala unapred. Promjenio se samo smjer prostiranja podataka (signali se propuštaju od izlaza prema
ulazu jedan za drugim). Ova tehnika koristi se za sve slojeve mreže. Ako propagirane greške stižu od više neurona,
one se sabiraju.
90
Greške koje u povratku stižu od više neurona se sabiraju
91
Nakon što se izračuna signal greške za svaki neuron, težinski koeficijenti svakog neurona se mijenjaju.
Ulaz neurona 1
92
Koeficijent η utiče na brzinu obučavanja.
93