Upload
edhem
View
3
Download
0
Embed Size (px)
DESCRIPTION
ii
Citation preview
Dr Samim Konjicija, dipl. ing. el.
Inteligentno upravljanjeVještačke neuronske mreže u upravljanju (3)
Sarajevo, 15.12.2014. godine
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
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
Višeslojna FF-ANN
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
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
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)
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)
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
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
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
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
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
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)
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
Osobine algoritma propagiranja greške unazad
• Prednosti:
– Jednostavna implementacija
– Standardan metod
• Nedostaci:
– Neefikasnost i brzina konvergencije
– Zapadanje u lokalne ekstremume
Local Minimum
Global Minimum
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
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
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
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
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
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)
Upravljanje na bazi referentnog modela
• Koriste se dvije ANN:
– Regulator na bazi ANN
– Model sistema na bazi ANN
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
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
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 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
Prediktivno upravljanje na bazi modela
• Upravljačka struktura:
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
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
NARMA-L2 regulator
• Regulator realizira upravljanje prema izrazu:
NARMA-L2 regulator
?