You are on page 1of 20

Tehnološko-metalurški fakultet

Univerzitet u Beogradu

Matematičko modelovanje i optimizacija procesa


Seminarski rad

Artificijelne neuronske mreže i njihova


primena u hemijskom inženjerstvu

Student: Milena Vujović 3053/17


Profesor: dr Nikola Nikačević

Beograd, novembar 2017. godine


SADRŽAJ

1. UVOD 3
1.1 Osnovna jedinica i struktura ANN 4
1.2 Tokovi informacija kroz ANN 4
2. PRINCIP RADA ANN 6
2.1 Model neurona 6
2.2 Preciznost modela 7
2.3 Razvoj ANN modela 12
3. PRIMENA I NEDOSTACI ANN 13
3.1 Nedostaci ANN 14
4. ANN U HEMIJSKOM INŽENJERSTVU 15
3.1 Primer upotrebe ANN u hemijskom inženjerstvu 15
5. ZAKLJUČAK 19
6. LITERATURA 20

2
1. UVOD

“Verujem da će se na kraju veka korišćenje reči kao i opšte mišljenje obrazovanih toliko izmeniti da
će razgovor o tome kako mašine razmišljaju biti moguć bez očekivanja kontradikcije.”

ˮI believe that at the end of the century the use of words and general educated opinion will have altered so
much that one will be able to speak of machines thinking without expecting to be contradictedˮ

~ Alan Turing, otac računarske nauke

Artificijelne neuronske mreže predstavljaju familiju algoritama koja pokušava da oponaša


biološke neuronske mreže, odnosno funkcionisanje centralnog nervnog sistema u cilju
rešavanja veoma složenih problema koji bi inače bili teško rešivi klasičnim metodama
determinističkog modelovanja. Ljudski mozak je sačinjen od mreže neurona, a svaki od njih je
međusobno povezan sa između nekoliko desetina i desetine hiljada drugih neurona koji
komuniciraju među sobom i prenose informacije. Analogno prirodnim, relacije između
veštačkih neurona imaju određenu „težinu“, izraženu brojevima, koji mogu biti podložni
promenama u zavisnosti od iskustva, što znači da su neuronske mreže prilagodljive i sposobne
za učenje. Imitirajući biološki sistem, artificijelne neuronske mreže omogućavaju inteligentno
procesiranje bez prethodno definisanog modela, već na osnovu podataka o ponašanju nekog
sistema. Ova tema je široko izučavana 80tih i 90tih godina prošlog veka, a zahvaljujući
značajnom informatičkom progresu kojem smo imali prilike da posvedočimo u poslednje dve
decenije, ponovo je aktuelna i to sa znatno većim uspehom [1].

Ljudski mozak sadrži otprilike 100 milijardi neurona međusobno povezanih sinapsama, koji su
sačinjeni od tela ćelije – some (slika 1). Telo ima određen broj ulaza tj. dendrita, koji dovode
informacije ka somi i jedan akson, preko kojeg se prenosi rezultat rada tj. izlaz ćelije. U
računaru, ekvivalent neurona bio bi nanoskopski prekidački uređaj koji se zove tranzistor.
Moderni mikroprocesori sadrže preko dve milijarde tranzistora, spakovanih u integrisano kolo
površine od oko 25 kvadratnih milimetara.

Slika 1: Prikaz dve nervne ćelije (dva neurona) međusobno povezanih sinapsama [2]

3
1.1 Osnovna jedinica i struktura ANN

Standardna artificijelna neuronska mreža ima od nekolicine do stotinu, hiljadu, čak i milion
veštačkih neurona tj. jedinica, umreženih u serije slojeva, gde je svaki neuron povezan sa oba
sloja sa obe strane. Neki od njih, koji su grupisani u početnom sloju (sloju ulaza), dizajnirani su
tako da primaju različite oblike informacija iz spoljašnjeg sveta. Jedinice koje se nalaze u
krajnjem, izlaznom, sloju, signaliziraju način na koji mreža reaguje na naučene informacije.
Između leži jedan ili više skrivenih slojeva, koji zajedno čine većinu veštačkog mozga. Većina
neuronskih mreža su potpuno povezane, što znači da je svaki neuron iz skrivenog nivoa kao i
svaki neuron iz izlaznog sloja, spojen sa svakim neuronom iz slojeva sa obe strane. Ove veze su
predstavljene brojem koji se definiše kao težina. Težina može da bude ili pozitivna (ukoliko
jedan neuron pobuđuje drugog) ili negativna (ukoliko jedan neuron inhibira drugog). Što je ova
težina veća, veći je uticaj jedanog neurona na drugi. Prave neuronske ćelije pobuđuju jedne
druge na sličan način kroz sinapse. Na slici 2 prikazan je jedan veštački neuron sa svojim
elementima: ulazi sa težinskim koeficijentima, izlaz i aktivaciona funkcija o kojima će biti više
reči u daljem tekstu.

Slika 2: Veštačka nervna ćelija [3]

1.2 Tokovi informacija kroz ANN

Tok informacija kroz neuronsku mrežu odvija se na dva načina. Kada uči, tj. dok biva trenirana
ili radi u uobičajenom režimu (nakon što se istrenira), šabloni informacija ulaze u mrežu putem
ulaznog sloja, koji potom dalje pobuđuje slojeve skrivenih jedinica, da bi na kraju završili u
izlaznom sloju. Ovakav uobičajeni dizajn zove se mreža propagacije unapred (eng. Feedforward
network). Svaka jedinica dobija svoj ulaz od jedinica iz prethodnog sloja, nakon čega se ulazne
vrednosti množe sa težinama veza kojima su povezane. Svaka jedinica sumira sve ulazne
vrednosti koje dobija na ovakav način. Ako je suma veća od određene vrednosti, koja se obično
zove prag (eng. Threshold), jedinica se aktivira i pobuđuje jedinice sa kojima je povezana sa
desne strane.

4
Slika 3: Struktura ANN sa jednim skrivenim slojem i međusobno povezanim jedinicama [4]

Kako bi neuronska mreža naučila da prepoznaje i klasifikuje pojmove, potrebno je da postoji


povratna informacija. Kada su u pitanju prirodne neuronske mreže, povratna informacija se
koristi kako bi se poredio željeni rezultat sa ishodom koji se stvarno desio. Naš mozak zatim
„razume“ razliku između ova dva ishoda, a novonaučena informacija doprinosi da se sledećom
iteracijom stvarni ishod približi željenom. Veća razlika između željenog i stvarnog ishoda znači i
potrebu za drastičnijom promenom ponašanja. Veštačke neuronske mreže uče na isti način,
najčešće kroz proces koji se zove propagacija unazad (eng. Backpropagation). Ovaj proces
podrazumeva poređenje izlaza koji mreža generiše sa izlazom koji je trebalo da generiše.
Razlika između ovih izlaza se koristi pri ispravljanju težina veza u mreži. Najpre se ispravljaju
težine bliže izlaznom sloju, krećući se unatrag, sve do ulaznog sloja. Propagacija unazad
omogućava mreži da uči, redukujući razliku između stvarnih i željenih rezultata, sve dok se ove
dve vrednosti ne poklope. Kada se mreža istrenira sa dovoljnom količinom podataka, uvode se
novi podaci, kod kojih nedostaje atribut po kome se vrši klasifikacija, kako bi se testirala njena
uspešnost. [5]

Primer: Stolica ili sto?

Imajući u vidu široku primenu ANN u prepoznavanju šablona, veoma jednostavan primer za
razumevanje principa rada ANN je upravo onaj koji pokazuje na koji bi način ANN došla do
odgovora na ovakva i slična pitanja. Ulazi neuronske mreže su brojevi, tako da je svaka jedinica
ulaza ili isključena ili uključena. Ako postoji pet ulaznih jedinica, mreža se može izložiti
informacijama o pet različitih karakteristika stolica koristeći binarne da/ne odgovore. Pitanja bi
bila npr. Da li ima naslon? Da li ima ploču? Da li je tapaciran? Da li može udobno da se sedi duže
vreme? Da li može da se stavi veća količina stvari na površinu? Tipična stolica bi bila
predstavljena sa Da, Ne, Da, Da, Ne ili binarno 10110, dok bi tipični sto bio predstavljen sa Ne,
Da, Ne, Ne, Da ili 01001. Tokom faze učenja, ANN zapravo samo posmatra veliku količinu
brojeva kao što su 10110 i 01001 i uči da neki od njih znače stolica (što bi na primer bio izlaz 1),
dok neki drugi znače sto (izlaz 0). [6]

5
2. PRINCIP RADA ANN

2.1 Model neurona

Kao što je već pomenuto, osnovna komponenta neuronskih mreža je neuron (element
procesiranja). U skladu sa slikom 2, dat je sledeći matematički model [7]:

x predstavlja ulazni vektor [x1, x2, ... xn]T,


w predstavlja vektor težinskih faktora [w1, w2 … wn]T,
net – ukupni ulaz,
g – ulazna funkcija
φ – prenosna funkcija
y – izlaz.

Izlaz neurona definisan je jednačinom:


y = φ(net) (1).

Ukupni ulaz za neuron je vektorska funkcija težinskih faktora veza i ulaza:


net = g(x, w) (2).
Najčešće se računa kao suma ulaza pomnoženih odgovarajućim težinskim faktorom:
net = ∑ xjwj (3) i predstavlja skalarni proizvod vektora ulaza i vektora težina. Težinski
faktori su od ključnog značaja za prilagođavanje modela podacima i generalno za ceo proces
učenja. Obično se nasumično inicijalizuju i menjaju posle svake iteracije algoritma.

Za prenosnu (aktivacionu) funkciju koriste se linerana f-ja, sigmoidalna kriva (S), stepenasta
(Heaviside-ova) funkcija i druge. Najčešće je u upotrebi sigmoidalna kriva koja se izražava kao:
1
y  (4)
1 e  wT X
j

gde je x ulaz, w težinski faktori, a T funkcija transpozicije. Prikazana je na slici 4.

Slika 4: Sigmoidalna kriva

6
2.2 Preciznost modela

Algoritam propagacije unazad (BNN) bio je presudan za široku komercijalnu upotrebu ANN
metodologije. Ovim postupkom, ulaz se propagira kroz mrežu od ulaznog do izlaznog sloja, a
zatim se određuje greška koja se vraća unazad sve do ulaznog sloja ugrađujući se u formulu za
učenje. Standardni algoritam uključuje optimizaciju greške koristeći deterministički algoritam
gradijentnog opadanja (eng. gradient descent). Glavni nedostatak ovog algoritma je problem
čestog pronalaženja lokalnog umesto globalnog minimuma greške, stoga novija istraživanja
uključuju njegovo unapređivanje nekim drugim determinističkim (npr. metode drugoga reda) ili
stohastičkim metodama kao što su simulirano žarenje ili genetski algoritmi [8]. Primera radi, GA
se sastoje od tri osnovne genetske operacije koje se izvršavaju u svakoj iteraciji: selekcije,
ukrštanja i mutacije (nalik na biološke sisteme). Navedene operacije se koriste da bi se početno
rešenje problema modifikovalo tokom iteracija, čime se dolazi do optimalnog rešenja problema.
Genetski algoritmi simultano analiziraju više rešenja, čime se brže dolazi do konvergencije na
globalnom nivou, pri čemu se smanjuje verovatnoća da se iterativni proces zaustavi na nekom
od lokalnih minimuma [9].

BNN algoritam - tok podataka kroz mrežu može se ukratko opisati u nekoliko koraka:

1. od ulaznog sloja prema skrivenom sloju: ulazni sloj učitava podatke iz ulaznog
vektora X, i šalje ih u prvi skriveni sloj,
2. u skrivenom sloju: jedinice u skrivenom sloju primaju ulaz i prenose ga u naredni
skriveni ili u izlazni sloj koristeći prenosnu funkciju,
3. kako informacije putuju kroz mrežu, računaju se sumirani ulazi i izlazi za svaku jedinicu
obrade,
4. u izlaznom sloju: za svaku jedinicu obrade, računa se skalirana lokalna greška koja se
upotrebljava u određivanju povećanja ili smanjenja težina,
5. propagiranje unazad od izlaznog sloja do skrivenih slojeva: skalirana lokalna greška, te
povećanje ili smanjenje težina računa se za svaki sloj unazad, počevši od sloja
neposredno ispod izlaznog sve do prvog skrivenog sloja, a težine se podešavaju.

Primer: Izračunavanje greške, algoritam propagacije unazad i izračunavanje težinskih faktora za


ANN sa jednim skrivenim slojem (slika 5) i sigmoidalnom funkcijom aktivacije [10].

Slika 5: Primer ANN sa jednim skrivenim slojem

7
Zapis:

Xj – ulaz u čvor j sloja ℓ

Wij – težinski faktori od sloja ℓ -1 i čvora i do sloja ℓ i čvora j


1
σ(x)  – sigmoidalna prenosna f-ja
1 e X

𝜃j – unutrašnja pobuda (bias), predstavlja konstantnu vrednost i dodaje se ulaznoj sumi

Oj – Izlaz iz čvora j sloja ℓ

tj – Željena izlazna vrednost iz čvora j sloja ℓ

Delta pravilo predstavlja određivanje greške između izračunatog izlaza i primeraka izlaznih
podataka uz implementaciju forme gradijentnog opadanja. To znači da se za iterativno
ažuriranje vektora težinskih faktora W koriste parcijalni izvodi funkcije kvadrata odstupanja po
težinama. Time se zapravo dobija osetljivost funkcije greške na promenu težina. Za primenu
ovog algoritma potrebno je odabrati pogodnu funkciju prenosa, kojoj se lako (sa malo
izračunavanja) može odrediti izvod. Zato se koriste sigmoidalne funkcije koje su kontinualne i
diferencijabilne:
1
Izvod σ(x)  => σ’= σ (1 – σ) (5)
1 e X

Greška za jednu iteraciju treninga mreže je predstavljena kao suma kvadrata odstupanja
pojedinačnih neurona iz izlaznog sloja:
1
E   (Ok tk ) (6)
2

2 k K

𝜕𝐸
Potrebno je odrediti , odnosno stepen promene greške u odnosu na dat težinski faktor,
𝜕𝑊𝑗𝑘
kako bi bilo moguće minimizovati grešku. Potrebno je razmotriti dva slučaja, ukoliko se čvor
nalazi u izlaznom sloju, ili u skrivenom sloju.

Čvor u izlaznom sloju:

𝜕𝐸 𝜕 1
= ∑(𝑂𝑘 − 𝑡𝑘 )2 (7)
𝜕𝑊𝑗𝑘 𝜕𝑊𝑗𝑘 2
𝑘∈𝐾

𝜕𝐸 𝜕
= (𝑂𝑘 − 𝑡𝑘 ) 𝑂 (8)
𝜕𝑊𝑗𝑘 𝜕𝑊𝑗𝑘 𝑘
𝜕𝐸 𝜕
= (𝑂𝑘 − 𝑡𝑘 ) 𝜎(𝑥𝑘 ) (9)
𝜕𝑊𝑗𝑘 𝜕𝑊𝑗𝑘

𝜕𝐸 𝜕𝑥𝑘
= (𝑂𝑘 − 𝑡𝑘 )𝜎(𝑥𝑘 )(1 − 𝜎(𝑥𝑘 )) (10)
𝜕𝑊𝑗𝑘 𝜕𝑊𝑗𝑘

𝜕𝐸
= (𝑂𝑘 − 𝑡𝑘 )𝑂𝑘 (1 − 𝑂𝑘 )𝑂𝑗 (11)
𝜕𝑊𝑗𝑘

8
Zbog jednostavnijeg zapisa uvodi se:
𝛿𝑘 = 𝑂𝑘 (1 − 𝑂𝑘 )(𝑂𝑘 − 𝑡𝑘 ) (12)

Pa se izraz može zapisati kao:

𝜕𝐸
= 𝑂𝑗 𝛿𝑘 (13)
𝜕𝑊𝑗𝑘

Čvor u sakrivenom sloju:

𝜕𝐸 𝜕 1
= ∑(𝑂𝑘 − 𝑡𝑘 )2 (14)
𝜕𝑊𝑖𝑗 𝜕𝑊𝑖𝑗 2
𝑘∈𝐾

𝜕𝐸 𝜕
= ∑(𝑂𝑘 − 𝑡𝑘 ) 𝑂 (15)
𝜕𝑊𝑖𝑗 𝜕𝑊𝑖𝑗 𝑘
𝑘∈𝐾

𝜕𝐸 𝜕
= ∑(𝑂𝑘 − 𝑡𝑘 ) 𝜎(𝑥𝑘 ) (16)
𝜕𝑊𝑖𝑗 𝜕𝑊𝑖𝑗
𝑘∈𝐾

𝜕𝐸 𝜕𝑥𝑘
= ∑(𝑂𝑘 − 𝑡𝑘 ) 𝜎(𝑥𝑘 )(1 − 𝜎(𝑥𝑘 )) (17)
𝜕𝑊𝑖𝑗 𝜕𝑊𝑖𝑗
𝑘∈𝐾

𝜕𝐸 𝜕𝑥𝑘 𝜕𝑂𝑗
= ∑(𝑂𝑘 − 𝑡𝑘 ) 𝑂𝑘 (1 − 𝑂𝑘 ) ⋅ (18)
𝜕𝑊𝑖𝑗 𝜕𝑂𝑗 𝜕𝑊𝑖𝑗
𝑘∈𝐾

𝜕𝐸 𝜕𝑂𝑗
= ∑(𝑂𝑘 − 𝑡𝑘 ) 𝑂𝑘 (1 − 𝑂𝑘 )𝑊𝑗𝑘 (19)
𝜕𝑊𝑖𝑗 𝜕𝑊𝑖𝑗
𝑘∈𝐾

𝜕𝐸 𝜕𝑂𝑗
= ∑(𝑂𝑘 − 𝑡𝑘 ) 𝑂𝑘 (1 − 𝑂𝑘 )𝑊𝑗𝑘 (20)
𝜕𝑊𝑖𝑗 𝜕𝑊𝑖𝑗
𝑘∈𝐾

𝜕𝐸 𝜕𝑥𝑗
= 𝑂𝑗 (1 − 𝑂𝑗 ) ∑(𝑂𝑘 − 𝑡𝑘 ) 𝑂𝑘 (1 − 𝑂𝑘 )𝑊𝑗𝑘 (21)
𝜕𝑊𝑖𝑗 𝜕𝑊𝑖𝑗
𝑘∈𝐾

𝜕𝐸
= 𝑂𝑗 (1 − 𝑂𝑗 )𝑂𝑖 ∑(𝑂𝑘 − 𝑡𝑘 ) 𝑂𝑘 (1 − 𝑂𝑘 )𝑊𝑗𝑘 (22)
𝜕𝑊𝑖𝑗
𝑘∈𝐾

𝜕𝐸
= 𝑂𝑖 𝑂𝑗 (1 − 𝑂𝑗 ) ∑ 𝛿𝑘 𝑊𝑗𝑘 (23)
𝜕𝑊𝑖𝑗
𝑘∈𝐾

Analogno pređašnjoj situaciji:


𝜕𝐸
= 𝑂𝑖 𝛿𝑗 (24)
𝜕𝑊𝑖𝑗

9
Kako težinski faktori utiču na grešku
Za izlazni sloj važi:
𝜕𝐸
= 𝑂𝑗 𝛿𝑘 , gde je
𝜕𝑊𝑗𝑘

𝛿𝑘 = 𝑂𝑘 (1 − 𝑂𝑘 )(𝑂𝑘 − 𝑡𝑘 ) (12)

Za skriveni sloj važi:

𝜕𝐸
= 𝑂𝑖 𝛿𝑗 (24)
𝜕𝑊𝑖𝑗

𝛿𝑗 = 𝑂𝑗 (1 − 𝑂𝑗 ) ∑ 𝛿𝑘 𝑊𝑗𝑘 (25)
𝑘∈𝐾

Ukoliko je unutrašnja pobuda (bias) dodata ulaznoj sumi:


𝜕𝑂 𝜕𝜃
= 𝑂(1 − 𝑂) (26)
𝜕𝜃 𝜕𝜃
𝜕𝜃
Imajuću u vidu da je = 1, za svaki ℓ (27)
𝜕𝜃
𝜕𝐸
= 𝛿ℓ
𝜕𝜃
Dakle, mreža se pokreće sa ulaznim podacima, kako bi se došlo do vrednosti izlaza.
Za svaki čvor iz izlaznog sloja:

𝛿𝑘 = 𝑂𝑘 (1 − 𝑂𝑘 )(𝑂𝑘 − 𝑡𝑘 ) (12)

Za svaki čvor iz skrivenog sloja:

𝛿𝑗 = 𝑂𝑗 (1 − 𝑂𝑗 ) ∑ 𝛿𝑘 𝑊𝑗𝑘 (25)
𝑘∈𝐾

Zatim se ažuriraju vrednosti težinskih faktora:

Δ𝑊 = −𝜂𝛿ℓ 𝑂ℓ−1 (28)


Δ𝜃 = −𝜂𝛿ℓ (29)

𝑊 + Δ𝑊 → 𝑊 (30)
𝜃 + Δ𝜃 → 𝜃 (31)

10
Parametri arhitekture koje je potrebno definisati kod BNN algoritma

Jedan od važnih parametara arhitekture BNN mreže je broj jedinica u slojevima. Broj neurona u
ulaznom sloju (Nul) jednak je broju ulaznih promenljivih, broj neurona u izlaznom sloju (Niz)
jednak je broju izlaznih promenljivih, dok se broj neurona u skrivenom sloju (Nsk) (za model
troslojne BNN mreže prikazan na slici 5) određuje ili empirijski (metodom probe i greške) ili
prema jednačini:
N N
N 
sk
ul
 n iz
tr
(32)
2
gde je ntr broj serija podataka u grupi podataka za obučavanje mreže.

Ostali parametri arhitekture koje je potrebno definisati kod BPNN, su:

 funkcija za skaliranje,

 aktivacione funkcije po slojevima,

 inicijalne vrednosti težinskih koeficijenata,

 stopa obučavanja (learning rate), i

 impuls (momentum).

Funkcija za skaliranje predstavlja vezu između ulaznih i skrivenih neurona, i može biti linearna
funkcija u različitim opsezima (-1 do 1, 0 do 1 i sl.), sigmoidalna funkcija ili hiperbolično-
tangetna funkcija. Aktivacione funkcije se definišu za neurone u skrivenom i izlaznom sloju.
Početne vrednosti težinskih koeficijenata se moraju zadati, da bi se u prvoj iteraciji BP algoritma
mogla izračunati matrica težinskih koeficijenata. U praksi se zadaje opseg vrednosti (od -1 do
+1), iz koga se početna vrednost nasumično bira. Stopom obučavanja (𝜂 iz jednačine 28) se
zadaje brzina promene težinskih koeficijenata, npr. ukoliko je stopa obučavanja 0,5 tada se
težinski koeficijenti menjaju za polovinu vrednosti greške. Što je stopa obučavanja veća to je
brža konvergencija mreže, s tim što ukoliko se zada prevelika vrednost stope obučavanja može
doći do oscilacija u performansama ili čak do divergencije mreže (nenalaženje rešenja). Stopa
obučavanja najčešće iznosi 0,1. Impuls definiše koliki će biti udeo prethodne vrednosti težinskih
koeficijenata u njihovoj novoj vrednosti. Vrednost impulsa zavisi od složenosti problema: što je
problem kompleksniji to impuls ima nižu vrednost. [11].

11
2.3. Razvoj ANN modela

Prvi korak u razvoju modela zasnovanog na neuronskim mrežama predstavlja definisanje


izlaznih promenljivih modela, a važno je definisati izlaznu promenljivu čije predviđanje
omogućava kvantifikovanje ili opisivanje što konkretnijeg problema. Jednom kada se definišu
izlazne promenljive modela, moguće je definisanje ulaznih promenljivih koje utiču na njih. Ovaj
korak je od ključnog značaja za uspešan razvoj modela, pri čemu je važno da se neuronskoj
mreži prikaže što više promenljivih koje imaju uticaj na odabranu izlaznu promenljivu, s
obzirom da neuronska mreža ima sposobnost da uoči zakonitosti i veze među ovim
promenljivima, koje kasnije koristi za uopštavanje. U sledećoj fazi vrši se prikupljanje podataka
definisanih ulaznim i izlaznim veličinama. Zatim se vrši eliminacija primarno definisanih ulaznih
promenljivih, za koje odgovarajući podaci nisu dostupni ili poznati. Najvažnije pravilo u ovoj fazi
je da je potrebno ceo domen razmatranog problema „pokriti” primerima, odnosno podacima.
Jedno od često korišćenih empirijskih pravila je i da broj serija podataka za obučavanje
neuronske mreže mora biti bar deset puta veći od broja ulaznih promenljivih. U ovoj fazi, često
je potrebno rešavati i problem nekompletnih podataka dopunjavanjem dobro pretpostavljenim
podacima (npr interpolisane vrednosti). Mogućnost rada sa nekompletnim podacima je jedna od
najvažnijih prednosti neuronskih mreža, kada su već oformljene. Statistička analiza podataka
omogućava smanjenje broja primarno definisanih ulaznih veličina, kroz eliminaciju beznačajnih
ili korelisanih ulaznih promenljivih, kao i formiranje odnosa između promenljivih, što za
posledicu ima efikasniji (brži) proces obučavanja. Razvoj neuronske mreže obuhvata i
definisanje arhitekture i podešavanje odgovarajućih parametara odabrane arhitekture (npr.
broj slojeva i neurona, povratne veze i drugo), kao i definisanje odgovarajućih parametara
obučavanja mreže (brzina obučavanja, impuls (momentum) itd). Neka empirijska pravila
vezana za izbor arhitekture i područje primene neuronskih mreža su:  troslojne mreže sa
propagacijom greške unazad (BPNN) su verovatno najefikasnije za većinu problema (koriste se
u 95 % slučajeva). Vreme obučavanja im je znatno kraće u odnosu na četvoroslojne i petoslojne
(približno za red veličine po sloju), pri čemu imaju zadovoljavajući kapacitet uopštavanja; 
rekurentne mreže (RNN) su veoma dobre za vremenske serije podataka; neuronske mreže sa
opštom regresijom (GRNN) veoma kratko i efikasno uče, i mogu da se obučavaju sa oskudnim
skupom podataka. One daju kontinuirani izlaz i pokazale su se korisnim za aproksimiranje
kontinualnih funkcija. Obučavanje neuronske mreže vrši se na osnovu prethodno definisane
arhitekture – algoritma i parametara. Tokom samog procesa potrebno je dostupne serije
podataka podeliti na skup podataka koji će biti korišćen za obučavanje mreže i skup podataka za
proveru razvijenog modela (10-15 % od svih podataka). Takođe iz definisanog skupa za
obučavanje poželjno je odgovarajućim algoritmom izdvojiti podatke koji će služiti za validaciju
rezultata mreže tokom samog obučavanja (10-20 % podataka). Provera modela predstavlja
simulaciju njegove primene u realnim uslovima, tj. predviđanje vrednosti izlazne promenljive na
osnovu do tada mreži nepoznatih ulaznih podataka koji nisu korišćeni u procesu obučavanja.
Provera modela obavlja se upoređivanjem rezultata koje daje neuronska mreža i stvarnih
rezultata različitim statističkim pokazateljima performansi modela. U slučaju da dobijeni
rezultati tokom provere modela nisu zadovoljavajući, potrebno je podvrgnuti analizi celokupan
proces razvoja modela. U trenutku kada se modelom dobiju zadovoljavajući rezultati, onda se
može pristupiti poslednjoj fazi razvoja modela i izvršiti optimizacija parametara razvijenog
modela u cilju dodatnog poboljšanja njegove tačnosti.

12
3. PRIMENA I NEDOSTACI ANN

Imajući u vidu da su otporne na pogrešan ulaz i šum, kao i da imaju sposobnost učenja i
generalizacije, ANN su pronašle veliku primenu u situacijama kada nema jasno definisanog
matematičkog modela jer su pojave nedovoljno proučene i/ili razumljive, kada je potrebna
otpornost na nepotpun ulaz, kada postoji jako složena struktura, pa je determinističko
modelovanje nepraktično, kada postoji veliki broj ulaza i veliki broj veza između promenjivih
koje se ne mogu tačno definisati, kao i kada postoji dosta odstupanja od osnovnog obrasca
ponašanja sistema.[12] Oblasti primene ANN podrazumevaju sisteme identifikacije i upravljanja
(vozila, trajektorije, procesa, prirodnim resursima), kvantnu hemiju, igre i donošenje odluka,
prepoznavanje šablona (radarski sistemi, prepoznavanje lica, objekata itd.), prepoznavanje
sekvenci (gestova, govora, rukopisa), medicinske dijagnoze, finansijske aplikacije (automatski
sistemi trgovine), filtriranje neželjenih elektronskih poruka (spam), itd. U tabeli 1 prikazane su
mnoge oblasti u kojima su ANN našle svoju primenu. [13]

Istraživanje podataka: Energija:


 Predviđanje • Prognoza električne opterećenosti
 Klasifikacija • Prognoza energetske potražnje
 Otkrivanje promene i devijacije • Procena opterećenosti
 Otkrivanje znanja • Predviđanje indeksa cena gasa/uglja
 Modeliranje odziva • Sistemi za kontrolu
 Analiza vremenskih serija • Nadzor rada hidroelektrana

Menadžment ljudskih resursa:


Medicina:
 Izbor i zapošljavanje
 Medicinske dijagnoze
 Zadržavanje zaposlenih
 Otkrivanje i evaluacija medicinskih fenomena
 Zakazivanje osoblja
 Prognoza dužine hospitalizacije pacijenta
 Profilisanje osoblja
 Procena cene lečenja

Industrija: Prodaja i marketing:


 Upravljanje procesa  Prognoza prodaja
 Kontrola kvaliteta  Ciljni marketing
 Predviđanje temperature i sile  Prognoza korišćenja servisa

Nauka: Finansije:
 Prepoznavanje šablona • Predviđanja na berzi
 Modelovanje fizičkih sistema • Dostojnost kredita
 Evaluacija ekosistema • Kreditni rejting
 Identifikacija polimera • Predviđanja bankrota
 Prepoznavanje gena • Procena vlasništva
 Botanička klasifikacija • Otkrivanje prevara
 Procesiranje signala • Prognoza cena
 Analiza bioloških sistema • Prognoza ekonomskog indikatora

13
3.1 Nedostaci ANN

Iako su se pokazale kao veoma široko upotrebljive, korišćenje ANN nije toliko jednostavno i
podrazumeva odlično poznavanje teorije. Jedan od nedostataka ANN je to što funkcioniše po
principu “crne kutije”, što znači da se fenomeni i pojave ne mogu proučavati, niti dobro
razumeti. Zatim, upotreba ANN za rezultate van opsega izemerenih vrednosti (ekstrapolacija),
može biti veoma nepouzdana. Učenje mreže, za složene sisteme, može biti sporo i zahtevati
dosta vremena i kompjuterskih resursa. U slučaju da nije upotrebljen dobar metod za
optimizaciju (minimizaciju greške) rezultat može da bude lokalni, a ne globalni minimum
greške. Takođe, moguće je pretrenirati mrežu, odnosno može se desiti da mreža postane “kruta”
i nedovoljno robustna u predviđanju ponašanje za druge vrednosti ulaza. [14] To znači da je uz
pravilno definisanje arhitekture i parametara, jedan od najvažnijih problema upravo
dimenzionisanje procesa obučavanja neuronske mreže. Ukoliko proces obučavanja nije dovoljno
dug, mreža ne može da „nauči” zakonitosti problema. Ukoliko je obučavanje predugo, mreža ne
uči zakonitosti problema već memoriše dati uzorak, uključujući i šumove, i ne može da izvrši
adekvatna predviđanja sa novim slučajevima (slika 6).

Slika 6: Izgled odziva neuronske mreže u zavisnosti od stepena obučenosti


(x-tačne vrednosti; o- odstupanja od tačnih vrednosti)

14
4. ANN U HEMIJSKOM INŽENJERSTVU

U hemijskom inženjerstvu se često srećemo sa nelinearnim, kompleksnim sistemima i


nedovoljno definisanim fenomenima, pa su ANN našle široku primenu u modelovanju,
predviđanju i optimizaciji procesa i pojava koje su predmet izučavanja ove grane inženjerstva.
ANN se mogu koristiti za predviđanje gustine palminog ulja, predviđanje fazne ravnoteže za
višekomponentne sisteme, karakterizaciju strukture – poroznosti membrane, predviđanje
kvaliteta polimera dobijenog u reaktoru, detekciju otkaza – poremećaja u radu razmenjivača
toplote, za model prediktivno upravljanje kolonom za reakcionu destilaciju, ekonomsku
optimizaciju u realnom vremenu složene industrijske rektifikacione kolone i dr.

4.1 Primer upotrebe ANN u hemijskom inženjerstvu [15]

Kao što je kolega sa Tehnološko-metalurškog fakulteta Univerziteta u Beogradu dr Davor


Antanasijević prikazao u svojoj doktorskoj disertaciji, ANN se uspešno mogu koristiti i za
modelovanje indikatora životne sredine. Ciljevi njegove teze su bili razvoj ANN metodologije i
modela za predviđanje indikatora kvaliteta životne sredine kao što su emisija gasova staklene
bašte i PM10 čestica, koncentracija PM10 čestica na nacionalnom nivou, količine generisanog
komunalnog čvrstog otpada (KČO) i sadržaja rastvorenog kiseonika u površinskim vodama, pri
čemu su kao ulazne promenljive korišćeni dostupni ekonomski indikatori i indikatori održivog
razvoja.

Za potrebe ovog seminarskog rada, u daljem tekstu su prikazani rezultati iz ove doktorske teze
koji se odnose na modelovanje sadržaja rastvorenog kiseonika u površinskim vodama, kao
interesantnog primera primene ANN u hemijskom inženjerstvu. U ovom delu svoje doktorske
teze, dr Antanasijević je opisao razvoj i evaluaciju tri ANN modela, baziranih na različitim ANN
arhitekturama, za predviđanje sadržaja rastvorenog kiseonika u reci Dunav. Pored odabira
najpreciznije ANN arhitekture, akcenat je bio i na razvoju modela koji bi, kao ulazne
promenljive, koristio samo nespecifične parametre kvaliteta voda, s obzirom da je i potencijalna
primena šira.

Odabir ulaznih promenljivih modela za predviđanje sadržaja rastvorenog kiseonika

Izbor promenljivih je vršen na osnovu dostupnih literaturnih podataka o uticaju ostalih


parametara kvaliteta voda na koncentraciju kiseonika u vodama. Rezultati prethodnih
istraživanja pokazuju da je kod ANN modelovanja sadržaja rastvorenog kiseonika najvažniji
ulazni parametar pH vrednost i temperatura vode. Kako je cilj kreirati ANN model koristeći
nespecifične parametre kvaliteta voda, za ulazne promenljive modela izabrani su pH,
temperatura, električna provodljivost i protok rečne vode. Dostupni podaci podeljeni su u tri
grupe: za obučavanje (podaci od 2004. do 2008. godine, ukupno 62 serije podataka), za
validaciju (15 % od podataka za obučavanje) i za proveru (podaci iz 2009. godine, 11 serija - 15
% svih dostupnih podataka).

15
Tabela 2: Statistička analiza grupa podataka za obučavanje i proveru modela

Tabela 3: Grupa podataka, iz 2009. godine, korišćena za proveru modela

Razvoj i rezultati ANN modela za predviđanje sadržaja rastvorenog kiseonika

Tri različite arhitekture neuronskih mreža su odabrane za kreiranje modela za predviđanje


sadržaja rastvorenog kiseonika u vodama: a) Neuronska mreža sa opštom regresijom (GRNN) -
odabrana je jer se u istraživanjima rađenim u okviru ove doktorske disertacije pokazala kao
najbolja, b) Neuronska mreža sa propagacijom greške unazad (BPNN) - odabrana je jer se
najčešće primenjuje za modelovanje sadržaja rastvorenog kiseonika u vodama, c) Rekurentna
neuronska mreža (RNN) – izabrana je jer je pogodna za učenje sekvenci i podataka koji su
vremenske serije. Poređenje izmerenog sadržaja rastvorenog kiseonika i rezultata modela
tokom obučavanja za sve tri odabrane ANN arhitekture prikazano je na Slici 7. Slaganje
izmerenih i modelom predviđenih vrednosti može se smatrati kao dobro. GRNN model je dao
odlična predviđanja sadržaja rastvorenog kiseonika (R2=0,99), bolja od RNN (R2=0,87) i BPNN
(R2=0,83) modela.

16
Slika 7: Poređenje izmerenog sadržaja rastvorenog kiseonika i vrednosti dobijenih modelima
tokom obučavanja: a) GRNN, b) BPNN, c) RNN

Kada se uzmu u obzir i statistički pokazatelji performansi modela (RMSE - koren srednje
kvadratne greške, MAE - srednja apsolutna greška, FA1.1 - udeo tačnih predviđanja u odnosu
1:1,1 u odnosu na tačnu vrednost, IA – Indeks slaganja) iz tabele 4, može se pretpostaviti da je
odličan rezulatat GRNN modela zapravo posledica "pretreniranosti", koja značajno smanjuje
sposobnost uopštavanja. Takođe, može se pretpostaviti da će RNN i BPNN imati bolju
sposobnost uopštavanja i samim tim i bolje rezultate prilikom provere modela, u odnosu na
GRNN model.

Tabela 4: Vrednosti statističkih pokazatelja performansi kreiranih ANN modela

Poređenje izmerenog sadržaja rastvorenog kiseonika i vrednosti dobijenih modelima tokom


provere prikazano je na Slici 8. Kao što se može videti, performanse GRNN modela su značajno
opale, procenat rezultata sa greškom manjom od 10 % (FA1.1) opao je sa 100 % na 82 %, dok je
srednja apsolutna greška (MAE) porasla sa 0,07 mg O2 L-1 (obučavanje) na 0,60 mg O2 L-1
(provera). Na osnovu ovih rezultata, može se doneti i konačan zaključak da je GRNN model
"pretreniran". S druge strane, za BPNN model se može konstatovati da nije bio dovoljno
treniran. Da bi se poboljšale performanse BPNN modela bilo bi potrebno izvršiti redizajniranje i
promeniti neke od osnovnih arhitektonskih parametara same mreže (broj skrivenih slojeva,
broj neurona u skrivenim slojevima) i/ili povećati broj ulaznih promenljivih i količinu podataka.
Sto se tiče RNN modela, može se zaključiti da je optimalno treniran, s obzirom da se
performanse tokom provere nisu promenile, u poređenju sa obučavanjem. Sva predviđanja za
2009. godinu su bila u okviru FA1.1, dok su vrednosti RMSE i MAE bile slične tokom obučavanja
i provere modela . Uključujući sve navedeno, može se zaključiti da je realni poredak performansi
kreiranih ANN modela RNN > GRNN > BPNN.
17
Slika 8: Poređenje izmerenog sadržaja rastvorenog kiseonika i vrednosti dobijenih modelima
tokom provere: a) GRNN, b) BPNN, c) RNN

Na kraju, vrednosti sadržaja rastvorenog kiseonika dobijene RNN modelom upoređene su sa


predviđanjima modela sa višestrukom regresijom (MLR) koji je razvijen sa istim ulaznim
promenljivim i podacima kao i RNN model. U tabeli 5 su prikazane vrednosti statističkih
parametara za kreirani MLR model.

Tabela 5: Vrednosti statističkih pokazatelja performansi MLR modela

18
Kao što se može uočiti, RNN model je pokazao mnogo bolje performanse od MLR modela kod
obučavanja i provere modela. MLR rezultati su imali MAE i RMSE greške čak i do tri puta veće u
poređenju sa RNN modelom. Takođe, tek 55 % predviđanja MLR modela za 2009. godinu je bilo
u okviru FA1.1, što je gotovo dva puta lošiji rezultat od RNN modela, čije su sve predikcije za
navedenu godinu bile u okviru FA1.1 (Slika 9).

Slika 9: Poređenje izmerenog i modelima (RNN i MLR) predviđenog sadržaja rastvorenog


kiseonika za 2009. godinu

5. ZAKLJUČAK

Dokle god je problem dobro definisan, a podaci iz realnog sveta pronađu svoju odgovarajući
digitalni oblik, neuronske mreže uz određeno vreme prilagođavanja konkretnom problemu
mogu predstavljati rešenje za mnoge složene izazove. Moderni trendovi danas iziskuju ljudski
potencijal koji se bavi analitikom ogromne količine podataka, što će se nastaviti i u godinama
koje dolaze. Artificijelne neurnoske mreže su našle široku primenu i u modelovanju i
optimizaciji različitih hemijsko-inženjerskih procesa i fenomena upravo zahvaljujući svojoj
neosetljivosti na pogrešne ulaze i šumove, sposbnosti učenja i uopštavanja. Kako su mnogi
sistemi u hemijskom inženjerstvu kompleksni i nelinearni, upravo se korišćenjem različitih
arhitektura ANN može jednostavnije doći do rešenja u njima. Ipak, ANN imaju i svoja
ograničenja koja se ogledaju u nedostataku semantike u strukturi, problemima sa određivanjem
arhitekture i parametara algoritma za učenje, problemima sa treningom za određenu primenu,
problemima sa plastičnošću i stabilnošću i dr. Razvijanjem naprednih neuronskih mreža koje
kombinuju ANN sa genetskim algortimima i fuzzy logikom će se mnogi od ovih problema
uspešno rešiti (computational intelligence). Razumevanjem teorije neuronskih mreža, kao i
njihovog nastanka i predmeta inspiracije, može se zaključiti da je to jedna od tehnologija
budućnosti, koja će biti inkorporirana u skoro sve aspekte ljudske delatnosti.

19
6. LITERATURA

[1] Columbia University, Artificial Intelligence MicroMasters Online Course, www.edx.org

[2] https://www.khanacademy.org/science/ap-biology

[3, 4] https://www.innoarchitech.com/artificial-intelligence-deep-learning-neural-networks-
explained

[5, 13] S. Gavran, Veštačke neuronske mreže u istraživanju podataka: pregled i primena, Master
rad, Matematički fakultet, Univerzitet u Beogradu, 2016.

[6] http://www.explainthatstuff.com/introduction-to-neural-networks.html

[7] Z. Ševarac, Aplikacioni okvir za razvoj neuronskih mreža, Diplomski rad, Fakultet
organizacionih nauka, Univerzitet u Beogradu, 2004.

[8] R. Rojas, Neural Networks - A Systematic Introduction, Online book, Springer-Verlag, Berlin,
New-York, 1996

[9, 11, 15] D. Antanasijević, Modelovanje indikatora kvaliteta životne sredine primenom veštačkih
neuronskih mreža, Doktorska distertacija, Tehnološko – metalurškli fakultet, Univerzitet u
Beogradu, 2014.

[10] R. Harris, Neural Network tutorial,


https://www.dropbox.com/s/z5bz0cw0boxxon1/BackPropagation.pdf?dl=0, 2012.

[12, 14] N. Nikačević, Matematičko modelovanje i optimizacija procesa - Modelovanje pomoću


artificijelnih neuronskih mrežaartificijelnih neuronskih mreža, Prezentacija, TMF, 2017.

20

You might also like