Usmerjene nevronske mreže: implementacija in uporaba

Similar documents
Reševanje problemov in algoritmi

ENAČBA STANJA VODE IN VODNE PARE

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA POLONA ŠENKINC REŠEVANJE LINEARNIH DIFERENCIALNIH ENAČB DRUGEGA REDA S POMOČJO POTENČNIH VRST DIPLOMSKO DELO

INTELLIGENTNI SISTEMI NEVRONSKE MREŽE IN KLASIFIKACIJA. Nevronske mreže Prof. Jurij F. Tasič Emil Plesnik

Attempt to prepare seasonal weather outlook for Slovenia

Latched recurrent neural network

TOPLJENEC ASOCIIRA LE V VODNI FAZI

Verifikacija napovedi padavin

Računalnik iz domin. Škafar, Maja Šafarič, Nina Sangawa Hmeljak Mentor: Vid Kocijan

2 Zaznavanje registrske tablice

Linearna regresija. Poglavje 4

Simulacija dinamičnih sistemov s pomočjo osnovnih funkcij orodij MATLAB in Simulink

Umetne Nevronske Mreže UNM (ANN)

ENERGY AND MASS SPECTROSCOPY OF IONS AND NEUTRALS IN COLD PLASMA

Iskanje najcenejše poti v grafih preko polkolobarjev

Problem umetnostne galerije

Dejan Petelin. Sprotno učenje modelov na podlagi Gaussovih procesov

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Analiza 3 Course title: Analysis 3. Študijska smer Study field ECTS

Pohitritev izvajanja evolucijskih algoritmov z večprocesorskimi in multiračunalniškimi sistemi

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Optimizacija 1 Course title: Optimization 1. Študijska smer Study field

UČNI NAČRT PREDMETA / COURSE SYLLABUS Predmet: Analiza 1 Course title: Analysis 1. Študijska smer Study field. Samost. delo Individ.

21.1 Scilab Brownov model 468 PRILOGA. By: Dejan Dragan [80] // brown.m =========================== function brown(d,alfa) fakt = 5;

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Parcialne diferencialne enačbe Partial differential equations. Študijska smer Study field

AKSIOMATSKA KONSTRUKCIJA NARAVNIH

Matematika 1. Gabrijel Tomšič Bojan Orel Neža Mramor Kosta

SVM = Support Vector Machine = Metoda podpornih vektorjev

Matej Gutman. Izvedba nevronske mreže s programirljivimi vezji FPGA. diplomsko delo na univerzitetnem študiju. mentor: doc. dr.

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA SAŠO ZUPANEC MAX-PLUS ALGEBRA DIPLOMSKO DELO

OPTIMIZACIJA Z ROJEM DELCEV

Multipla korelacija in regresija. Multipla regresija, multipla korelacija, statistično zaključevanje o multiplem R

Eulerjevi in Hamiltonovi grafi

NIKJER-NIČELNI PRETOKI

Univerza na Primorskem. Fakulteta za matematiko, naravoslovje in informacijske tehnologije. Zaznavanje gibov. Zaključna naloga

Cveto Trampuž PRIMERJAVA ANALIZE VEČRAZSEŽNIH TABEL Z RAZLIČNIMI MODELI REGRESIJSKE ANALIZE DIHOTOMNIH SPREMENLJIVK

UPORABA STROJNEGA UČENJA PRI ANALIZI VREDNOSTNIH PAPIRJEV

Minimizacija učne množice pri učenju odločitvenih dreves

Hipohamiltonovi grafi

Makroekonomija 1: 4. vaje. Igor Feketija

OPTIMIRANJE IZDELOVALNIH PROCESOV

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO ODDELEK ZA MATEMATIKO

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo DIPLOMSKO DELO.

UČNI NAČRT PREDMETA / COURSE SYLLABUS. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Verjetnostni algoritmi za testiranje praštevilskosti

Ekstrakcija časovnega znanja iz dogodkov v spletnih novicah

Iterativne metode podprostorov 2010/2011 Domače naloge

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

Domen Perc. Implementacija in eksperimentalna analiza tehnike razvrščanja podatkov s konsenzom

Samo-nastavljivo vodenje z DMC-jem in proporcionalnim regulatorjem

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Kvadratne forme nad končnimi obsegi

INTELLIGENTNI SISTEMI Mehka Logika

Hadamardove matrike in misija Mariner 9

USING SIMULATED SPECTRA TO TEST THE EFFICIENCY OF SPECTRAL PROCESSING SOFTWARE IN REDUCING THE NOISE IN AUGER ELECTRON SPECTRA

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Ekstremne porazdelitve za odvisne spremenljivke

Solutions. Name and surname: Instructions

Bayesove verjetnostne mreže

Baroklina nestabilnost

Evolucija dinamike Zemljine precesije

Miha Troha. Robotsko učenje in planiranje potiskanja predmetov

Simulation of multilayer coating growth in an industrial magnetron sputtering system

OFF-LINE NALOGA NAJKRAJŠI SKUPNI NADNIZ

Osnove numerične matematike

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Simetrije cirkulantnih grafov

DOMINACIJSKO TEVILO GRAFA

Digitalne strukture. Delovni zvezek za laboratorijske vaje. doc. dr. Gorazd Pucihar. Ime in priimek študenta:

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO ODDELEK - FIZIKA. Matej Posinković KVANTNI RAČUNALNIKI SEMINAR. Mentor: prof.

UČNI NAČRT PREDMETA / COURSE SYLLABUS Numerical linear algebra. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work

Analiza oblike in površine stabilograma

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Študijska smer Study field ECTS

Metode rangiranja spletnih strani

Razpoznavanje znakov prstne abecede na osnovi računalniškega vida

SLIKE CANTORJEVE PAHLJAµCE

Intervalske Bézierove krivulje in ploskve

JEDRSKA URA JAN JURKOVIČ. Fakulteta za matematiko in fiziko Univerza v Ljubljani

TEORIJA GRAFOV IN LOGISTIKA

Analogna elektronska vezja. Uvodna vaja

OA07 ANNEX 4: SCOPE OF ACCREDITATION IN CALIBRATION

JERNEJ TONEJC. Fakulteta za matematiko in fiziko

Vsebina Od problema do načrta programa 1. del

Sekvenčna preklopna vezja

Spletni sistem za vaje iz jezika SQL

2A skupina zemeljskoalkalijske kovine

Neural networks. Chapter 19, Sections 1 5 1

EVA MARKELJ RAČUNALNIŠKO SIMULIRANJE SIPANJA SVETLOBE V ATMOSFERI

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. O neeksaknotsti eksaktnega binomskega intervala zaupanja

Naloge iz LA T EXa : 3. del

Fakulteta za matematiko in fiziko Univerza v Ljubljani. Seminar. Kvantni računalniki. Avtor: Matjaž Gregorič. Mentor: prof. N.S.

Modeliranje časovnih vrst z metodami teorije informacij

POLDIREKTNI PRODUKT GRUP

Izvedbe hitrega urejanja za CPE in GPE

Neural networks. Chapter 20, Section 5 1

Neural networks. Chapter 20. Chapter 20 1

USING THE DIRECTION OF THE SHOULDER S ROTATION ANGLE AS AN ABSCISSA AXIS IN COMPARATIVE SHOT PUT ANALYSIS. Matej Supej* Milan Čoh

Neural Networks. Fundamentals of Neural Networks : Architectures, Algorithms and Applications. L, Fausett, 1994

Intelligent Systems Discriminative Learning, Neural Networks

Univerza v Ljubljani Fakulteta za matematiko in fiziko. Oddelek za fiziko. Seminar - 3. letnik, I. stopnja. Kvantni računalniki. Avtor: Tomaž Čegovnik

1) V diagramu sta prikazana plazemska koncentracijska profila po večkratnem intravenskem odmerjanju učinkovine v dveh različnih primerih (1 in 2).

Katastrofalno zaporedje okvar v medsebojno odvisnih omrežjih

FRAKTALNA DIMENZIJA. Fakulteta za matematiko in fiziko Univerza v Ljubljani

SIMETRIČNE KOMPONENTE

Transcription:

Seminar - 4. letnik Usmerjene nevronske mreže: implementacija in uporaba Avtor: Miha Marolt Mentorja: Marko Žnidarič, Drago Kuzman Kranj, 24.4.2010 Povzetek Usmerjena večnivojska nevronska mreˇza(uvnm) je danes najpogosteje uporabljena vrsta umetne nevronske mreˇze. V seminarju sem opisal pot od osnovne ideje umetnega nevrona, ki temelji na biološkem nevronu, do splošno uporabnega računskega pripomočka, ki ga predstavlja UVNM. V zadnjem delu seminarja so predstavljeni primeri uporabe UVNM na različnih področjih fizike(eksperimentalna fizika osnovnih delcev, oceanografija) in drugod(prepoznavanje znakov).

Kazalo 1 Zgodovinski uvod 1 2 Nevron 2 2.1 Učenje nevrona.................................. 3 2.2 Naučimonevron logičnihfunkcij....................... 3 2.2.1 ORin XORvrata............................. 3 3 Usmerjene večnivojske nevronske mreˇze 6 3.1 Učenje spovratnopropagacijo......................... 7 3.1.1 Predstavitevproblema......................... 7 3.1.2 (Ne)učinkovitoračunanjegradienta.................. 8 3.1.3 Izpeljavaalgoritmazaučenje..................... 8 4 Uporaba usmerjenih večnivojskih mreˇz 12 4.1 Odstranjevanje šuma pri eksperimentalni fiziki osnovnih delcev...... 12 4.2 Enačbastanjaρ(T,S,P) v oceanskih modelih................ 14 4.3 Prepoznavanjeznakov............................. 16 5 Zaključek 16 Viri 16 1 Zgodovinski uvod V tem razdelku bom povedal kratko zgodbo o tem, od kod so se vzele usmerjene večnivojske nevronske mreˇze(uvnm). Uporabil bom tudi nekaj pojmov, ki so razloˇzeni kasneje v seminarju, tako da utegne pri prvem branju tega zgodovinskega pregleda biti še nekaj nejasnosti. Ker je nevronska mreˇza skupek med seboj povezanih nevronov, si velja najprej pogledati zgodovino umetnega nevrona. Pojem biološkega nevrona se je prvič pojavil leta 1891 [2] v delu nemškega biologa Heinrich Wilhelm Waldeyer-ja. V letih, ki so sledila, se je znanje o bioloških nevronih (slika 1(a)) kopičilo in teorija nevronov je postajala vse bolj splošno sprejeta. Leta 1943 sta McCulloch in Pitts [3] predstavila prvi umetni nevron. Šlo je za [1] element z n = 1,2,3,... binarnimi vhodi in enim binarnim izhodom. Če je bila vsota vhodov nad neko mejo θ, je bil izhod 1, sicer pa 0 (aktivacijska funkcija nevrona je bila za θ premaknjena Heavisideova funkcija). Leta 1958 je Frank Rosenblatt predstavil umetni nevron po imenu perceptron, ki je temelj veliki večini umetnih nevronov, ki so danes v uporabi. Tudi perceptron je, tako kotmcculloch-pittsovnevron(mcp),elementzn = 1,2,3,... binarnimivhodiinenim binarnim izhodom, razlika je pa v tem, da perceptron svoje vhode pred seštevanjem obteˇzi. V seminarju bom pokazal, da posledično (zaradi uteˇzi) prag θ postane odveč, zato se ga ne uporablja kot parameter nevrona, ampak se ga nastavi na 0. Z vidika programiranja nevrona je torej razlika med MCP in perceptronom v tem, da pri prvem prenosno funkcijo elementa določam s pragom θ, pri slednjem pa z n uteˇzmi. V praksi se izkaˇze, da je perceptron mnogo bolj uporaben, zato se danes v rahlo spremenjeni obliki uporablja kot sestavni element UVNM, ki so najpogosteje uporabljeni tip umetnih nevronskih mreˇz. Sprememba perceptrona, ki sem jo ravnokar omenil, se tiče njegove aktivacijske funkcije - moderni nevroni morajo imeti odvedljivo aktivacijsko funkcijo, zato se namesto Heavisideove funkcije uporablja ena od sigmoidnih funkcij. 1

(a) Deli biološkega nevrona, ki jih lahko prepoznamo tudi na shemi umetnega nevrona so a. dendriti, b. celično telo(soma), d. aksonin h. aksonski zaključki. Vir slike: [17]. (b) Grafična predstavitev sodobnega umetnega nevrona. V nevron je pripeljan tudi signal θ j, ki mu rečem prag (threshold), ki paje v bistvuodveč. Več o temvrazdelku2.2. Virslike: [18]. Slika 1: Biološki in umetni nevron. Ena od glavnih uporab nevronov je aproksimacija funkcij. Istočasno z rojstvom prvih umetnih nevronov je postalo jasno, da posamezni nevroni lahko simulirajo zelo omejen nabor funkcij. Vedelo se je tudi, da bi nevronske mreˇze (skupki povezanih nevronov) lahko simulirale poljubne funkcije, a kaj ko ni bilo na voljo učinkovitega algoritma za učenje nevronskih mreˇz. Učinkovit algoritem za učenje (učenje s povratno propagacijo za UVNM) se je pojavil šele sredi 80-ih let. V seminarju bom počasi skonstruiral UVNM, izpeljal pravkar omenjeni algoritem ter predstavil nekaj konkretnih moˇznosti za uporabo UVNM. 2 Nevron Danes pod pojmom umetni nevron razumemo funkcijo kjer je P(x 1,...,x n w 1,...,w n) : [0,1] n [0,1], (1) ( n ) P = f w ix i i=1. (2) Čevhodix 1,...,x n nisoiz[0,1],jihnormiram. Funkcijif pravimaktivacijskafunkcija, parametromw i Ruteˇzi,inspremenljivkamx i vhodi. Grafičniprikaztaisteganevrona (s to razliko, da imajo količine na sliki dodaten indeks j in da je oznaka za aktivacijsko funkcijo na sliki ϕ) se nahaja na sliki 1(b), kjer vidimo, da na nevron lahko gledam tudi kot na element, ki sprejme n obteˇzenih vhodnih signalov ter izračuna in vrne ustrezen signal na izhodu. i-temu vhodu nevrona pripada uteˇz w i, s katero je obteˇzen signal x i. Nevron vse tako obteˇzene signale sešteje in uporabi dobljeno vsoto kot argument funkciji f, katere vrednost nato vrne na izhodu. Izbira funkcije f je poljubna, čeprav so seveda v praksi nekatere funkcije bolj uporabne kot druge. Pravkar sem z besedami povedalisto kotmaloprejzenačbama1in2. Signal na izhodu nevrona je popolnoma določen z uteˇzmi w in aktivacijsko funkcijo f. Edini način, da nevron pripravimo do določenega obnašanja je torej s spreminjanjem uteˇzi ali aktivacijske funkcije. V praksi se izkaˇze, da je nesmiselno popravljati nevron s spreminjanjem aktivacijske funkcije, ampak je edin smiselen način spreminjanje uteˇzi. Razloga za to sta 2: uteˇzi nam nudijo večjo fleksibilnost in pa obstajajo učinkoviti algoritmi za ustrezno(takšno, ki vodi k ˇzeljenemu obnašanju nevrona) spreminjanje uteˇzi. 2

Nevron, ki ga lahko nau imo OR logike. x b 1 x 2 w b w 2 w i x i y H w 1 x 1 Slika 2: Perceptron z dvema vhodoma in enim izhodom. 2.1 Učenje nevrona Zdaj torej vemo, kaj je nevron, ne vemo pa še, kako bi ga uporabili. Ker je edino, kar nevron zna, pretvorba vhoda x v izhod y, bi ga lahko poskusili uporabiti za kakšno pametno pretvorbo. Najti moramo torej take uteˇzi w, ki bodo iz x naredile koristen y. Procesu iskanja takih uteˇzi rečem učenje. 2.2 Naučimo nevron logičnih funkcij Nevron z vhodoma x 1 in x 2 bom poskusil naučiti OR in nato še XOR logike. V obeh primerih na izhodu pričakujem zgolj 1 ali 0, tako da se za aktivacijsko funkcijo f kar sama ponuja Heavisideova funkcija. Vprašanje je edino še za koliko naj bo prestavljena iz izhodišča(kolikšen prag θ naj pripeljem v nevron; glej sliko 1(b)). Dileme se elegantno rešim tako, da na vhod nevrona pripeljem dodaten signal x b 1, t.i. bias. Pripadamuuteˇzw b,kijoobravnavampovsemenakokotostaleuteˇzi. Dodaten konstanten člen v vsoti je ekvivalenten premiku aktivacijske funkcije, n i=1 w ix i + w b x b }{{} konst. premikaktivacijskefunkcijeza w b. Na ta način lahko vsako aktivacijsko funkcijo postavim v izhodišče, za morebiten premik pa poskrbi uteˇz w b, ki jo mreˇza določi sama tekom učenja. Pravkar opisan nevron je primer perceptrona [8] - elementa z n = 1,2,3,... binarnimi vhodi in enim binarnim izhodom,ki naizhoduvračah ( i wixi ). 2.2.1 OR in XOR vrata Vhodi in ustrezni izhodi za OR in XOR funkciji so zapisani v tabeli 1. Učenje se izvede v sledečih korakih: 1. Uteˇzem priredim naključne vrednosti, recimo z intervala[0, 1]. 2. Na vhod nevrona pošljemo (x 1i,x 2i) in preberemo izhodno vrednost ỹ i. i {0,1,2,3}. x 1i, x 2i, ỹ i {0,1}. 3

Tabela 1: Tabela vrednosti zaor in XORvrata. x 1 x 2 y OR y XOR 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 0 1.5 Nevron se uspe no nau i obna ati kot OR vrata. 2.0 Spreminjanje utei w 1, w 2 in w b tekom u enja. izhod iz NN izhod iz OR vrat 1.5 w 1 w 2 w b 1.0 izhod y 0.5 vrednost utei 1.0 0.5 0.0 0.0 0.5 0.5 0 10 20 30 40 50 zaporedna tevilka u nega vzorca (a) 1.0 0 10 20 30 40 50 zaporedna tevilka u nega vzorca (b) Slika 3: Perceptron se hitro nauči OR logike. Uteži kmalu dosežejo pravilne vrednosti, zato se z nadaljnimi iteracijami ne spreminjajo več. 3. Posamezno uteˇz spremenim z uporabo formule kjer je konstanta0 α 1 hitrostučenja. 4. i = i+1 (mod 4) in nadaljujem skorakom2. w 1 = w 1 +α(y i ỹ i)x 1i (3) w 2 = w 2 +α(y i ỹ i)x 2i, (4) w b = w b +α(y i ỹ i) 1, (5) Ko je izhod prevelik torej uteˇzi manjšam, ko je premajhen, jih večam, in ko je ravno pravi,jihpustimprimiru. Taalgoritemnajderešitev(w 1,w 2,w b )vkončnokorakih[8], če le rešitev sploh obstaja. S programom, v katerem je implementiran zgornji algoritem, sem poskusil najti primerne uteˇzi za OR (glej sliko (3)) in XOR vrata (glej sliko (4)). Vidimo, da se perceptron ni zmoˇzen naučiti XOR logike. Razlog za to se skriva v tem, da perceptron deluje kot linearni delilnik. Zgoraj uporabljeni perceptron eno mnoˇzico točk v ravnini (x 1,x 2) preslikavy = 1,drugomnoˇzicopavy = 0. Mnoˇzici ločuje premicapodanazenačbo w 1x 1 +w 2x 2 +w b = 0, kjerstax 1 inx 2 spremenljivki,uteˇzipasokoeficienti,kidoločajonakloninpremik. Na iskanje primernih uteˇzi lahko torej gledam kot na iskanje premice, ki loči vhode, ki se morajopreslikativ1,odvhodov,kisemorajopreslikativ0. Kerobstajapremica,kiloči 4

1.5 Nevron se ne naui obnaati kot XOR vrata. 2.0 Spreminjanje utei w 1, w 2 in w b tekom uenja. izhod iz NN izhod iz OR vrat 1.5 w 1 w 2 w b 1.0 izhod y 0.5 vrednost ute i 1.0 0.5 0.0 0.0 0.5 0.5 0 10 20 30 40 50 zaporedna tevilka unega vzorca (a) 1.0 0 10 20 30 40 50 zaporedna tevilka unega vzorca (b) Slika 4: Perceptron se ni sposoben naučiti XOR logike. Zahteve, ki jih zaporedni učni primeri postavljajo utežem, so si nasprotujoče. Tabela 2: Razmerje med linearno ločljivimi in vsemi funkcijami iz {0,1} n v {0,1} gre proti 0. n vseh funkcij linearno ločljivih funkcij 1 4 4 2 16 14 3 256 104 4 65536 1882 5 4.3 10 9 94572 točko(0,0)odtočk(0,1),(1,0),(1,1),neobstajapapremica,kiločitočki(0,0),(1,1)od točk (0, 1),(1, 0), posledično obstaja perceptron, ki se lahko nauči OR logike, ne obstaja pa perceptron, ki se lahko nauči XOR logike. Podobno lahko gledam na učenje perceptrona z n vhodi kot na iskanje hiperravnine v n dimenzijah, ki loči točke, ki naj se preslikajo v 1 od točk, ki naj se preslikajo v 0. V pomoč pri razpravi nam bo pojem linearne ločljivosti. Naj bo A mnoˇzica parov (x, y), kjerjextočkav{0,1} n,y {0,1}panjejpripadajočavrednost. Čeobstajahiperravnina dimenzijen 1,kiločitočkespripadajočovrednostjo1odtočkspripadajočovrednostjo 0, potem je mnoˇzica A linearno ločljiva. Zaradi preprostosti bom občasno govoril tudi o linearni ločljivosti funkcij, logičnih vrat in podobnih stvari, pri čemer bom imel v mislih linearno ločljivost mnoˇzice parov (vhod, izhod) omenjene funkcije ali vrat. V n dimenzijah (n binarnih vhodov in 1 binaren izhod) je vseh moˇznih funkcij f : {0,1} n {0,1} kar 2 2n. Vseh različnih vhodnih točk x {0,1} n je namreč 2 n, vsaki od njih pa lahko na izhodu pripišem 0 ali 1. Ker sta funkciji različni, če drugače preslikata vsaj eno točko, je število različnih funkcij 2 m, kjer je m število različnih točk na vhodu 2 2n. Koliko od teh funkcij pa je linearno ločljivih? Za n = 2 ni teˇzko videti, dajeod16funkcij14ločljivihin2neločljivi(xorin XOR).Podatkišezavišjenpaso navedeni v tabeli(2) ([6] str. 144). 5

Slika 5: Zgradba usmerjene večnivojske mreže. Vir slike: [19]. Nezmoˇznostnevrona,dasenaučiXORbišenekakopreˇziveli,akajkogrezvečanjem števila vhodov v nevron razmerje med funkcijami, ki se jih lahko nauči, in vsemi moˇznimi funkcijami, ki bi jih ˇzeleli simulirati z nevronom, proti 0. Ta problem sta med drugim leta 1969 Minsky in Papert analizirala v knjigi Perceptrons, ki je bila verjetno eden od razlogov ([9] str. 39) za upočasnitev razvoja nevronskih mreˇz. Vedelo se je, da je za rešitev XOR in podobnih problemov, potrebno narediti mreˇzo z več nivoji, a kaj, ko za večnivojske mreˇze ni bilo učinkovitih algoritmov za učenje. Šele sredi 80-ih let se je zanimanje za nevronske mreˇze zopet začelo povečevati, saj so ljudje uspeli uspešno rešiti problem učenja usmerjene večnivojske mreže(multi-layer feed-forward neural network). Algoritem so poimenovali učenje s povratno propagacijo (backpropagation). Del seminarja, ki sledi, je posvečen UVNM in njihovi uporabi. 3 Usmerjene večnivojske nevronske mreˇze Zgradba UVNM je prikazana na sliki (5). Nevroni so razporejeni v plasti. Na vsak nevron v i + 1 plasti so speljani izhodi iz vsakega od nevronov v i-ti plasti. Po dogovoru je prva plast, ki ki pravimo vhodna plast, pasivna - vhodi vanjo so neobteˇzeni, aktivacijska funkcija pa je identiteta. Njena edina naloga je, da prenese signal, ki vstopa v mreˇzo, do prve aktivne plasti, ki ji pravimo prva skrita plast. Večnivojska mreˇza ima lahko n = 1,2,3,4... skritih plasti. Zadnja plast je imenovana izhodna plast in je v skoraj vseh lastnostih enaka skritim plastem, od katerih se loči le po tem, da izhod iz izhodne plasti ne sluˇzi kot vhod naslednji plasti, saj naslednje plasti ni. Povezave med posameznimi plastmi so obteˇzene, aktivacijska funkcija v aktivnih plasteh je pa neka sigmoidna funkcija(to je funkcija, katere oblika spominja na črko S[4]), najpogosteje f(t) = 1 1+e ct. Ta funkcija je primerna za aktivacijsko funkcijo, ker je podobna Heavisideovi funkciji, poleg tega je pa odvedljiva (pri učenju s povratno propagacijo potrebujem odvedljivo funkcijo) in odvod je preprosto izračunati, f (t) = (1+e ct ) 2 ce ct. 6

Preden se lotimo učenja usmerjene nevronske mreˇze velja eksplicitno napisati njeno prenosno funkcijo F, F(x w) : [0,1] m [0,1] n w R l, kjer je m število vhodov, n število izhodov, l pa število vseh uteˇzi v mreˇzi. F je tudi odvedljiva, saj jo lahko zapišem kot kompozicijo prenosnih funkcij posameznih nevronov. 3.1 Učenje s povratno propagacijo 3.1.1 Predstavitev problema Učinkovito učenje usmerjene večnivojske mreˇze je dolgo časa predstavljalo nerešljiv problem. Denimo, da imam učni vzorec {(x k,t k )} k = 1,...,p, (6) to je mnoˇzico parov, kjer je t k ˇzeljeni (=pravilni) izhod iz mreˇze, ko na vhod pošljemo x k. Posameznemu paru bom rekel učni primer. Če v mreˇzo z naključnimi uteˇzmi pošljemo vhod x k, dobimo na izhodu o k, ki pa se razlikuje od ˇzeljenega izhoda t k. Vprašanjeje, kakopopravitiuteˇzi,daborazlikamed o k in t k tem manjša. Imam torej p učnih primerov (x k,t k ), k = 1,...,p. Definiram, da je napaka mreˇze pri k-tem učnem primeru enaka E (k) (w) = 1 2 o k t k 2. (7) Priizbranemk(sepravipriizbranih(x k,t k ))jenapakamreˇzeodvisnaleoduteˇzi. Zdaj se moram odločiti, kaj natanko bom sploh minimiziral - E (k) (w) ali k E(k) (w)? V prvem primeru bom lahko uteˇzi popravljal po vsakem učnem primeru posebej ( online learning), v drugem primeru pa bom moral najprej skozi mreˇzo poslati vseh p učnih primerov in šele nato spreminjati uteˇzi ( batch learning oz. offline learning). Vsaka od metod ima svoje prednosti in svoje slabosti [5], ki pa jih tu ne bom navajal, ker bi seminar potem presegel predpisano mejo 20-ih strani. Naj omenim le, da bom v nadaljevanju uporabljal online metodo, saj je preprostejša. Prav tako zaradi preprostosti se odločim, da bom napako minimiziral s korakanjem v nasprotni smeri gradienta (enačba 8), se pravi z gradientnim spustom(gradient descent). Alternativne metode(za offline učenje npr. konjugirani gradienti, SVM) so omenjene na spletni strani [5]. Izračunati moram torej E (k) (w) = ( E(k) w 1, E(k) w 2,..., E(k) w l ), (8) kjer je l število vseh uteˇzi v mreˇzi, in nato vsako uteˇz ustrezno spremeniti, (x k,t k ) : w (k) i = γ E(k) w i, (9) kjer je γ velikost iteracijskega koraka. Da uteˇzi skonvergirajo k končnim vrednostim je ponavadi potrebno celoten učni vzorec(sestavljen iz p učnih primerov) v mreˇzo poslati precej velikokrat(v razdelku 4.1 npr. pribliˇzno 100-krat). Problem učenja mreˇze se torej prevedena problemiskanja E (k). 7

Slika 6: Razširjena mreža, ki računa napako na izhodu osnovne mreže. Vir slike: [6]. 3.1.2 (Ne)učinkovito računanje gradienta Pribliˇzke za odvode E (k) w i bi seveda lahko izračunal preko diferenčnega količnika, a kaj ko je takšen račun časovno tako zahteven, da postanejo nevronske mreˇze praktično neuporabne. Če bi na ta način ˇzelel oceniti gradient (8), bi moral (x k,o k ) namreč izračunati kar 2l-krat. Pri mreˇzi, ki sem jo uporabil v razdelku (4.3), to pomeni, da bi moral (x k,o k ) izračunati kar 1680- krat pri izbranem k. Na srečo obstaja boljši algoritem za izračun(8). Ideja je, da nevronsko mreˇzo dopolnim z dodatnima dvema plastema ter razširim njeno delovanje tako, da bo sposobna delovati tudi v povratni smeri. Izkaˇze se, da lahko omenjeni spremembi naredim na tak način, da bo razširjena mreˇza v povratni smeri računala gradient napake E (k). V naslednjem razdelku bom napravil ustrezni spremembi in pokazal, kako ju uporabim v učinkovitem algoritmu za učenje UVNM. 3.1.3 Izpeljava algoritma za učenje Najprej razširim mreˇzo z dodatnima dvema plastema, tako da mi razširjena mreˇza na izhoduvračae (k). Razširjenamreˇza,kiopravinalogo,jeprikazananasliki(6)(namesto indeksa i na sliki, v enačbah uporabljam indeks k). Iskanje E (k) se torej prevede na iskanje gradienta prenosne funkcije razširjene mreˇze! Ker ima ta mreˇza en izhod, se v nadaljevanju zato posvetim iskanju učinkovitega načina za izračun gradienta prenosne funkcije mreˇze z enim izhodom. Poleg tega se do nadaljnega zaradi preprostosti omejim namreˇze,ki imajoen sam vhod(skritih plastije papoljubnomnogo). Mreˇzo sem ˇze razširil, zdaj pa ji bom dodal še pravila za delovanje v povratni smeri. Najprej vsak nevron ločim na dva zaporedno zvezana nevrona (slika 7), pri čemer prvi opravi seštevanje obteˇzenih vhodov, drugi pa izračuna vrednost aktivacijske funkcije. To storim zgolj zaradi (potencialno) večje jasnosti nadaljnih računov, ni pa sprememba bistvena za sam algoritem. Poleg tega razširim delovanje posameznega nevrona (in s tem celotne mreˇze). Do sedaj je nevron signale sprejel na levi strani, jih ustrezno preoblikovala in nato oddal v desno. Zdaj pa bom dodal še pravilo za delovanje v obratnismeri(oddesneprotilevi). Mreˇzabotakolahkodelovalavdvehnačinih-način naprej in način nazaj. Pri razumevanju naslednjih alinej lahko pomaga slika 8, kateri se bom sicer natančneje posvetil malo kasneje. Način naprej je pri nevronu sestavljen iz treh korakov: 8

Slika 7: Vsak nevron razdelim na dva nevrona, od katerih v načinu naprej (feed-forward) prvi sešteva vhode, drugi pa računa aktivacijsko funkcijo. Poleg tega definiram tudi pravila za procesiranje signalov, ki v nevron vstopajo na desni in izstopajo na levi strani (Temu načinu delovanja rečem način nazaj. Angleški izraz za širjenje signala v obratni smeri je backpropagation, kar se v slovenščino prevaja kot povratna propagacija). Vir slike: [6]. Nevron izračuna vrednost prenosne funkcije f(x) in odvod prenosne funkcije f (x), kjer jexsignal navhodunevrona, Nevron shranivrednosti f(x) in f (x), Nevron naizhoduoddaf(x). V shematičnem prikazu nevrona (slika 7) zato sedaj v telo nevrona vpisujem dve vrednosti - na desno polovico f(x) in na levo polovico f (x). Način nazaj je sestavljen iz dveh korakov, Nevron izračuna produkt vhoda z (vhod v tem načinu delovanja pomeni signal, ki prihajazdesne) in v načinu naprejizračunanevrednostif (x). Nevron naizhoduoddapravkarizračunaniproduktzf (x). Omeniti velja še, da uteˇzi opravljajo isto operacijo v obeh načinih delovanja mreˇze - mnoˇzijo signal. Vidim lahko, da na delovanje mreˇze v načinu naprej obe pravkar uvedeni spremembi nimata nobenega vpliva. Razširjena mreˇza še vedno računa E (k). Razlog za dodaten trud je v rezultatih, ki jih računa mreˇza v načinu nazaj. V naslednjih odstavkih bom z indukcijo pokazal, da v načinu nazaj mreˇza računa odvod svoje prenosne funkcije po vhodu. Najprej bom obravnaval 3 osnovne gradnike iz katerih lahko sestavimo vsako usmerjeno mreˇzo in rezultat nato posplošil na splošno usmerjeno nevronsko mreˇzo. Poglejmo si natančneje, kaj se dogaja s signalom, ko potuje skozi mreˇzo v enem in drugem načinu. V mreˇzi se pojavijo trije gradniki, ki jih moramo preučiti - zaporedno vezana nevrona, vzporedno vezana nevrona in obteˇzena povezava. Če pošljem x v načinu naprej v zaporedno vezana nevrona(slika 8(a)), dobim na izhodu vrednost kompozituma prenosnih funkcij posameznih nevronov v točki x, f(g(x)). Kompozitum je seveda tudi prenosna funkcija tega sistema dveh nevronov. V načinu nazaj je zanimivo pogledati, kaj dobim, če na vhod pošljem z = 1 (po tem, ko sem predhodno skozi nevrona poslal x v načinu naprej). Rezultat je odvod kompozituma prenosnih funkcij po x (slika 8(b)), oziroma odvod prenosne funkcije sistema, to je f (g(x))g (x). Iz slike vidim, da zaporedno zvezana nevrona odvajata po veriˇznem pravilu. Podobno velja tudi za preostala osnovna primera. Ko pošljem x v vzporedno vezana nevrona, dobim v načinu naprej (slika 8(c)) vsoto prenosnih funkcij posameznih nevronov v x, f 1(x)+f 2(x). Vnačinunazaj(slika8(d))izvhodaz = 1dobimodvodvsoteposameznih prenosnih funkcij v x, f 1(x)+f 2(x). Sila podobno je tudi z obteˇzenimi povezavami - v načinu nazaj (slika 8(f)) dobim kar odvod prenosne funkcije povezave v načinu naprej (slika8(e)). 9

(a) Zaporedno vezana nevrona v načinu naprej (b) Zaporedno vezana nevrona v načinu nazaj kompozicija. odvod kompozicije. (c) Vzporedno vezana nevrona v načinu naprej (d) Vzporedno vezana nevrona v načinu nazaj vsota. odvod vsote. (e) Obteˇzena povezava v načinu naprej mnoˇzenje (f) Obteˇzena povezava v načinu nazaj mnoˇzenje zuteˇzjo. zuteˇzjo. Slika 8: Delovanje osnovnih gradnikov v obeh načinih delovanja mreže. Vir slik: [6]. Vidim, da pri teh preprostih nevronskih mreˇzah v načinu nazaj dobim odvod prenosne funkcije po vhodu. Ali lahko ugotovitev posplošim na splošno mreˇzo z enim vhodom in enimizhodom,ki imaprenosnofunkcijo F? Posplošitve se lotim z indukcijo. Da v načinu nazaj dobim odvod prenosne funkcije smo ˇze dokazali za 3 osnovne gradnike mreˇze. Zdaj bomo naredili indukcijski korak n n+1. Splošna mreˇza z enim vhodom x in prenosno funkcijo F(x) je prikazan na sliki9. Izslikepreberem,daje F(x) = ϕ(w 1F 1(x)+w 2F 2(x)+ +w mf m(x)) iz česar čisto matematično po veriˇznem pravilu sledi F (x) = dϕ(s) ds ds dx, kjer jes = w 1F 1(x)+w 2F 2(x)+ +w mf m(x) in torej F (x) = ϕ (s)(w 1F 1(x)+ +w mf m(x)). (10) Po drugi strani pa lahko F (x) izračunam v načinu nazaj. Če v mreˇzo na desni strani pošljem vrednost z = 1, potem nevron z imenom i = 1,...,m (glej sliko) dobi na vhodsignalϕ (s)w i. Poindukcijskipredpostavkivem,danevronzimenominaredina izhodu F i(x). Če mu na vhod pošljem 1 ϕ (s)w i, bom na izhodu dobil F i(x)ϕ (s)w i 10

Slika 9: Usmerjena nevronska mreža - skica k indukcijskemu koraku pri izpeljavi algoritma povratne propagacije. Vir slike: [6]. (v načinu nazaj posamezen nevron le mnoˇzi s konstanto - njegova prenosna funkcija je homogena). Toveljaza vsakegaod nevronovi = 1,...,m, takodanaizhodu dobim ϕ (s)w 1F 1(x)+ϕ (s)w 2F 2(x)+ +ϕ (s)w mf m(x), kar paje enakokot pravienačba 10-qed. Dokazal sem, da mreˇza z enim vhodom x in enim izhodom F(x) v načinu nazaj računa odvod prenosne funkcije po vhodu, F (x). Kaj pa, če ima mreˇza več vhodov, x 1,x 2,...,x n inprenosnofunkcijof(x 1,x 2,...,x n)-alipotemspovratnopropagacijo dobim parcialne odvode F, x 1 Izkaˇzese [6],dasezgodi natankoto. F x 2,..., F x n? V načinu nazaj znam sedaj izračunati odvod prenosne funkcije mreˇze po njenem vhodu. To znanje lahko uporabim na razširjeni mreˇzi(slika 6) in tako izračunam odvod napake po poljubni uteˇzi v mreˇzi. Oznake, ki jih bom uporabljal v sledečih izrazih so naslednje: o i je izhod i-tega nevrona, w ij pa je uteˇz, s katero j-ti nevron obteˇzi vhod, ki prihaja od i-tega nevrona. Vse količine bi morale imeti še indeks k (o (k) i, E (k),...), saj se nanašajo na k-ti učni primer, a ga zaradi berljivosti izpuščam. Izračunati ˇzelim odvodnapakepouteˇziw ij. Izberemsinevroni,kateregaizhodjepovezanznevronom j. Na vhod nevrona j gre vrednost o iw ij. Na nevron j lahko gledam kot na začetni nevron podmreˇze, ki se konča z nevronom, katerega izhod je napaka mreˇze. Vhod v to podmreˇzo je enak w ijo i, zato v načinu nazaj dobim E (w ij o i. Ker je v načinu nazaj oi ) konstanta, lahko zapišem E E = o i w ij (w. ijo i) Kotlahkovidimnasliki7,nevronvnačinunazajpošljeenaksignalvsemnevronom,ki sopovezaninanj. Česotorejlevoodj-teganevronananjpovezaninevronii,i 1,i 2, potem velja E E E = = δ j, (11) o iw i,j o i 1w i 1,j o i 2w i 2,j kjer sem z δ j označil vrednost, ki jo v načinu nazaj pošlje v levo j-ti nevron. Sledi, da lahko za odvod napake po poljubni uteˇzi zapišem E w ij = o iδ j (12) 11

in posledično w ij = γo iδ j. (13) Slednja enačba je pa tudi pravilo za učenje usmerjene mreˇze. Enačba 13 sama v bistvu ni nič posebnega - enako pravilo za učenje sem zapisal ˇze z enačbo 9, s to razliko da v enačbi 13 nastopa o iδ j namesto E w ij. Ravno δ j pa je velika stvar vse te izpeljave - δ j za vsak nevron v mreˇzi izračunam v enem samem prehodu mreˇze in elementi E se zlahkaizraˇzajozδ j poenačbi 12. Preprosta in pregledna objektna implementacija UVNM in povratne propagacije v programskem jeziku Python je dostopna na strani http://www.challenge-you.com/paste?id=2054. 4 Uporaba usmerjenih večnivojskih mreˇz Usmerjene večnivojske nevronske mreˇze se uporablja predvsem za aproksimiranje zapletenih funkcij (katerih analitične oblike ponavadi ne poznamo). Mreˇzo najprej naučimo funkcije z nekaj točkami (x k,t k ), nato pa jo uporabljamo za izračun pribliˇzka funkcije v poljubni točki x. Nevronska mreˇza torej izvaja zvezno interpolacijo. Sledijo trije primeri, v katerih mreˇzi podam končno mnoˇzico parov (x k,t k ), mreˇza pa (neznano) funkcijo podano v teh točkah interpolira na cel prostor. 4.1 Odstranjevanje šuma pri eksperimentalni fiziki osnovnih delcev Pri eksperimentalni fiziki osnovnih delcev si pri izbranem poskusu pogosto zastavimo vprašanje, ali je v opazovani reakciji nastal nek delec, recimo mu delec X. Pogosto tega delca ne moremo zaznati neposredno z detektorjem, ampak lahko nanj sklepamo le iz gibanja in nadaljnih reakcij njegovih razpadnih produktov. Ker se delec X pojavi v opazovani reakciji zelo redko, je treba narediti ogromno poskusov, od katerih pa v večini delcax ni. Želelibinareditiprogram,kibiznalsamločitiprimerevkaterihseX pojavi od tistih v katerih se X ne pojavi. Na spletu in v revijah je moč najti mnogo člankov na temo nevronskih mreˇz v fiziki visokih energij. Pregled področja je narejen denimo v [14] in [15], v nadaljevanju bom pa povzel rezultate članka [10], ki govori o uporabi UVNM za klasifikacijo poskusov. Nevronsko mreˇzo bi radi naučili, da bo znala povedati, ali so meritve v detektorju trkalnika posledica razpada K S π + π (14) aličesadrugega,pričemerjek S nastalpritrkupozitronae + inelektronae. Mreˇzabo to povedala na podlagi osmih(prvi primer) ali dvajsetih(drugi primer) vrednosti, ki jih bo moˇzno izmeriti v detektorju. Primeri za nekaj od teh vrednosti so npr. najmanjša razdaljamedπ + inπ, radijcilindra,ki določaobmočjeinterakcijemed e + in e dolˇzinapoti,ki jo K S opravipredrazpadom... V članku so uporabili mreˇzo z N (število izmerjenih vrednosti v detektorju, torej 8 ali 20) nevroni v vstopni plasti, z (N 1) in (N 2) nevroni v dveh skritih plasteh in z enim izhodnim nevronom, ki vrne vrednost blizu 1, če je prišlo do razpada (14), in vrednost blizu 0, če do razpada ni prišlo. Učni vzorec, s katerim so učili mreˇzo, so dobili s simulatorji, tako da je bilo za vsak vhodni x jasno, ali mora na izhodu mreˇza 12

(a) Na grafu so prikazani rezultati za 4 (vsaka je svoje barve na grafu) različne nevronske mreˇze - dve z 8 vhodnimi nevroni in dve z 20 vhodnimi nevroni. Ena mreˇza z 8 (20) vhodi je bila trenirana z učnim vzorcem velikosti 5000 točk, druga pa z učnim vzorcem 10000 točk. Na vodoravni osi je število iteracij, se pravi kolikokrat je bila mreˇza trenirana z celotnim vzorcem (velikosti 5000 ali 10000). Na vodoravni osi je pa odstotek napačno klasificiranih vhodov. Krogci označujejo učne primere - število napačno klasificiranih dogodkov je bilo merjeno na učnem vzorcu, kvadratki pa testne primere - število napačno klasificiranih vhodov je bilo določeno z novim vzorcem. Krogci se zato vedno nahajajo pod kvadratki iste barve. (b) Učni vzorec mora imeti tem več in tem bolj razpršene vrednosti, da se mreˇza lahko nauči pravilnega obnašanja za vsak x. Slika 10: Rezultati klasifikacije reakcij z uporabo nevronskih mrež. Vir slik: [10]. 13

dativrednostiblizu1aliblizu0. Rezultatesilahkoogledamonaslikah10(a)in10(b). V 96% primerov mreˇza pravilno prepozna razpad K S π + π. Iz grafa 10(a) razberem več stvari. Mreˇzi, ki jima na grafu pripadata modra in roza krivulja, lahko bolje prepoznata razpade K S π + π v učnem vzorcu (krogci). To je razumljivo, saj imata več vhodov (20) in torej več informacij na podlagi katerih se odločata. Po drugi strani pa več vhodov pomeni tudi potrebo po daljšem učenju. Zato se isti dve mreˇzi odreˇzeta slabše pri novem (testnem) vzorcu (kvadratki). Več ko je vhodov v mreˇzo, več dimenzionalen je prostor vrednosti, ki jih mora mreˇza znati preslikati. Če ˇzelimo, da mreˇza dela v redu, moramo tekom učenja prečesati cel prostor moˇznih vhodov. Roza mreˇza ima napaki bolj skupaj kot modra mreˇza in rdeča mreˇza ima napaki bolj skupaj kot zelena mreˇza. Roza mreˇza ima enako vhodov kot modra mreˇza,ajebilaučenazenkratveč(različnimi!) učnimiprimerikotmodra(karni enako temu, da bi roza mreˇzo učili z enakimi primeri kot modro, le enkrat dlje!). Posledično sicer roza mreˇza ni tako dobro prilagojena učnemu vzorcu kot modra (modrikrogcisopodrozakrogci),jepazatoboljuspešnaprinovihprimerih(roza kvadratki so pod modrimi kvadratki). Pri pribliˇzno 100 iteracijah (ko v procesu učenja pošljemo učni vzorec pribliˇzno 100-krat v UVNM) začne prihajati do prenaučenosti - mreˇza se preveč navadi na učni vzorec in se zato potem slabše odreˇze na novih vzorcih. Napaka na učnem vzorcu (krogci) sicer monotono pada, a bolj pomembna je napaka na novem vzorcu, ki pa začne rasti. Ugotovitve iz zgornjih alinej potrjuje tudi slika/tabela 10(b) - bolj ko je razpršen učni vzorec, bolj blizu sta si napaki na učnem vzorcu in na novem vzorcu, ki ga mreˇzi dam v obdelavo po učenju. 4.2 Enačbastanjaρ(T,S,P) v oceanskihmodelih V večini oceanskih modelov, ki se trudijo opisati gibanje vode, temperaturni razvoj in podobno, se za izračun gostote vode uporablja mednarodna UNESCOVA-va enačba stanja za morsko vodo (UNESCO international equation of state for seawater (UES))[11], ρ(t,s,p) = ρ(t,s,0) 1 P K(T,S,P), (15) kjer je ρ gostota vode v kg m 2, T temperatura v C, S slanost v psu 1 P tlak v decibarih in K obratna vrednost stisljivosti χ. Enačba 15 je določena empirično in sicer na območju 2 C < T < 40 C, 0 < S < 40 psu in 0 < P < 10000 decibarov, kar je tudi območje, ki človeka ponavadi zanima. Po obliki je [12] izraz za ρ(t,s,p) polinom s 26 členi, stopnje4vt, 2 v P in1.5 v S. V oceanskih modelih se ponavadi računa vrednost ρ(t,s,p) v vsaki točki (x,y,z) in to pogosto po vsakem časovnem koraku t na novo. Modeli z veliko prostorsko in časovno resolucijo porabijo kar do 40% vsega računskega časa za izračun ρ, saj je račun z uporabo empirične formule časovno zelo zahteven. Ena od moˇznosti za pohitritev računa je uporaba nevronske mreˇze (3 vhodi, 1 izhod, N nevronov v skriti plasti) za preslikavo(s,t,p) ρ[11]. 1 practicalsalinityunits; http://science.nasa.gov/glossary/practical-salinity-unit/ 14

Tabela 3: Razlika med ρ UES in ρ NN. i = ρ (i) UES ρ(i) NN. min. i [ kg m ] maks. 3 i [ kg m ] povpr. 3 i [ kg m ] σ 3 i [ kg -0.62 0.63 0.0 0.06 m 3 ] Tabela 4: V tabeli so navedene statistike razlik (i) x = ρ (i) UES x ρ NN (i) x, kjer je x {T,S,Z} in i zaporedna številka testnega primera. Vrednosti povprečij in standardnih deviacij so normirane na povprečno povprečje referenčnih vrednosti, se pravi na ρ UES x. parcialni odvod normirano povpr. normirana st. dev. σ ρ T 0.008 0.048 ρ S 0.001 0.016 ρ Z 0.000 0.001 V modelu UES se pojavijo različni pribliˇzki, ki so skupaj z negotovostjo meritev odgovorni za standardno deviacijo ρ okoli 0.1 kg. Eden od takih pribliˇzkov je denimo m 3 linearnazveza med tlakomp in globinoz, P = αρ(t,s,0)gz, ki zanemari višje člene in tudi odvisnost gravitacijskega pospeška g od geografske širine. Kakorkoli ˇze, če naj metoda z nevronskimi mreˇzami nadomesti model UES, zahtevamodaimanapakastandardnodeviacijo do0.1 kg m 3 in povprečniodmik(bias) 0. V članku[11] je bila narejena analiza primernosti uporabe nevronskih mreˇz kot nadomestka za empirično enačbo 15. Učni vzorec za nevronsko mreˇzo je bil sestavljen iz 4000 točk(t i,s i,p i)naključnogeneriranihnadefinicijskemobmočjuuesmodelskefunkcije ρ(t,s,p). Z uporabo modela UES je bila za vsako točko iz definicijskega območja izračunana tudi ustrezna vrednost ρ i, tako da je bil učni vzorec sestavljen iz 4000 točk (T i,s i,z i,ρ i). Nevronskamreˇza,ki je nastalazučenjem,je imelaprenosnofunkcijo ρ NN (T,S,Z), Najprej pa se je treba seveda vprašati, ali je pribliˇzek ρ NN dovolj natančen in pa ali je sploh kajhitrejši od računanjazρ UES. Test mreˇze je potekal z 16000 naključno generiranimi točkami (T i,s i,z i) iz definicijskega območja ρ UES. Izračunani sta bili vrednosti ρ NN in ρ UES za vsak i ter razlika med njima, i = ρ (i) UES ρ(i) NN. Nekaj statistik mnoˇzice i kaˇze tabela 3. Vidimo lahko, da sta tako bias kot tudi σ v mejah sprejemljivosti. Podoben test je bil narejen tudi za parcialne odvode ρ po T, S in Z. Rezultati so zapisani v tabeli 4. Tudi odvodi so zadovoljivo točni, kar lahko izkoristimo za dodatno pohitritev računanja ρ. Totalni diferencial gostote na izbrani globini je ρ = ρ T ρ T + S. (16) S 15

Slika 11: Izračun ρ z nevronsko mrežo je pri enaki natančnosti desetkrat hitrejši od izračuna po empirični formuli 15. Vir slike: [11]. Namesto, da ob časih t 1,t 2,t 3,...t vsakič na novo računam ρ(x,y), lahko poskusim račun pohitriti tako, da izračunam ρ(x,y) le ob času t 1, ob naslednjih časih pa dodam le popravke po enačbi 16, pri čemer so parcialni odvodi izračunani ob času t!. Dodatna ugodnost je tudi to, da sta parcialna odvoda ρ po T in S pravzaprav odvoda prenosne funkcije nevronske mreˇze po vhodih in ju zato izračunam zelo poceni s povratno propagacijo na nespremenjeni mreˇzi. Na ta način je moˇzno doseči rezultate enake točnosti kot zρ UES,ledaračun trajadodesetkrat manjčasa (slika11). 4.3 Prepoznavanje znakov Nevronsko mreˇzo lahko uporabimo tudi za prepoznavanje (deformiranih) znakov. Program, s katerim sem naredil sliko 12, naključno izbira števke med 0 in 9 ter jih nato prav tako naključno deformira. Deformirano števko pošlje nato v nevronsko mreˇzo in pogleda ter nariše vrednosti vseh desetih izhodov mreˇze od katerih vsak predstavlja svojo števko. Večja ko je vrednost izhoda, bolj je mreˇza prepričana, da je deformirana števka na sliki ravno števka, ki pripada danemu izhodu. Števko na sliki 12 mreˇza prepoznaza5,malose ji pazdipodobnatudi9. Števke so predstavljene z matriko velikosti 8 8 polj, ki imajo lahko vrednost 0 ali 1. Nevronska mreˇza je sestavljena iz vhodne plasti s 64 nevroni, dveh skritih plasti z 10 nevroni in izhodne plasti s prav tako 10 nevroni. 5 Zaključek Usmerjene večnivojske nevronske mreˇze(uvnm) so danes najpogosteje uporabljena vrsta nevronskih mreˇz. Razlog za to gre iskati v časovno izredno učinkovitem algoritmu za učenje (učenje s povratno propagacijo) in pa v zmoˇznosti mreˇze, da na zelo kompaktennačin(zmnoˇzicouteˇzi{w ij})dobroocenizapletenevektorskefunkcijeveč spremenljivk. Na nevronsko mreˇzo lahko gledamo kot na eno od moˇznih reprezentacij funkcije. Iz tega sledi, da lahko na vsak problem, ki vključuje funkcije, gledam z vidika nevronskih mreˇz. V seminarju sem predstavil uporabo UVNM na področjih, kjer so prednosti pred klasičnimi metodami velike. Po raznih virih pa se najdejo tudi mnogo bolj neuveljavljene ideje (npr. za reševanje NDE in PDE [13]) za uporabo UVNM, ki pa niso nujno slabe - moˇznosti uporabe je toliko, da v relativno kratkem času, odkar so UVNM v splošni uporabi, še ni bilo moˇzno vseh ustrezno ovrednotiti. 16

Slika 12: Nevronska mreža je sposobna prepoznati deformirane števke. Vir slike: slika je generirana s popravljeno verzijo programa ocr.py [20]. Literatura [1] McCulloch-Pittsov nevron, http://www.mind.ilstu.edu/curriculum/modoverview.php?modgui=212 (datum branja: 21.4.2010). [2] Heinrich Wilhelm Gottfried von Waldeyer-Hartz - http://en.wikipedia.org/wiki/heinrich_wilhelm_gottfried_von_waldeyer-hartz (datum branja: 21.4.2010). [3] Artificial neuron - http://en.wikipedia.org/wiki/artificial_neuron (datum branja: 21.4.2010). [4] Sigmoid function- http://en.wikipedia.org/wiki/sigmoid_function(datum branja: 21.4.2010). [5] Batch vs. Online Learning- http://www.willamette.edu/ gorr/classes/cs449/linear2.html (datum branja: 23.4.2010). [6] Raúl Rojas, Neural Networks - A Systematic Introduction. Springer-Verlag, Berlin, 1996. [7] Steven W. Smith The Scientist and Engineer s Guide to Digital Signal Processing. [8] Perceptron - http://en.wikipedia.org/wiki/perceptron (datum branja: 21.4.2010). [9] Andrej Dobnikar, Nevronske mreže: teorija in aplikacije. Didakta, Radovljica, 1990. [10] Teodorescu, L.; Reid, I.D.;, Gene Expression Programming and Artficial Neural Network Approaches for Event Selection in High Energy Physics, Nuclear Science Symposium Conference Record, 2006. IEEE, vol.1, no., pp.593-598, Oct. 29 2006-Nov. 1 2006 doi: 10.1109/NSSMIC.2006.356225 URL: http://ieeexplore.ieee.org.nukweb.nuk.uni-lj.si/stamp/stamp.jsp?tp=&arnumber=4179064&isnumber=4178919 [11] Krasnopolsky, V.M.;, Artificial neural networks in environmental sciences. II. NNs for fast parameterization of physics in numerical models, Neural Networks, 2001. Proceedings. IJCNN 01. International Joint Conference on, vol.2, no., pp.1398-1403 vol.2, 2001 doi: 10.1109/IJCNN.2001.939566 URL: http://ieeexplore.ieee.org.nukweb.nuk.uni-lj.si/stamp/stamp.jsp?tp=&arnumber=939566&isnumber=20330 [12] David Brydon, Shan Sun, Rainer Bleck, A New Approximation of the Equation of State for Sea Water, Suitable for Numerical Ocean Models, Submitted to Journal of Geophysical Research, URL: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.36.7853&rep=rep1&type=pdf. 17

[13] I. E. Lagaris, A. Likas, D. I. Fotiadis, Artificial Neural Networks for Solving Ordinary and Partial Differential Equations, http://arxiv.org/abs/physics/9705023 (datum branja: 21.4.2010). [14] Carsten Peterson, Neural Networks in High Energy Physics, URL: http://lss.fnal.gov/archive/other/lu-tp-92-23.pdf (datum branja: 21.4.2010). [15] Artificial Neural Networks in High Energy Physics, http://neuralnets.web.cern.ch/neuralnets/nnwinhep.html (datum branja: 21.4.2010). [16] ffbpnn.py, http://www.challenge-you.com/paste?id=2054 (datum branja: 21.4.2010). [17] Slika biološkega nevrona, http://sl.wikipedia.org/wiki/slika:neuron,_langneutral.svg (datum 21.4.2010). [18] Slika umetnega nevrona, http://upload.wikimedia.org/wikipedia/commons/b/b6/artificialneuronmodel.png (datum 21.4.2010). [19] seminar Katarine Mramor z naslovom Nevronske mreže pri predmetu seminar 2 (Fizika UNI, FMF), predstavljen 27.2.2008. [20] Wojciechowski, M., Feed-forward neural network for python, Technical University of Lodz (Poland), Department of Civil Engineering, Architecture and Environmental Engineering, http://ffnet.sourceforge.net/, ffnet-0.6, March 2007 18