You are on page 1of 35

Inteligentno upravljanje

Vjetake neuronske mree u upravljanju (3)


Dr Samim Konjicija, dipl. ing. el.

Sarajevo, 12.12.2016. godine

Sadraj predavanja
Vieslojne FF-ANN
Algoritam propagiranja greke unazad
Izrazi za modificiranje teina i pomaka neurona
Batch (off-line) treniranje
Osobine algoritma propagiranja greke unazad i njegove
modifikacije
Primjena FF-ANN u upravljanju:

Kloniranje postojeeg regulatora

Upravljanje na bazi referentnog modela

Prediktivno upravljanje na bazi modela

NARMA-L2 regulator

Vieslojna 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 tipino imaju istu aktivacijsku funkciju
Vieslojne FF-ANN
preslikavanja

su

stanju

realizirati

Problem je kako odrediti teine i pomake neurona


Analiziraemo potpuno povezanu vieslojnu FF-ANN

sloenija

Vieslojna FF-ANN

Propagiranje greke unazad


(Backpropagation)
A. Bryson, Yu-Chi Ho, 1969. godine
D. Rumelhart, G. Hinton, R. Williams, 1986. godine
Primjena delta-pravila uenja za vieslojne mree:

Procedura:
1.

Prezentirati ulaznu vrijednost iz skupa podataka za treniranje

2.

Uporediti izlaz ANN sa ciljnom vrijednou izlaza i izraunati greku


izlaza svakog neurona izlaznog sloja

3.

Za svaki neuron odrediti lokalnu greku

4.

Podesiti teine i pomake svakog neurona tako da se umanji


vrijednost lokalne greke

5.

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

Propagiranje greke unazad


(Backpropagation)
Greka se propagira unazad prema skrivenim slojevima, da bi
se mogao odrediti utjecaj promjene teine ili pomaka skrivenog
neurona na izlaz neurona (samim time i na greku)
Treba voditi rauna i o tome da promjena neke teine ili pomaka
ima utjecaja na vie izlaza ANN

Propagiranje greke unazad


(Backpropagation)
Algoritam propagiranja greke
koritenjem gradijentnog metoda

unazad

trai

minimum

Varijable problema su teine i pomaci svih neurona ANN


Koristi se kriterij oblika:

Algoritam se moe provesti inkrementalno (on-line) ili batch


(off-line)

Propagiranje greke unazad


(Backpropagation)
jedan ulazni vektor, jedan izlazni neuron
Posmatrajmo dvoslojnu ANN sa jednim izlaznim neuronom
Neka su aktivacijske funkcije slojeva f (1) i f (2) neprekidne i
diferencijabilne

Propagiranje greke unazad


(Backpropagation)
jedan ulazni vektor, jedan izlazni neuron
Izlazi neurona i aktivacijske djelovanja su:
a = a 12= f

(1)
(2) (1)
(2) (1)
(2)
n(21 )=w(2)
a
+
w
a
+
w
a
+
b
11 1
12 2
13 3
1

n 12

a 1
1 = f

n 11

1
1
1
n 1
1 = w 11 p 1 w 12 p 2 b 1

a 1
2 = f

n 21

1
1
1
n 1
=
w
p

w
p

b
2
21
1
22
2
2

a 1
3 = f

n 31

1
1
1
n 1
3 = w 31 p 1 w 32 p 2 b 3

Greka izlazne vrijednosti ANN u odnosu na ciljnu vrijednost:


e= t a=t f

n1

Kriterij:
2

2 2

J = e =t a1

Propagiranje greke unazad


(Backpropagation)
jedan ulazni vektor, jedan izlazni neuron
Za izlazni neuron vrijedi:
2
2
n1
J
f 2 1
2 f
=2t a1 2 2 =2e 2 a 1
2
w 11
n1 w 11
n1
Korekcija teine:

2
w 11 = e

Nova vrijednost teine:

f
1
a
1
2
n1

k
2
w 112, k 1= w 2,
11 w 11

Za bilo koju teinu i pomak izlaznog neurona:


o

f
h
w =e i o a j
ni
o
ij

f o
o
ni

o
b i = e i

o , k 1

w ij

o , k

= w ij

w ij

, k 1
o , k
o
b o
=
b

b
i
i
i

Propagiranje greke unazad


(Backpropagation)
jedan ulazni vektor, jedan izlazni neuron
Za neuron skrivenog sloja vrijedi:
2

2
2
n 1 a 1
n1
J
2 f
2 f
2 f 1
1 =2t a 1
2
1
1 =2t a1
2 w 11
1
1 =
w 11
n1 a 1 w 11
n1
n 1 w11
1
f 2 2 f 1
=2e 2 w 11 1 p 1
n1
n1
2

2
1 =e

Uvedimo oznaku:

Nova vrijednost teine:

f
w = w 1 p 1
n1
1
11

2
1

2
11

f
2
n1

k
1
w 111, k 1= w 1,

w
11
11

Za bilo koju teinu i pomak neurona u skrivenom sloju:


f h
w = 1w h p j
ni
h
h
o f
b i = 1w 1i h
ni
h
ij

o
1i

h , k 1

w ij

h , k

= w ij

w ij

, k1
b h
= b i h , k b i h
i

Propagiranje greke unazad


(Backpropagation)
jedan ulazni vektor, vie izlaznih neurona
S o

Kriterij e sada biti:

J = ei = t i a i
i=1

Za mreu na slici e kriterij biti:

S o

o 2

i =1

2
2 2
J = t 1 a 2

a
1
2
2

Propagiranje greke unazad


(Backpropagation)
jedan ulazni vektor,vie izlaznih neurona
Za neuron izlaznog sloja nema promjena, obzirom da promjena
teine jednog neurona ne utie na vrijednosti izlaza ostalih
neurona izlaznog sloja:

o
no
J
f o h
2 f
i
=2t i a i o o =2e i o a j
o
w ij
n i w ij
ni

Za bilo koju teinu i pomak izlaznog neurona:


o

f
h
w =e i o a j
ni
o
ij

f o
b = e i o
ni
o
i

,k
w ijo , k 1= w o
w ijo
ij

o , k 1

bi

o , k

=bi

bi

Propagiranje greke unazad


(Backpropagation)
jedan ulazni vektor, vie izlaznih neurona
Za neuron skrivenog sloja vrijedi:
1
1
2
2
J
2 f
2 f 1
2 f
2 f 1
=2t 1a 1 2 w 11 1 p12t 2a 2 2 w21 1 p 1 =
1
w 11
n1
n1
n 2
n 1

2
f 2 2
2 f
2 f 1
=2 t 1 a 2 w11 t 2 a 2 2 w 21 1 p 1
n1
n2
n1
2
1

f 1
=2[ w w ] 11 p 1
n1
2
1

2
11

2
2

2
21

2
=e

i
i

Uveli smo oznake:

f
2
ni

Za bilo koju teinu i pomak neurona u skrivenom sloju:

wh
ij =

S h

l =1

S h

f h
p j
h
ni

o
o
w
l
li

f
b =
w h
l=1
n i
h
i

o
l

o
li

h , k 1

w ij

h , k

= w ij

w ij

, k1
b h
= b i h , k b i h
i

Propagiranje greke unazad


(Backpropagation)
stilovi treniranja
Najee se u skupu podataka za treniranje nalazi vie 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, zavrena je jedna epoha
treniranja
U sluaju batch (off-line) treniranja, modifikacija teina i pomaka
ANN se provodi tek nakon to se procesiraju svi parovi vektora
Radi toga se izrazi za modificiranje teina i pomaka izvode u
odnosu na kriterij:
Q

S o

S o

J = e ir = t ir a ir
r =1 i =1

r =1 i=1

o 2

Propagiranje greke unazad


(Backpropagation)
stilovi treniranja
Izrazi za raunanje promjene teina i pomaka neurona izlaznog
sloja:
Q

f
w = e ir o ahjr
ni
r =1
o
ij

f o
b = e ir o
n i
r =1
o
i

Izrazi za raunanje promjene teina i pomaka neurona skrivenog


sloja:

S( h)

S h

h
h
o
o f
f
w = w p jr (h) b i = lr wli h
r =1 l =1
ni
ni
r=1 l=1
(h)
ij

(o)
lr

(o)
li

(h)

Propagiranje greke unazad


(Backpropagation)
Aktivacijska funkcija
Tipine aktivacijske funkcije koje se koriste u vieslojnim FFANN:
n
1

f
e
=
= f 1 f
Logsig: a=
n 1en 2
1e n
2
a=
Tansig:
n 1
1e

f
en
=2
n 2
n
(1+ e )

Purelin: a = n

f
=1
n

Osobine algoritma
propagiranja greke unazad
Prednosti:

Jednostavna implementacija

Standardan metod

Nedostaci:

Neefikasnost i brzina konvergencije

Zapadanje u lokalne ekstremume

Local
Minimum

Global

Poboljanja gradijentnog algoritma


Momentum (masa):

Promjeni teine/pomaka se dodaje dio prethodne


vrijednosti promjene teine/pomaka
w ijk 1 = w kij w ijk 1

Poboljanja 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

Poboljanja gradijentnog algoritma


Adaptivna brzina uenja:

Pri svakom raunanju modifikacije teine/pomaka se


odreuje nova vrijednost brzine uenja

Ukoliko se smjer promjene teine/pomaka u odnosu na


prethodnu iteraciju nije promijenio, brzina uenja se
poveava

Ukoliko se smjer promjene teine/pomaka u odnosu na


prethodnu iteraciju promijenio, brzina uenja se
smanjuje

esto se prethodne dvije modifikacije kombiniraju

Primjena FF-ANN u upravljanju


FF-ANN sa barem jednim skrivenim slojem neurona je u stanju
da aproksimira sa proizvoljnom tanou bilo koju nelinearnu
funkciju sa konanim brojem prekida
Primjena za:

Identifikaciju nelinearnih sistema

Odreivanje inverznog modela sistema

Realizaciju regulatora

Realizaciju sloenijih zakona upravljanja

Upravljanje na bazi referentnog modela

Prediktivno upravljanje na bazi modela

NARMA-L2 regulator

Kloniranje postojeeg regulatora


Najjednostavniji nain realizacije regulatora na bazi ANN je
kloniranje postojeeg regulatora
ANN se trenira da oponaa postojei regulator
U idealnom sluaju, regulator na bazi ANN posjeduje iste
osobine kao postojei regulator
Razlozi za realizaciju ovakvog regulatora:

Zamjena postojeeg regulatora

Postizanje
vremenu

collect

efikasnosti

t
TRAIN

implementacije

realnom

Uvoenje dinamikih elemenata u FF-ANN


FF-ANN realizira statiko preslikavanje ulaza u izlaze:
r t =F e t
Dinamiko ponaanje regulatora se moe postii uvoenjem
razliitih elemenata:
Izvodi i integrali signala: r t =F
Zakanjeli ulazi i izlazi:

e t , e t dt,
0

de t
,t ,
dt

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

Kanjenje

e(t)
r(k-1)

s
Integrator

r(t)

e(k)

ANN

ANN

e(k-1)

du/dt
Diferencijator

Kanjenje1

(a)

(b)

r(k)

Upravljanje na bazi referentnog modela


Koriste se dvije ANN:

Regulator na bazi ANN

Model sistema na bazi ANN

Upravljanje na bazi referentnog modela


ANN omoguavaju realiziranje
proizvoljnog
nelinearnog
regulatora
Ciljna regulaciona
nisu poznata

djelovanja

Poznati su eljeni izlazi cijelog


sistema upravljanja
Prvo se identificira sistem
Model sistema na bazi ANN se
onda koristi za propagiranje
gree unazad, sa izlaza sistema
do regulatora na bazi ANN

Backpropagation

Prediktivno upravljanje na bazi modela


Model Predictive Control (MPC)
Model sistema na bazi ANN se koristi da bi se odredio budui
odziv sistema na potencijalno regulaciono djelovanje
Upravljaki algoritam rauna upravljake signale koji optimiziraju
buduu performansu sistema
ANN model sistema se trenira off-line (batch treniranjem)
Poto se optimizacija provodi u svakom trenutku uzorkovanja,
ovakav regulator zahtijeva znatan obim raunanja u realnom
vremenu

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

Prediktivno upravljanje na bazi modela


Predikcija ponaanja sistema:

ANN model predvia izlaze sistema za date ulaze


unutar specificiranog vremena

Optimizacioni algoritam minimizira kriterij oblika:

N1 , N2 , Nu definiraju vremenske periode

yr eljeni izlaz sistema, ym predvieni izlaz sistema

u' potencijalno upravljako djelovanje

Prediktivno upravljanje na bazi modela


Upravljaka struktura:

NARMA-L2 regulator
Osnovna ideja je da se nelinearna dinamika sistema
transformira u linearnu dinamiku, ponitavanjem nelinearnosti
Prvi korak u sintezi regulatora predstavlja identifikacija sistema
Standardno se koristi NARMA model:
Sljedei 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 mrea predstavlja primjena algoritma
propagiranja greke unazad u dinamikim uslovima

NARMA-L2 regulator
Umjesto regulatora u formi preslikavanja G jednostavnije je
koristiti priblini NARMA-L2 model regulatora:

Poto se upravljanje u(k) ne nalazi u okviru nelinearnosti, izraz se


moe rijeiti po upravljanju:

Da bi se regulator mogao realizirati, koristi se model:

d2

NARMA-L2 regulator
Regulator realizira upravljanje prema izrazu:

NARMA-L2 regulator

You might also like