You are on page 1of 39

Umjetne neuronske mree

Umjetna inteligencija
Matko Bonjak, 2010.

Uvod
Automatizirana obrada podataka pogodna za izvravanje na raunalu
Neautomatizirane obrade podataka izvravaju ivani sustavi
procesiranje prirodnoga jezika
rjeavanje problema
prepoznavanje lica
ovjek obavlja u 100-200 ms (100ms potrebno za raspoznavanje lica majke!)
raunalu treba vie vremena, a tonost je upitna

itd.

Traimo koncept obrade podataka slian funkcioniranju mozga


...da li je mogue kopirati rad mozga? krenimo s jednostavnijim
Bioloke neuronske mree
bioloki organizmi, ivani sustavi

Umjetne neuronske mree


primitivne imitacije biolokih neuronskih mrea
pokuavaju pribliiti raunala mogunostima mozga imitacijom njegovih
procesnih elemenata na jako pojednostavljen naina

Usporedba mozak - raunalo


Mozak izvrava obradu podataka na potpuno drugaiji nain od
konvencionalnih digitalnih raunala (von Neumannova raunala)
Mozak

Raunalo

gradbeni element

1011 neurona

781M tranzistora
(Core i7)

broj veza

1014 sinapsi (103 po


neuronu)

32

energetska
Potronja

10-16 J po operaciji

10-6 J po operaciji

brzina prijenosa

ms ciklus

ns ciklus

nain rada

serijski i paralelno

uglavnom serijski

tolerancija na pogreke

da

ne

signali

analogni

digitalni

sposoban uiti

da

malo

svjestan/inteligentan

u veini sluajeva

ne (jo?)

Bioloka pozadina
Dendriti primaju signale drugih neurona
Akson prenosi impulse do sinaptikih terminala
Oni zatim prenose signale na dendrite drugih neurona

Umjetni ekvivalent
McCulloch-Pitts model neurona (1943.) Threshold Logic Unit (TLU)
Analogija: signali su numerike vrijednosti (xn), jakost sinapse opisuje
teinski faktor (wn), tijelo neurona je zbrajalo (), a akson aktivacijska
funkcija ()
x0=1

x1
w1

w0

aktivacijska
funkcija

w2

x2

izlaz
n

net = wi xi
i =0

wn
xn

(.)

o = ( wi xi )
i =0

Perceptron
Najjednostavniji oblik neuronske mree
Umjetni neuron s funkcijom praga kao aktivacijskom funkcijom
1957, Rosenblatt
x0=1

x1
w1

w0

w2

x2

net = wi xi
i =0

wn
xn

1
o=
0

w x

i i

w x

<0

i =0
n

i i

i =0

Reprezentacijska mo perceptrona
Pogledajmo malo poblie izlaz perceptrona

1
o=
0

w x

i i

i =0
n

w x

i i

w x

i i

<0

=0

i =0

i =0

To je jednadba decizijske hiperravnine u n-dimenzionalnom prostoru


n

w x
i

0 x C1

i =0
n

x2

wi xi < 0 x C 2
i =0

C1

Perceptron omoguava klasifikaciju!


SAMO linearno odvojivih razreda

x1

U dvije dimenzije
decizijski pravac:

w0 + w1 x2 + w2 x2 = 0

C2

Perceptron?
I to emo s perceptronom?
Nauiti ga!
ovjek ui tj. usvaja znanja, vjetine...navike
A neuronska mrea (za poetak perceptron)?
Hebbova teorija Uiti znai mijenjati jakost veza
adaptacija slobodnih parametara mree (teina) kroz kontinuiranu stimulaciju
okoline

Paradigme uenja:
uenje pod nadzorom
uenje bez nadzora
...

Znai trebamo mijenjati teinske faktore

Uenje perceptrona
Primjeri za uenje: (x, t) x je ulazni vektor, t je eljeni izlaz
Perceptron za odreeni primjer daje izlaz (o), a mi znamo to elimo dobiti
na izlazu (t) razlika nam govori o potrebi korigiranja teina
ukoliko nema razlike, sve je u redu
ukoliko ima, moramo raditi korekciju

w1

stopa
uenja

w0

w2

net = wi xi
i =0

wn
xn

wi = (t o) xi

x0=1

x1

x2

wi wi + wi

1
o=
0

w x

i i

w x

<0

i =0
n

i i

i =0

Uenje perceptrona - algoritam


PERCEPTRON(skup za uenje, )
Postavi teine na nasumino odabrane vrijednosti
dok nisu svi uzorci ispravno klasificirani
za svaki uzorak iz skupa uenja
Klasificiraj uzorak perceptronom
ako je uzorak ispravno klasificiran nastavi sa sljedeim uzorkom
inae primjeni korekciju:

wi wi + (t o) xi

Algoritam konvergira u konanom broju koraka ako su primjeri za uenje


linearno separabilni i ako je dovoljno malen (Minsky i Papert, 1969.)

Zato ba tako?
x2

x2

wi wi + (t o) xi

(-1,3)

(-1,3)
(1,1)

(1,1)

x1
(-2,-1)

x1

(-2,-1)
(5,-2)
-3 + x1 + x2 = 0

(5,-2)
-2 + 2x1 +2x2 = 0

x2

x2
-3 - 3x1 +4x2 = 0

(-1,3)

(-1,3)
(1,1)

(1,1)

x1

(-2,-1)

x1

(-2,-1)
(5,-2)
-2 + 2x1 +2x2 = 0

(5,-2)

Gradijentni spust i delta pravilo


Prethodni algoritam ne konvergira za linearno neseparabilne primjere
Zato uvodimo gradijentni spust
pretraga prostora hipoteza (teina) za pronalazak teina koje najbolje
odgovaraju podacima za uenje

U ovom sluaju koristimo perceptron BEZ aktivacijske funkcije linearna


jedinica (tzv. Adaline)
n

o = wi xi
i =0

Pogreka uenja hipoteza (teina), gdje je D skup za uenje:


E
r
1
wi = (t d od ) xid
E ( w) = (t d od ) 2
wi =
2 dD
d D
wi
Gradijentni spust minimizira E iterativnim modificiranjem teina u malim
koracima.
U svakom koraku, vektor teina se mijenja u smjeru najveeg spusta niz
plohu pogreke.
Proces se nastavlja sve dok se ne dostigne globalni minimum pogreke

Gradijentni spust algoritam


GRADIJENTNI-SPUST(skup za uenje, )
Postavi teine na nasumino odabrane vrijednosti
dok nije zadovoljen kriterij zaustavljanja
za svaki uzorak iz skupa uenja
Klasificiraj uzorak perceptronom
za svaku teinu wi izraunaj

wi wi + (t o) xi
za svaku teinu wi izaunaj

wi wi + wi
Gradijentni spust (delta pravilo) asimptotski konvergira prema minimumu
pogreke (bez obzira da li su primjeri za uenje linearno separabilni ili ne)

Stohastiki gradijentni spust


Problemi gradijentnog spusta

spora konvergencija u minimum


ne garantira pronalazak globalnog minimuma u sluaju vie lokalnih minimuma
Stohastiki gradijentni spust
gradijentni spust korigira teine nakon izrauna nad svim primjerima
stohastiki gradijentni spust aproksimira gradijentni spust inkrementalnom korekcijom
teina

Razlike
gradijentni spust je sporiji jer zahtjeva vie raunanja (sve teine odjednom), meutim
kako koristi pravi gradijent, radi i vee korake
stohastiki gradijentni spust moe ponekad izbjei lokalne minimume jer koristi vie
manjih gradijenata pogreke umjesto globalnog

Stoh. Gradijentni spust algoritam


STOHASTIKI-GRADIJENTNI-SPUST(skup za uenje, )
Postavi teine na nasumino odabrane vrijednosti
dok nije zadovoljen kriterij zaustavljanja
za svaki uzorak iz skupa uenja
Klasificiraj uzorak perceptronom
za svaku teinu wi izraunaj

wi wi + (t o) xi

Delta pravilo jo je poznato kao i LMS (least-mean-square), Adaline pravilo


ili Widrow-Hoff pravilo

Primjeri
Neural Networks applet @ www.aispace.org
AND

OR

XOR

Neuronske mree
Definirali smo umjetni neuron, vidjeli smo perceptron sa step funkcijom i
linearnu jedinicu (Adaline) bez aktivacijske funkcije
Sve to smo do sada radili je bilo vezano uz jedan procesni element
Namee nam se mogunost povezivanja vie procesnih elemenata
No, koji procesni element emo koristiti kao gradbeni element takve mree?
linearnu jedinicu?
linearna kombinacija linearnih funkcija je opet linearna funkcija nita od vie
ekspresivnosti

perceptron?
aktivacijska funkcija perceptrona (step funkcija) je nediferencijabilna pa ne moemo
koristiti gradijentni spust

Treba nam element s nelinearnom diferencijabilnom aktivacijskom


funkcijom

Sigmoidna funkcija
Sigmoidna (logistika) funkcija
(y)
1

(y) =

1
1 + e ky
y

glatka funkcija praga


nelinearna
diferencijabilna
posjeduje zgodno svojstvo da je
monotono raste s ulazom
konstanta k utjee na strminu

d ( y)
= ( y )( 1 ( y ))
dy

No moemo koristiti i druge funkcije: tanh, linearna po odsjecima, itd.

Topologija neuronskih mrea


Ok, imamo novi tip umjetnog neurona, ali kako emo ga povezati s ostalim
neuronima?
Izlaz jednog neurona predstavlja (moe predstavljati) ulaz sljedeem
Podjela neuronskih mrea po topologiji (arhitekturi mree)
Osnovna podjela
aciklike ne sadre povratne veze

ciklike sadre povratne veze (tema za sebe)

Topologija neuronskih mrea


Po broju slojeva

Izlazni sloj

jednoslojne
ulazni sloj se ne rauna
jer nije procesni sloj
Ulazni sloj

vieslojne
sadre jedan ili vie
skrivenih slojeva

Ulazni sloj

Skriveni slojevi

Izlazni sloj

Topologija neuronskih mrea


Po povezanosti
djelomino povezane

potpuno povezane
svaki neuron prethodnog sloja
povezan je sa svakim neuronom
sljedeeg sloja

Topologija neuronskih mrea


Proizvoljna aciklika mrea

Topologiju mogue nauiti!!


recimo genetskim algoritmom

Savladali smo gradbeni element, savladali smo topologijuKako emo sada


uiti mree?

Uenje neuronskih mrea


U sluaju jednoslojne neuronske mree prilino jednostavno gradijentni
spust
Ali kako emo uiti vieslojnu neuronsku mreu?
isto gradijentnim spustom?

Tu nailazimo na problem: znamo korigirati teine izlaznih neurona jer kod


njih tono znamo iznos pogreke, meutim kolika je pogreka za skrivene
neurone? Iz ega nju raunati?
Formula pogreke uenja hipoteza (teina)
r
1
Ed
E ( w) = (t kd okd ) 2

w
=

ji
2 d D koutput
w ji
problem viestrukih lokalnih minimuma zato emo koristiti stohastiki
gradijentni spust
ovisi o izlaznom sloju...a skriveni?

Backpropagation
Problem:
nepoznat eljeni odziv neurona u skrivenom sloju

Rjeenje:
pogreka se moe procijeniti na temelju pogreaka neurona u sljedeem sloju s
kojima je skriveni neuron spojen

7
0.5
0.7
2
0.9
0.8
5

Backpropagation algoritam
BACKPROPAGATION(skup za uenje, )
Inicijaliziraj teinske faktore na male sluajne vrijednosti
dok nije ispunjen uvjet zaustavljanja
za svaki (x, t) iz skupa za uenje
Izraunaj izlaz ou za svaku jedinicu u mree
za svaku izlaznu jedinicu k izraunaj pogreku

k ok (1 ok )(t k ok )
za svaku skrivenu jedinicu h izraunaj pogreku

h oh (1 oh )

sh s
sDownstream ( h )

Ugodi svaki teinski faktor wji

w ji w ji + w ji

gdje je

w ji = j x ji

Konvergencija i lokalni minimumi


Backpropagation garantira konvergenciju SAMO u lokalni minimum i ne
mora nuno dosei globalni minimum
Unato tome, backpropagation je u praksi izuzetno efektivna metoda
aproksimacije funkcija
Tu se moemo osvrnuti i na korak algoritma
Inicijaliziraj teinske faktore na male sluajne vrijednosti
Zato na male sluajne vrijednosti?
na poetku gradijentnog spusta, mrea predstavlja vrlo glatku funkciju
pogledati sigmoidnu funkciju (18)

Heuristike za nadjaavanje problema lokalnih minimuma


dodavanje momenta u pravilo korekcije teina
uporaba stohastikog gradijentnog spusta
uenje viestrukih mrea pa odabir najbolje (ili upotreba ansambla)

Reprezentacijska mo
Kakve sve funkcije mogu neuronske mree reprezentirati?
odgovor dakako ovisi o topologiji mree
generalno:
boolean funkcije
kontinuirane funkcije
proizvoljne funkcije

Neuronske mree mogu aproksimirati proizvoljnu funkciju proizvoljnom


preciznou (Kolmogorovljev egzistencijalni teorem)

Reprezentacija skrivenog sloja


Interesantno je zagledati se u skriveni sloj
znamo to su izlazni i ulazni sloj, ali to je skriveni?

Backpropagation korigira teine tako da definira neurone skrivenog sloja to


efektivnije u svrhu minimizacije kvadratne pogreke E
To ga vodi prema definiciji skrivenog sloja koja nije eksplicitno zadana
ulazom, ali je izgraena tako da na najbolji nain predstavi znaajke
primjera za uenje koji su najvaniji za uenje ciljne funkcije
Automatsko otkrivanje korisne reprezentacije skrivenog sloja je kljuna
sposobnost vieslojnih mrea

Primjer
Dekoder

Kriteriji zaustavljanja
Fiksni broj iteracija petlje
ok, ali to moemo oekivati od takve mree ako o greci ne znamo nita
unaprijed?

Unaprijed odreena pogreka skupa za uenje


zaustavljamo uenje kada pogreka padne ispod praga

Unaprijed odreena pogreka skupa za testiranje


takoer zaustavljamo uenje kada pogreka padne ispod zadanog praga

Kriterij zaustavljanja je dostan vaan jer


premalo iteracija moe neznatno smanjiti pogreku
time dobivamo loiju mreu nego bismo mogli

previe moe odvesti u overfitting

Generalizacija i overfitting
Svojstvo dobre klasifikacije za nepoznate ulaze zove se generalizacija
Cilj generalizacije: interpolirati raspoloive podatke najjednostavnijom
krivuljom
Prenauenost (eng. overfitting)
prevelik broj primjera za uenje (eng. overfitting) uzrokuje gubitak svojstva
generalizacije, UNM postaje strunjak za podatke iz skupa za uenje
forsiranje to manje pogrene na skupu za uenje mrea postaje ekspert za
naueno (treber), ali loe generalizira
izlaz

izlaz

ulaz

ulaz

Overfitting
Kako se rijeiti overfittinga?
weight decay
smanjivanje teina u svakoj iteraciji za neki maleni faktor (sprjeavamo kompleksne
aproksimacije)

uvoenje seta za validaciju


daje nam mjeru pogreke za vrijeme uenja
poinje rasti kada mrea ui posebnosti skupa za uenje

pogreka

validacija

uenje
br. iteracija

Primjeri
XOR

XOR

Primjeri
Mail reading

Malo detaljniji primjer


ZmajMathOCR
prepoznavanje i evaluacija rukom pisanih matematikih izraza i iscrtavanje
funkcija jedne varijable

Malo detaljniji primjer


ulazni sloj

skriveni
sloj

.
.
.

16
255

var

izlazni vektor

.
.
.

izlazni
sloj

Primjene
Klasifikacija uzoraka
optiko prepoznavanje znakova
raspoznavanje govora/govornika
detekcija QRS kompleksa

Klasteriranje (engl. clustering)


rudarenje podataka
kompresija podataka

Aproksimacija funkcija
Predvianja
kretanje cijena dionica
vremenske prognoze

Optimizacije
problem putujueg putnika (engl. TSP)

Asocijativne memorije
Upravljanje
kontrola brzine vrtnje motora

to dalje?
Kohonen self-organizing network SOM
Radial basis function (RBF)
Recurrent networks
Hopfield
Echo state network
Long short term memory network

Associative memory
Stochastic neural network
Weightless networks
Instantaneously trained networks
Neuro-fuzzy networks
....

Literatura
Machine learning, Tom. M. Mitchell, McGraw-Hill, 1997
Predavanja iz kolegija Strojno uenje
Tom M. Mitchell, Carnegie Mellon University
http://www.cs.cmu.edu/%7Eawm/10701/slides/NNets-10-4-05.pdf
Neuronske mree, predavanja, Sven Lonari
http://nm.zesoi.fer.hr/predavanja.html

Pogledajte:
Neural Networks @ AIspace http://www.aispace.org/neural/index.shtml

You might also like