TALLINNA TEHNIKAÜLIKOOL
Automaatikainstituut
Automaatjuhtimise ja süsteemianalüüsi õppetool
TEHISNÄRVIVÕRGUD JA NENDE
RAKENDUSED Õppematerjal
Koostas:
Eduard Petlenkov
Tallinn 2004 1
Sisukord
Eessõna .......................................................................................................................................2
1. Tehisnärvivõrgud ........................................................................................3 1.1. bioloogiline
neuron ja bioloogilised närvivõrgud .......................................3 1.2. tehisneuron ....................................................................................4 1.3. tehisnärvivõrgud ja nende arhitektuurid ..................................................................7 1.3.1. Otsesuunatud närvivõrgud ja
mitmekihiline pertseptron ...................................8 1.3.2. Rekurentsed närvivõrgud .................................................................................10 1.3.3. Iseorganiseeruvad närvivõrgud ........................................................................11 1.4. Õppimine, õpiprotsessid, õpialgoritmid .................................................................12 1.4.1.
Gradient vea pöördlevi meetod ........................................................................14 1.4.2. Widrow-
Hoff 'i
algoritm ...................................................................................15 1.4.3. Kohonen'i iseorganiseerumise algoritm ..........................................................16 1.5. Õppimise ülesanded ...............................................................................................16
2.
Teoreetilised alused ............................................................................................................19 2.1.
Stone -Weierstrassi
teoreem ....................................................................................19 2.2. Kolmogorovi teoreem ............................................................................................22
3. Mitmekihiline pertseptron ja vea tagasilevi meetod ..........................................................24
4.
Modelleerimine tehisnärvivõrkudega ................................................................................28
5. Juhtimine tehisnärvivõrkudega ..........................................................................................30 5.1. Ennustamisega juhtimine .......................................................................................30 5.2. Närvivõrgu õpetamine regulaatori realiseerimiseks ...............................................31 5.3. Närvivõrkude kasutamine PID-regulaatori sünteesil .............................................31
Kirjanduse
alfabeetiline loetelu ...............................................................................................33 2
Eessõna
Tallinna Tehnikaülikoolis ei õpeta spetsiaalset närvivõrkude kursust. Käesolev õppematerjal
on ettenähtud eelkõige info- ja kommunikatsioonitehnoloogia valdkonna üliõpilastele. Ta
annab ülevaate tehisnärvivõrkude koostamise printsiipidest ja nende tähtsamatest
rakendustest . Erilist tähelepane pööratakse mitmekihilisele pertseptroni struktuurile ja vea
tagasilevi meetodile. Iga peatükki lõpus huvitundjatele pakutakse täiendavat kirjandust, kust
saab leida rohkem informatsiooni vaadeldava
temaatika kohta. 3
1 Tehisnärvivõrgud (
artificial neural
networks , )
Tänapäeval üks populaarsemaid mõisteid juhtimisteoorias on Närvivõrk.
Vaatleme mis on
närvivõrk, millest võrk koosneb, kuidas seda kasutada ja missugused praktilised ülesanded
võivad olla lahendatud nende abil.
Tehisnärvivõrk on väga lihtsustatud bioloogilise närvivõrgu mudel. Tema tööalgoritmid on ka
tulnud
bioloogiliste närvivõrkude tööprintsiibist.
1.1 Bioloogiline neuron ja bioloogilised närvivõrgud
Inimese aju on väga keeruline ja võimas süsteem. Ta on võimeline mõtlema, mäletama, ja
lahendama probleemi. Seepärast teda tööd katsetakse simuleerida arvuti mudeli abil. Aju
koosneb omavahel seotud rakkudest neuronitest.
Bioloogiline neuron (joonis 1.1) on lihtne andmeid töötlev süsteem. Ta saab informatsiooni dendriitide kaudu.
Dendriit -id on bioloogilise närvivõrgu
sisendid . Sisendsignaalideks on närvi
impulsid väga nõrgad
elektrilised voolud. Neuron võtab vastu
signaalid ja teisendab neid kui nad on piisava tugevusega.
Akson on neuroni väljund. Ühel neuronil võib olla mitu
sisendit ja ainult üks väljund. Peamised informatsiooni
teisendused toimuvad neuroni kehas, mida nimetatakse
soma -ks. Kõik seal toimuvad protsessid on keemilised. Need protsessid genereerivad väljund signaali, mille tugevus sõltub
sisend signaalide tugevusest teatud bioloogiliste seaduste järgi. Bioloogilises neuronis
eelpool mainitud seadus sõltub neuroni Joonis 1.1 Bioloogiline neuron aktiivsusest ja võib muutuda ajas.
Üksikud
neuronid ühendatakse võrku sinaptiliste ühenduste abil (joonis 1.2).
Signaal neuroni
väljundist antakse teiste neuronite sisenditele. Iga neuroni sisend võib olla ühendatud ühe
neuroni väljundiga ja ainus väljund teiste neuronite ühe sisendiga. Sünaps asub ühe neuroni väljundi ja teise neuroni sisendi vahel. Ta võib nii tugevdada kui ka nõrgendada elektrilise impulsi tugevuse analoogiliselt takistusele elektriskeemis. Aju töötamisel see protsess on Joonis 1.2 Bioloogiline närvivõrk üks olulisemaid ja keeruliselt realiseeritav.
Sünaptilised ühendused juhivad aju tööd, nende väärtustest sõltub inimese mälu. Näiteks. Kui
inimene sünnib siis tema ajus on umbes 100 miljardit neuronit ja iga neuron on sünaptiliste
ühenduste kaudu ühendatud umbes 1000 teiste neuronitega.
Niimoodi on moodustunud 100
triljonit sünaptilist ühendust, mis juhivad aju tööd. Põhjalikumalt bioloogilistest neuronitest ja
närvivõrkudest vaata täiendavast kirjandusest. 4
Täiendav kirjandus: 1. Tsoukalas, L. H., Uhrig, R. E. Fuzzy and neural approaches in
engineering . New
York : Wiley-Interscience, 1996. 587 p. 2. Haykin, S. Neural Networks, Prentice-Hall international (UK) Limited, London, 1994. 696 p. 3. , . . : : « ». . , 1999. 76 .
1.2 Tehisneuron
Bioloogiline neuron on väga keeruline süsteem ja tema täpset matemaatilist mudelit veel ei ole. Tehisneuron on bioloogilise neuroni lihtsustatud matemaatiline mudel.
Nendest mudelitest üks võimsamaid on F.Rosenblatt´i neuroni mudel. Ta koosneb kahest osast: kaalutud summaatorist ja mittelineaarsest elemendist. Üldine tehisneuroni struktuur on toodud joonisel 1.3.
kaalutud summaator
mittelineaarne element Joonis 1.3 Tehisneuron
Igal neuronil on n sisendit x1 K x n . x1 X = M on tehisneuroni sisendite
vektor . x n Iga sisend korrutatakse läbi kaalukoefitsiendiga, mida mõni kord nimetatakse sünaptiliseks kaaluks (
synaptic weight, ). Need koefitsiendid võivad olla nii positiivsed kui ka negatiivsed, analoogiliselt bioloogiliste neuronite sünaptiliste ühendustega. Nad võimaldavad nii suurendada kui ka vähendada elektrilise impulsi tugevust. W = [w1 K wn ] on
tehis Joonis 1.4 Tehisneuroni elemendid neuroni kaalukoefitsientide vektor (joonis 1.4). 5
Kaalutud summatori
sisendis iga sisend korrutatakse läbi vastava kaalukoefitsiendiga.
Summatori väljund NET on nende korrutiste summa. Järelikult summatori funktsiooni võib
kirjutada järgnevalt:
x1 NET = W X = [w1 K wn ] M = w1 x1 + K + wn x n . (1.1) x n
Mittelineaarse elemendi funktsiooni nimetatakse aktiveerimisfunktsiooniks (activation
function , ). Kaalutud sisendsignaalide
summast NET arvutab
aktiveerimisfunktsioon neuroni väljundi OUT. OUT=f(NET) (1.2)
Tavaliselt, aktiveerimisfunktsioon on pidev mittelineaarne funktsioon, aga mõnedel
rakendustel võib ka lineaarne olla. Kõige levinumad aktiveerimisfunktsioonid on sigmoid
funktsioonid.
Sigmoid funktsioonid on ülemise ja alumise raja (0 ja 1 või -1 ja 1) vahel monotoonselt
kasvavad
pidevad funktsioonid. Nende funktsioonide põhiliseks eesmärgiks on hoida
neuronite väljundid mõistlikes piirides.
Sigmoid funktsioonide näited on logistiline funktsioon ja hüperboolne
tangens :
1. Logistiline funktsioon (logistic function, ):
1 OUT = (1.3) 1 + e - NET
Joonis 1.5 Logistiline funktsioon
Neuroni väljund on piiratud vahemikus [0; +1].
2. Hüperboolne tangens (hyperbolic tangent function, ):
e NET - e - NET OUT = (1.4) e NET + e - NET
Joonis 1.6 Hüperboolne tangens 6
Neuroni väljund on piiratud vahemikus [-1; +1].
3. Tihti kasutatakse ka lineaarset aktiveerimisfunktsiooni:
Seda funktsiooni kasutatakse, näiteks, lineaarsete süsteemide identifitseerimisel ja sellistel
rakendustel, kus väljundi väärtus ei pea olema piiratud.
OUT = k NET , (1.5) kus k = tan( ) =
const .
Joonis 1.7 Lineaarne funktsioon
Mõnedel juhtumitel kasutatakse ka järgnevaid aktiveerimisfunktsioone:
4. Astmefunktsioon (
step function, ):
Nimetatud funktsiooni saab esitada kahel
erineval viisil (-1,1) või (0,1).
0, kui NET Seda funktsiooni kasutatakse suvaliste loogiliste
skeemide sünteesiks tehisneuronite alusel, aga ei luba modelleerida
pidevate signaalidega
skeeme .
5. Gaussi funktsioon (Gauss function, ):
( NET - m ) 1 - OUT = e 2 2 (1.8) 2
Joonis 1.9 Gaussi funktsioon 7
Üldjuhul, aktiveerimisfunktsiooni valik sõltub · konkreetsest ülesandest (sisendite ja väljundite väärtusteest ja füüsilisest interpretatsioonist) · närvivõrgu realiseerimisviisist (arvutil või elektrilise skeemi kujul) · kasutatavast õppimisalgoritmist (sellest räägime hiljem).
Põhjalikumalt tehisneuronitest ja nende aktiveerimisfunktsioonide tüüpidest saab lugeda
järgmisest kirjandusest.
Täiendav kirjandus: 1. Lu, Y-Z.
Industrial intelligent
control . Fundamentals and applications. Chicher: Wiley, 1996. 325 p. 2. Tsoukalas, L. H., Uhrig, R. E. Fuzzy and neural approaches in engineering. New York: Wiley-Interscience, 1996. 587 p. 3. Haykin, S. Neural Networks, Prentice-Hall international (UK) Limited, London, 1994. 696 p. 4. , . . : : « ». . , 1999. 76 .
1.3 Tehisnärvivõrgud ja nende arhitektuurid
Tehisneuroni struktuur on üsna lihtne, aga vaatamata sellele nendest võib koostada väga
keerukaid närvivõrke. Närvivõrkude definitsioone on palju. Kõige levinumad nendest on
järgnevad.
Kõige lihtsam definitsioon:
Tehisnärvivõrk on bioloogiliste närvivõrkude mudelite kogum.
Natuke keerulisem vaid täpsem definitsioon:
Närvivõrk on andmetöötlus süsteem, mis koosneb suurest arvust
lihtsatest ja omavahel
tugevalt seotud, tehisneuronitest. Tehisneuronid on ühendatud arhitektuuri, mis on võetud
inimese ajukoorist.
Närvivõrkude struktuurid on väga erinevad. Vaatleme mõnda nendest. Reeglina paiknevad
neuronid
kihiti (erandid on ka olemas, näiteks, iseorganiseeruvad võrgud).
Närvivõrgud jagunevad kaheks tüübiks: otsesuunatud ja rekurentsed (
tagasisidega ).
Otsesuunatud võrgu neuroni väljund võib olla seotud ainult järgmisel
kihil oleva neuroni
sisendiga. Tagasisidega ehk rekurentsetes võrkudes neuroni väljund võib olla ühendatud nii
järgmise kihi neuronite
sisenditega kui ka
eelmiste kihtide neuronite sisenditega.
Närvivõrgud jagunevad kaheks tüübiks: otsesuunatud ja rekurentsed (tagasisidega).
Otsesuunatud võrgu neuroni väljund võib olla seotud ainult järgmisel kihil oleva neuroni
sisendiga. Tagasisidega ehk rekurentsetes võrkudes neuroni väljund võib olla ühendatud nii
järgmise kihi neuronite sisenditega kui ka eelmiste kihtide neuronite sisenditega.
Närvivõrke veel võib jagada
hetero -assotsiatiivseteks (heteroassociative,
) ja auto-assotsiatiivseks (autoassociative, ).
Hetero-assotsiatiivsed närvivõrgud on sellised, kus väljundvektori
dimensioon ei lange kokku 8
sisendvektori dimensiooniga. Auto-assotsiatiivsed on need närvivõrgud, kus sisendvektori ja
väljundvektori dimensioonid langevad kokku.
Esimese närvivõrgu arhitektuuri (ühekihilise pertseptroni) pakkus välja 20. sajandi keskel
Frank Rosenblatt. See oli silma võrkkesta matemaatiline mudel. Tänapäeval kõige
populaarsem närvivõrgu
arhitektuur on mitmekihiline pertseptron (multilayer perceptron, ). Umbes 80% praktiliselt töötavatest närvivõrkude rakendustest
kasutavad selle arhitektuuri.
Järgnevas vaatleme mõned
populaarsemad tehisnärvivõrkude arhitektuurid
1.3.1 Otsesuunatud närvivõrgud ja mitmekihiline pertseptron
Otsesuunatuks nimetatakse närvivõrku, milles iga neuroni väljund võib olla seotud ainult
järgmisel kihil oleva neuroni sisendiga.
Mitmekiheline pertseptron on kõige levinum otsesuunatud võrk. Neuronid paiknevad kihiti.
Närvivõrk võib koosneda suvalisest arvust neuroneist ja närvivõrgu kihtidest. Iga kihi iga neuroni väljund on seotud järgmise kihi iga neuroni ühe sisendiga. ("igaüks igaühega" printsiibi järgi).
Mitmekihilises pertseptronis on alati üks sisendkiht ( N I - input
layer , ), üks väljundkiht ( N O - output layer, ), ülejäänud
kihid kannavad peidetud Joonis 1.10 Mitmekihiline pertseptron kihtide nimetust ( N H -
hidden layer, ). Peidetud kihtide sisendid ja väljundid ei ole otseselt seotud
väliskeskkonnaga. Selle kihi neuronid saavad informatsiooni eelmise kihi neuronite
väljunditest, teisendavad seda ja annavad edasi järgmise kihi neuronite sisenditele.
Väljundkihi neuronite ülesanne on arvutada võrgu väljundid. Joonisel 1.10 toodud näites on
ainult üks väljund, aga neid võib olla ka rohkem. Neuronite arv väljundkihil ongi närvivõrgu
väljundite arv. Mitmekihilisel pertseptronil võib olla
suvaline arv
sisendeid ja väljundeid.
Järelikult, see on auto-assotsiatiivsene närvivõrk.
Sisendkihis ei toimu informatsiooni töötlust, ta ainult
jaotab sisendsignaalid esimese peidetud
kihi neuronite vahel. Seepärast seda kihti ei arvestata kihtide kokkulugemisel. See tähendab,
et pertseptroni, mis koosneb ühest sisendkihist, ühest peidetud kihist ja ühest väljundkihist
nimetatakse kahekihiliseks. Joonisel 1.10 toodud pertseptroni näide on
kolmekihiline pertseptron.
Iga neuroni sisend korrutatakse läbi vastava kaalukoefitsiendiga wijl , kus i on selle neuroni
sisendi number, j - neuroni järjekorra number vaadeldavas kihis ja l on kihi number.
Kaalutud neuroni sisendid summeeritakse ja lisandatakse neuroni
nihe jl . Nendest
summadest arvutatakse vaadeldava kihi kõikide neuronite väljundid. Need väljundid on
järgmise kihi neuronite sisenditeks. Ja nii edasi kuni väljundkihi neuronite väljundväärtused
moodustavad närvivõrgu väljundvektori. Pertseptronis on iga neuroni sisendite arv võrdub
eelmise kihi neuronite arvuga. Reeglina, ühes kihis on kõikidel neuronitel ühesugused
aktiveerimisfunktsioonid. 9
Vaatleme kahekihilise pertseptroni, millel on n sisendit, m väljundit ja k neuronit ühel
peidetud kihil. x1 X = M on närvivõrgu sisendvektor; x n y1 Y = M on väljundvektor; y m w111 L wn11 W1 = M O M on peidetud kihi kaalukoefitsientide
maatriks ; w1k1 L wnk 1
11 1 = M on peidetud kihi nihete veeruvektor; k 1 w112 L wk 12 W2 = M O M on väljund kihi kaalukoefitsientide maatriks; w1m 2 L wkm 2 12 2 = M on väljund kihi nihete veeruvektor; m 2 F1 on peidetud kihi neuronite aktiveerimisfunktsioon;
F2 on väljund kihi neuronite aktiveerimisfunktsioon.
Siis võib hakata kirjutama kahekihilise pertseptroni matemaatilise funktsiooni:
Y = F2 (W2 ( F1 (W1 X + 1 )) + 2 ) . (1.9) 144244 3 esimese kihi väljund 144444244444 3 närvivõrgu väljund
Närvivõrgu sisendid x1 K x n on funktsiooni (1.9) argumendid, kaalukoefitsiendid ja
nihked on
selle funktsiooni
parameetrid Järelikult, (1.9) on funktsioon n k + k m + k + m
parameetritega ja nende parameetrite muutmisest muutub ka närvivõrgu funktsioon. 10
1.3.2 Rekurentsed närvivõrgud
Rekurentseks ehk tagasisidestatuks nimetatakse närvivõrku, milles signaalid levivad nii sisendist väljundi poole, kui ka
vastassuunas . Sellistel võrkudel on olemas siseolek ja järelikult, rekurentse närvivõrgu väljundväärtus sõltub nii selle ajahetke sisenditest kui ka eelmiste ajahetkede sisend ja väljundväärtustest. See annab võimalust modelleerida reaalset dünaamilist protsesse. Seepärast nimetatakse neid tihti ka dünaamilisteks närvivõrkudeks. Nende närvivõrkude struktuuride matemaatiline kirjeldus on väga Joonis 1.11 Mitmekihiline pertseptron välise tagasisidega keeruline ja eksisteerib ainult lihtsa struktuuriga
tagasisidestatud võrkude kohta.
Tagasisidestatud võrkude struktuure on väga palju. Vaatleme paar nendest (kõige lihtsamad ja
kõige sagemini kasutatavad).
Kõige lihtsam viis on küll suunata mitmekihelise pertseptroni väljundväärtust tagasi võrgu
lisasisenditele läbi mälu elemendi (joonis 1.11):
D on mäluelement, mis viivitab signaali ühe
takti võrra(D-
trigger ).
On näha, et lisasisenditele antakse ka viivitatud sisendväärtuseid. Niimoodi, närvivõrgul on
n + m + 1 sisendit ja üks väljund. Närvivõrgu funktsioon on järgnev: u (t ) M u (t - m)
y (t ) = F2 (W2 ( F1 (W1 + 1 ) + 2 ) = f nn (u (t ),K, u (t - m), y (t - 1),K, y (t - n)) y (t - 1) M (1.10) y (t - n) Selles näites toodud närvivõrgus ei ole tagasisidet. See on
kahekihiline pertseptron n + m + 1 sisenditega. Kõik tagasisided on välised (asuvad otsesuunatud võrgu väljundite ja sisendite vahel). Selle võrgu õpetamisalgoritm (vt. peatükid 1.4, 3) ei erine tavalise otsesuunatud võrgu õpetamisalgoritmist. Selle tüübi närvivõrku on otstarbekas kasutada dünaamiliste protsesside ja süsteemide modelleerimisel, kui on olemas a'priori informatsioon süsteemi struktuurist või protsessi iseloomust.
Joonis 1.12 Elman'i võrk 11
Kui informatsiooni modelleeritava süsteemi või protsessi kohta ei ole piisav ja on teada ainult
katsetest saadud sisend- ja vastavate väljundväärtuste paarid, siis on parem kasutada näiteks
Elman'i rekurentset võrku.
Elman'i rekurentses võrgus (joonis 1.12) on olemas vähemalt üks nn.
rekurentne kiht.
Rekurentseks nimetatakse peidetud kihti, millel iga neuroni väljundid on seotud kõikide selle
kihi neuronite sisenditega.
Joonisel 1.12 on toodud kahekihilise Elman'i võrgu näide, kus ainus peidetud kiht ongi
rekurentne kiht. Järelikult, võrgu parameetrite hulka lisandub veel üks kaalukoefitsientide
maatriks: w11 L w1r Wr = M O M , wr1 L wrr kus
r on rekurentse kihi neuronite arv; wij ( 1 i, j r ) on kaalukoefitsient i-nda rekurentse kihi neuroni väljundi ja j-nda neuroni
sisendi vahel.
Peidetud kihi väljundid ajahetkel t on järgmisel taktil võrgu siseolekud. (Võrgu siseolekute
vektor säilitakse mäluelementides D ). Y (t ) = f nn (U (t ), X (t ),W , B) (1.11) X (t ) = Yh (t - 1)
Seda võrgu kasutamine oluliselt
laiendab lahendatavate ülesannete diapasooni. Samal ajal,
kõik võrgus toimuvad arvutused lähevad keerulisemaks. Järelikult, võrk töötab aeglasemalt ja
õpetamisprotsess võib võtta isegi rohkem kui 10 tundi.
Närvivõrgu sisendite ja väljundneuronite arvud on
tavalisel määratud lahendava ülesande
iseloomuga, vaid nii otsesuunatud kui ka tagasisidestatud võrkude puhul
tekkib peidetud kihi
neuronite arvu valiku probleem. Neuronite arvu valik peidetud kihil sõltub: · Lahendava ülesande keerukusest · Andmete kogust ja kvaliteedist · Nõutavast närvivõrgu sisendite ja väljundite arvust · Närvivõrgu
koostaja kogemustest.
Täpsemat valemit närvivõrgu arhitektuuri leidmiseks ei ole. Tavaliselt, optimaalsem struktuur
mingi kriteeriumi mõttes leitakse eksperimentaalselt või empiiriliste ekspertteadmiste alusel.
Nii liiga väike, kui ka liiga suur arv peidetud kihte ning
neuroneid nendel kihtidel võib
vähendada võrgu kvaliteedi. Valitud
arhitektuurist oluliselt sõltub ka õpialgoritmi
koonduvus (vt. peatükid 1.4, 2.2).
1.3.3 Iseorganiseeruvad närvivõrgud
Iseorganiseeruvaks nimetatakse närvivõrku, mis on võimeline häälestada oma
kaalukoefitsiente lähtudes ainult sisendvektori väärtustest. Neid närvivõrke nimetatakse ka
iseõppivateks (vt. peatükk 1.4). Kõige lihtsam iseorganiseeruva süsteemi näide on Kohonen'i
närvivõrk. 12
Kohonen'i närvivõrk koosneb sisendvektorist (N sisendit x1 K x n ) ja ühest neuronite kihist, kus neuronid on paigutatud kahemõõtmelisel tasandil nii, nagu on näidatud joonisel 1.13. Seda kihti nimetatakse ka Kohonen'i kihiks. Iga sisend on seotud iga neuroni ühe sisendiga. ("igaüks igaühega"). Iga sisend xi korrutatakse läbi vastava Joonis 1.13 Kohonen'i võrk kaalukoefitsiendiga Wij . Olgu Kohonen'i kiht koosneb M-ist neuronitest. Järelikult,
võrgul on M väljundit. Iga väljundi j jaoks defineerime kaugust d j sisendvektori X (t ) ja
kaalukoefitsientide vektori Wij (t ) vahel: N d j = ( xi - Wij (t )) 2 , j = 1, K , M (1.12) i =1
Eelpool vaadeldud arhitektuuriga närvivõrku, kus iga neuroni j jaoks on defineeritud
Eukleediline kaugus (1.12) selle neuroni kaalukoefitsientide ja sisendvektori X (t ) vahel
nimetatakse Kohonen'i võrguks.
Kohonen'i võrgu iseõppemise protsessi jooksul (vt. peatükk 1.4). leitakse niisugused
kaalukoefitsientide väärtused, et sarnaste sisendvektori puhul maksimaalseks oleks ühe ja
sama neuroni väljund ning teise sarnaste sisendite gruppi puhul maksimaalseks oleks teise
neuroni väljund jne. On ilmne, et seda tüübi närvivõrke on väga mugav kasutada
klassifitseerimise ülesannete lahendamisel (vt. peatükk 1.5).
Täiendav kirjandus: 1. Lu, Y-Z. Industrial intelligent control. Fundamentals and applications. Chicher: Wiley, 1996. 325 p. 2. Tsoukalas, L. H., Uhrig, R. E. Fuzzy and neural approaches in engineering. New York: Wiley-Interscience, 1996. 587 p. 3. , . . : : « ». . , 1999. 76 . 4. Haykin, S. Neural Networks, Prentice-Hall international (UK) Limited, London, 1994. 696 p. 5.
Mills , P. M., Zomaya, A. Y., Moses O. T. Neuro-
Adaptive Process Control. A Practical
Approach . John Wiley & Sons, 1996. 212 p. 6. Irwin G. W., Warwick K., Hunt K.J., Neural
network applications in control. The Institution of Electrical Engineers, 1995. 297p.
1.4 Õppimine, õpiprotsessid, õpialgoritmid
Närvivõrgu
sobivate parameetrite (konkreetse ülesande jaoks) valiku protsessi nimetatakse
närvivõrgu õpetamiseks (või treenimiseks).
Valemist (1.9-1.11)
selgub , et erinevate kaalukoefitsientide ja nihete väärtustel, samuti ka
erinevate aktiveerimisfunktsioonide korral, on võrk võimeline genereerima väga erinevaid
sõltuvusseoseid Y(X). Stone-Weierstrassi teoreem (vt. peatükk 2) ütleb, et kahekihiline 13
pertseptron sobiva neuronite arvuga peidetud kihil on võimeline aproksimeerima
suvalist pidevat funktsiooni ning Sontag'i teoreemi järgi, kahekihiline rekurentne närvivõrk sobiva
neuronite arvuga peidetud kihil on võimeline aproksimeerima suvalist funktsiooni, millel on
lõplik arv
katkevuspunkte . Selleks on vaja valida ka sobivaid aktiveerimisfunktsioone ning
leida optimaalseid võrgu parameetreid (kaalukoefitsiendid ja nihked).
Teoreemidest on näha, et esimene samm on närvivõrgu õige arhitektuuri valik Kui probleemi
lahendamisel kasutatakse otsesuunatud (peatükk 1.3.1) või tagasisidestatud (peatükk 1.3.2)
närvivõrk, siis probleem seisneb peidetud kihi neuronite arvu valikus. Üldjuhul, kui neuroneid
või peidetud neuronite kihte on võrgus liiga vähe, siis: · Võrgu õpetamisalgoritm ei koondu ja võrk töötab ebakorrektselt · Võrk ei reageeri aproksimeeritava funktsiooni järskvõnkumistele.
Juhul, kui neuroneid või kihte võrgus on liiga palju, siis: · Võrgu töökiirus võib olla väga madal ning vaja on väga suurt mälu mahtu; · Võib tekkida nii nimetatud üleõppimise efekt: väljundvektor hakkab kajastama mitteolulisi detaile sõltuvuses y (x) , näiteks, müra ja ebatäpsed andmed; · võrgu käitumine võib muutuda ebastabiilseks: väljund hakkab väga kõvasti ja ettearvamatult reageerima väikestele sisendvektori väärtuste muutustele; · võrk võib kaotada võime üldistada: piirkonnas, kus õpetamisel on kasutada vähe ette teatud andmeid võib aproksimatsiooni täpsus olla
kehv väljundvektori väärtused on juhuslikud.
Parameetrite leidmiseks kasutatakse erinevaid õpetamisalgoritme. Õpetamise eesmärk on
otsida selline võrgu parameetrite väärtuste kombinatsioon, mille puhul võrk saab kõige
paremini hakkama püstitatud ülesandega. Võib eristada kahte võrgu parameetrite väärtuste
otsimise meetodit: õpetamine (supervised
learning , ) ja iseõppimine
(unsupervised learning, ).
Õpetamiseks nimetatakse meetodit, mis baseerub teadaolevatel sisend- ja väljundvektori
väärtuste kogumil. See tähendab, et peavad olema teatud sisend-väljund parid. Reeglina, need
paarid saadakse eksperimentaalselt. Õpetamise käigus modifitseeritakse võrgu parameetreid
nii, et minimiseerida võrgu väljundi X NN Y ja teadaoleva õige vastuse ,,Y"
(etalonväärtuse) vahelist erinevust. Kui X on sisendväärtuste vektor, Yp on nendele
sisendväärtustele vastavate etalonväljundväärtuste vektor ja Y on närvivõrgu väljundite
vektor, mis vastab
sisendile X, siis matemaatiliselt võib õpetamise ülesannet
formuleerida järgnevalt: Y p - NN ( X ) = Y p - Y 0 . (1.13)
NN on närvivõrgu funktsioon ( Y = NN (X ) ).
Õpetamise tulemusena õpib võrk andma õigeid tulemusi eelnevalt fikseeritud punktides ja
sobiva võrgu struktuuri korral, tänu võrgu interpoleerimise ning ekstrapoleerimise võimele
(üldistusvõimele) annab ta väljundisse suhteliselt õigeid tulemusi, ka juhul kui võrgu
sisendisse antakse tundmatu väärtus.
Iseõppiva võrgu korral fikseeritakse sihifunktsioon, mille
ekstreemum tagatakse võrgu
parameetrite muutmisega. Õigesti valitud
sihifunktsiooni ekstreemumi saavutamine tagab ka
võrgu väljundis õiged väljundvektori väärtused. Sihifunktsiooni valik sõltub konkreetsest
ülesandest. 14
Kasutatakse kaht erinevat treenimisviisi: 1.
pakett treenimine (batch-
wise training, ) - kõik "treeninguks" vajalikud sisendandmed ja neile vastavad väljundvektori väärtuste jadad on esitatud ühe paketina. Võrgu parameetrite ümberarvutamne toimub kogu
paketi alusel. 2. Sammhaaval treenimine (pattern-wise training, ) - võrgu parameetrite ümberarvutamine toimub peale
igat sisendvektori töötlemist.
Olenemata treenimisviisist koosneb võrgu õpetamise protsess kolmest sammust: 1. võrgu väljundvektori väärtuste arvutamine olemasolevate parameetrite alusel; 2. võrgu vea arvutamine lähtudes õpetamismeetodi poolt määratud
kriteeriumist (Näiteks, arvutatud võrgu väljundväärtuse ja etteantud etalonväärtuse vahe); 3. võrgu parameetrite väärtuse ümberarvutamine lähtudes õpetamismeetodi poolt määratud algoritmist.
Kõik kolm nimetatud sammu moodustavad ühe õpetamise perioodi (epoch, ).
Õpetamise perioodid korduvad iteratiivselt seni kuni
saavutatakse võrgu väljundi vajalik
täpsus või võrgu väljundi täpsus lakkab paranemast (s.t. veafunktsioon on saavutanud lokaalse
miinimumi).
Õpialgoritmi valik sõltub kasutatavas närvivõrgust (erinevad õpialgoritmid erinevate
närvivõrgu arhitektuuride jaoks) ja lahendatavast probleemist. Järgnevas vaatleme lühidalt
kõige levinumaid õpialgoritme.
Enamuses otsesuunatud ja tagasisidestatud närvivõrkude rakendustes kasutatakse nn. vea
pöördlevi meetodid, kus igal
sammul võrgu väljund võrreldakse sisendvektorile vastava
etalonväljundiga ja selle vea alusel muudetakse parameetrid väljundist sisendini. Kõige
levinum nendest
meetoditest on "Gradient vea pöördlevi meetod".
1.4.1 Gradient vea pöördlevi meetod (Gradient descent
error backpropagation
method , )
See meetod põhineb veafunktsiooni (ehk kaofunktsiooni) gradienti arvutamisel. Võrgu
õpetamise ülesannet võib vaadelda kui mitmemõõtelist optimeerimisülesannet. Defineerime
veafunktsiooni: J (W , ) = (Y p - Y pd ) 2 , (1.14) k
kus
Yp - närvivõrgu väljundvektor ( Y p = NN ( X p , W , ) );
X p treeninguks kasutatavad sisendvektori väärtused;
NN - närvivõrgu funktsioon (
operaator ) fikseeritud W ja korral;
Ypd - vastavad väljundvektori etalonväärtused.
Õpetamise (optimeerimise) ülesanne seisneb nüüd selle funktsiooni minimiseerimisel. See
tähendab, et on vaja leida niisuguseid võrgu parameetreid, et veafunktsiooni väärtus oleks
kuivõrd võimalik väike ( min J (W , ) ).
On teada, et funktsiooni
tuletis etteantud parameetri järgi näitab kuidas muutub funktsiooni
väärtus selle parameetri muutmisel. Kui tuletis on positiivne, siis funktsiooni väärtus
suureneb. Kui tuletis on negatiivne, siis funktsiooni väärtus väheneb. Funktsiooni 15
F ( x1 ,K x n ) gradient on vektor, mis koosneb funktsiooni tuletistest kõikide muutujate järgi ja F F näitab funktsiooni väärtuse suurendamise suunda: F ( x1 , K x n ) = K . Järelikult, x1 x 2 F F antigradient - F ( x1 ,K x n ) = - K- näitab funktsiooni F vähenemise suunda. x1 x 2 Veafunktsiooni ( J (W , ) ) gradient on vektor, mis koosneb selle funktsiooni tuletistest
kõikide kaalukoefitsientide ja nihete järgi. Kuna meil on vaja minimiseerida veafunktsiooni, J J muudame tema parameetreid antigradiendi ( - J (W , ) = - - )suunas. Siit ka W gradient meetodi nimetus.
Kolmandas peatükis see meetod on põhjalikult kirjeldatud kahekihilise pertseptroni õpetamise
näitel.
1.4.2 Widrow-Hoff'i algoritm (Widrow-Hoff
delta learning
rule , -)
Selle meetodi tuletamiseks eeldame, et neuronid koosnevad ainult summaatorist ja nendel ei
ole aktiveerimisfunktsiooni, ehk aktiveerimisfunktsioon on lineaarne funktsioon tõusunurgaga = 45 o K = tan = 1 (valemist 1.5). Seega neuroni väljund: n I = wi xi , (1.15) i =1
kus n neuroni sisendite arv.
NB! Widrow-Hoff'i algoritm, mida me tuletame kehtib ka siis, kui neuronite
aktiveerimisfunktsioonid on mittelineaarsed.
Vaadeldavas algoritmis peab olema etteantud iga neuroni väljundi etalonväärtus T see
väärtus, mida me tahame saavutada. Järelikult iga neuroni ruutviga 2 on: 2 = (T - I ) 2 (1.16)
Veafunktsiooni gradient koosneb selle funktsiooni tuletistest kõikide kaalukoefitsientide järgi: 2 I = -2(T - I ) = -2(T - I ) xi , (1.17) wi wi
kus i=1,...,n, kui neuronil on n sisendit.
Parameetri muutus wi on proportsionaalne antigradiendile: 2 wi = - K = K 2(T - I ) xi = 2 Kxi (1.18) wi
kus K on
konstantne proportsionaalsuse koefitsient.
Tavaliselt iga sisend xi normeeritakse
jagades vektori X normi ruuduga. Seega
wi = 2 K X [ ] 2 x i
X 2 = xi X 2 , (1.19)
2
kus X = x12 + x 22 + K + x n2 ja = 2K X 2 on õppimise kiirus. 16
Eksisteerivad ka paljud teised õpetamise
algoritmid . Kui närvivõrgu ülesandeks on mingi
sihifunktsiooni (veafunktsiooni) minimiseerimine, siis selleks võib kasutada erinevaid
matemaatilisi aproksimeerimise arvutusmeetodeid. Näiteks, närvivõrgu parameetrite
optimiseerimiseks hästi sobivad ka
Newton 'i meetod, Levenberg-Marquard'i meetod jne.
Kui tegemist on iseorganiseeruvate võrkudega, siis neid ei saa õpetada, sest "õige" väljund on
eelnevalt teadmata. Nad peavad õppima ise lähtudes etteantud kriteeriumist. Üks iseõppimise
algoritmidest on Kohonen'i algoritm.
1.4.3 Kohonen'i iseorganiseerumise algoritm
Kohonen'i iseorganiseeruva närvivõrgu arhitektuur on kirjeldatud peatükis 1.3.3. Vaatleme
nüüd tema iseõppimiseks kasutatavat
algoritmi . Ta koosneb järgmistest sammudest: 1) Alguses (t=0) kõikidele kaalukoefitsientidele antakse juhuslikke algväärtusi ning määratakse raadiust R , mis määrab iga neuroni ümbrust U(R); 2) Närvivõrgu sisenditele antakse sisendvektorit X (t ) = [ x1 (t ),K, x N (t )] ; 3) Valemi (1.12) arvutatakse järgi iga neuroni j jaoks kaugust d j sisendvektori X (t ) ja kaalukoefitsientide vektori Wij (t ) vahel; 4) Valitakse neuronit j * , mille kaugus on minimaalne: min(d1 , d 2 ,K, d M ) = d j* ; (1.20) 5) Muudetakse neuroni j * ja tema ümbruses U j* ( R) asuvate neuronite kaalukoefitsiente: Wij (t + 1) = Wij (t ) + (t )( xi (t ) - Wij (t )) , j U j (R ) , i = 1, K , N (1.21) kus (t ) õppimise kiirus; 6) Järgmisel iteratsioonil (t=t+1) korratakse algoritmi teisest sammust uuesti.
On näha, et käesoleva algoritmi eesmärgiks on minimiseerida kaugust neuroni j * ja
sisendvektori X(t) vahel. Antud juhul see ongi iseõppimise
kriteerium .
Täiendav kirjandus: 1. Lu, Y-Z. Industrial intelligent control. Fundamentals and applications. Chicher: Wiley, 1996. 325 p. 2. Tsoukalas, L. H., Uhrig, R. E. Fuzzy and neural approaches in engineering. New York: Wiley-Interscience, 1996. 587 p. 3. Haykin, S. Neural Networks, Prentice-Hall international (UK) Limited, London, 1994. 696 p. 4. , . . : : « ». . , 1999. 76 .
1.5 Õppimise ülesanded
Loomulikult sõltub närvivõrgu tüübi ning õppimise algoritmi valik lahendatavast ülesandest.
tehisnärvivõrke kasutatakse väga edukalt erinevates inimtegevuse valdkondades: majanduses,
meditsiinis, tehnikas, füüsikas, keemias ja nii edasi. Saab eraldada järgmisi õppimise
ülesandeid, mis mõjuvad närvivõrgu struktuuri valikule. 17
1. Lähendamine (Aproksimeerimine)
Olgu antud tundmatu mittelineaarse funktsiooni g () sisendite x ja nendele vastavate
väljundite d hulk: d = g (x) . (1.22)
Lähendamise ülesandeks on
konstrueerida sellise närvivõrgu, et ta realiseeriks funktsiooni
g (x) , st iga tema sisendi x puhul, närvivõrgu väljund d nn peab olema võrdne funktsiooni
g (x) väärtusega d (või temast kuivõrd võimalikult lähedal): g ( x) g nn ( x) , (1.23)
kus g nn ( x) on närvivõrguga realiseeritav funktsioon.
Lähendamise ülesande lahendamiseks kasutatakse õpetamise algoritme (supervised learning).
Modelleerimine on lähendamise erijuhtum (vt. peatükk 4).
2.
Assotsiatsioon Saab eraldada kaht erinevat assotsiatsiooni ülesannet: autoassotsiatsioon ja
heteroassotsiatsioon.
Närvivõrgu autoassotsiatsiooni ülesandeks on pidada meeles hulka vektoreid. Need
vektorid antakse tema sisenditele järjestikult. Siis esitatakse närvivõrgule vektorid koos müraga
(rikutud vektorid) ja närvivõrk peab leidma ja andma väljundile temale vastava originaalse
vektori (ilma mürata). On ilmne, et selle ülesande puhul võrgu sisendite arv peab olema
võrdne tema väljundite arvuga. Autoassotsiatsiooni ülesande lahendamiseks kasutatakse
iseõppimise algoritme (unsupervised learning). Autoassotsiatsiooni kõige tähtsamaks
rakenduseks on andmete filtreerimine.
Heteroassotsiatsioon erineb autoassotsiatsioonist selles, et igale sisendvektorile on vastavusse
pandud oma väljundvektor, mis võib temast erineda. Heteroassotsiatsiooni puhul ei pea juba
võrgu sisendite arv olema võrdne tema väljundite arvuga ja võib kasutada õpetamise
algoritme.
3. Mustrite klassifitseerimine
Selle ülesande puhul peab olema etteantud fikseeritud klasside arv. Iga muster (sisendvektor)
kuulub ühele (või
mitmele ) nendest klassidest. Närvivõrgu õppimiseks mustrite
klassifitseerimiseks võib kasutada nii õpetamise kui ka iseõppimise algoritme.
Õpetamisalgoritmi, näiteks, vea pöördlevi meetodi (vt. peatükk 1.4.1),
kasutamisel mustrite
klassifitseerimiseks iga õpetamisel kasutatava sisendvektori jaoks peab olema määratud
temale vastav etalonväljund, mis ütleb millele klassile kuulub käesolev sisend. Siis pärast
õpetamist närvivõrk on võimeline klassifitseerida ka uusi õpetamisel kasutamata mustreid. On
oluline see, et õpetamisel peab olema a'priori teada millele klassile kuulub iga õpetamisel
kasutatav vektor. Kui niisugust a'priorset informatsiooni klassidele kuulumise kohta ei ole,
õpetamist kasutada ei saa. Klassifitseerida mustreid tuleb siis iseiõppivatat närvivõrke.
Iseõppitavatest närvivõrkudest kõige sagemini kasutatakse klassifitseerimiseks Kohonen'i
närvivõrke (vt. peatükid 1.3.3 ja 1.4.3).
Väga keerulised praktilised klassifitseerimise probleemid on lahendatavad närvivõrkude abil. 18
4.
Ennustamine Ennustamine on oks tähtsamatest levinumatest õppimise ülesannetest. Olgu olemas ajas
muutuv protsess x(t ) . On teada selle funktsiooni väärtused möödunud ajahetkedel
x(n - 1), x(n - 2), K , x(n - M ) . Tavaliselt need ajahetked on ühtlaselt jaotatud (nad on
võrdsete vahemikega). Ülesandeks on ennustada protsessi (funktsiooni) olekut (väärtust)
käesoleval ajahetkel x(n) .
Igal ajahetkel n ennustab närvivõrk funktsiooni x(t ) väärtust tema eelmiste ajahetkede
väärtuste alusel. Seega on teada nii funktsiooni tegelik väärtus x(n) kui ka närvivõrguga
ennustatud väärtus x^ (n) . Järelikult ennustamise viga: e(n) = x(n) - x^ (n n - 1,K, n - M ) . (1.24)
Modifitseerime närvivõrgu parameetreid nii, et järgmisel sammul viga (1.24) oleks väiksem
jne. Üldjuhul, ennustamine on
modelleerimise erijuhtum.
Ennustamise rakendused on väga erinevatest valdkondadest. Nii tehnikast (mittelineaarsete
protsesside juhtimine) kui ka majandusest (börsi
kursside ennustamine), meditsiinist (näiteks
südameinfarktide ennustamine) jne.
5. Juhtimine
Protsesside juhtimine on veel üks tähtsamatest närvivõrkude rakenduste valdkondadest. Olgu
mittelineaarse süsteemi (1.25) dünaamika on teadmata:
Plant , (1.25)
kus u (t ) on süsteemi juhtimissisend ja y (t ) on temale vastav süsteemi väljund.
Juhtimise ülesandeks on saavutada nõutavat süsteemi dünaamikat, mida kirjeldab etalonmudel
( reference model), (1.26)
kus r (t ) on
seadesuurus (juhtimissüsteemi sisend) ja d (t ) on
soovitav juhitava süsteemi
väljund.
Närvivõrk peab
arvutama sellise juhtimissisendi u (t ) , et juhitav süsteem jälgiks etalonmudeli
poolt määratud soovitava trajektoori: lim d (t ) - y (t ) = 0 . (1.27) t Juhtimissisendi arvutamiseks on võimalik õpetada närvivõrku. Detailsemalt juhtimine
tehisnärvivõrkudega on kirjeldatud viiendas peatükis.
Täiendav kirjandus: 1. Haykin, S. Neural Networks, Prentice-Hall international (UK) Limited, London, 1994. 696 p. 2. Lu, Y-Z. Industrial intelligent control. Fundamentals and applications. Chicher: Wiley, 1996. 325 p. 3. Looney, C. G. Pattern recognition using neural networks,
Oxford University Press, New York, 1997. 451 p. 4. Hunt, K.J., Irwin, G.R. Neural network engineering in
dynamic control systems. Springer:
Berlin , 1996. 287 p. 19
2 Teoreetilised alused
Üks tähtsamatest teoreemidest närvivõrkude teooriast on Stone-Weierstrassi teoreem, mis
tõestab mitmekihiliste pertseptronide võimelisust aproksimeerida suvalist pidevat funktsiooni.
Tänu sellele nad on rakendatavad paljude probleemide lahendamiseks (modelleerimiseks,
juhtimiseks, ennustamiseks jne).
2.1 Stone-Weierstrassi teoreem
Olgu n närvivõrgu sisendite arv ja m tema väljundite arv. Kõik närvivõrgu sisendid ja
väljundid on
reaalarvud x1 ,K, xn , y1 ,K, ym . Närvivõrgu sisendid moodustavad meetrilise
ruumi n alamhulka ja väljundid kuuluvad meetrilise ruumi m .
Teoreemi matemaatiliseks formuleerimiseks defineerime terve rida mõisteid.
Definitsioon 1
Hulka X meetrilises ruumis nimetatakse kompaktseks kui selle hulga igast jadast saab
eraldada
koonduva osajada.
Definitsioon 2
Meetrilise ruumi hulka X nimetatakse tõkestatuks, kui leidub mingi seda hulka sisaldav kera
S ( x0 , r ) , s.t. leidub selline arv R > 0 , et iga x X jaoks kehtib võrratus x R .
Definitsioon 3
Hulka X nimetatakse kinniseks, kui ta sisaldub kõik oma piirpunktid, s.t. kui kõ
punktid kuuluvad hulka X ( x1 ,K, xn ,K X ) ja x0 on selle jada piirpunkt ( lim xn = x0 ), siis n
siit järeldub, et x0 ka kuulub hulka X ( x0 X ).
Hulk X on kompaktne siis ja ainult siis, kui X on
kinnine ja tõkestatud. Seda väidet
nimetatakse Lebesque teoreemiks.
Olgu K kõikide närvivõrgu sisendite hulk. Ta on tõkestatud ja kinnine. Seega hulk K on
kompaktne. Matemaatiliselt, närvivõrk realiseerib kujutuse f : K Rm . (2.1)
Närvivõrgu ülesanne seisneb funktsiooni f lähendamises (aproksimeerimises). Matemaatilisest
analüüsist on tuntud Weierstrassi teoreem, mis väidab, et lõigus [a, b] pidev funktsioon f on
liigikaudselt esitatav polünoomi P kujul suvalise etteantud täpsusega.
Teoreem 1 (Weierstrassi)
Kui f (x) on lõigul [a, b] pidev funktsioon, siis suvaline etteantud positiivse arvu jaoks
selline polünoom P(x) , et kõikides lõigu [a, b] punktides x [a, b] kehtib võrratus f ( x) - P ( x) Weierstrassi teoreem ei ole otseselt
rakendatav närvivõrkudele, sest närvivõrgu funktsioon
(1.9) ei ole polünomiaalne. Selle teoreemi
arendas M.H.Stone, kes leidis üldisemad
aproksimeerivate funktsioonide omadused, kus aproksimeeriv funktsioon ei pea olema 20
polünoom. Stone-Weierstrassi teoreemi formuleerimiseks on vaja defineerida veel mõned
mõisted.
Definitsioon 4
Funktsioonide hulgast K n ruumi hulka A nimetatakse funktsioonide algebraks siis ja
ainult siis, kui f , g A ja A jaoks kehtivad järgmised kolm seost: 1) f + g A ; 2) f g A ; 3) f A .
Definitsioon 5
Olgu A funktsioonide hulgast K n ruumi hulk. Kui ühendada hulka A kõikide hulga A
koonduvate jadade piirpunktidega, siis saadud hulka B nimetatakse hulga A sulundiks.
Definitsioon 6
Öeldakse, et funktsioonide hulgast K n ruumi hulk A eraldab punkte hulgal K siis ja
ainult siis, kui iga kahe erinevate punktide x1 , x 2 K ( x1 x 2 ) jaoks leidub selline
funktsioon f A , et f ( x1 ) f ( x 2 ) .
Definitsioon 7
Olgu A funktsioonide hulgast K n ruumi hulk. Öeldakse, et A ei saa nulliks mitte
ükski hulga K punktidest siis ja ainult siis, kui iga punkti x K jaoks leidub selline
funktsioon f A , et f ( x) 0 .
Nüüd formuleerime Stone-Weierstrassi teoreemi.
Teoreem 2 (Stone-Weierstrassi)
Olgu A selline pidevate funktsioonide
algebra kompaktsest hulgast K n ruumi , et A
eraldab hulga K punkte ja A ei saa nulliks mitte ükski hulga A punktidest. Siis hulga A
sulund B koosneb kõikidest pidevatest funktsioonidest hulgast K ruumi .
Stone-Weierstrassi teoreem on üks olulisemaid teoreeme aproksimeerimise
teoorias .
Närvivõrk realiseerib kujutust (2.1). Vaadeldes iga närvivõrgu väljundit eraldi saame m
kujutust f (i ) : K R, i = 1,K, m (2.3)
iga närvivõrgu väljundvektori elemendi jaoks. Siis me saame rakendada Stone-Weierstrassi
teoreemi närvivõrkudele.
Olgu on olemas kahekihiline pertseptron, kus peidetud kihi aktiveerimisfunktsioonideks
sigmoid funktsioonid tõkestatud, monotoonselt kasvavad mittelineaarsed funktsioonid ning
väljundkihi aktiveerimisfunktsioonideks on
lineaarsed funktsioonid. Tema tööd kirjeldav
funktsioon on järgmine: N n y r = C wij1 xi1 + b j1 w jr + br 2 , r = 1, K , m (2.4) j =1 i =1 kus
i üksiku neuroni sisendi järjekorra number; 21
j neuroni järjekorra number vaadeldavas kihis;
x, w, b närvivõrgu vastavad sisendid, kaalukoefitsiendid ja nihked; peidetud kihi aktiveerimisfunktsioon sigmoid funktsioon;
C väljundkihi lineaarse aktiveerimisfunktsiooni koefitsient ( y = C x , C 0 );
r närvivõrgu väljundi järjekorra number.
Närvivõrgu sisendite hulka K moodustavad n-mõõtmelised vektorid U = [x11 K xn1 ] n . T
K n . Hulk K on kompaktne. Iga närvivõrgu väljund on reaalarv : y r , r = 1,K, m .
Kujutuste (2.3) jaoks kõik kolm definitsiooni 4 tingimust on täidetud. Järelikult vastavalt
definitsioonile 4 kõikide närvivõrgu funktsioonide (2.4) hulk (erinevate võrgu parameetrite
puhul) moodustab pidevate funktsioonide algebra kompaktsest hulgast K n ruumi .
Tähistame seda hulka A-ga.
Kui närvivõrgu kaalukoefitsiendid ei ole nulliga võrdsed, siis võrrandist (2.4) on näha, et iga
kahe erinevate sisendvektorite U1 ja U2 funktsiooni y r (U ) väärtused on erinevad:
U 1 U 2 y r (U 1 ) y r (U 2 ) . Järelikult, vastavalt definitsioonile 6, funktsioonide algebra A
eraldab punkte hulgal K.
Iga sisendi U jaoks leiduvad sellised närvivõrgu parameetrid, et võrgu väljund on nullist
erinev y r (U ) 0 . Selleks
piisab valida väljundkihi neuroni nihe br 2 niisuguseks, et oleks
täidetud järgmine tingimus: N n br 2 - wij1 xi1 + b j1 w jr . (2.5) j =1 i =1 Järelikult, vastavalt definitsioonile 7, funktsioonide algebra A ei saa nulliks mitte ükski hulga
K punktidest.
Seega kõik Stone-Weierstrassi teoreemi tingimused on täidetud ja kõikide närvivõrguga
realiseeritavate funktsioonide hulga sulund B koosneb kõikidest võimalikest pidevatest
funktsioonidest närvivõrgu sisendite hulgast K n ruumi . Kuna definitsiooni järgi iga
sulundi B punkt sisaldab vähemalt üks hulga A punkt, siis isegi kui aproksimeeritav
funktsioon y^ r (U ) ei kuulu hulka A, vaid kuulub ainult hulka B, leidub funktsioon yr (U )
hulgast A, mis lähendab funktsiooni y^ r (U ) mis tahes etteantud täpsusega : y r (U ) - y^ r (U ) 0 . (2.6)
Järelikult, kahekihilise pertseptroniga saab aproksimeerida iga pideva, sisendite hulgal
tõkestatud funktsiooni. Analoogiliselt see väide tõestatakse ka teiste peidetud kihi
aktiveerimisfunktsioonide jaoks. Näiteks, Gaussi funktsiooni jaoks.
Stone-Weierstrassi teoreem väidab ainult seda, et teoreetiliselt eksisteerivad niisugused
ideaalsed võrgu parameetrid, et ta aproksimeerib antud funktsiooni mis tahes etteantud
täpsusega. Kuna tänapäeval matemaatikas ei ole täpset meetodit mittelineaarse funktsiooni
globaalse miinimumi leidmiseks ja kõikide optimeerimismeetodite abil saab leida ainult
minimiseeruva funktsiooni
lokaalsed miinimumid (vt. peatükk 3), tegelik närvivõrgu täpsus
sõltub väga erinevatest parameetritest: kihtide arvust, neuronite arvust igal peidetud kihil,
kasutatavatest neuronite aktiveerimisfunktsioonidest, õpetamisalgoritmist, juhuslikust 22
kaalukoefitsientide algväärtuste valikust jne. Kõik need parameetrid tavaliselt* valitakse igal
konkreetsel juhul empiiriliste teadmiste alusel. Ühe soovituse otsesuunatud kahekihilise
närvivõrgu peidetud kihi neuronite valiku kohta annab Kolmogorovi teoreem.
2.2 Kolmogorovi teoreem
Kolmogorovi teoreemi formuleerimiseks defineerime kuubi mõiste.
Definitsioon 8
n-mõõtmeliseks kuubiks n ruumis n nimetatakse lõikude otsekorrutist n = [a1 ; b1 ] × [a2 ; b2 ] × K × [a n ; bn ] , (2.7)
kus b1 - a1 = b2 - a2 = K = bn - an = r > 0 .
Lõike [a1 ; b1 ],K,[an ; bn ] nimetatakse kuubi n servadeks ja arvu r serva pikkuseks.
Kui närvivõrgul on n sisendit, siis sisendvektor kuulub kuubi n .
Teoreem 3 (Kolmogorovi)
Iga
kuubis n pidev funktsioon avaldub järgmisel kujul: 2 n +1 n f ( x1 ,K, xn ) = j ij ( xi ) , (2.8) j =1 i =1 kus i ja ij on reaalarvulised pidevad ühemuutuja funktsioonid.
Võrreldes valemid (2.4) ja (2.8) me näeme, et valem (2.8) on valemi (2.4) erijuhtum, kus
funktsioonid i on närvivõrgu väljundkihi neuronite aktiveerimisfunktsioonid, ij -
närvivõrgu peidetud kihi neuronite aktiveerimisfunktsioonid ja peidetud kihi neuronite arv N = 2n + 1 . Hecht-Nielsen sõnastas Kolmogorovi teoreem ümber ja tegi ta relevantseks
närvivõrkudele:
Teoreem 4 (järeldus Kolmogorovi teoreemist)
Iga kuubis n pidev funktsioon on realiseeritav kahekihilise närvivõrgu abil, millel on 2n+1
neuronit peidetud kihil, ülekandefunktsioonid sisendist peidetud kihi neuronitele on ij j ja
ülekandefunktsioonid peidetud kihi neuronite väljunditest väljundkihi neuronite
sisenditele - .
Tegelikult aproksimeerimise täpsus oluliselt sõltub valitud neuronite
aktiveerimisfunktsioonidest ning kasutatavast optimeerimise algoritmist. See oluliselt piirab
Kolmogorovi teoreemi praktilise
rakenduse võimalust ja mõnikord närvivõrgu optimaalne
arhitektuur erineb sellest, mis on
pakkutud eelpool toodud teoreemis.
* Viimasel ajal on väljatöötanud mõned automaatse närvivõrgu arhitektuuri valiku algoritmid, vaid paljude
rakenduste puhul, nende kasutamine on liiga keeruline. 23
Täiendav kirjandus: 1. Hunt, K.J., Irwin, G.R. Neural network engineering in dynamic control systems. Springer: Berlin, 1996. 287 p. 2. , . ., , . . . : , 1989. 623 . 3. Oja, E., Oja, P. Funktsionaalanalüüs. Tartu: Tartu Ülikool, 1991. 307 lk. 4. J. Dugundji. Topology. Allyn and
Bacon ,
Boston , 1966 5. Rudin, W. Principles of Mathematical
Analysis , Third
Edition . McGraw-
Hill , Auckland, 1976 6. Hecht-Nielsen, R. Kolmogorov's
mapping neural network existence
theorem . In Proceeding of the International Joint Conference on Neural Networks, vol. 3, pp. 11-14, New York, 1987. IEEE Press 24
3 Mitmekihiline pertseptron ja vea tagasilevi meetod
Õpetamisalgoritmi näiteks vaatleme kahekihilise pertseptroni kaalukoefitsientide arvutamist
vea pöördlevi meetodi järgi. Esialgselt, võrgu parameetrite väärtustele omandatakse
juhuslikult valitud väikesed arvud. Närvivõrgu peidetud kihi neuronite väljundite väärtused ja
väljundkihi neuronite väljundid (närvivõrgu väljundid) arvutatakse järgnevate valemite järgi: yh j (t ) = F1 ( Wh ji (t ) x i (t ) + Bh j (t )) (3.1) i
y k (t ) = F2 ( Wo kj (t ) yhi (t ) + Bok (t )) , (3.2) i
kus
i tähendab võrgu sisendi numbrit;
j - neuroni asukoht (järjekorranumber) peidetud kihil;
k - neuroni asukoht võrgu väljundis; x i (t ) on närvivõrgu sisendväärtused ajahetkel t;
Wh ji (t ) - peidetud kihi kaalukoefitsientide väärtused ajahetkel t;
Bh j (t ) - peidetud kihi nihete väärtused ajahetkel t;
F1 - peidetud kihi neuronite aktiveerimisfunktsioon;
yh j (t ) - peidetud kihi neuronite väljundid ajahetkel t;
Wo kj (t ) - väljundkihi kaalukoefitsientide väärtused ajahetkel t;
Bok (t ) - väljundkihi nihete väärtused ajahetkel t;
F2 - väljundkihi neuronite aktiveerimisfunktsioon;
y k (t ) - närvivõrgu väljundid ajahetkel t.
Nüüd arvutame võrguvea, mis on ideaalse ja võrgust saadud väljundite väärtuste vahe: e(t ) = y (t ) - y
etalon (t ) (3.3)
Gradientideks on: J = j (t ) xi (t ) ; (3.4) Wij J = k (t ) yh j (t ) ; (3.5) Wkj j (t ) ja k (t ) on signaalid, mille abil edastatakse informatsioon vea kohta viimaselt kihilt
esimeste kihtideni (siit ka pöördlevi meetodi nimetus): k (t ) = ( y k (t ) - y kd (t )) F2 ; (3.6) j (t ) = F1 k (t ) Wo kj (t ) ; (3.7) k
F1 ja F2 on vastavate neuronite kihtide aktiveerimisfunktsioonide
tuletised .
Nende andmete põhjal saab välja arvutada kaalukoefitsientide uued väärtused: J Wo kj (t + 1) = Wo kj (t ) - = Wo kj (t ) - k (t ) yh j (t ) ; (3.8) Wo kj J Wh ji (t + 1) == Wh ji (t ) - = Wh ji (t ) - j (t ) xi (t ) , (3.9) Wh ji 25
kus on koefitsient, mis iseloomustab õppimise kiirust (learning
rate , ).
Mida suurem see on, seda rohkem muutuvad võrgu parameetrid igakordsel ümberarvutamisel.
Parameeter võib muutuda õpetamise käigus vastavalt spetsiaalsele algoritmile. Oleks
loogiline päris alguses valida koefitsient piisavalt suur, kuna alguses on ka võrgu viga suur
ning kaalukoefitsientide väärtused jäävad vajalikest väärtustest kaugele. Algoritmi
koondumise käigus tuleb vähendada õppimise kiirust.
Peale parameetrite
muutmist , arvutatakse võrgu väljundväärtuseid ja kontrollitakse
protseduuri lõpetamise tingimusi. Juhul kui võrgu väljundi viga on väiksem nõutavast või
lubatud õpetamisperioodide arv on lõppenud, lõpetatakse õpetamise protsess. Vastasel korral
jätkub õpetamise protsess. Täpselt sama algoritmi järgi leitakse ka nihete optimaalseid
väärtuseid.
Juba oli öeldud, et aktiveerimisfunktsiooni valik sõltub kasutatavast õpetamisalgoritmist.
Näiteks, kirjeldatud meetod seab aktiveerimisfunktsiooni
kujule piirangud. On ilmne, et
kasutatavad aktiveerimisfunktsioonid peavad olema diferentseeruvad igas punktis. Seepärast,
mittelineaarsetest funktsioonidest oleksid kõige sobivamad sigmoidfunktsioonid. Selle tüübi
funktsioonide tuletised on väga lihtsalt arvutatakse. Näiteks, kui kasutatakse logistilist
funktsiooni 1 f (x) = , (3.10) 1 + e -x
siis tema tuletis e-x 1 1 f ' ( x) = = - = f ( x) - f 2 ( x) . (3.11) ( 1+ e)-x 2 1 + e ( - x ) 1+ e -x 2
See tähendab, et funktsiooni väärtusest punktis x alati võib kohe leida funktsiooni tuletist
selles punktis.
Minimiseeritav kaofunktsioon J (W , ) on tavaliselt mittelineaarne ja järelikult,
temal võib olla mitu lokaalset miinimumi Globaalne miinimum on ainus, aga lokaalsed miinimumid on erinevad (vt. joonis 3.1)
Vea pöördlevi meetod tagab funktsiooni lokaalse miinimumi
leidmist . Seepärast õpetamisprotsessi tulemus sõltub ka parameetrite algväärtuste valikust. Parameetrite algväärtused on juhuslikud arvud. Seepärast, erinevatel katsetel koondub algoritm erinevatele väärtustele. Peremate Joonis 3.1 Globaalse miinimumi leidmise probleem tulemuste saavutamiseks tuleb õpetamisprotsessi kordama
algusest mitu korda. Globaalse miinimumi leidmise ülesanne jääb tänapäevani
lahendamata .
Optimeerimisülesande lahendamise edukus sõltub ka sobiva võrgu struktuuri valikust. 26
Näide (närvivõrgu õpetamine)
Olgu on olemas kaks funktsiooni sisendit x1 = 0.2 ja x2 = 0.3 ning on teada, et nende
sisendite puhul funktsiooni väärtus y d = 0.4 . Leiame niisugused närvivõrgu parameetrid, et
etteantud sisendite puhul tema väljund kuivõrd võimalik vähem erineks etteantud
väljundist y d .
Selle probleemi lahendamiseks piisab kahekihilist pertseptroni kahe neurotitega peidetud
kihil. Lihtsuse mõttes olgu kõik neuronite nihked on
nullid ning kõik
aktiveerimisfunktsioonid on lineaarsed, st iga neuroni väljund on võrdne tema sisendite
kaalutud
summaga : OUT = NET . Seega, närvivõrgu arhitektuur on järgmine: Kaalukoefitsientide algväärtused valime juhuslikult vahemikust [- 1;+1]. Olgu w111 (0) = 0.6 w221 (0) = 0.2 w211 (0) = -0.7 w112 (0) = 0.5 w121 (0) = 0.5 w212 (0) = -0.1 Joonis 3.2 Kahekihiline pertseptron Närvivõrgu väljund y sõltub siis sisenditest ja 6-st
häälestatavatest parameetritest (kaalukoefitsientidest w111 ,K, w212 ). Need parameetrid
häälestame vea pöördlevi meetodi järgi. Närvivõrgu väljund ajahetkel k avaldub järgmise
valemiga: y (k ) = ( x1 w111 (k ) + x2 w211 (k )) w112 (k ) + ( x1 w121 (k ) + x2 w221 (k )) w212 (k ) (3.12)
Valemi (3.12) järgi arvutame võrgu väljundi alghetkel y (0) : y (0) = (0.2 0.6 - 0.3 0.7) 0.5 - (0.2 0.5 + 0.3 0.2) 0.1 = -0.045 - 0.016 = -0.061
seejuures peidetud kihi neuronite väljundid: yh1 (0) = x1 w111 (0) + x2 w211 (0) = 0.2 0.6 - 0.3 0.7 = -0.09 y h 2 (0) = x1 w121 (0) + x2 w221 (0) = 0.2 0.5 + 0.3 0.2 = 0.16
Võrgu viga (3.3) alghetkel: e(0) = y (0) - y d = -0.061 - 0.4 = -0.461
Õpetamise kiiruseks valime = 5 . Kaalukoefitsiendid muudame vastavalt võrranditele
(3.6) - (3.9). Kuna aktiveerimisfunktsioonid on lineaarsed võimendusteguriga 1, siis
aktiveerimisfunktsioonide tuletised on võrdsed 1-ga: F1 = F2 = 1. Siis valemitest (3.6) ja (3.8)
järeldub: w112 (1) = w112 (0) - e(0) y h1 (0) = 0.5 - 5 0.461 0.09 = 0.29255 w212 (1) = w212 (0) - e(0) y h 2 (0) = -0.1 + 5 0.461 0.16 = 0.2688 .
Valemitest (3.10) ja (3.12): w111 (1) = w111 (0) - e(0) w112 (0) x1 = 0.6 + 5 0.461 0.5 0.2 = 0.8305 w211 (1) = w211 (0) - e(0) w112 (0) x2 = -0.7 + 5 0.461 0.5 0.3 = -0.35425 w121 (1) = w121 (0) - e(0) w212 (0) x1 = 0.5 - 5 0.461 0.1 0.2 = 0.
4539 w221 (1) = w221 (0) - e(0) w212 (0) x2 = 0.2 - 5 0.461 0.1 0.3 = 0.13085 .
Siis närvivõrgu väljund järgmisel iteratsioonil: y (1) (0.2 0.83 - 0.3 0.35) 0.29 + (0.2 0.45 + 0.3 0.13) 0.27 = 0.0177 + 0.0348 0.053 ja
sellele vastav viga: e(1) = y (1) - y d = 0.053 - 0.4 -0.35 .
Viga natuke vähenes võrreldes eelmise sammuga. Jätkame võrgu õpetamise protsessi. 27
y h1 (1) = x1 w111 (1) + x2 w211 (1) = 0.2 0.83 - 0.3 0.35 0.061 y h 2 (1) = x1 w121 (1) + x2 w221 (1) = 0.2 0.45 + 0.3 0.13 0.13
Uued väljundkihi neuronite sisendite kaalukoefitsiendid: w112 (2) = w112 (1) - e(1) y h1 (1) = 0.29 + 5 0.35 0.061 0.40 w212 (2) = w212 (1) - e(1) y h 2 (1) = 0.27 + 5 0.35 0.27 0.74 .
Peidetud kihi neuronite sisendite uuendatud kaalukoefitsiendid: w111 (2) = w111 (1) - e(1) w112 (1) x1 = 0.83 + 5 0.35 0.29 0.2 0.93 w211 (2) = w211 (1) - e(1) w112 (1) x2 = -0.35 + 5 0.35 0.29 0.3 -0.20 w121 (2) = w121 (1) - e(1) w212 (1) x1 = 0.45 + 5 0.35 0.27 0.2 0.54 w221 (2) = w221 (1) - e(1) w212 (1) x2 = 0.13 + 5 0.35 0.27 0.3 0.27 .
Närvivõrgu väljund: y ( 2) (0.2 0.93 - 0.3 0.2) 0.4 + (0.2 0.54 + 0.3 0.27) 0.74 0.050 + 0.140 = 0.19
ja sellele vastav viga: e(2) = y (2) - y d = 0.19 - 0.4 = -0.21 .
Vea absoluutväärtus vähenes veel rohkem kui poolteist korda. Järgmisel sammul saame: yh1 (2) 0.13 , y h 2 (2) 0.14 .
Väljundkihi neuronite sisendite kaalukoefitsiendid: w112 (3) = 0.4 + 5 0.21 0.13 0.54 ; w212 (3) = 0.74 + 5 0.21 0.14 0.89
Peidetud kihi neuronite sisendite kaalukoefitsiendid: w111 (3) = 0.93 + 5 0.21 0.4 0.2 1.0 w121 (3) = 0.54 + 5 0.21 0.74 0.2 0.70 w211 (3) = -0.2 + 5 0.21 0.4 0.3 -0.074 w221 (3) = 0.27 + 5 0.21 0.74 0.3 0.50
Väljud pärast kolmandat iteratsiooni: y (3) (0.2 1.0 - 0.3 0.074) 0.54 + (0.2 0.7 + 0.3 0.5) 0.89 0.178 + 0.258 0.44 .
Seega, närvivõrgu viga: e(3) = y (3) - y d = 0.44 - 0.40 = 0.04
Nüüd närvivõrgu väljund on isegi suurem, kui vaja, vaid tema absoluutväärtus oluliselt
vähenes. Viga sai
positiivseks ja järelikult vea pöördlevi meetodi järgi hakkavad närvivõrgu
parameetrid natuke
muutuma teises suunas. Jätkates protsessi, väheneb viga ka edaspidi. Kui
iteratsioonide arv läheneb lõpmatusele, siis närvivõrgu viga teatud etteantud punktis
(punktides) läheneb
nullile : lim e(k ) = 0 . k
Selles lihtsas näites närvivõrgul on vaid 6 muudetavat parameetrit, 2 sisendit, 1 väljund ning
realiseeritav funktsioon peab läbima vaid ühte etteantud punkti. Reaalsete praktiliste
ülesannete lahendamisel tuleb õpetada palju keerulisemaid närvivõrke: parameetreid võib olla
kümned või sajad ning närvivõrgule antakse ette sajad või tuhanded punkte, milliseid peab
läbima realiseeritav funktsioon. On ilmne, et keerulisemate ülesannete puhul tuleb kirjutada
arvutiprogrammi närvivõrgu õpetamiseks või kasutada mingit olemasolevatest
tarkvara pakettidest.
Täiendav kirjandus: 1. Lu, Y-Z. Industrial intelligent control. Fundamentals and applications. Chicher: Wiley, 1996. 325 p. 2. Tsoukalas, L. H., Uhrig, R. E. Fuzzy and neural approaches in engineering. New York: Wiley-Interscience, 1996. 587 p. 3. Moscinski, J., Ogonowski, Z.
Advanced control with Matlab and Simulink. London:
Ellis Horwood, 1995. 251 p. 28
4 Modelleerimine tehisnärvivõrkudega
Identifitseerimisülesande püstitus: On antud süsteem, mille funktsioon on tundmatu. Identifitseerimise ülesandeks on selle funktsiooni matemaatilise mudeli saavutamine: U on süsteemi ja mudeli sisendväärtus, Ys ja Ym on identifitseeritava süsteemi ja selle süsteemi Joonis 4.1 Identifitseerimine matemaatilise mudeli väljundväärtused. Mudeli viga on süsteemi ja mudeli väljundite vahe: E = Ys - Ym . (4.1)
Identifitseerimise eesmärgiks on vähendada viga E: E 0 .
Mitmed juhtimisalgoritmid kasutavad mudeleid, mis on saadud närvivõrgu kujul. Näiteks,
ennustamisega juhtimine (vt. peatükk 5). Kui juhitav süsteem on lineaarne, siis tema mudeli
(ülekandefunktsiooni H (s ) ) arvutamiseks on väljatöötanud paljud meetodeit. Näiteks,
,,vähim
ruutude meetod". Reaalses elus aga,
juhitavad süsteemid on tavaliselt mittelineaarsed.
Mittelineaarsetel süsteemidel ei eksisteeri ülekandefunktsioone. Ülekandefunktsioonid on
erinevad iga tööpunkti ümbruses.
Eelpool oli mainitud, et tehisnärvivõrgud on võimelised aproksimeerima suvalist pidevat (seal
hulgas ka mittelineaarset) funktsiooni. Mittelineaarsete süsteemide identifitseerimine on mitte
midagi muu, kui dünaamilise mittelineaarse funktsiooni aproksimeerimine. Dünaamiliste
protsesside modelleerimiseks, närvivõrkude arhitektuuri tuuakse sisse tagasisided. See
tähendab, et närvivõrkude kasutamine annab võimaluse juhtida mittelineaarseid süsteeme.
Identifitseerimine närvivõrkude abil koosneb järgnevatest sammudest: 1. Katseandmete kogumine: Identifitseeritava objekti sisendile antakse sisendväärtused (reeglina, need väärtused on juhuslikud). Objekti väljundis mõõdetakse nendele vastavaid väljundväärtusi. Identifitseerimine toimub sisendi ja väljundi etalonväärtuste alusel. Õpetamisprotsessi käigus õpib närvivõrk anda õigeid väljundväärtuseid teatud etalonväärtuste hulgas. Tänu oma üldistusvõimele, annab närvivõrk õiged väärtused ka uute (õpetamisel kasutamata) sisendväärtuste hulgas. U Ys 2. Närvivõrku sobiva arhitektuuri Süsteem valik: sisendite arv, väljundite arv, + E peidetud kihtide arv, neuronite arv peidetud kihtidel, iga kihi neuronite Ym - aktiveerimisfunktsioon. Eelpool Närvivõrk mainitud parameetrite valik toimub tavaliselt eksperimentaalselt või W, B empiiriliste teadmiste alusel. Uute parameetrite arvutus 3. Närvivõrgu kaalukoefitsientide ja õpetamisalgoritmi alusel nihete algväärtuste valik (reeglina valitakse juhuslikult). Joonis 4.2 Närvivõrk süsteemi mudelina 4. Närvivõrgu väljundi arvutus etalon sisendväärtuste alusel. 5. Mudeli vea leidmine võrreldes närvivõrgu väljundeid objekti etalonväljunditega. 29
6. Uute parameetrite (kaalukoefitsientide ja nihete) arvutus valitud õpetamisalgoritmi alusel.
Sammud 4 6 korduvad iteratiivselt kasutaja poolt määratud õpetamise perioodide jooksul
või seni kuni mudeli vajalik täpsus on saavutatud.
Joonisel 4.2 identifitseerimisprotsess on esitatud ka graafiliselt.
Täiendav kirjandus: 1. Tsoukalas, L. H., Uhrig, R. E. Fuzzy and neural approaches in engineering. New York: Wiley-Interscience, 1996. 587 p. 2. Moscinski, J., Ogonowski, Z. Advanced control with Matlab and Simulink. London: Ellis Horwood, 1995. 251 p. 3. Lu, Y-Z. Industrial intelligent control. Fundamentals and applications. Chicher: Wiley, 1996. 325 p. 4.
Brown , M.,
Harris , C. Neurofuzzy Adaptive Modelling and Control, Prentice Hall, 1994. 508 p. 5. Ren, X. M., Rad, A. B.,
Chan , P. T., Lo, W.L. Identification and Control of Continuous-Time Nonlinear Systems via Dynamic Neural Networks. IEEE Transactions on industrial electronixs, vol. 50, no. 3, pp 478-486,
June 2003 30
5 Juhtimine tehisnärvivõrkudega
Paljud juhtimisalgoritmid kasutavad eelmises peatükis vaadeldud juhitava süsteemi mudelit.
Üks nendest algoritmidest on nn. ,,Ennustamisega juhtimine".
5.1 Ennustamisega juhtimine (predictive control, )
Ideaalsel juhul, juhitava süsteemi matemaatiline mudel töötab täpselt nii nagu süsteem ise.
Ennustamisega juhtimise algoritm kasutab seda mudelit süsteemi väljundväärtuste järgmiste N taktide jooksul ennustamiseks. Joonisel 5.1 on toodud selle algoritmi skemaatiline esitus.
Juhtimise ülesandeks on jälgida, et juhtimissüsteemi väljund y s oleks seadesuurusega r võrdne või erineks nii vähe kui on võimalik. Kui on olemas seadesuurus mingil ajahetkel, siis Joonis 5.1 Ennustamisega juhtimine matemaatilise mudeli abil võib arvutada (ennustada) süsteemi väljundid järgmiste N taktide
jooksul oletades, et seadesuurus jääb samaks. Parameetrit N nimetatakse ennustamise
horisondiks (prediction horizont, ). On vaja arvutada regulaatori
väljundi niisuguseks, et minimiseerida seadesuuruse ja vastava mudeli väljundi vahet. N J = (r (t ) - y m (t + j )) 2 (5.1) j =1
J on minimiseeritav funktsioon.
r on juhtimissüsteemi sisend (seadesuurus, reference signal, );
u on juhitava süsteemi sisend (regulaatori väljund);
y m on juhitava süsteemi mudeli väljund;
y s on juhtimissüsteemi väljund.
Regulaatori väljundit arvutatakse järgneva valemi alusel (valemi tuletamise ma jätan ära): r (t ) - y m (t + 1) u (t ) = u (t - 1) + [q1 K q N ] M , (5.2) r (t ) - y (t + N ) m kus [q1 K q N ] on regulaatori võimendustegurite vektor. Selle vektori elementide
väärtused on ennustamisega regulaatori parameetrid Mitteadaptiivse algoritmi puhul neid
parameetreid valitakse katseliselt.
Paremate tulemuste saavutamiseks juhtimisalgoritmi võib teha adaptiivseks (adaptiivselt
häälestada regulaatori parameetreid). Selleks realiseeritaks regulaatori funktsioon teise
närvivõrgu kujul, mille õpetamine toimub juhtimisprotsessi käigus (,,on-line"). 31
Adaptiivjuhtimist on vaja kasutada kui juhtimissüsteem töötab muutuvas keskkonnas (näiteks,
kui temperatuur muutub väga tihti ja oluliselt) või juhitava süsteemi parameetreid muutuvad
ajas.
Teine võimalus adaptiivjuhtimise realiseerimiseks on kasutada närvivõrku regulaatorina.
5.2 Närvivõrgu õpetamine regulaatori realiseerimiseks
Regulaatori sisendis on seadesuurus r Õpetamis- (vt. joonis 5.2). Närvivõrgu väljundis on
r algoritm juhtimissignaal u . Õpetamisalgoritm võrdleb juhitava süsteemi väljundit y s
Regulaator u Juhitav ys nõutava väljundiga (seadesuurusega) ja (närvivõrk) Süsteem arvutab võrgu parameetrid ümber nii, et hoida nende vahet r - y s minimaalsena. Sõltumata väliskeskkonna tingimuste ja juhitava süsteemi parameetrite
Joonis 5.2 Regulaatori
realiseerimine närvivõrgu kujul muutumisest, regulaator on alati võimeline genereerida sellise
juhtimissignaali, et hoida juhtimissüsteemi väljundit seadesuuruse väikeses ümbruses. Selles
seisnebki algoritmi adaptiivsus.
5.3 Närvivõrkude kasutamine PID-regulaatori sünteesil
On teada, et õigel proportsionaal-, tuletuslik-, ja integraalkomponentide valikul PID-
regulaator võib juhtida lineaarseid süsteeme: 1 W PID ( s ) = K 1 + K 2 + K 3 s . (5.3) s
1 NN1
r u Juhitav ys 1/s NN2 Süsteem - s NN3
Joonis 5.3 Neuro-PID regulaator
Võimendustegurid K 1 , K 2 ja K 3 on lineaarsed korrutajad. Kui nende asemel kasutada 3
erinevat närvivõrke NN 1 , NN 2 ja NN 3 siis selle tüübi regulaatori abil võib juhtida ka
mittelineaarseid süsteeme.
Närvivõrkude
valdkond hakkas aktiivselt arenema ainult eelmise sajandi viimasel
aastakümnel, sest närvivõrkude õpetamine nõuab üsna võimsamate arvutite kasutamist. Ka
tänapäeval areneb see valdkond väga kiiresti. Pakutakse väga palju erinevaid närvivõrkude 32
kasutamisel baseeruvaid juhtimisalgoritme. Automaatjuhtimises hakati väga efektiivselt
kasutama närvivõrke kombinatsioonis hägusa loogikaga.
Täiendav kirjandus: 1. Irwin G. W., Warwick K., Hunt K.J., Neural network applications in control. The Institution of Electrical Engineers, 1995. 297p. 2. Lu, Y-Z. Industrial intelligent control. Fundamentals and applications. Chicher: Wiley, 1996. 325 p. 3. Mills, P. M., Zomaya, A. Y., Moses O. T. Neuro-Adaptive Process Control. A Practical Approach. John Wiley & Sons, 1996. 212 p 4. Moscinski, J., Ogonowski, Z. Advanced control with Matlab and Simulink. London: Ellis Horwood, 1995. 251 p. 5. Tsoukalas, L. H., Uhrig, R. E. Fuzzy and neural approaches in engineering. New York: Wiley-Interscience, 1996. 587 p 6. Hunt, K.J., Irwin, G.R. Neural network engineering in dynamic control systems. Springer: Berlin, 1996. 287 p. 7. Brown, M., Harris, C. Neurofuzzy Adaptive Modelling and Control, Prentice Hall, 1994. 508 p. 8. Liu, G. P., Kadirkamanathan, V., Billings, S. A., Nonlinear Predictive Control via Neural Networks. UKACC International Conference on Control, September 1996, Conference publication no. 427 9. Omatu, S., Kishida, Y., Yoshioka, M. Neuro-Control for
Single -Input
Multi -Output Systems. Second International Conference on
Knowledge -Based Intelligent Electronic Systems, 21-23 April 1998 33
Kirjanduse alfabeetiline loetelu
1. Brown, M., Harris, C. Neurofuzzy Adaptive Modelling and Control, Prentice Hall, 1994. 508 p.
2. Dugundji, J. Topology. Allyn and Bacon, Boston, 1966
3. Haykin, S. Neural Networks, Prentice-Hall international (UK) Limited, London, 1994. 696 p.
4. Hecht-Nielsen, R. Kolmogorov's mapping neural network existence theorem. In Proceeding of the International Joint Conference on Neural Networks, vol. 3, pp. 11-14, New York, 1987. IEEE Press
5. Hunt, K.J., Irwin, G.R. Neural network engineering in dynamic control systems. Springer: Berlin, 1996. 287 p.
6. Irwin G. W., Warwick K., Hunt K.J., Neural network applications in control. The Institution of Electrical Engineers, 1995. 297p.
7. Liu, G. P., Kadirkamanathan, V., Billings, S. A., Nonlinear Predictive Control via Neural Networks. UKACC International Conference on Control, September 1996, Conference publication no. 427
8. Looney, C. G. Pattern recognition using neural networks, Oxford University Press, New York, 1997. 451 p.
9. Lu, Y-Z. Industrial intelligent control. Fundamentals and applications. Chicher: Wiley, 1996. 325 p.
10. Mills, P. M., Zomaya, A. Y., Moses O. T. Neuro-Adaptive Process Control. A Practical Approach. John Wiley & Sons, 1996. 212 p.
11. Moscinski, J., Ogonowski, Z. Advanced control with Matlab and Simulink. London: Ellis Horwood, 1995. 251 p.
12. Oja, E., Oja, P. Funktsionaalanalüüs. Tartu: Tartu Ülikool, 1991. 307 lk.
13. Omatu, S., Kishida, Y., Yoshioka, M. Neuro-Control for Single-Input Multi-Output Systems. Second International Conference on Knowledge-Based Intelligent Electronic Systems, 21-23 April 1998
14. Ren, X. M., Rad, A. B., Chan, P. T., Lo, W.L. Identification and Control of Continuous- Time Nonlinear Systems via Dynamic Neural Networks. IEEE Transactions on industrial electronixs, vol. 50, no. 3, pp 478-486, June 2003
15. Rudin, W. Principles of Mathematical Analysis, Third Edition. McGraw-Hill, Auckland, 1976
16. Tsoukalas, L. H., Uhrig, R. E. Fuzzy and neural approaches in engineering. New York: Wiley-Interscience, 1996. 587 p.
17. , . . : : « ». . , 1999. 76 .
18. , . ., , . . . : , 1989. 623 .
Kõik kommentaarid