• Tidak ada hasil yang ditemukan

Izrada automatiziranog sustava kalkulacija korištenjem neuronskih mreža

N/A
N/A
Protected

Academic year: 2021

Membagikan "Izrada automatiziranog sustava kalkulacija korištenjem neuronskih mreža"

Copied!
50
0
0

Teks penuh

(1)

SVEUČILIŠTE U ZAGREBU

GRAFIČKI FAKULTET

PETAR BRANISLAV JELUŠIĆ

IZRADA AUTOMATIZIRANOG SUSTAVA

KALKULACIJA KORIŠTENJEM NEURONSKIH

MREŽA

DIPLOMSKI RAD

(2)

PETAR BRANISLAV JELUŠIĆ

IZRADA AUTOMATIZIRANOG SUSTAVA

KALKULACIJA KORIŠTENJEM NEURONSKIH

MREŽA

DIPLOMSKI RAD

Mentor:

Student:

doc.dr.sc. Ante Poljičak

Petar Branislav Jelušić

(3)

Ovim putem zahvaljujem se mentoru doc.dr.sc. Anti Poljičku na sveprisutnom vodstvu prilikom pisanja ovog diplomskog rada, te na svim ohrabrenjima i riječima podrške. Također, hvala profesoru Poljičku na neizostavnoj dozi humora i sarkazma, bez kojih bi pisanje diplomskog rada bilo nezamislivo.

Zahvaljujem se i kolegici Galji Milošević koja mi je pružila svojevrsno mentorstvo s privredne strane i bez čije otvorenosti i pristupačnosti ovaj rad nebi bio uspješno zaokružen. Naravno, zahvaljujem se i tiskari Neograf d.o.o. na razumijevanju i strpljenju za mnogobrojne zahtjeve jednog studenta.

Naposlijetku, vrijedi spomenuti sve one koji su zbog mojih radnih navika (bolje rečeno, zbog nedostataka istih) gubili živce. Zato se ovim putem zahvaljujem prijateljima, ali ponajviše obitelji i roditeljima, koji su mi osim stjecanja magistarske diplome omogućili da proživim nebrojene lijepe trenutke za vrijeme studija.

(4)

SAŽETAK:

Umjetne neuronske mreže su računalni modeli zasnovani na modelu bioloških neuronskih mreža. Imitacijom tokova informacija i signalnih puteva u ljudskom mozgu, umjetne neuronske mreže pokušavaju izračunati i predvidjeti razne matematičke probleme i funkcije. Posljednjih nekoliko desetljeća u konstantom su razvoju, a njihova primjena sve je šira. U teoretskom dijelu rada objasnit će se princip funkcioniranja umjetnih neuronskih mreža. Nakon toga, u eksperimentalnom dijelu kronološki će se objasniti proces izrade automatiziranog sustava tiskarskih kalkulacija – od prikupljanja podataka iz radnih naloga, do implementacije tih podataka u računalni program MATLAB. Upravo će se u MATLAB-u koristiti neuronske mreže. Krajnji cilj izrade automatiziranog sustava kalkulacija jest preciznije izračunavanje potrebne količine materijala pri svakom tiskarskom procesu, kako bi se izbjegli problemi (višak proizvoda zauzima mjesto u skladištu tiskare) i troškovi (manjak proizvoda stvara dodatni trošak, budući da se proces tiska mora započeti još jednom) u tiskarskoj proizvodnji. Navedeni proces izrade kalkulacija bit će potkrijepljen pripadajućim fotografijama i prikazima zaslona.

Ključne riječi:

biološke neuronske mreže; umjetne neuronske mreže; perceptron; MATLAB; Neural Network Toolbox; tiskarske kalkulacije

(5)

ABSTRACT:

Artificial neural networks are computational models based on biological neural networks. Using neural networks' structure and functions, artificial neural networks can compute and predict various mathematical tasks. In the past decades, artificial neural networks are improving constatntly, and their application is growing rapidly. At the beginning of the research, the general functions and applications of artificial neural networks will be explained briefly. In the experimental part, making of an automated printing calculation will be chronologically demonstrated – from gathering the information, to importing the data into MATLAB software. MATLAB will be used to work with neural networks. The goal of having an automated printing calculation is predicting the exact amount of paper material needed for every printing process. That way, it's possible to avoid various problems (excess of material takes up precious storage space) and expenses (insufficient amounts of material creates more expenses, as the printing process has to start over for the second time). Each process within the research will be explained with appropriate photos and screenshots.

Keywords:

biological neural networks; artificial neural networks; perceptron; MATLAB; Neural Network Toolbox; printing calculations

(6)

1. Uvod ... 1

2. Teorijski dio ... 2

2.1. Biološke neuronske mreže ... 2

2.2. Umjetne neuronske mreže ... 2

2.2.1. Definicija umjetne neuronske mreže ... 2

2.2.2. Nastanak i razvoj umjetnih neuronskih mreža ... 4

2.2.3. Matematički model umjetne neuronske mreže ... 7

2.2.4. Najjednostavnija umjetna neuronska mreža - perceptron ... 7

2.2.5. Vrste, modeli i arhitektura umjetnih neuronskih mreža ... 9

2.2.6. Učenje umjetnih neuronskih mreža ... 10

2.3. Primjena i daljnji razvoj neuronskih mreža ... 11

2.4. Sustav kalkulacija u tiskarstvu ... 12

2.4.1. Izrada sustava kalkulacija ... 12

2.4.2. Nedostaci klasičnih tiskarskih kalkulacija ... 14

2.5. Hipoteza ... 15

3. Praktični dio ... 16

3.1. Automatizirani sustav kalkulacija primjenom neuronskih mreža u MATLAB-u . 16 3.1.1. Prikupljanje i digitalizacija informacija ... 16

3.1.2. MATLAB – povijest i definicija ... 19

3.1.3. MATLAB – sinkronizacija podataka i izrada neuronske mreže ... 19

3.2. MATLAB – Neural Net Fitting ... 20

4. Rezultati ... 27

4.1. Mjerenje ovisnosti uspješnosti mreže o broju neurona u skrivenom sloju ... 27

4.2. Mjerenje ovisnosti uspješnosti mreže o veličini uzorka ... 30

4.3. Usporedba preciznosti neuronske mreže i kalkulanta ... 33

(7)

5.1. Mjerenje ovisnosti uspješnosti mreže o broju neurona u skrivenom sloju ... 35

5.2. Mjerenje ovisnosti uspješnosti mreže o veličini uzorka ... 36

5.3. Usporedba preciznosti neuronske mreže i kalkulanta ... 37

6. Zaključak ... 39

7. Literatura ... 40

8. Popis slika ... 42

(8)

1. Uvod

Tema ovog diplomskog rada vezana je uz umjetne neuronske mreže te njihovu primjenu u grafičkoj industriji. Točnije, naglasak će biti na korištenju umjetnih neuronskih mreža za izradu tiskarskih kalkulacija, s ciljem točnijeg predviđanja količine materijala u tiskarskom procesu.

Ova tema odabrana je u suradnji s tiskarom Neograf d.o.o., koja će, ukoliko se pokaže uspješnim, u svoj proizvodni proces implementirati sustav kalkulacija razvijen kroz ovaj diplomski rad.

Cilj ovog rada jest stvoriti automatizirani sustav kalkulacija koji će biti u stanju predvidjeti potrebnu količinu materijala za određeni tiskarski process pomoću nekoliko zadanih parametara iz radnog naloga.

U teorijskom dijelu rada bit će razjašnjen pojam biološke neuronske mreže, a zatim i umjetne neuronske mreže. Nakon povijesnog pregleda razvoja neuronskih mreža i neuro-računarstva u cjelini, objasnit će se matematički model umjetne neuronske mreže – nužan za digitalno funkcioniranje svake neuronske mreže. Detaljno će se objasniti način funkcioniranja perceptrona – najjednostavnije umjetne neuronske mreže. Cilj tog poglavlja jest bolje razumijevanje neuronskih mreža. Također će se navesti na koje se sve načine mogu podijeliti vrste umjetnih neuronskih mreža. U tom će poglavlju biti objašnjeni osnovni modeli, arhitekture te oblici učenja umjetnih neuronskih mreža.

Posljednji segment teorijskog dijela rada obradit će temu sustava kalkulacija u tiskarstvu, kao priprema za praktični dio rada, gdje će se opisati čitav proces izrade automatiziranog sustava kalkulacija. U tom će dijelu biti predstavljene i hipoteze ovog diplomskog rada.

Započet će se s opisom kako su prikupljene potrebne informacije iz tiskare, kako su one digitalizirane te pripremljene za rad s programom MATLAB. Nakon toga će se kronološki opisati kako se izradila neuronska mreža u programu MATLAB te će biti predstavljeni rezultati proizašli iz te mreže.

Dobiveni rezultati diskutirati će se u zasebnom segmentu rada, kako bi se zaključilo je li hipoteza potvrđena ili opovrgnuta.

(9)

2. Teorijski dio

2.1. Biološke neuronske mreže

Sposobnost preživljavanja presudno je za svaki živi organizam. Tako i ljudski mozak ima svoj vlastiti sustav za samostalno učenje, a čini ga mnoštvo neurona. Neuroni unutar ljudskog mozga međusobno su povezani signalnim putevima (Slika 1.), a čitav taj sustav naziva se neuronskom mrežom[1]. Najvažnije svojstvo biološke neuronske mreže je sposobnost adaptibilnosti, odnosno mogućnost prilagodbe kroz iskustvo.

Slika 1. Ilustracija sustava neurona u ljudskom mozgu

Razvoj neuroznanosti i paralelni razvoj tehnologije doveli su znanstvenike do mogućnosti imitacije bioloških neuronskih mreža. Takvi sustavi nazivaju se umjetnim neuronskim mrežama, ili artificial neural networks (ANN). Problematika ANN-a biti će glavni predmet teoretskog dijela ovog diplomskog rada.

2.2. Umjetne neuronske mreže

2.2.1. Definicija umjetne neuronske mreže

Umjetne neuronske mreže mogu se definirati na više načina. Jednu od najjednostavnijih definicija ponudila je web-stranica Techopedia[2]:

“Umjetna neuronska mreža jest računalni model baziran na strukturama i funkcijama bioloških neuronskih mreža. Informacija unutar mreže utječu na njenu strukturu jer se neuronska mreža mijenja ovisno o ulaznim i izlaznim informacijama.”

Još jednu sličnu definiciju ponudili su Christos Stegiou i Dimitrios Siganos u svom istraživanju umjetnih neuronskih mreža[3]:

“Umjetna neuronska mreža jest paradigma procesuiranja informacija, a inspirirana je načinom na koji biološki živčani sustavi (poput ljudskog mozga) procesuiraju informacije. Umjetna neuronska mreža sastoji se od mnoštva međusobno povezanih elemenata (neurona) 2

(10)

čiji je cilj rješavanje različitih problema. Umjetne neuronske mreže, poput ljudi, uče iz iskustva.”

Najznačajnije odrednice umjetnih neuronskih mreža nalaze se u obje definicije. Prvenstveno, važno je znati da su umjetne neuronske mreže nastale pokušavajući imitirati signalne puteve u ljudskom mozgu, te da se one konstantno mijenjaju, dok god informacije unutar mreže putuju. Upravo je ta sposobnost samostalnog učenja ono što izdvaja umjetne neuronske mreže od ostalih računalnih sustava.

Osim tekstualnim definicijama, suština umjetne neuronske mreže može se objasniti kroz nekoliko kratkih pravila[4]:

- Procesuiranje informacija događa se na svakom pojedinom neuronu

- Signali između neurona se međusobno prenose

- Svaki signal iz neurona ima određeni težinski faktor. Taj težinski faktor definira koliko će snažan biti izlazni signal iz neurona.

- Svaki neuron stvara aktivacijsku funkciju ulaznog parametra kako bi stvorio izlazni parametar

Wikipedia nudi još jednu karakterizaciju ANN-a, te navodi da je svaka umjetna neuronska mreža određena s tri parametra[5]:

- Uzorak kojim su međusobno povezani slojevi neurona

- Proces učenja kojim se izmijenjuju težinski faktori neuronskih veza

- Aktivacijska funkcija koja pretvara ulazni parametar u izlazni

Budući da umjetne neuronske mreže koriste informacije za samostalno učenje, od iznimne je važnosti količina tih ulaznih informacija. Naime, što više relevantnih informacija pružimo umjetnoj neuronskoj mreži, veća je vjerojatnost da će ona uspjeti generirati uspješne rezultate. O primjeni umjetnih neuronskih mreža biti će riječi u kasnijem dijelu rada, no može se reći da su umjetne neuronske mreže u stanju rješavati čitav niz raznih matematičkih problema. Zahvaljujući razvoju tehnologije, danas se razni problemi mogu prevesti u matematički oblik koji pogoduje umjetnim neuronskim mrežama, pa je tako i primjena umjetnih neuronskih mreža sve šira.

(11)

2.2.2. Nastanak i razvoj umjetnih neuronskih mreža

Nastanak umjetnih neuronskih mreža vodi nas do 1943. godine kada su Warren S. McCulloch i Walter Pitts razvili prvi takav model[3][6]. U svom su radu istaknuli kako njihov model predstavlja “logički izračun ideja prisutnih u živčanim aktivnostima”. Također, objašnjavaju kako svaki neuron u mreži prima ulaznu informaciju, procesuira ju, te generira izlazni parametar.

Kada govorimo o 40-tim godinama prošlog stoljeća, važno je napomenuti da tadašnja tehnologija nažalost nije mogla pratiti zahtjeve umjetnih neuronskih mreža nužnih za njihov napredak. Zato je sljedećih desetak godina taj dio znanosti praktički stagnirao, a u nekoj literaturi taj se period naziva “zimom neuronskih mreža”[7].

Sljedeći veliki korak u razvoju umjetnih neuronskih mreža ponudio je Frank Rosenblatt. Iako prvenstveno psiholog, Rosenblatt se 1956. godine pridružio odsjeku za neurobiologiju pri Sveučilištu Cornell, gdje je naredne godine[4] razvio algoritam za najjednostavniji model umjetne neuronske mreže – perceptron. Rosenblatt je kasnije postao jedan od vodećih stručnjaka u polju neurocomputing-a, odnosno neuro-računarstva, a njegovim najvažnijim radom smatra se “Principi neurodinamike” objavljen 1962. godine[4].

Slika 2. Frank Rosenblatt i Richard C. Lesser na Sveučilištu Cornell

Nastanak perceptrona narednih je godina podigao veliku prašinu, te se počela buditi svijest o razvoju umjetne inteligencije. Već početkom 60-tih godina perceptron se počeo primijenjivati u znanstvenim istraživanjima. Kao rezultat novog vala istraživanja, ovo je desetljeće ponudilo još jedan značajan napredak u razvoju neuro-računarstva – ADALINE (engl. ADAptive LInear NEuron)[8]. ADALINE je, poput perceptrona, jednostavan model ANN-a. Razvio ga je tadašnji student Marcian E. “Ted” Hoff pod vodstvom znanstvenika Bernarda Widrowa[4]. Za

(12)

razliku od perceptrona, ADALINE se djelomično koristi još i danas. Usprkos tome, veća se povijesna važnost pridaje perceptronu, budući da on predstavlja prvi takav model ANN-a.

Nakon početnog uspjeha, razvoj neuro-računarstva naišao je na prve ozbiljne probleme. Ti problemi mogu se odvojiti u dva segmenta. Prvo, važno je istaknuti da su istraživanja vršena vrlo nejednoliko, a nije postojala već ustaljena praksa kod istraživanja ovog područja znanosti. To je značilo da se rezultati ovakvih istraživanja često nisu shvaćala preozbiljno, a mnogi su znanstvenici odbijali prihvatiti ozbiljnost čitave priče. Osim toga, znanstvenici koji su proučavali neuro-računarstvo javno su predviđali i obećavali revolucionarne promjene u sferi umjetne inteligencije, a neuspjeh njihovih predviđanja samo je potvrdio nepovjerenje znanstvene zajednice u razvoj neuro-računarstva[4].

Negativni trendovi pratili su neuro-računarstvo do kraja desetljeća, koje je završilo u znaku rada autora Marvina Minskog i Seymoura Paperta 1969. godine: “Perceptrons: an introduction to computational geometry”[9]. U svom radu, Minsky i Papert pružili su ozbiljnu kritiku perceptrona te neuro-računarstva općenito. Nedostaci prikazani u radu rezultirali su potpunim “gašenjem” istraživanja na području neuro-računarstva narednih godina. Taj se rad smatra svojevrsnom prekretnicom u razvoju neuro-računarstva.

Sljedeće desetljeće nije pokazalo gotovo nikakva važna saznanja na području umjetnih neuronskih mreža i neuro-računarstva. Ipak, kako se kasnije pokazalo, bilo je to samo prolazni period, prije velikih promjena.

Razvoj tehnologije potpomogao je novim istraživanjima i mogućnostima u neuro-računarstvu. Novi val istraživanja doveo je do širenja svijesti o neuro-računarstvu, pa se tako do kraja 80-tih dogodilo mnoštvo promjena u znanstvenoj zajednici na tom području. U nastavku su neke od njih:

- 1987. – IEEE International Conference of Neural Networks (San Diego)

- Prva otvorena konferencija o umjetnim neuronskim mrežama

- 1987. – International Neural Network Society (INNS)

- Na spomenutoj konferenciji osnovano je međunarodno društvo znanstvenika koji se bave umjetnim neuronskim mrežama

- 1988. – Neural Networks journal

- Prvi znanstveni časopis koji se bavi umjetnim neuronskim mrežama

Ipak, najznačajniji je događaj bio istraživački rad u kojem je 1986. godine prvi puta predstavljen backpropagation algorithm[6], odnosno algoritam povratnog prostiranja izlazne 5

(13)

pogreške[8]. Taj je algoritam (Rumelhart, McClelland, 1986.)[6] bio prvi koji je uspješno apsolvirao problem učenja višeslojnih neuronskih mreža. Mnogi su današnji modeli umjetnih neuronskih mreža bazirani upravo na ovom algoritmu.

Zaključno s predstavljanjem backpropagation algoritma, prestaju revolucionarna otkrića u području neuro-računarstva, ali to ne znači da prestaje i razvoj te znanosti. Dapače, posljednja desetljeća predstavljaju vjerojatno i najplodniji period u povijesti razvoja umjetnih neuronskih mreža. Dok je prijašnjih desetljeća razvoj bio funkcija znanstenih otkrića i novih pogleda na neuro-računarstvo, posljednjih godina tehnologija je ono što uistinu pokreće razvoj umjetnih neuronskih mreža, neuro-računarstva i umjetnu inteligenciju. Rapidni razvoj silicijske industrije doveo je primjenu ANN-a do zavidne razine, pa tako možemo reći da se prosječan korisnik tehnologije i interneta svakodnevno susreće s umjetnim neuronskim mrežama. Skype, Google i Microsoft[7] samo su neki od giganta industrije koji koriste ANN u raznim područjima.

(14)

2.2.3. Matematički model umjetne neuronske mreže

Umjetne neuronske mreže ne bi mogle postojati bez svog matematičkog modela. Matematički model ANN-a pokušava raščlaniti biološku neuronsku mrežu na faktore koji će se kasnije moći kvantificirati. Matematički model ANN-a sadrži sljedeće elemente:

- Neuron Ni

- Ulazni parametar S = {xj / j = 1, 2, ..., n}

- Težinski faktor Wij

- Skalarni pomak (bias) W0

- Prag osjetljivosti(threshold) ϴk

- Aktivacijska funkcija f(s)

U jednadžbi je izlazni parametar O i-tog neurona Ni jednak:

𝑂𝑂

𝑖𝑖

=

𝑓𝑓 �𝑤𝑤

0

+

� 𝑤𝑤

𝑖𝑖𝑖𝑖

𝑥𝑥

𝑖𝑖 𝑛𝑛

𝑖𝑖=1

(1)

Uvjet za stvaranje izlaznog parametra je:

𝑤𝑤

0

+

� 𝑤𝑤

𝑖𝑖𝑖𝑖

𝑥𝑥

𝑖𝑖

𝑛𝑛

𝑖𝑖=1

𝛳𝛳

(2)

Ulazni parametar za i-ti neuron Ni je:

𝑠𝑠

𝑖𝑖

=

𝑤𝑤

0

+

� 𝑤𝑤

𝑖𝑖𝑖𝑖 𝑛𝑛 𝑖𝑖=1

𝑥𝑥

𝑖𝑖

(3)

Konačno, izlazni parametar jednak je aktivacijskoj funkciji razlike ulaznog parametra i praga osjetljivosti:

𝑂𝑂

𝑖𝑖

=

𝑓𝑓

(

𝑠𝑠

𝑖𝑖

− 𝛳𝛳

𝑖𝑖

)

(4)

2.2.4. Najjednostavnija umjetna neuronska mreža - perceptron

U ranijem segmentu rada, nastanak perceptrona spomenut je u povijesnom kontekstu. U ovom poglavlju objasnit će se na koji način funkcionira perceptron, kako bi se dobila jasnija 7

(15)

slika funkcioniranja umjetnih neuronskih mreža u cjelini. Važno je napomenuti da je perceptron, iako se danas ne koristi u primjeni ANN-a, postavio temelje za razvoj svih daljnjih modela ANN-a, i stoga je važno shvatiti njegovu logiku i princip rada.

Kao što je ranije rečeno, perceptron je najjednostavniji model umjetne neuronske mreže. Definira ga ulazni parametar (ili više njih), processor, te samo jedan izlazni parametar.

Perceptron koristi tzv. “feed-forward” model, koji podrazumijeva da se ulazni parametri šalju neuronu, koji procesuiranu informaciju pretvara u izlazni parametar.

U nastavku je prikazan primjer funkcioniranja perceptrona kroz jednostavan matematički primjer, radi još boljeg razumijevanja problematike.

1. Primanje ulaznih informacija

Pretpostavimo da imamo dva inputa, x1 i x2: Input 0: x1=12

Input 1: x2=4

2. Stvaranje težinskih vrijednosti (weight)

Svaki ulazni parameter prije slanja u neuron mora imati pripadajuću težinsku vrijednost – brojčanu vrijednost koja označava “jačinu” (najčešće vrijednost između -1 i 1). Najčešće se zadaju nasumične vrijednosti, pa će i naši ulazni parametric imati takve:

Weight 0: 0.5 Weight 1: -1

Sada moramo pomnožiti ulazne parametre s pripadajućim težinskim vrijednostima: Input 0 * Weight 0 = 12 * 0.5 = 6

Input 1 * Weight 1 = 4 * -1 = -4 3. Zbrajanje ulaznih parametara

Korigirani ulazni parametri sada se zbrajaju: Sum = 6 + -4 = 2

4. Generiranje izlaznog parametra

Izlazni parameter perceptrona generira se prolaskom zbroja ulaznih parametara kroz aktivacijsku funkciju. U slučaju binarnog izlaza, aktivacijska funkcija izdaje naredbu perceptronu – DA ili NE.

(16)

Aktivacijske funkcije mogu biti vrlo kompleksne, no u ovom slučaju korititi će se vrlo jednostavna – ukoliko je zbroj pozitivan, izlazni parameter biti će 1; ukoliko je zbroj negativan, izlazni parameter će biti -1. Budući da je zbroj naših (korigiranih) ulaznih parametara pozitivan (6 + (-4) = 2), izlazni parameter biti će +1:

Output = sign(sum) = sign(2) = +1

2.2.5. Vrste, modeli i arhitektura umjetnih neuronskih mreža

Budući da imaju vrlo široku praktičnu primjenu, umjetne neuronske mreže mogu se podijeliti u skupine na više načina. S obzirom na vrstu aktivacijske funkcije, u određenim literaturama ANN se dijele na sljedeći način (nazivi nisu prevedeni na hrvatski jezik, budući da engleski nazivi indikativnije prenose ideju pojedinog modela)[4]:

- Linear

- Sign

- Sigmoid

- Step

U istom radu, ANN su podijeljene i po svojoj arhitekturi na:

- Feed-forward

- Recurrent

- Radial Basis function

- Hopfield

- Cellular

- Finite element

- Wavelet

Ukoliko ih gledamo s aspekta učenja, odnosno treniranja, umjetne neuronske mreže možemo podijeliti na:

- Supervised

- Unsupervised

- Reinforcement

- Competititve

Odličan vizualni prikaz podjele umjetnih neuronskih mreža (Slika 3.) može se pronaći u radu “Neuronske mreže i genetički algoritmi u upravljanju sustavima”[8]:

(17)

Slika 3. Shematski prikaz podjele umjetnih neuronskih mreža[8].

2.2.6. Učenje umjetnih neuronskih mreža

Sve metode korištene za adaptivno učenje ANN-a mogu se podijeliti u dvije osnovne kategorije[3]:

- Supervised learning

- Unsupervised learning

(18)

U literaturi se spominje i treća kategorija[5] – reinforcement learning, pa i četvrtu kategoriju[4] – competitive learning. U ovom poglavlju objasnit će se prve dvije navedene kategorije.

Supervised learning podrazumijeva vanjskog učitelja. U takvim se sustavima svakom ulaznom parametru pruži i željeni izlazni parametar. Učenje mreže bazira se na detekciji greške pri svakom pokušaju generiranja točnog rezultata. Svaki puta mreža pamti grešku, te ju svakim sljedećim pokušajem smanjuje. Najčešće se to postiže korekcijom težinskih faktora svakog pojedinog ulaznog parametra.

Unsupervised learning, s druge strane, ne koristi vanjskog učitelja već se bazira isključivo na lokalnim informacijma. Ovakva mreža sama organizira i raspoređuje ulazne parametre.

2.3. Primjena i daljnji razvoj neuronskih mreža

Kao što je navedeno u prethodnom segmentu rada, primjena umjetnih neuronskih mreža u konstantnom je rastu i razvoju. Tako su Microsoft, Google i Skype samo neki od industrijskih giganta koji su u svoje poslovanje implementirali ANN[7]. Osim razvoja tehnologije, koji je trenutno glavni motor koji pokreće i razvoj ANN-a, važna komponenta jest i količina dostupnih podataka.

Posljednjih godina u svijetu je prisutan nagli razvoj “Big Data” praksi, odnosno znanosti podataka. Digitalizacijom velikog dijela industrije, stvaraju se nezamislive količine podataka i informacija. Dok je u prošlosti velik problem predstavljala činjenica da ne postoji dovoljna količina relevantnih informacija, danas je problem upravo prevelika količina informacija[10]. Američki autor Nate Silver, koji se bavi “znanošću predviđanja”, u svojoj knjizi “The Signal and the Noise : Why Most Predictions Fail – but Some Don't”[10] piše kako je upravo način na koji razlučujemo bitne informacije od nebitnih, odnosno relevantne od irelevantnih, ključan za današnje doba.

Iako umjetne neuronske mreže nisu jedini matematički model kojim se mogu uspješno izvršiti zadaće koje Silver spominje, zasigurno su jedna od tehnologija koja će, zahvaljujući daljnjem rastu količine zapisanih podataka u svijetu, igrati važnu ulogu u budućnosti brojnih industrija.

(19)

2.4. Sustav kalkulacija u tiskarstvu 2.4.1. Izrada sustava kalkulacija

Izrada kalkulacija sastavni je dio svakog tiskarskog poduzeća. Kako bi tiskara mogla predložiti klijentu ponudu za određeni proizvod, potrebno je sastaviti čitavu tiskarsku kalkulaciju. Tiskarska kalkulacija podrazumijeva organizaciju cjelokupnog procesa pripreme, tiska i dorade kako bi se klijentu isporučila ponuda za gotov proizvod.

Osoba zadužena za izradu kalkulacija u tiskari Neograf d.o.o. ovako opisuje njihov značaj u proizvodnji:

“Izračun troškova izrade nekog proizvoda temelj je za ekonomski isplativo i održivo poslovanje proizvodne tvrtke. Ukoliko su troškovi pogrešno predviđeni i kalkulacija se odradi sa netočnim ulaznim podacima, može se dogoditi da će ponuda biti previsoka u odnosu na konkurenciju te je moguće zbog greške izgubiti inače isplativ posao ili, s druge strane, da je cijena koju smo dali premalena pa poslujemo s gubitkom. Niti jedan od ovih slučajeva nije povoljan i može se izbjeći pažljivim i ispravnim postavljanjem normi za izradu kalkulacije. Tu moramo uključiti brzinu rada strojeva, ovisno o vrsti posla, cijenu sata rada strojeva te optimalnu količinu tehnološkog viška materijala koji je potrebno dodati da bi na kraju proizveli količinu čim bližu naručenoj. Preveliki višak povećava troškove pa će, u slučaju da smo u kalkulaciji predvidjeli preveliki višak, cijena koju damo biti veća nego što je trebala. Ukoliko je višak koji smo predvidjeli premali moguće je da na kraju proizvodnje nemamo dovoljno gotovog proizvoda za isporuku pa je potrebno ponavljati proizvodnju manjeg dijela narudžbe, što sa sobom nosi velike, nepredviđene troškove. Druga je opcija da smo prije proizvodnje vidjeli da je višak s kojim je rađena kalkulacija premali pa moramo za narudžbu izdati materijal koji kalkulacijom nije predviđen te na taj način ponovno imamo povećane troškove proizvodnje i smanjujemo zaradu.

Izračun optimalnog tehnološkog viška ovisi o velikom broju parametara i vrlo je dobro ukoliko normu za tehnološki višak možemo izraditi iz čim je više moguće ulaznih podataka prikupljenih u proteklim proizvodnjama sličnog proizvoda. Višak koji će nam biti potreban ovisi o veličini nakalde, veličini proizvoda, vrsti materijala, složenosti posla, broju i zahtjevnosti potrebnih operacija, ali i stroju na kojem se pojedine operacije izvode te često i o djelatniku koji neku operaciju obavlja. Neke od ovih parametara lakše je predvidjeti i normirati od nekih drugih, kao što je utjecaj djelatnika na količinu utrošenog viška. Također, puno je lakše predvidjeti koliko će viška biti potrebno za namještanje strojeva, od onog dijela koji nam 12

(20)

služi kao sigurnost u slučaju da dođe do nekih nepredvidivih problema u procesu. S koje god strane gledali, jako je važno da tehnološki višak bude optimalno određen.

Prikupljanje i analiza podataka za izračun optimalne količine tehnološkog viška zahtjevan je i dugotrajan posao, a moguće je da i sa analizom velikog broja podataka opet nećemo lako moći odrediti ono što je najoptimalnije za konkretan proizvod.”

Slika 4. Fotografija prve stranice radnog naloga tiskare Neograf d.o.o.

U istoj tiskari navedene tiskarske kalkulacije nalaze se unutar radnih naloga, koji služe kao svojevrsni “dnevnici” jednog proizvoda. Od izrade same kalkulacije, pa do pakiranja proizvoda – sve su operacije zapisane u radnom nalogu. Prvu stranicu radnog naloga čini kalkluacija (Slika 4.), a između ostalog sadrži sljedeće parametre i informacije:

- Naklada za tisak

- Strojevi i štance koji će se koristiti

- Broj boja apliciranih u tisku

- Operacije u doradi

- Broj transportnih kutija; broj proizvoda po kutiji

- Gramatura i format papira/kartona

- Broj i format araka za tisak

Iako ovdje nisu navedeni svi parametri koji se nalaze unutar kalkulacije, vrlo je jasno da ona objedinjuje čitav niz operacija koje će se obavljati kako bi se isporučio gotov proizvod. Zadaća kalkulanta jest da na najbolji mogući način iskoristi tehnološke resurse tvrtke, kako bi izrada proizvoda bila što efikasnija – vremenski, logistički i financijski.

Budući da kalkulant ručno izrađuje kalkulaciju, za očekivati je da u procesu postoji faktor ljudske pogreške. Čak i najiskusniji nisu u stanju u potpunosti točno predvidjeti tijek procesa

(21)

tiska od početka do kraja. Naravno, dok god su greške kalkulanta u zadovoljavajućim granicama, to ne kompromitira čitav proces proizvodnje.

2.4.2. Nedostaci klasičnih tiskarskih kalkulacija

Trenutni sustav kalkulacija koji se koristi u tiskari Neograf d.o.o. u najmanju je ruku ravnopravan sa sustavima koji koriste tiskare u ostatku Hrvatske. Ipak, čak i takav ima mnoge nesavršenosti. To ne znači da su sustavi kalkulacija u Hrvatskoj nekvalitetni, već znači da jednostavno postoji mnogo prostora za napredak.

Ranije je u ovom diplomskom radu spomenut termin data science, koji podrazumijeva usmjereno korištenje velikih količina podataka. Upravo je to karika koja može unaprijediti sustave kalkulacija koji koriste tiskare poput Neograf d.o.o.

Svakim isporučenim proizvodom, radni nalog se izvršava te se isti skladišti u arhiv. Međutim, ne postoji nijedan kompletan digitalni zapis ekvivalentan radnom nalogu. Time se, nažalost, propušta prilika za stvaranjem vrlo velike digitalne baze radnih naloga u kratkom vremenskom periodu.

Vrijedi napomenuti da sustavi za digitalnu pohranu svih podataka unutar tiskare postoje, ali rijetko se koriste. Osnovni je razlog što su takvi sustavi dio sveobuhvatnih sustava za vođenje tiskare koji su u pravilu vrlo skupocijeni pa ih zbog toga tiskare u Hrvatskoj i regiji u pravilu izbjegavaju. Osim toga, takvi sustavi traže od tiskare da prilagode dijelove proizvodnje na način da oni odgovaraju sustavu. To bi u praksi značilo zastoj rada na nekoliko sati ili čak dana, a samim time i gubitak značajne novčane svote.

Zbog svih navedenih problema pri implementaciji sveobuhvatnog sustava vođenja tiskare, tvrtke u pravilu nastavljaju rad usprkos nedostacima u proizvodnji. Bez obzira na to, u stanju su isporučiti proizvode vrhunske kvalitete na vrijeme. Ipak postavlja se pitanje mogu li se ti nedostaci riješiti na drukčiji način – bez prevelikih ulaganja i prilagodbe.

U nastavku ovog rada biti će prikazan upravo takav pokušaj da se dio proizvodnje jednostavnom digitalizacijom radnog naloga, odnosno tiskarske kalkulacije, dovede na višu razinu efikasnosti.

(22)

2.5. Hipoteza

Prije početka eksperimentalnog dijela ovog rada, bilo je potrebno postaviti hipoteze. One su postavljene nakon konzultacija sa zaposlenicima tiskare Neograf d.o.o. te s mentorom ovog rada. Nakon konzultacija, postavljene su dvije hipoteze:

1. Da bi se postigla potrebna preciznost predviđanja viška materijala, za izgradnju neuronske mreže potrebno je prikupiti barem 200 uzoraka.

2. Izradom automatiziranog sustava kalkulacija primjenom neuronskih mreža bit će moguće izračunati potreban višak materijala s jednakom ili većom preciznošću no što je to slučaj kada višak računa kalkulant.

Prva hipoteze postavljena je da se brojčano odredi najmanja potrebna količina radnih naloga u digitalnoj bazi podataka korištenoj u ovom radu. Naposlijetku će se koristiti točno 226 radnih naloga.

Druga hipoteza predstavlja srž problema kojim se bavi eksperimentalni dio rada. U prethodnom je segmentu rada navedeno kako kalkulant prilikom izrade kalkulacija koristi iskustvo da bi odredio višak materijala za određeni tiskarski proces. Ta je procjena, naravno, nesavršena i ponekad dovodi do znatnih grešaka. Ukupno gledajući, te greške nisu kardinalne i ne predstavljaju značajan šum u proizvodnom procesu tiskare. Međutim, ukoliko se druga hipoteza ovog rada potvrdi, analogno se može zaključiti da se sličnim putem može riješiti čitav niz manjih nedostataka u proizvodnji. Poboljšanjem nekoliko manjih segmenata proizvodnje, ukupna bi se kvaliteta proizvodnog procesa zasigurno podigla.

(23)

3. Praktični dio

3.1. Automatizirani sustav kalkulacija primjenom neuronskih mreža u MATLAB-u

3.1.1. Prikupljanje i digitalizacija informacija

Prvi korak potreban za stvaranje automatiziranog sustava kalkulacija jest prikupljanje podataka. U ovom slučaju, radilo se o informacijama koje se nalaze u radnim nalozima – u tiskanom obliku. Iako u tiskari Neograf d.o.o. postoje i digitalni zapisi radnih naloga, oni su često nepotpuni te nisu u potpunosti točni. Takvi nedostaci digitalnih zapisa posljedica su nekolicine manjih izmjena koje se događaju prilikom proizvodnog procesa, a korekcija digitalnih zapisa u tom bi trenutku značila prevelik utrošak vremena. Stoga je tiskani oblik radnog naloga predstavljao najrelevantiji izvor podataka potrebnih za izradu automatiziranog sustava kalkulacija.

Radni nalog u tiskari Neograf d.o.o. sastoji se od desetak stranica (broj stranica varira ovisno o broju operacija u tisku), a većina potrebnih informacija nalazi se na prvoj stranici (prikazano ranije, Slika 4). Budući da radni nalozi moraju u svakom trenutku biti u samoj tiskari, cilj je bio prikupiti što više podataka u što kraće vrijeme. Ispostavilo se da je najbrži način ručno fotografiranje svake prve stranice svakog radnog naloga. Kasnije, te će se fotografije prevesti u zadovoljavajući format izvan prostora tiskare Neograf d.o.o.

Osim informacija na prednjoj stranici, još jedna bitna informacija nalazi se na posljednoj stranici radnog naloga. Radi se o broju isporučenih proizvoda, koji je krucijalan za izradu automatiziranog sustava kalkulacija kako bi se saznalo koliki broj proizvoda je zaista “izgubljen” u procesu proizvodnje. Budući da se radi samo o jednoj brojčanoj vrijednosti, najbrži način zabilježavanja tog podatka bio je njegovo prepisivanje na list papira s rednim brojem pripadajućeg radnog naloga.

Fotografiranjem prve, te prepisivanjem podataka s posljednje stranice radnog naloga, sakupljene su svi potrebni podaci s jednog radnog naloga. Taj je proces ponovljen 226 puta – toliko se ukupno radnih naloga i koristilo u izradi ovog diplomskog rada.

Nakon prikupljanja potrebnih podataka iz tiskare Neograf d.o.o., bilo je potrebno iste i prevesti u digitalno okruženje. U suradnji s kalkulantom, odabrano je koji će podaci s radnog naloga služiti kao ulazni parametri neuronske mreže. Sukladno tome, prvi korak u digitalizaciji podataka bio je stvaranje Excel dokumenta sa svim odabranim ulaznim parametrima:

(24)

Slika 5. Prikaz ulaznih parametara u Excel dokumentu

Pri odabiru ulaznih parametara, važno je odabrati onaj broj parametara koji odgovara načinu rada neuronskih mreža. Premali broj parametara ne daje neuronskoj mreži dovoljno informacija, te je ona u nemogućnosti u potpunosti shvatiti zadani problem. Na taj se način ne koristi puni potencijal neuronske mreže. S druge strane, preveliki broj ulaznih parametara može zagušiti mrežu, pa mreža ima previše informacija i ne može s lakoćom zaključiti koji su parametri zaista presudni.

U idealnim uvjetima, kada bi broj uzoraka (u ovom primjeru – radnih naloga) bio beskonačno velik, nebi bilo potrebno smanjivati broj ulaznih parametara, no u slučajevima poput ovog, kada je broj uzoraka relativno malen, smanjivanje broja parametara može značiti bolje rezultate.

Nakon odabira ulaznih parametara, sve vrijednosti sa svih radnih naloga prepisane su u isti Excel dokument:

(25)

Slika 6. Prikaz Excel dokumenta s informacijama iz jednog radnog naloga.

Slika 7. Prikaz Excel dokumenta s informacijama više radnih naloga.

Nažalost, neki radni nalozi prikupljeni iz tiskare Neograf d.o.o. nisu bili potpuno spremni za korištenje u eksperimentu. Naime, ti su nalozi sadržavali naknadno (ručno) upisane podatke koji se nisu poklapali s ostalim podacima u istom nalogu. Ti su primjeri u Excel dokumentu označeni crvenom bojom (Slika X.) i nisu bili dio neuronske mreže u kasnijim eksperimentima. Iako je time smanjen uzorak, istovremeno se zadržala dosljednost eksperimenta.

Nakon što su u Excel dokument ubačene sve informacije sa svih radnih naloga, potrebno je isti dokument prilagoditi računalnom programu MATLAB u kojem će se izvoditi eksperimentalni dio rada.

(26)

3.1.2. MATLAB – povijest i definicija

- Pripremanje Excel dokumenta za import u MATLAB

- Korak po korak objašnjen process izrade neuronske mreže u MATLAB-u

- Screenshotovi pojedinih koraka

Računalni program MATLAB proizvod je američke tvrtke MathWorks. MATLAB je jedan od najmoćnijih i najčešće korištenih inženjerskih računalnih programa danas. Jednu definiciju MATLAB-a ponudio je prof. dr. sc. Tomislav Petković[11]:

“Program MATLAB služi za rješavanje različitih matematičkih problema, te čitav niz izračunavanja i simulacija vezanih uz obradu signala, upravljanje, regulaciju i identifikaciju sustava.”

Istovremeno, Wikipedia nudi sljedeću definiciju[12]:

“MATLAB je numeričko računalno okruženje, a izvršava manipulacije matrica, dopušta rad s funkcijama i podacima, implementaciju algoritama, stvaranje korisničkih sučelja. Podoban je za povezivanje s programima napisanim u raznim programskim jezicima: C, C++, Java, Fortran i Python.”

Prva verzija MATLAB-a (skraćeno od matrix laboratory) na tržištu je dostupna od 1984. godine, a sam razvoj programa trajao je još od prethodnog desetljeća. Tijekom godina MATLAB se konstantno širio i razvijao, a od ožujka ove godine na tržištu je već MATLAB 9.0 inačica[12]. Današnja verzija MATLAB-a nudi širok spektar matematičkih i inženjerskih alata, a jedan od njih je i Neural Network Toolbox. Upravo će se taj alat koristiti u eksperimentalnom dijelu ovog diplomskog rada.

Kako bi se uspješno koristio MATLAB-ov alat neuronskih mreža, potrebno je podatke pripremiti u zadovoljavajuć oblik. U prethodnom segmentu rada opisan je proces digitalizacije podataka iz radnih naloga. Za MATLAB je potrebno dodatno obraditi postojeći Excel dokument.

3.1.3. MATLAB – sinkronizacija podataka i izrada neuronske mreže

MATLAB-ov Neural Network Toolbox funkcionira kao matematički program te prepoznaje isključivo brojčane vrijednosti. Sukladno tome, iz postojećeg Excel dokumenta s ulaznim i izlaznim parametrima potrebno je stvoriti dva odvojena Excel dokumenta:

(27)

- Dokument ulaznih parametara – ovaj dokument sadržavat će isključivo brojčane vrijednosti svih 15 ulaznih parametara svih 226 radnih naloga korištenih u eksperimentu

- Dokument izlaznih parametara – ovaj dokument sadržavat će isključivo brojčane

vrijednosti jednog izlaznog parametara svih 226 radnih naloga korištenih u eksperimentu

U nastavku su prikazani primjeri navedenih dokumenata:

Slika 8. Prikaz Excel dokumenta ulaznih parametara (prilagođen za MATLAB).

Slika 9. Prikaz Excel dokumenta izlaznih parametara (prilagođen za MATLAB).

3.2. MATLAB – Neural Net Fitting

Eksperimentalni dio rada u potpunosti je izvršen u programu MATLAB. Kao osnovni alat korišten je MATLAB-ov Neural Network Toolbox. U ovom dijelu rada, prije prikaza samih rezultata, ukratko će se objasniti koje sve opcije MATLAB nudi pri izradi neuronske mreže, te koje su opcije odabrane i korištene pri eksperimentu.

(28)

1. Odabir vrste neuronske mreže

Prije početka same izrade, potrebno je odabrati vrstu neuronske mreže. MATLAB nudi četiri predefinirana modela:

Slika 10. Odabir modela unutar Neural Network Toolbox alata.

U ovom slučaju, koristiti će se model “Neural Network Fitting”, koji je predviđen za mreže s jednim izlaznim parametrom. Ovakav model ujedno se i najčešće koristi. Ostali modeli nude nešto specifičnije postavke, te je za njih potrebno stvoriti nešto drukčije dataset-ove.

2. Kratki uvod u Neural Network Toolbox

Nakon odabira modela neuronske mreže, MATLAB otvara novi prozor u kojem prikazuje kratak tekstualni uvod u teoriju neuronskih mreža, uz kratak (ali vrlo spretno izrađen) shematski prikaz:

Slika 11. MATLAB još jednom podsjeća na strukturu neuronskih mreža.

(29)

3. Unos podataka – stvaranje dataset-a neuronske mreže

U ovom koraku zaista počinje eksperiment i stvarna izrada neuronske mreže. Prvi korak potreban za to jest unos podataka iz Excel dokumenta. Kako je i objašnjeno u ranijem poglavlju rada, podaci iz Excel dokumenta razdvojeni su u dva odvojena dokumenta – jedan za ulazne parametre, a jedan za izlazne. U sljedećem prikazu ekrana može se jasno vidjeti na koji način MATLAB traži takvo odvojeno unošenje podataka.

Slika 12. Prikaz odabira Input, odnosno Target dataset-ova.

Slika 13. Odabir dataset-ova u obliku Excel dokumenta.

Nadalje, na sljedećem prikazu ekrana vidi se kako MATLAB nakon unošenja podataka prepoznaje “veličinu” dataset-a. Tako u ovom slučaju prikazuje da trenutni dataset zadrži:

(30)

- 226 uzoraka s 15 ulaznih parametara

- 226 uzoraka s jednim izlaznim parametrom

Slika 14. Provjera veličine uzoraka (ulazni i izlazni parametri).

Ovakav prikaz može poslužiti kao svojevrsna provjera prije početka treniranja mreže, budući da je ispravan unos dataset-a od iznimne važnosti.

Kako bi se pokušala dokazati velika povezanost veličine dataset-a s uspješnošću neuronske mreže, u ovom eksperimentu napravit će se tri odvojena mjerenja s tri različite veličine dataset-a. Pretpostavka jest da će se uspješnost neuronske mreže povećavati proporcionalno s veličinom dataset-a. Tri mjerenja sadržavati će:

- 100 (nasumično odabranih) uzoraka – 10 treninga mreže

- 163 (nasumično odabranih) uzoraka – 10 treninga mreže

- 226 (čitav dostupni dataset) uzoraka – 10 treninga mreže 4. Odabir validacijskog i testnog dijela mreže

Još je nekoliko koraka potrebno izvršiti prije treniranja neuronske mreže. Prvi od njih jest vezan uz distribuciju ukupnog broja uzoraka[13]:

- Trening – dio u kojem neuronska mreža sakuplja ulazne parametre i spaja ih s izlaznim, pokušavajući zadati odgovarajuće težinske faktore svakom ulaznom parametru.

- Validacija – dio u kojem mreža vrši svojevrsnu korekciju nastalih težinskih faktora. Validacijski dio također se može smatrati dijelom treniranja mreže, no on djelomično i priprema mrežu za posljednji, testni dio.

(31)

- Test – dio u kojem mreža bez zadanih izlaznih parametara pokušava što točnije predvidjeti vrijednosti istih. Točnost rezultata testnog dijela direktno odražava preciznost i uspješnost neuronske mreže.

Slika 15. Distribucija uzorka na tri dijela: trening, validacija i test.

MATLAB nudi predefiniranu opciju gdje se 70% uzoraka koristi za trening, 15% za validaciju te 15% za test. Strogog pravila za distribuciju uzoraka nema, budući da je svaka neuronska mreža specifična i ima jedinstvene karakteristike. Ipak, u većini slučajeva preporuča se da distribucija za trening varira između 60% i 70%, a distribucija za validaciju i test između 15% i 20%[13]. Unatoč tome, u ovom eksperimentu koristit će se vrijednosti s nešto većim naglaskom na trening i validaciju. Razlog tome je relativno mali uzorak, pa je stoga od iznimne važnosti trenirati mrežu što je više moguće. Vrijednosti su sljedeće:

- Trening – 70%

- Validacija – 20%

- Test – 10%

5. Odabir broja neurona u skrivenom sloju neuronske mreže

Poput prethodnog koraka, broj neurona u skrivenom sloju možemo definirati po vlastitom izboru. Također slično prethodnom koraku, strogog pravila pri odabiru nema, ali vrijedi uzeti u obzir sljedeće smjernice[14]:

- Broj neurona u skrivenom sloju trebao bi biti između aritmetičkih vrijednosti ulaznih i izlaznih parametara[14]

- Broj neurona = (ulazni parametri + izlazni parametri) * (2/3)

- Broj neurona trebao bi biti 70-90% zbroja aritmetičkih vrijednosti parametara 24

(32)

Slika 16. Prikaz ekrana s odabirom veličine neuronske mreže

Prateći navedena pravila, u ovom će se radu i eksperimentu koristiti tri različite vrijednosti broja neurona u skrivenom sloju:

- 8 neurona – polovica zbroja aritmetičkih vrijednosti ulaznih i izlaznih parametara

- 10 neurona – zbroj aritmetičkih vrijednosti ulaznih i izlaznih parametara pomnožen s 2/3

- 12 neurona – 75% zbroja aritmetičkih vrijednosti ulaznih i izlaznih parametara

6. Odabir algoritma za trening mreže

Posljednji korak prije treniranja neuronske mreže jest odabir algoritma za trening. MATLAB nudi tri algoritma, a u ovom eksperimentu koristit će se Levenberg-Marquardt algoritam.

Slika 17. Predefinirani algoritam, Levenberg- Marquardt, korišten je u eksperimentu.

(33)

7. Treniranje mreže i rezime

Nakon treniranja mreže, MATLAB automatski prikazuje kratak summary rezultata, vidljiv na Slici 18. i Slici 19. U sljedećem poglavlju rada rezultati svih mjerenja biti će detaljno prikazani i diskutirani.

Slika 18. “Summary” rezultata treniranja neuronske mreže

Slika 19. MATLAB nudi nekoliko različitih grafičkih i numeričkih prikaza rezultata.

(34)

4. Rezultati

4.1. Mjerenje ovisnosti uspješnosti mreže o broju neurona u skrivenom sloju

U ovom poglavlju rada bit će prikazani rezultati tri odvojena eksperimenta (pri svakom eksperimentu izvršeno je deset mjerenja) napravljena u programu MATLAB. Cilj ovog eksperimenta jest pokazati ovisnost uspješnosti mreže o broju neurona u skrivenom sloju neuronske mreže. Uspješnost mreže u svim eksperimentima ovog rada podrazumijeva mogućnost neuronske mreže da što točnije predviti potreban utrošak materijala (izlazni parametar) pomoću informacija iz radnih naloga (ulazni parametri). Kako bi se to postiglo, radit će se eksperimenti s osam, 10, odnosno 12 neurona. Osim grafičkih i numeričkih prikaza, svi će rezultati biti ukratko objašnjeni i tekstualno, gdje će se naglasiti najvažniji zaključci izvučeni iz pojedinih mjerenja.

1. Eksperiment

Tablica 1. Prikaz osnovnih podataka eksperimenta, vrijednosti MSE za svako mjerenje te srednja vrijednost MSE.

Veličina uzorka 226 uzoraka

Veličina mreže 8 neurona

Redni broj mjerenja i pripadajući MSE (Mean Square Error)

1 2 3 4 5

9775852.35 44170209.89 2070271.06 1114117.51 9593643.21

Redni broj mjerenja i pripadajući MSE (Mean Square Error)

6 7 8 9 10

4829832.3 2730038.19 644434.32 2277733.32 7223886.77

Srednja vrijednost MSE

8443001.892

Prvo mjerenje pokazalo je vrlo nekonzistentne rezultate. Vrijednost pogreške, koja se u svim mjerenjima izražava u obliku srednje kvadrirane pogreške (mean square error), kroz deset mjerenja vrlo je promijenjiva. Vrijednosti pogreške vidljive su u sljedećem grafičkom prikazu.

(35)

Plava linija prestavlja vrijednosti pogreške za svako pojedino mjerenja, dok narančasta linija prestavlja srednju vrijednost svih deset MSE vrijednosti.

Graf 1. Prikaz pogrešaka neuronske mreže pri predviđanju, uz srednju vrijednost svih deset pogrešaka.

2. Eksperiment

Tablica 2. Prikaz osnovnih podataka eksperimenta, vrijednosti MSE za svako mjerenje te srednja vrijednost MSE

Veličina uzorka 226 uzoraka

Veličina mreže 10 neurona

Redni broj mjerenja i pripadajući MSE (Mean Square Error)

1 2 3 4 5

1497947.36 1190250.03 69580917.32 1396857.87 2526205.29

Redni broj mjerenja i pripadajući MSE (Mean Square Error)

6 7 8 9 10

9444423.7 3413662.01 2089440.14 20181946 31019909.33

Srednja vrijednost MSE

14234155.91

Slično kao i u prethodnom eksperimentu, vrijednosti pogreške vrlo su nekonzistentne (Graf 2.) 0 5000000 10000000 15000000 20000000 25000000 30000000 35000000 40000000 45000000 1 2 3 4 5 6 7 8 9 10

Mean Square Error (MSE) Srednja Vrijednost MSE

(36)

Graf 2. Prikaz pogrešaka neuronske mreže pri predviđanju, uz srednju vrijednost svih deset pogrešaka.

3. Eksperiment

Tablica 3. Prikaz osnovnih podataka eksperimenta, vrijednosti MSE za svako mjerenje te srednja vrijednost MSE

Veličina uzorka 226 uzoraka

Veličina mreže 12 neurona

Redni broj mjerenja i pripadajući MSE (Mean Square Error)

1 2 3 4 5

18138315.8 24840672.9 9200277.57 3824523.59 2058480.33

Redni broj mjerenja i pripadajući MSE (Mean Square Error)

6 7 8 9 10

22322028.67 8965806.2 25066326.19 2174021.06 15451747.27

Srednja vrijednost MSE

13204219.96

Za razliku od prethodna dva eksperimenta, Graf 3. prikazuje nešto konzistentnije vrijednosti pogreške: 0 10000000 20000000 30000000 40000000 50000000 60000000 70000000 1 2 3 4 5 6 7 8 9 10

MSE Srednja Vrijednost MSE

(37)

Graf 3. Prikaz pogrešaka neuronske mreže pri predviđanju, uz srednju vrijednost svih deset pogrešaka.

4.2. Mjerenje ovisnosti uspješnosti mreže o veličini uzorka

Kao i u prethodnom poglavlju, u ovom poglavlju rada bit će prikazani rezultati tri odvojena eksperimenta (pri svakom eksperimentu izvršeno je deset mjerenja) napravljena u programu MATLAB. Cilj ovog eksperimenta jest pokazati ovisnost uspješnosti mreže o veličini uzorka koji je korišten pri treniranju mreže. Kako bi se to postiglo, radit će se eksperimenti sa 100, 163, odnosno 226 uzoraka. Budući da se u prethodnom eksperimentu pokazalo da mreža funkcionira najuspješnije s osam neurona u skrivenom sloju, taj će se broj neurona primjenjivati i u ovom dijelu rada. Osim grafičkih i numeričkih prikaza, svi će rezultati biti ukratko objašnjeni i tekstualno, gdje će se naglasiti najvažniji zaključci izvučeni iz pojedinih mjerenja.

1. Eksperiment

Tablica 4. Prikaz osnovnih podataka eksperimenta, vrijednosti MSE za svako mjerenje te srednja vrijednost MSE

Veličina uzorka 100 uzoraka

Veličina mreže 8 neurona

Redni broj mjerenja i pripadajući MSE (Mean Square Error)

1 2 3 4 5 2411048.04 92541436.5 3414818.28 34330122.67 5524078.42 0 5000000 10000000 15000000 20000000 25000000 30000000 1 2 3 4 5 6 7 8 9 10

Mean Square Error (MSE) Srednja Vrijednost MSE

(38)

Redni broj mjerenja i pripadajući MSE (Mean Square Error)

6 7 8 9 10

8500773.1 97288818.93 1753811.41 2964895.82 3223468.67

Srednja vrijednost MSE

25195327.18

Graf 4. Prikaz pogrešaka neuronske mreže pri predviđanju, uz srednju vrijednost svih deset pogrešaka.

2. Eksperiment

Tablica 5. Prikaz osnovnih podataka eksperimenta, vrijednosti MSE za svako mjerenje te srednja vrijednost MSE

Veličina uzorka 163 uzorka

Veličina mreže 8 neurona

Redni broj mjerenja i pripadajući MSE (Mean Square Error)

1 2 3 4 5

286877.78 3004395.42 80206102.09 7171001.65 11190535

Redni broj mjerenja i pripadajući MSE (Mean Square Error)

6 7 8 9 10 776029.12 77492715.34 903947.82 8737763.23 5060406.37 0 20000000 40000000 60000000 80000000 100000000 1 2 3 4 5 6 7 8 9 10

Mean Square Error (MSE) Srednja Vrijednost MSE

(39)

Srednja vrijednost MSE

19482977.38

Graf 5. Prikaz pogrešaka neuronske mreže pri predviđanju, uz srednju vrijednost svih deset pogrešaka.

3. Eksperiment

Tablica 6. Prikaz osnovnih podataka eksperimenta, vrijednosti MSE za svako mjerenje te srednja vrijednost MSE

Veličina uzorka 226 uzoraka

Veličina mreže 8 neurona

Redni broj mjerenja i pripadajući MSE (Mean Square Error)

1 2 3 4 5

15320836.29 6506858.57 1167969.21 877488.34 5286375.08

Redni broj mjerenja i pripadajući MSE (Mean Square Error)

6 7 8 9 10

12643817.16 3780827.65 1034628.9 4000172.68 1575790.03

Srednja vrijednost MSE

5219476.391 0 20000000 40000000 60000000 80000000 1 2 3 4 5 6 7 8 9 10

Mean Square Error (MSE) Srednja Vrijednost MSE

(40)

Graf 6. Prikaz pogrešaka neuronske mreže pri predviđanju, uz srednju vrijednost svih deset pogrešaka.

4.3. Usporedba preciznosti neuronske mreže i kalkulanta

Cilj ovog eksperimenta jest direktna usporedba neuronske mreže i kalkulanta. Kako bi se utvrdilo je li neuronska mreža u stanju predvidjeti točnije izlazne parametre od samog kalkulanta, izvršena su mjerenja na deset različitih radnih naloga. Budući da je kod ovakvih mjerenja poželjno nasumično izabrati uzorke, s tim ciljem korištena je MATLAB-ova funkcija randi. Dobiveni su sljedeći rezultati:

Tablica 7. Prikaz vrijednosti izlaznih parametara.

Redni br. Radnog naloga 185 205 29 207 143

Stvarni target 1900 2850 1400 4200 2825

Target - Kalkulant 2598 4392 1600 4680 2100

Target - MATLAB 3369.419 2790.414 1605.524 3281.327 10494.58

Redni br. Radnog naloga 23 63 124 217 219

Stvarni target 1400 1350 7000 1800 1550 Target - Kalkulant 1593 2640 6984 2400 1800 Target - MATLAB 2510.709 1452.463 2376.668 3388.879 1362.854 0 2500000 5000000 7500000 10000000 12500000 15000000 1 2 3 4 5 6 7 8 9 10

Mean Square Error (MSE) Srednja Vrijednost MSE

(41)

Aritmetičkom razlikom između stvarnog izlaznog parametra (Target) i predviđanja kalkulanta, odnosno neuronske mreže (MATLAB), dobivene su greške za svako pojedino mjerenje:

Tablica 8. Prikaz apsolutnih vrijednosti odstupanja od vrijednosti stvarnih izlaznih parametara za svaki radni nalog u eksperimentu.

Redni br. Radnog naloga 185 205 29 207 143

Greška - Kakulant 698 1542 200 480 725

Greška - MATLAB 1469.419 59.58598 205.5241 918.673 7669.578

Redni br. Radnog naloga 23 63 124 217 219

Greška - Kakulant 193 1290 16 600 250

Greška - MATLAB 1110.709 102.4632 4623.332 1588.879 187.1464

Kao i u prethodnim eksperimentima, određena je i srednja vrijednost pogreške. Također, u ovom eksperimentu izvedene su i minimalne i maksimalne vrijednosti pogreške.

Tablica 9. Prosječna greška, te minimalne i maksimalne vrijednosti pogreške.

Average Min Max

Greška - Kakulant 599.4 16 1542

Greška - MATLAB 1793.53 59.59 7669.58

Graf 7. Prikaz vijednosti izlaznih parametara za svako mjerenje u eksperimentu.

0 2000 4000 6000 8000 10000 12000 185 205 29 207 143 23 63 124 217 219

Stvarna ciljana vrijednost Ciljana vrijednost - Kalkulant Ciljana vrijednost - MATLAB

(42)

5. Diskusija

5.1. Mjerenje ovisnosti uspješnosti mreže o broju neurona u skrivenom sloju

Rezultati eksperimenta (Tablica 1., Tablica 2., Tablica 3.) pokazali su da mreža najbolje funkcionira kada se u skrivenom sloju nalazi osam neurona. Osim što je srednja vrijednost pogreške znatno manja od onih u slučaju s 10 i 12 neurona, većina rezultata pokazuje najveću konzistentnost.

Poneka mjerenja pokazala su se vrlo neuspješnim, pa je zbog njih vrijednost pogreške itekako veća. S druge strane, u velikom broju slučajeva mreža je uspjela precizno predvidjeti izlazne parametre. Takvi rezultati ukazuju na to da mreža ima sve potrebne informacije za uspješno funkcioniranje, ali je uzorak nedovoljno velik.

Graf 8. Box-plot dijagram prikazuje rezultate mjerenja s promjenom veličine neuronske mreže (broj neurona u skrivenom sloju).

(43)

5.2. Mjerenje ovisnosti uspješnosti mreže o veličini uzorka

Poput rezultata prijašnjeg eksperimenta, i u ovom slučaju rezultati vrlo jasno pokazuju određene činjenice. Vidljivo je kako je neuronska mreža najmanje pogreške (odnosno najveću uspješnost) postigla u mjerenjima s maksimalnim uzorkom od 226 radnih naloga (Graf 9.). Najmanja srednja vrijednost pogreške i najkonzistentniji rezultati pri mjerenjima s maksimalnim uzorkom su i više nego dovoljni dokazi da uspješnost mreže uvelike ovisi o veličini uzorka.

Može se zaključiti i da je ovisnost uspješnosti mreže o veličini uzorka osjetno veća od ovisnosti o broju neurona u skrivenom sloju.

Graf 9. Box-plot dijagram prikazuje rezultate mjerenja s promjenom veličine uzorka.

(44)

5.3. Usporedba preciznosti neuronske mreže i kalkulanta

Posljednji izvedeni eksperiment ovog diplomskog rada direktno je usporedio preciznost neuronske mreže u odnosu na kalkulanta u tiskari Neograf d.o.o. Samim time, usko je vezan uz obje hipoteze postavljene radnije u radu, te predstavlja samu srž problematike kojom se ovaj rad bavio.

Rezultati su pokazali da neuronska mreža čak i uz maksimalni uzorak od 226 radnih naloga te uz osam neurona u skrivenom sloju nije uspjela postići preciznost koju je kalkulant pokazao koristeći iste ulazne parametre - radni nalog (Tablica 7., Tablica 8., Tablica 9.).

Graf 10. Box-plot dijagram prikazuje pogreške u predviđanju potrebnog viška materijala.

Svi pokazatelji uspješnosti (srednja vrijednost pogreške, konzistentnost, te minimalna i maksimalna greška) na strani su kalkulanta, te idu u prilog činjenici da kroz eksperimente nije razvijena neuronska mreža koja može ravnopravno parirati kalkulantu u tiskari Neograf d.o.o. Time se zaključuje da su obje hipoteze ovog diplomskog rada opovrgnute.

(45)

Ipak, valja napomenuti da je u tri mjerenja neuronska mreža zapravo izvršila točnije predviđanje, dok je u preostalih sedam slučajeva predviđanje od strane neuronske mreže bilo lošije u odnosu na predviđanje kalkulanta. Još jedan važan moment jest vrijeme potrebno za izračun predviđanja. Naime, neuronska mreža u stanju je u kraćem vremenu (praktički trenutno) izvesti potrebne izračune no što je to činjenica kada predviđanje vrši kalkulant.

Iz navedenih činjenica moguće je zaključiti da postoji dobar temelj za razvijanje neuronske mreže koja će pokazati uspješnost veću od kalkulanta. Kroz eksperimente izvedene u ovom radu pokazalo se da uspješnost mreže najviše ovisi o veličini uzorka, pa je upravo to osnovni preduvjet za razvijanje kvalitetnije mreže. Osim većeg uzorka, uspješnost bi se vjerojatno mogla povećati drukčijom kombinacijom ulaznih parametara, iako se tu radi o manjim pomacima nego u slučaju promjene veličine uzorka.

(46)

6. Zaključak

Iako su rezultati eksperimentalnog dijela rada opovrgnuli obje postavljene hipoteze, postoji nekoliko razloga zbog kojih se ovaj diplomski rad može smatrati uspješnim. Možda i najvažniji od njih je činjenica da je dokazana snažna ovisnost uspješnosti neuronske mreže o veličini uzorka.

Budući da kroz rad nije razvijena dovoljno uspješna neuronska mreža, tiskara Neograf d.o.o. zasad neće koristiti automatizirani sustav kalkulacija. Ipak, to ne znači da se u budućnosti neće razviti mreža koja počiva na sličnim principima, a biti će u mogućnosti izvršiti dovoljno precizna predviđanja.

Važno je napomenuti kako je nedostatak valjane digitalne baze podataka u tiskari Neograf d.o.o. uvelike otežao proces prikupljanja podataka, a time je naposlijetku višestruko smanjena veličina uzorka – najvažnija varijabla vezana uz uspješnost neuronske mreže.

Istraživanja i radovi poput ovog samo su jedan od primjera u kojima je vidljiv značaj digitaliziranih podataka. Razvoj tog segmenta poslovanja može dovesti do značajnih poboljšanja proizvodnog procesa te riješiti razne nedostatke u proizvodnji. Stoga bi naglasak na digitalizaciju podataka bio itekako koristan korak naprijed ne samo za tiskaru Neograf d.o.o. i ostala tiskarska poduzeća, već i za poduzeća raznih industrijskih sektora.

(47)

7. Literatura

[1] “Biological Neural Networks.” [Online]. Available: http://www.teco.edu/~albrecht/neuro/html/node7.html.

[2] “What is a Artificial Neural Network (ANN)? - Definition from Techopedia.” [Online]. Available: https://www.techopedia.com/definition/5967/artificial-neural-network-ann. [Accessed: 27-Jan-2016].

[3] “Neural Networks.” [Online]. Available:

https://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol4/cs11/report.html. [Accessed: 27-Jan-2016].

[4] S. Briefs and I. N. Applied, An Introduction to Neural Network Methods for Differential Equations. .

[5] “Wiki - Artificial Neural Networks.” [Online]. Available:

https://en.wikipedia.org/wiki/Artificial_neural_network#Models. [6] “Artificial Neural Networks for Beginners.” [Online]. Available:

https://datajobs.com/data-science-repo/Neural-Net-[Carlos-Gershenson].pdf. [Accessed: 27-Jan-2016].

[7] “You’re Using Neural Networks Every Day Online—Here's How They Work.” [Online]. Available: http://gizmodo.com/youre-using-neural-networks-every-day-online-heres-h-1711616296. [Accessed: 27-Jan-2016].

[8] I. Petrović, M. Baotić, and N. Perić, “Neuronske mreže i genetički algoritmi u upravljanju sustavima Uvodna riječ,” 2016.

[9] B. R. Smith, “Neural Network Enhancement of Closed-Loop Controllers for Ill-Modeled Systems with Unknown Nonlinearities,” no. 1958, pp. 5–38, 1997.

[10] N. Silver, The Signal and the Noise: Why So Many Predictions Fail--but Some Don’t. 2012.

[11] T. Petković, “MATLAB Upute,” Zavod za Elektron. sustave i obradbu Inf. Fak. Elektroteh. i računarstva Sveučilište u Zagreb., 2005.

[12] “MATLAB Dokumentacija.” [Online]. Available: https://en.wikipedia.org/wiki/MATLAB.

(48)

[13] “Dataset Distribution - Neural Networks.” [Online]. Available:

https://www.researchgate.net/post/what_is_the_difference_between_validation_set_an d_test_set.

[14] “Number of Neurons in Hidden Layer.” [Online]. Available: http://www.faqs.org/faqs/ai-faq/neural-nets/part3/section-10.html.

(49)

8. Popis slika

Slika 1. Ilustracija sustava neurona u ljudskom mozgu 2

Slika 2. Frank Rosenblatt i Richard C. Lesser na Sveučilištu Cornell 4 Slika 3. Shematski prikaz podjele umjetnih neuronskih mreža[8] 10 Slika 4. Fotografija prve stranice radnog naloga tiskare Neograf d.o.o. 13

Slika 5. Prikaz ulaznih parametara u Excel dokumentu 17

Slika 6. Prikaz Excel dokumenta s informacijama iz jednog radnog naloga 18 Slika 7. Prikaz Excel dokumenta s informacijama više radnih naloga 18 Slika 8. Prikaz Excel dokumenta ulaznih parametara (prilagođen za MATLAB) 20 Slika 9. Prikaz Excel dokumenta izlaznih parametara (prilagođen za MATLAB) 20 Slika 10. Odabir modela unutar Neural Network Toolbox alata 21 Slika 11. MATLAB još jednom podsjeća na strukturu neuronskih mreža 21 Slika 12. Prikaz odabira Input, odnosno Target dataset-ova 22

Slika 13. Odabir dataset-ova u obliku Excel dokumenta 22

Slika 14. Provjera veličine uzoraka (ulazni i izlazni parametri) 23 Slika 15. Distribucija uzorka na tri dijela: trening, validacija i test 24 Slika 16. Prikaz ekrana s odabirom veličine neuronske mreže 25 Slika 17. Predefinirani algoritam, Levenberg- Marquardt, korišten je u eksperimentu 25 Slika 18. “Summary” rezultata treniranja neuronske mreže 26 Slika 19. MATLAB nudi nekoliko različitih grafičkih i numeričkih prikaza rezultata 26

(50)

9. Popis tablica

Tablica 1. Prikaz osnovnih podataka eksperimenta, vrijednosti MSE za svako

mjerenje te srednja vrijednost MSE 27

Tablica 2. Prikaz osnovnih podataka eksperimenta, vrijednosti MSE za svako

mjerenje te srednja vrijednost MSE 28

Tablica 3. Prikaz osnovnih podataka eksperimenta, vrijednosti MSE za svako

mjerenje te srednja vrijednost MSE 29

Tablica 4. Prikaz osnovnih podataka eksperimenta, vrijednosti MSE za svako

mjerenje te srednja vrijednost MSE 30

Tablica 5. Prikaz osnovnih podataka eksperimenta, vrijednosti MSE za svako

mjerenje te srednja vrijednost MSE 31

Tablica 6. Prikaz osnovnih podataka eksperimenta, vrijednosti MSE za svako

mjerenje te srednja vrijednost MSE 32

Tablica 7. Prikaz vrijednosti izlaznih parametara. 33

Tablica 8. Prikaz apsolutnih vrijednosti odstupanja od vrijednosti stvarnih izlaznih parametara za svaki radni nalog u eksperimentu 34 Tablica 9. Prosječna greška, te minimalne i maksimalne vrijednosti pogreške 34

Gambar

Tablica 1. Prikaz osnovnih podataka eksperimenta, vrijednosti MSE za svako mjerenje te srednja  vrijednost MSE
Tablica  2. Prikaz osnovnih podataka eksperimenta, vrijednosti MSE za svako mjerenje te srednja  vrijednost MSE
Tablica 3. Prikaz osnovnih podataka eksperimenta, vrijednosti MSE za svako mjerenje te srednja  vrijednost MSE
Tablica 4. Prikaz osnovnih podataka eksperimenta, vrijednosti MSE za svako mjerenje te srednja  vrijednost MSE
+5

Referensi

Dokumen terkait

Perjanjian nominee atau trustee adalah perjanjian yang menggunakan kuasa yaitu perjanjian yang menggunakan nama warga negara Indonesia dan pihak warga negara

Dengan itu, modal insan menjadi satu agenda nasional untuk membangunkan warga Malaysia dalam pelbagai aspek yang bersifat menyeluruh, holistik dan berkualiti Sehubungan dengan

Setelah dilakukan penyempurnaan berdasarkan hasil validasi dari validator materi, validator media dan hasil uji coba terbatas serta hasil uji coba lapangan, maka

Dalam penentuan program pemeliharaan jalan nasional Ditjen Bina Marga menggunakan suatu sistem perangkat lunak terpadu yang digunakan untuk membantu perencanaan jalan dalam

Kajian ini dijalankan dengan menggunakan kajian soal selidik ke atas pensyarah pembimbing dari politeknik di mana sejumlah 50 orang telah dipilih secara rawak dari limabuah

Bazoljubno borovje v Sloveniji - Združbe črnega in rdečega bora na karbonatni podlagi in rušja v alpskih dolinah / Basophilic pine communities in Slovenia - Black and Scots

Dalam hal Manajer Investasi menerima atau menyimpan permohonan penjualan kembali Unit Penyertaan dalam 1 (satu) Hari Bursa lebih dari 20% (dua puluh persen) dari total Nilai

Setelah menyelesaikan mata kuliah ini, mahasiswa mempunyai pengetahuan teori manajemen penyeliaan yang kuat serta pengetahuan teknis yang memadai sehingga mampu