You are on page 1of 93

Vještačka inteligencija

Neuronske mreže

Europski univerzitet
Brčko Distrikt

2020/2021
1
Sadržaj

Razvoj neuronskih mreža


Biološke neuronske mreže i vještačke neuronske mreže
Osnovni elementi neuronske mreže
Vještački neuron
Učenje neuronske mreže
Vrste neuronskih mreža
Perceptron
Delta pravilo
Višeslojna neuronska mreža
Backpropagation algoritam učenja
Primjena neuronskih mreža .

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.

Područje računarstva koje se bavi tim aspektom obrade informacija zovemo


neuro-računarstvo, a paradigmu obrade podatka umjetnom neuronskom mrežom
(engl.
Artifical Neural Network, ANN).

Umjetne neuronske mreže vraćaju se na scenu umjetne inteligencije 1990., da bi


danas postale vodeći i gotovo nezaobilazan kocept pri razvoju inteligentnih sustava.
3
Razvoj neuronskih mreža

Neuronske mreže se koriste na računalima još od 1950-ih godina.

Napravljene su mnoge varijante neuronske mreže, a jedna od najranijih praktičnih varijanti je


perceptron koji je razvijen 1957. od Frank Rosenblatta na Cornellovom aeronautičkom laboratoriju.
Perceptron je bio pokušaj razumijevanja ljudske sposobnosti pamćenja, učenja i kognitivnih
procesa.

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.

Sinapse, dakle, predstavljaju memorijske članove biološke neuronske mreže.


Signali se od sinapsi dendritima prosljeđuju do tijela neurona, gdje se prikupljaju i obrađuju.
Ovi signali mogu za tijelo neurona biti pobuđujući ili smirujući. Matematički gledano, pobuđujući i
smirujući signali imaju suprotan predznak.
Ako je njihova kumulativna vrijednost tijekom kratkog vremenskog intervala veća od praga osjetljivosti neurona,
tijelo neurona generira impulse (tzv.aktivacijske potencijale) koji se šalju duž aksona prema drugim neuronima, a
ako je manja, neuron ostaje nepobuđen i ne generira impulse.

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.

Dodatne komponente su:

1. veličina mreže (broj slojeva, broj neurona u sloju),


2. funkcionalnost neurona (ulazni operator neurona, funkcija prenosa, aktivaciona funkcija),
3. obučavanje/validnost (veličina obučavajućeg uzorka, format podataka),
4. implementacija/realizacija (softverska, hardverska).
Po načinu povezivanja između neurona razlikujemo neuronske mreže:

• 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

Primjeri iz prvog skupa podešavaju težinske faktore,


drugi skup provjerava rad mreže kako bi se uočio trenutak degradacije performansi mreže što je posljedica
specijalizacije mreže na skup za učenje čime gubi svojstvo generaliziranja.
Posljednji skup se koristi za provjeru tačnosti i preciznosti neuronske mreže.
Promjena težinskih faktora se izvodi izračunom pogreške i minimiziranjem odstupanja. Učenje se događa
kad mijenjamo težine pojedinih veza kako bi dobili poželjne rezultate. Ovaj proces zahtijeva puno
ponavljanja i teško je razlučiti što je neuronska mreža stvarno naučila.
Učenje
Najvažniji koncept koji donose neuronske mreže u svijet računarskih algoritama je sposobnost učenja koje
je moguće ostvariti na više načina, ali je osnova svih njih modifikacija težinske matrice za veze između
pojedinačnih neurona. U ovisnosti je li nam poznat izlaz iz mreže pri postupku učenja razlikujemo dva
načina učenja:
• Učenje s učiteljem (engl. supervised learning) – učenje se odvija u obliku para (ulaz, izlaz)
• Učenje bez učitelja (engl. unsupervised learning) – mreža uči bez poznavanja izlaza

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:

net =ω1x1+ ω2x2+ ... ωnxn - θ

ali se zbog kompaktnosti često dogovorno uzima da je vrijednost praga θ = -ω0 te se


dodaje ulazni signal x0 s fiksiranom vrijednošću 1, pa pišemo jednostavnije
dok je izlaz y rezultat prijenosne funkcije

net = ω0x0+ω1x1+ ω2x2+ ... ωnxn

dok je izlaz y rezultat prijenosne funkcije

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.

an
Neuroni sa ovom prenosnom funkcijom nazivaju se ADALINE mrežama.

Na desnom grafiku Slike prikazan je izlaz linearnog


neurona sa bias-om a u funkciji ulaza p.

15
Prijenosna funkcija može biti definirana po dijelovima linearno:

Najčešći oblik prijenosne funkcije jest sigmoidalna funkcija. Za razliku od prethodnih


funkcija, ova je funkcija derivabilna što je, bitna prednost pri postupku učenja umjetne neuronske mreže.
Sigmoidalna funkcija definirana je kao:

parametar a određuje nagib funkcije


16
uz parametar a koji određuje nagib funkcije. Sigmoidalna funkcija ponekad se naziva i
logističkom funkcijom.
Perceptron
Perceptron je prva najznačajnija neuronska mreža. Ovakve mreže bez unutrašnjih slojeva danas nemaju nikakvu
praktičnu primjenu, ali su veoma značajne za početak razvoja neuroračunarstva.

Arhitektura perceptrona koristi prostiranje signala u jednom smjeru (eng. feedforward). Izlazna
vrijednost linearnog neurona sa pragom θ je određena izrazom:

𝑓(𝑛𝑒𝑡)= 1, 𝑛𝑒𝑡≥𝜃 (𝑝𝑒𝑟𝑐𝑒𝑝𝑡𝑟𝑜𝑛 𝑎𝑘𝑡𝑖𝑣𝑖𝑟𝑎𝑛)


0, 𝑛𝑒𝑡 <𝜃 (𝑝𝑒𝑟𝑐𝑒𝑝𝑡𝑟𝑜𝑛 𝑛𝑖𝑗𝑒 𝑎𝑘𝑡𝑖𝑣𝑖𝑟𝑎𝑛)

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.

Izračunajmo najprije koliko iznosi težinska suma net prema

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.

Zadatak ćemo riješiti tako da izračunamo izlaz neurona za sve 4


mogućnosti.

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),

Početne težine su nasumično


podijeljene, obično u rasponu (-0.5,
0.5), a zatim ažurirane kako bi dobili
rezultat sukladan primjeni obuke. Za
perceptron proces ažuriranja težine
je posebno jednostavan. Ako je p
iteracija, stvarni izlaz je Y(p) i željeni
je izlaz Yd(p), pogreška je
dana:
e(p) = Yd(p) – Y(p) gdje je p=1,2,3...

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.

3.korak: Trening sa promjenama težina


Ažurirati težine perceptrona
𝑤𝑖(𝑝 + 1) = 𝑤𝑖(𝑝) + 𝛥𝑤𝑖(𝑝)
gdje je Δwi(p) težina točne iteracije p. Ispravka težine izračunava se po pravilu delta:
𝛥𝑊𝑖(𝑝) = 𝛼 ∗ 𝑋𝑖 (𝑝) ∗ 𝑒(𝑝)

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

Umjetna neuronska mreža iste strukture može se istrenirati za obavljanje različitih


funkcija. U ovom primjeru perceptron će biti istreniran za obavljanje logi čkih operacija
AND i OR.
23
Treniranje perceptrona – algoritam
Treniranja perceptrona provodi se iterativnim postupkom do dobivanja željenog završnog stanja.
Algoritam za provođenje iteracija sastoji se od sljedećih elemenata:

Ukupni ulaz u element za računanje: 𝑿 = 𝒙𝟏 ∗ 𝒘𝟏 + 𝒙𝟐 ∗ 𝒘𝟐


Izlazni signal iz elementa za računanje: 𝒀𝒅𝒐𝒃𝒊𝒗𝒆𝒏𝒐 = 𝒔𝒕𝒆𝒑[𝑿 − 𝜣]

Uočena greška na izlazu: 𝒆 = 𝒀ž𝒆𝒍𝒋𝒆𝒏𝒐 − 𝒀𝒅𝒐𝒃𝒊𝒗𝒆𝒏𝒐

Formula za promijenu vrijednosti težinskih faktora:


𝒘𝒊(𝒑 + 𝟏) = 𝒘𝒊(𝒑) + 𝜶 ∗ 𝒙𝒊(𝒑) ∗ 𝒆(𝒑)
pri čemu je: 𝒘𝒊(𝒑 + 𝟏) - nova vrijednost težinskog faktora 𝑤𝑖
𝒘𝒊(𝒑) - trenutna vrijednost težinskog faktora 𝑤𝑖
α - faktor brzine učenja (0 < α < 1)
𝒙𝒊(𝒑) - trenutna vrijednost ulaznog signala 𝑥𝑖
e (p) - uočena greška na izlazu
𝜣- vrijednost praga za aktivaciju (0 < 𝜣< 1)
Prije početka provođenja iteracija potrebno je postaviti početne vrijednosti težinskih faktora w1 i
w2, faktora brzine učenja α i praga za aktivaciju 𝜣.

24
Učenje neuronskih mreža

Glavna snaga neuronskih mreža leži u njihovoj sposobnosti


učenja i adaptacije
Najvažnije osobine neuronske mreže:

• sposobnost mreže da uči od svoje okoline


• da se bave nepreciznim podacima i slabo definisanim situacijama
• poboljšava svoje performanse kroz učenje.

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.

Algoritam učenja neuronskih mreža

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:

Gdje su stara i nova vrijednost težine između neurona k i j.

Algoritmi učenja određuju način izračunavanja

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.

Kao što se iz rezultata prikazanih u Tablici


može vidjeti, točne vrijednosti težinskih
faktora
w1 i w2 dobivene su nakon 11. iteracije,
s tim da je bilo nužno provesti još pet
dodatnih iteracija da bi se
provjerilo da dobivene vrijednosti
odgovaraju za sve moguće ulazne
kombinacije (cijelu epohu).
𝑤1 = 0,3 𝛩 = 0,2
𝑤2 = −0,1 𝛼 = 0,1

  net = ω0x0+ω1x1+ ω2x2+ ... ωnxn


net =ω1x1+ ω2x2+ ... ωnxn - θ

𝒘kj(n + 𝟏) = 𝒘kj(n) + 𝜶 ∗ 𝒙kj(n) ∗ 𝒆(n)

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:

Provođenjem iterativnog postupka dobivaju se rezultati prikazani u sljedećoj tablici.

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

• Učenje pod nadzorom (nadzor vanjskog učitelja, npr. LMS)


• Učenje bez nadzora (nije potreban učitelj, npr. Hebbian učenje)
• Učenje s podrškom (algoritmi s pojačanim učenjem, Reinforcement learning, RL)

Učenje pod nadzorom

Algoritmi učenja zasnovani na greški (algoritmi sa “učiteljem”)


Zahtjevaju vanjski referentni signal s kojim usporedjuju dobiveni odziv neuronske mreže
generišući signal greške

• Učitelj ima znanje o okolini u obliku parova ulaz-izlaz


• Parametri mreže se mijenjaju pod uticajem ulaznih vektora i signala greške!
31
Učenje pod nadzorom

U procesu obučavanja mreže algoritam obučavanja upoređuje podatke dobijene na izlazu sa


očekivanim podacima koji su također na raspolaganju mreži. Razlika između dobijenih i
očekivanih rezultata utječe na proceduru učenja, korigujući težinske koeficijente mreže.

• 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

• Ne zahtjevaju vanjski referentni signal; mreža uči samo na osnovu


ulaznih signala
• Nema učitelja koji upravlja procesom učenja!

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

Odstupanje stvarnog izlaza kroz iteracije


35
Algoritmi učenja neuronskih mreža korekcijom greške

• U identifikaciji i upravljanju nelinearnim dinamičkim procesima


najčešće se koriste - algoritmi bazirani na greški.
• Kao mjera greške - kriterijska funkcija J(θ), koja može biti bilo koja
pozitivna skalarna funkcija ovisna o parametrima mreže θ.
• Funkcija greške - višedimenzionalna ploha greške (engl. Error surface).

S obzirom na to da delta pravilo pomjera težine


duž direktne putanje ili gradijenta ka optimalnom rješenju,
često se o njemu govori kao algoritmu koji implementira tzv.
gradient descent učenje.

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:

• gdje je w vektor težinskih faktora, a e(n) signal greške u trenutku n.

Diferenciranjem E(w) po vektoru težina w dobijamo:

38
• Zadnji izraz predstavlja procjenu gradijenta g(n) = - x(n)e(n), koji
upotrijebljen u izrazu za promjenu težinskog vektora:

• oblikuje izraz za korekciju težina LMS algoritmom:

• što možemo pisati i na sljedeći način:

• Slijedi da se promjena težinskih faktora mijenja proporcionalno


diferenciji srednje kvadratne greške po vektoru težina, tj.

39
Delta pravilo učenja

Minimizacija J s obzirom na težine wkj(t) daje zakon učenja korekcijom greške


(delta pravilo – Widrow/Hoffovo pravilo):

gdje je pozitivna konstanta koja određuje brzinu 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

prototip narandže predstavljamo sa


 1  voćka okrugla
p1   1 voćka nije glatka
 1 ne teža od 500g
 oblik  prototip jabuke predstavljamo sa
p  tekstura   1  voćka okrugla
p 2   1  voćka glatka
 težina 
 1 ne teža od 500g

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 b0

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:

1. Koliki je izlaz iz neurona iz prethodnog zadatka, ukoliko su


primjenjene sledeće prenosne funkcije:

a) Prag (Hard limit)


b) Linear
c) Log-sigmoid?

Primjer3
Rješenje
a) Za prag (Hard limit) prenosnu funkciju
b) Za linearnu prenosnu funkciju
c) Za log-sigmoidalnu funkciju:

51
Primjer 4
Zadatak:

Zadat je neuron sa dva ulaza sa sledećim parametrima: b=1.2,

Izračunati izlaz iz neurona za sledeće prensone funkcije:


a. Simetrična prag funkcija (hardlims)
b. Saturaciona linearna prenosna funkcija (satlin)
c. Hiperbolična tangent sigmoidna funkcija (tansig)
Primjer 4
Rješenje
Prvo ćemo izračunati ulaz prenosne funkcije

Sada nalazimo izlaze za pojedine prenosne funkcije.

52
Primjeri neuralnih mreža
Perceptron sa jednim neuronom (Single-Neuron perceptron)

Dvoulazni perceptron sa jednim neuronom

Izlaz iz ove mreže a  hardlim (n)  hardlim (Wp  b)


 
 hardlim 1 wT p  b  hardlim  w1,1 p1  w1, 2 p2  b 

Koristi se za granica odlučivanja n1 w p  b  w1,1 p1  w1, 2 p2  b  0.


T

53
Primjer:
Neka su težine i bias w1,1  1, w1, 2  1, b  1.

granica odlučivanja n 1 w p  b  w1,1 p1  w1, 2 p2  b  p1  p2  1  0.


T

Za nalaženje presjeka p2, p1 ćemo postaviti na nulu (p1=0):

b 1 b 1
p2     1 if p1  0. p1     1 if p2  0.
w1, 2 1 w1,1 1

Provjera koja strana je 1 a koja 0

  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
pb  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.

Treba izabrati vektor težina,


da bude ortogonalan na granicu
odlučivanja. (GRANICA OPTIMALNO
IZMEĐU punog i praznog kruga)
Vektor težina može imati bilo koju
dužinu.
 2
Treba odrediti bias b. To se može uraditi izborom neke tačke na 1w   
granici odlučivanja koja zadovoljava jednačinu (1 broj vrste)  2

1 w p  b  01 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 

Grafički je to: Pojednostavljeno:

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:

Ako je t=1 i a=0, tada 1 w new


1 w old
p

Ako je t=0 i a=1, tada 1 w new


1 w old
p
Ako je t=a tada 1 w
new
1 wold

Uvodimo grešku perceptrona e  ta

Ako je e=1 tada 1 w new


1 w old
p
Ako je e= -1 tada 1 w new
1 w old
p
Ako je e=0 tada 1 w new
1 w old

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:

W new  W old  ep T   0.5  1  0.5    1 1  1  1


   0.5 0 0.5

Nova vrednost bias-a je:

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

W new  W old  epT    0.5 0 0.5  1  1 1  1   0.5 1  0.5

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

W new  W old  ep T   0.5 1  0.5    1  1  1  1    0.5 2 0.5

b new  b old  e  0.5  1  0.5


62
Provjera
 1 
- narandže    
a  hardlim Wp1  b   hardlim   0.5 2 0.5  1   0.5 
  1 
 
 hardlim  3.5  0

- 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.

- prema smjeru prostiranja:


• nepovratne mreže (eng. feedforward networks)- transformišu skup ulaznih signala u skup izlaznih
signala, i informacija se ne vraća u niže slojeve. Prostiranje signala je dakle samo u jednom smjeru (od
ulaza prema izlazu),

• 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

Izlazni neuroni – daju razliku između dobijenog i očekivanog izlaza.

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

Neuronska mreža sa Backpropagation algoritmom obučava mrežu na osnovu primjera.


Algoritmu se zadaje primjer šta želimo da učini, a on mijenja težine u mreži tako da nakon obuke dobijemo traženi
izlaz za pojedini ulaz.
Backpropagation algoritam je idealan za jednostavno prepoznavanje oblika (Pattern Recognition) i mapiranje
(Mapping Tasks).

Primjena para za obuku neuronske mreže


66
Prvo inicijalizacija - postavljanje svih težina na neku malu vrijednost (na primer između -1 i +1).
Sljedeći korak - dovede se ulazni uzorak i izračunava se izlaz (ovaj korak se još naziva i prostiranjem
unapred – forward pass).
Težine su izabrane slučajno, očekujemo izlaz koji će biti pogrešan.
Proračunavamo grešku svakog neurona na osnovu formule:
Željeni izlaz – Aktuelni izlaz (Šta želimo – Šta trenutno imamo).
Greška se koristi da matematički promjenimo težine na način da smanjimo grešku.
Tako se Izlaz svakog neurona približava Željenom izlazu (ovaj korak se naziva prostiranjem unazad –
reverse pass).
Ovaj proces se ponavlja sve dok greška ne postane minimalna.

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:

1. Prvo dovedemo uzorke na ulaz i izračunamo izlaz –


podsetimo se da dobijeni izlaz može biti bilo šta, jer
su za inicijalne težine odabrani slučajni brojevi.

2. U sljedećem koraku određujemo grešku neurona B. Greška


se izračunava po formuli Šta želimo – Šta trenutno imamo,
tj. drugim rečima:

ErrorB  OutputB 1  OutputB  Target B  OutputB 

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

Izračunavamo greške (Errors) za skriveni sloj neurona.


Za razlliku od izlaznog sloja, ove greške ne možemo da izračunamo direktno (jer nemamo Target),
tako da greške prostiremo unazad (Back Propagate) od izlaznog sloja (otud je algoritam dobio
ime).
Prostiranje unazad – uzimaju se greške (Errors) od izlaznih neurona i propuštaju kroz težine kako
bismo dobili greške skrivenog sloja. Na primer, ako je neuron A povezan sa neuronima B i C, tada
na osnovu grešaka neurona B i neurona C izračunavamo grešku neurona A.

ErrorA  Output A 1  Output A  ErrorB  WAB  ErrorC  WAC 


69
Objašnjenje

1. Izračunavamo greške izlaznih neurona

   out 1  out  Target   out 

   out 1  out T arg et   out 

70
2. Mijenjamo težine izlaznog sloja

WA  WA   out A WA  WA    out A

WB  WB   out B WB  WB    out B



WC  WC   outC W  WC    outC
C

3. Izračunavamo (propuštamo unazad) greške skrivenog sloja

 A  out A 1  out A   WA   WA 

 B  out B 1  out B  WB   WB 

 C  outC 1  outC  WC   WC 


71
3. Mijenjamo težine skrivenog sloja

WA  WA   Ain WA  WA   Ain

W 
B  WB   Bin WB  WB   B in

W 
C  WC   C in W 
C  WC   C in

72
Primjer 1.

Pretpostavimo da svi neuroni imaju sigmoidalnu


aktivacionu funkciju.

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:

1. Propuštanje ulaznog signala unaprijed:

Ulaz u gornji neuron = (0.35x0.1)+(0.9x0.8)=0.755. Izlaz=0.68.

Ulaz u donji neuron = (0.9x0.6)+(0.35x0.4)=0.68. Izlaz=0.6637.

Ulaz u izlazni neuron = (0.3x0.68)+(0.9x0.6637)=0.80133.

Izlaz=0.69.

1 Apsolutna greška je Željena vrednost – Aktuelna vrednost = 0.5-


Output   Input
0.69=-0.19.

1 e

74
2. Propuštanje signala unazad

Greška izlaznog neurona je:

  output 1  output  t arg et  output   0.691  0.69 0.5  0.69   0.0406

Nove težine za izlazni sloj su:

w1  w1     input   0.3    0.0406  0.68  0.272392

w2  w2     input   0.9    0.0406  0.6637   0.87305

Greške za skriveni sloj su:

 1    w1  0.0406  0.272392  1  output   output  2.406  103

 2    w2  0.0406  0.87305  1  output   output  7.916  103

75
Nove težine za skriveni sloj su:


w3  0.1   2.406  103  0.35  0.09916
w4   0.8    2.406  10 3
 0.9   0.7978


w5  0.4   7.916  103  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.

Težine grana su: w1=0.2, w2=0.1, w3=0.1, w4=0.5,


w5=0.3, w6=0.2.
  (i) Izvršiti propuštanje ulaznih signala kroz mrežu (feed
forward).
(ii) Izvršiti propuštanje signala jednom unazad
(obučavanje) (target = 1, konstanta učenja=1).
(iii)Izvršiti još jedno propuštanje unapred i komentarisati
dobijeni rezultat.

1
sigmoidalna aktivaciona funkcija. Output   Input
1 e

77
Rješenje:
(i) Propuštanje ulaznog signala unapred

Ulaz u gornji neuron = (0.1x0.1)+(0.7x0.5)=0.36. Izlaz=0.589.


Ulaz u donji neuron = (0.1x0.3)+(0.7x0.2)=0.17. Izlaz=0.5424.
Ulaz u izlazni neuron = (0.2x0.589)+(0.1x0.5424)=0.17204. Izlaz=0.5429.
Apsolutna greška je Željena vrednost – Aktuelna vrednost = 1-0.5429=0.4571..

(ii) Propuštanje signala unazad


Greška izlaznog neurona je:
  output 1  output  t arg et  output   0.5429  1  0.54291  0.5429  0.11343
Nove težine za izlazni sloj su:
w1  w1     input   0.2   0.11343  0.589   0.2668
w2  w2     input   0.1   0.11343  0.5424   0.16152

Greške za skriveni sloj su:

78
 1    w1  0.11343  0.2668  1  output   output  0.007326
 2    w2  0.11343  0.16152  1  output   output  0.004547

Nove težine za skriveni sloj su:

w3  0.1   0.007326  0.1  0.1007326

w4   0.5   0.007326  0.7   0.505128

w5   0.3   0.004547  0.1  0.3004547


w6   0.2   0.004547  0.7   0.20318
Nakon rekalkulacije težina, stanje je sledeće:
Ulaz u gornji neuron = (0.1x0.1007326)+(0.7x0.505128)=0.3838. Izlaz=0.5948.
Ulaz u donji neuron = (0.7x0.20318)+(0.1x0.3004547)=0.17227. Izlaz=0.5429.
Ulaz u izlazni neuron = (0.2668x0.5948)+(0.16152x0.5429)=0.24638.
Izlaz=0.56128. 79
(iii) Zaključak
Nakon podešavanja težina, apsolutna greška je
Željena vrednost – Aktuelna vrednost =
1-0.56128=0.43872.
Kao što vidimo, greška se smanjila.
Stara vrijednost = 1-0.5429=0.4571

Primjer u praksi.

Želimo obučiti mrežu da prepozna prva četiri slova


abecede na mreži od 5x7 polja.

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).

Grešaka kod početnika - na ulaz neuronske mreže


dovedu prvo slovo i izvršavaju algoritam dok se
greška ne smanji, potom na ulaz mreže dovedu drugo
slovo i tako dalje.
81
Prekid obučavanja
Kad mreža nauči uspješno da prepoznaje sva slova, ili u praksi da greška padne na neki nizak nivo. To
će obezbjediti da sva slova budu uspješno prepoznata. Možemo procjeniti grešku mreže sabiranjem
grešaka svih pojedinačnih neurona

Drugim rječima, mreža nastavlja sa cikličnim


obučavanjem svih uzoraka dok ukupna greška ne padne
na neku unapred određenu nisku vrednost, a zatim staje

Kada se neuronska mreža jednom obuči, ona treba da


prepozna ne samo perfektne uzorke, nego takođe i
oštećene ili zašumljene verzije uzoraka
Bolji način za određivanje kriterijuma zaustavljanja
obučavanja mreže, je korišćenje skupa za validaciju
(Validation Set). Tada se sprečava pretreniranje
(Overtrainig) mreže (ako mreža postane previše precizna,
performanse se smanjuju)

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.

Obučavanje neuronske mreže je iterativan proces.


U svakoj iteraciji menjaju se težinski koeficijenti
Modifikovani koeficijenti se izračunavaju i signali iz skupa za
obučavanje propuštaju se kroz mrežu.
Nakon ovog koraka odrediti izlazne signale iz svakog neurona
u svakom sloju mreže.

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

You might also like