35
Dr Samim Konjicija, dipl. ing. el. Inteligentno upravljanje Vještačke neuronske mreže u upravljanju (3) Sarajevo, 15.12.2014. godine

IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

  • Upload
    edhem

  • View
    3

  • Download
    0

Embed Size (px)

DESCRIPTION

ii

Citation preview

Page 1: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Dr Samim Konjicija, dipl. ing. el.

Inteligentno upravljanjeVještačke neuronske mreže u upravljanju (3)

Sarajevo, 15.12.2014. godine

Page 2: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Sadržaj predavanja

• Višeslojne FF-ANN

• Algoritam propagiranja greške unazad

• Izrazi za modificiranje težina i pomaka neurona

• Batch (off-line) treniranje

• Osobine algoritma propagiranja greške unazad i njegove modifikacije

• Primjena FF-ANN u upravljanju:

– Kloniranje postojećeg regulatora

– Upravljanje na bazi referentnog modela

– Prediktivno upravljanje na bazi modela

– NARMA-L2 regulator

Page 3: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Višeslojna FF-ANN

• Izlazni sloj – neuroni čiji izlazi ujedno predstavljaju i izlaze ANN

• Skriveni slojevi – neuroni čiji izlazi predstavljaju ulaze u naredni sloj ANN

• Svi neuroni sloja FF-ANN tipično imaju istu aktivacijsku funkciju

• Višeslojne FF-ANN su u stanju realizirati složenija preslikavanja

• Problem je kako odrediti težine i pomake neurona

• Analiziraćemo potpuno povezanu višeslojnu FF-ANN

Page 4: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Višeslojna FF-ANN

Page 5: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Propagiranje greške unazad (Backpropagation)

• A. Bryson, Yu-Chi Ho, 1969. godine

• D. Rumelhart, G. Hinton, R. Williams, 1986. godine

• Primjena delta-pravila učenja za višeslojne mreže:

• Procedura:

1. Prezentirati ulaznu vrijednost iz skupa podataka za treniranje

2. Uporediti izlaz ANN sa ciljnom vrijednošću izlaza i izračunati grešku izlaza svakog neurona izlaznog sloja

3. Za svaki neuron odrediti lokalnu grešku

4. Podesiti težine i pomake svakog neurona tako da se umanji vrijednost lokalne greške

5. Ponavljati korake 1.-4. dok se ne postigne zahtijevana performansa

Page 6: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Propagiranje greške unazad (Backpropagation)

• Greška se propagira unazad prema skrivenim slojevima, da bi se mogao odrediti utjecaj promjene težine ili pomaka skrivenog neurona na izlaz neurona (samim time i na grešku)

• Treba voditi računa i o tome da promjena neke težine ili pomaka ima utjecaja na više izlaza ANN

Page 7: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Propagiranje greške unazad (Backpropagation)

• Algoritam propagiranja greške unazad traži minimum korištenjem gradijentnog metoda

• Varijable problema su težine i pomaci svih neurona ANN

• Koristi se kriterij oblika:

• Algoritam se može provesti inkrementalno (on-line) ili batch (off-line)

Page 8: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_
Page 9: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Propagiranje greške unazad (Backpropagation) –

jedan ulazni vektor, jedan izlazni neuron

• Izlazi neurona i aktivacijske djelovanja su:

• Greška izlazne vrijednosti ANN u odnosu na ciljnu vrijednost:

• Kriterij:

a= a 1 2

= f 2 n1

2

a 11

= f 1 n1

1

a 21

= f 1 n 2

1

a 31

= f 1 n 3

1

n 11

= w 11 1 p1 w 12

1 p 2 b1 1

n 21

= w 21 1 p1 w 22

1 p 2 b2 1

n 31

= w 31 1 p1 w 32

1 p 2 b 3 1

e= t− a= t− f 2 n 1

2

J = e 2= t− a 1

2

2

n1(2 )

=w11(2)a1

(1)+ w12

(2)a2(1)

+ w13(2)a3

(1)+ b1

(2)

Page 10: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Propagiranje greške unazad (Backpropagation) –

jedan ulazni vektor, jedan izlazni neuron

• Za izlazni neuron vrijedi:

• Korekcija težine:

• Nova vrijednost težine:

• Za bilo koju težinu i pomak izlaznog neurona:

∂ J

∂w 112=−2⋅t−a1

2⋅

∂ f 2

∂ n12⋅

∂ n12

∂ w112=−2⋅e⋅

∂ f 2

∂n12

⋅a11

w 112

=⋅e⋅∂ f 2

∂ n12

⋅a11

w 11 2, k 1

= w 112, k

w 11 2

w ij o ,k 1

= w ijo ,k

w ij o

b io

=⋅e i⋅∂ f o

∂ nio

b io , k1

= b io , k

b i o

w ijo

=⋅e i⋅∂ f o

∂ n io

⋅a jh

Page 11: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Propagiranje greške unazad (Backpropagation) –

jedan ulazni vektor, jedan izlazni neuron

• Za neuron skrivenog sloja vrijedi:

• Uvedimo oznaku:

• Nova vrijednost težine:

• Za bilo koju težinu i pomak neurona u skrivenom sloju:

∂ J

∂w111=−2⋅t−a1

2⋅∂ f 2

∂ n12⋅

∂ n12

∂ a11⋅

∂a11

∂w111 =−2⋅t−a1

2⋅

∂ f 2

∂ n12⋅w11

2 ⋅∂ f 1

1

∂ n11⋅

∂ n11

∂ w111 =

=−2⋅e⋅∂ f 2

∂ n12⋅w11

2 ⋅∂ f 1

1

∂ n11⋅p1

12 =e⋅

∂ f 2

∂ n12

w 111

=⋅12 ⋅w11

2⋅∂ f 1

∂n 11

⋅p 1w 11

1,k 1 = w 111, k w 11

1

w ijh

=⋅1⋅w 1io ⋅∂ f h

∂ n ih ⋅p j

b ih=⋅1⋅w1i

o⋅∂ f h

∂ nih

w ij h ,k 1

= w ijh , k

w ij h

b ih , k1 = b i

h , k b i h

Page 12: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_
Page 13: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Propagiranje greške unazad (Backpropagation) –

jedan ulazni vektor,više izlaznih neurona

• Za neuron izlaznog sloja nema promjena, obzirom da promjena težine jednog neurona ne utiče na vrijednosti izlaza ostalih neurona izlaznog sloja:

• Za bilo koju težinu i pomak izlaznog neurona:

∂ J

∂w ijo =−2⋅t i−a i

2 ⋅

∂ f o

∂n io ⋅

∂ nio

∂w ijo =−2⋅e i⋅

∂ f o

∂n io ⋅a j

h

w ijo

=⋅e i⋅∂ f o

∂ n io ⋅a j

h

b io=⋅e i⋅

∂ f o

∂ nio

w ij o ,k 1= w ij

o ,k w ij o

b io , k1

=b io , k

b i o

Page 14: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Propagiranje greške unazad (Backpropagation) –

jedan ulazni vektor, više izlaznih neurona• Za neuron skrivenog sloja vrijedi:

• Uveli smo oznake:

• Za bilo koju težinu i pomak neurona u skrivenom sloju:

∂ J

∂w111=−2⋅t 1−a1

2⋅∂ f 2

∂ n12⋅w11

2⋅∂ f 1

1

∂ n11⋅p1−2⋅t 2−a2

2⋅

∂ f 2

∂n22

⋅w212⋅∂ f 1

1

∂n11

⋅p1 =

=−2⋅[ t1−a12

⋅∂ f 2

∂ n12

⋅w112

t2−a22

⋅∂ f 2

∂ n22⋅w21

2]⋅∂ f 11

∂ n11⋅p1

=−2⋅[12⋅w11

2 2

2 ⋅w21

2 ]⋅∂ f 1

1

∂ n11

⋅p1

i2

=e i⋅∂ f 2

∂ n i2

w ijh

=⋅∑l=1

S h

lo ⋅w li

o ⋅∂ f h

∂ nih⋅p j w ij

h ,k 1= w ij

h , k w ij

h

bih

=⋅∑l=1

S h

lo⋅w li

o ⋅∂ f h

∂nih

b ih , k1 = b i

h , k b i h

Page 15: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Propagiranje greške unazad (Backpropagation) –

stilovi treniranja• Najčešće se u skupu podataka za treniranje nalazi više parova

ulazni vektor-ciljni izlazni vektor

• Za inkrementalno (on-line) treniranje, sa svakim parom vektora iz skupa podataka za treniranje se provodi prethodno opisani postupak

• Kada se procesiraju svi parovi, završena je jedna epoha treniranja

• U slučaju batch (off-line) treniranja, modifikacija težina i pomaka ANN se provodi tek nakon što se procesiraju svi parovi vektora

• Radi toga se izrazi za modificiranje težina i pomaka izvode u odnosu na kriterij:

J=∑r=1

Q

∑i=1

S o

e ir2=∑r=1

Q

∑i=1

S o

t ir−a iro

2

Page 16: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Propagiranje greške unazad (Backpropagation) –

stilovi treniranja• Izrazi za računanje promjene težina i pomaka neurona izlaznog

sloja:

• Izrazi za računanje promjene težina i pomaka neurona skrivenog sloja:

w ijo=⋅∑

r=1

Q

e ir⋅∂ f o

∂ nio

⋅a jrh

b io

=⋅∑r=1

Q

e ir⋅∂ f o

∂n io

b ih

=⋅∑r=1

Q

∑l=1

S h

lro ⋅wli

o⋅∂ f h

∂ n ih Δ wij

(h)=η⋅(∑

r=1

Q

∑l=1

S( h)

ϵlr(o)⋅wli

(o)⋅p jr)⋅∂ f (h)

∂ni(h)

Page 17: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Propagiranje greške unazad (Backpropagation) –Aktivacijska funkcija

• Tipične aktivacijske funkcije koje se koriste u višeslojnim FF-ANN:

– Logsig:

– Tansig:

– Purelin:

a=1

1e−n

a=2

1e−n−1

a= n

∂ f∂ n

=e−n

1e−n

2 = f⋅1− f

∂ f∂ n

=1

∂ f∂n

=2⋅e−n

(1+ e−n)2

Page 18: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Osobine algoritma propagiranja greške unazad

• Prednosti:

– Jednostavna implementacija

– Standardan metod

• Nedostaci:

– Neefikasnost i brzina konvergencije

– Zapadanje u lokalne ekstremume

Local Minimum

Global Minimum

Page 19: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Poboljšanja gradijentnog algoritma

• Momentum (masa):

– Promjeni težine/pomaka se dodaje dio prethodne vrijednosti promjene težine/pomaka

w ij k 1

= w ijk

⋅ w ij k−1

Page 20: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Poboljšanja gradijentnog algoritma

• Momentum (masa):

– Algoritam je u stanju da izbjegne lokalne minimume sa manjim domenom atrakcije

– Modifikacija ne garantira da će lokalni minimum biti izbjegnut

– Minimum kriterija se često pronalazi u manjem broju iteracija

Page 21: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Poboljšanja gradijentnog algoritma

• Adaptivna brzina učenja:

– Pri svakom računanju modifikacije težine/pomaka se određuje nova vrijednost brzine učenja

– Ukoliko se smjer promjene težine/pomaka u odnosu na prethodnu iteraciju nije promijenio, brzina učenja se povećava

– Ukoliko se smjer promjene težine/pomaka u odnosu na prethodnu iteraciju promijenio, brzina učenja se smanjuje

• Često se prethodne dvije modifikacije kombiniraju

Page 22: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Primjena FF-ANN u upravljanju

• FF-ANN sa barem jednim skrivenim slojem neurona je u stanju da aproksimira sa proizvoljnom tačnošću bilo koju nelinearnu funkciju sa konačnim brojem prekida

• Primjena za:

– Identifikaciju nelinearnih sistema

– Određivanje inverznog modela sistema

– Realizaciju regulatora

– Realizaciju složenijih zakona upravljanja

• Upravljanje na bazi referentnog modela

• Prediktivno upravljanje na bazi modela

• NARMA-L2 regulator

Page 23: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Kloniranje postojećeg regulatora

• Najjednostavniji način realizacije regulatora na bazi ANN je kloniranje postojećeg regulatora

• ANN se trenira da oponaša postojeći regulator

• U idealnom slučaju, regulator na bazi ANN posjeduje iste osobine kao postojeći regulator

• Razlozi za realizaciju ovakvog regulatora:

– Zamjena postojećeg regulatora

– Postizanje efikasnosti implementacije u realnom vremenu

p tcollect

TRAIN

Page 24: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Uvođenje dinamičkih elemenata u FF-ANN

• FF-ANN realizira statičko preslikavanje ulaza u izlaze:

• Dinamičko ponašanje regulatora se može postići uvođenjem različitih elemenata:

– Izvodi i integrali signala:

– Zakašnjeli ulazi i izlazi:

r t =F e t

r t =F e t ,∫0

t

e t dt,de t dt

,t ,r k =F r k−1 ,r k−2 , .. . ,r k−n ,e k ,e k−1 , .. .e k−m ,k

e(t)

r(t)

s

1

Integrator

du/dt

Diferencijator

p a

ANN

r(k)e(k)

e(k-1)

r(k-1)

Kašnjenje1

Kašnjenje

p a

ANN

(a) (b)

Page 25: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Upravljanje na bazi referentnog modela

• Koriste se dvije ANN:

– Regulator na bazi ANN

– Model sistema na bazi ANN

Page 26: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Upravljanje na bazi referentnog modela

• ANN omogućavaju realiziranje proizvoljnog nelinearnog regulatora

• Ciljna regulaciona djelovanja nisu poznata

• Poznati su željeni izlazi cijelog sistema upravljanja

• Prvo se identificira sistem

• Model sistema na bazi ANN se onda koristi za propagiranje greše unazad, sa izlaza sistema do regulatora na bazi ANN

p ? y

Backpropagation

Page 27: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Prediktivno upravljanje na bazi modela

• Model Predictive Control (MPC)

• Model sistema na bazi ANN se koristi da bi se odredio budući odziv sistema na potencijalno regulaciono djelovanje

• Upravljački algoritam računa upravljačke signale koji optimiziraju buduću performansu sistema

• ANN model sistema se trenira off-line (batch treniranjem)

• Pošto se optimizacija provodi u svakom trenutku uzorkovanja, ovakav regulator zahtijeva znatan obim računanja u realnom vremenu

Page 28: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Prediktivno upravljanje na bazi modela

• Identifikacija sistema:

– Kao ulazi u ANN se dovode stvarni ulazi u sistem

– Kao ciljni izlazi se koriste stvarni izlazi sistema

Page 29: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Prediktivno upravljanje na bazi modela

• Predikcija ponašanja sistema:

– ANN model predviđa izlaze sistema za date ulaze unutar specificiranog vremena

– Optimizacioni algoritam minimizira kriterij oblika:

– N1 , N2 , Nu definiraju vremenske periode

– yr – željeni izlaz sistema, ym – predviđeni izlaz sistema

– u' – potencijalno upravljačko djelovanje

Page 30: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

Prediktivno upravljanje na bazi modela

• Upravljačka struktura:

Page 31: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

NARMA-L2 regulator

• Osnovna ideja je da se nelinearna dinamika sistema transformira u linearnu dinamiku, poništavanjem nelinearnosti

• Prvi korak u sintezi regulatora predstavlja identifikacija sistema

• Standardno se koristi NARMA model:

• Sljedeći korak je razvijanje nelinearnog regulatora koji sistem vodi po referentnoj trajektoriji yd(k+d):

• ANN se trenira da realizira preslikavanja N i G

• Problem pri treniranju ovih mreža predstavlja primjena algoritma propagiranja greške unazad u dinamičkim uslovima

Page 32: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

NARMA-L2 regulator

• Umjesto regulatora u formi preslikavanja G jednostavnije je koristiti približni NARMA-L2 model regulatora:

• Pošto se upravljanje u(k) ne nalazi u okviru nelinearnosti, izraz se može riješiti po upravljanju:

• Da bi se regulator mogao realizirati, koristi se model:

• d ≥ 2

Page 33: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

NARMA-L2 regulator

• Regulator realizira upravljanje prema izrazu:

Page 34: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

NARMA-L2 regulator

Page 35: IU_9_-_Vjestacke_neuronske_mreze_u_upravljanju_3_

?