Vajad kellegagi rääkida?
Küsi julgelt abi LasteAbi
Logi sisse

Tehisnärvivõrgud ja nende rakendused (1)

5 VÄGA HEA
Punktid
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: PlantJuhtimise ü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 .
Vasakule Paremale
Tehisnärvivõrgud ja nende rakendused #1 Tehisnärvivõrgud ja nende rakendused #2 Tehisnärvivõrgud ja nende rakendused #3 Tehisnärvivõrgud ja nende rakendused #4 Tehisnärvivõrgud ja nende rakendused #5 Tehisnärvivõrgud ja nende rakendused #6 Tehisnärvivõrgud ja nende rakendused #7 Tehisnärvivõrgud ja nende rakendused #8 Tehisnärvivõrgud ja nende rakendused #9 Tehisnärvivõrgud ja nende rakendused #10 Tehisnärvivõrgud ja nende rakendused #11 Tehisnärvivõrgud ja nende rakendused #12 Tehisnärvivõrgud ja nende rakendused #13 Tehisnärvivõrgud ja nende rakendused #14 Tehisnärvivõrgud ja nende rakendused #15 Tehisnärvivõrgud ja nende rakendused #16 Tehisnärvivõrgud ja nende rakendused #17 Tehisnärvivõrgud ja nende rakendused #18 Tehisnärvivõrgud ja nende rakendused #19 Tehisnärvivõrgud ja nende rakendused #20 Tehisnärvivõrgud ja nende rakendused #21 Tehisnärvivõrgud ja nende rakendused #22 Tehisnärvivõrgud ja nende rakendused #23 Tehisnärvivõrgud ja nende rakendused #24 Tehisnärvivõrgud ja nende rakendused #25 Tehisnärvivõrgud ja nende rakendused #26 Tehisnärvivõrgud ja nende rakendused #27 Tehisnärvivõrgud ja nende rakendused #28 Tehisnärvivõrgud ja nende rakendused #29 Tehisnärvivõrgud ja nende rakendused #30 Tehisnärvivõrgud ja nende rakendused #31 Tehisnärvivõrgud ja nende rakendused #32 Tehisnärvivõrgud ja nende rakendused #33 Tehisnärvivõrgud ja nende rakendused #34
Punktid 100 punkti Autor soovib selle materjali allalaadimise eest saada 100 punkti.
Leheküljed ~ 34 lehte Lehekülgede arv dokumendis
Aeg2008-05-28 Kuupäev, millal dokument üles laeti
Allalaadimisi 88 laadimist Kokku alla laetud
Kommentaarid 1 arvamus Teiste kasutajate poolt lisatud kommentaarid
Autor Apaksimen Õppematerjali autor

Sarnased õppematerjalid

Tehisnärvivõrgud ja nende rakendamine
34
pdf

Tehisnärvivõrgud ja nende rakendamine

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 ......................................................................................................................................

Infoharidus
Süsteemi teooria
2
doc

Süsteemi teooria

Algtingimused, mis väljendavad süsteemisiseseid akumulatsioone, peavad olema fikseeritud, et saada üheselt määratud lahendit. Alghetkel sisemised akumulatsioonid peavad alati puuduma (=0). Seega algtingimused väljenduvad kujul: y(0)=0; dy(0)/dt=0; d 2y(0)/dt2=0; ... ; dn-1y(0)/dtn-1=0 Tulemusena on väljundmuutuja y(t) üheselt määratud sisendmuutujaga u(t) y(t)=H(u(t)), kus H tähistab süsteemi ülekandeoperaatorit. 2.3Algolekud ­ nullised ja mittenullised. Avage nende sisu.- Nullised algolekud- teatava sisendmuutuja rakendamisel süsteemi sisendisse hetkel t0 pole reaktsiooni väljundis üheselt määratud. Põhjuseks on süsteemi akumulatsiooni toima , mis on põhjustatud võimalikest protsessidest enne ajahteke t0. Sõltuvus ainult sisendsignaalist tekib vaid siis kui hetkel t0 süsteemisisene akumulatsioon puudub täielikult ,tegemist on sellisel juhul nullise algtingimusega

Süsteemiteooria
Süsteemiteooria kordamisküsimused
18
pdf

Süsteemiteooria kordamisküsimused

erinevad võrdse ajaintervalli võrra, mida tavaliselt nimetatakse taktiks ehk taktikestuseks (aeg mõõdetakse taktides, väärtused kindlal ajal mõõdetud, mis vahepeal toimub ei tea) ning ajahetki taktihetkedeks. Enamik tehnilisi süsteeme on diskreetsed, diskreetne signaal on arvude jada. Dünaamiliste süsteemide modelleerimine. Milliseid mudeleid kasutatakse lineaarsete statsionaarsete pidevaja süsteemide kirjeldamisel? Algolekud – nullised ja mittenullised. Avage nende sisu. Millistel tingimustel ja eeldustel on pidevaja süsteem esitatav ekvivalentse diskreetaja süsteemina? Avage probleemi olemus ja tähtsus süsteemiteooria seisukohalt. Dünaamiliste süsteemide modelleerimine: Modelleerimisel tehakse kindlaks vajalik sisendite arv ning sisendite seos väljunditega. Süsteemi matemaatilise mudeli liigid: 1.Algebralised, seovad omavahel muutujate iga ajahetke väärtusi. 2. Diferentsiaalvõrrandid, seovad muutujaid kirjeldavaid ajafunktsioone. 3

Süsteemiteooria
Süsteemiteooria kordamisküsimused
54
doc

Süsteemiteooria kordamisküsimused

t. aeg on üheks süsteemi mudeli muutujaks. See mudel seob muutujate väärtusi erinevatel ajahetkedel või muutujate tuletisi. Mudeli eripärast tingituna tekivad teatud seaduspärasusega kulgevad ajalised protsessid süsteemis. s.t nad on ajas muutuvate olekutega. Üks olulisemaid süsteemide omadusi on avatud süsteemide dünaamika. See kirjeldab süsteemi käitumist muutuvate välistingimuste korral. Käitumine sõltub nii välistoimest kui ka süsteemi sisemistest omadustest. Nende analüüsi aluseks on tavaliselt süsteemi matemaatiline mudel, mis võimaldab selgitada ja analüüsida tekkivate siirdeprotsesside eripära, lahendades mudelisse kuuluvad võrrandid. Süsteemi mudel on idealiseeritud olem, mis teatavate lihtsustustega kajastab tegelikku süsteemi kas struktuuri, käitumise või mõlema mõningate omaduste suhtes. Süsteemi mudelit võib kirjeldada sõnaliselt, matemaatiliselt, deskriptiiv-graafiliselt, semiootiliselt, formaalkeelega, materiaalse

Süsteemiteooria
Praktikumide aruanne Automaatjuhtimissüsteemide jätkukursus
8
pdf

Praktikumide aruanne Automaatjuhtimissüsteemid e jätkukursus

TALLINNA TEHNIKAÜLIKOOL Infotehnoloogia teaduskond Automaatikainstituut Automaatjuhtimise ja süsteemianalüüsi õppetool Daniel Tuulik 111618 IASM Praktikumide aruanne Aines ISS0022 Automaatjuhtimissüsteemide jätkukursus Juhendaja: Eduard Petlenkov Dotsent Tallinn 2012 Praktikum 1_1: Etalonmudeliga adaptiivsüsteemid...............................................2 Praktikum 1_2: Identifitseerimisega adaptiivsüsteemid ........................................2 Praktikum 2: Palli juhtimine rennil........................................................................3 Praktikum 3: Närvivõrkude õpetamine..................................................................3 Praktikum 4: Mittelineaarsete süsteemide juhtimine tehisnärvivõrkudega ...........4 Praktikum 5: Model Reference c

Automaatjuhtimisüsteemide jätkukursus (iss0022)
Süsteemiteooria 4-nda KT vastused
9
pdf

Süsteemiteooria 4-nda KT vastused

jaoks mitteeksisteerivaiks. Sageli diskreetsed ajahetked erinevad võrdse ajaintervalli võrra, mida tavaliselt nimetatakse taktiks (taktikestuseks) ning ajahetki taktihetkedeks. Diskreetaja süsteemi käitumine on määratud diskreetsetel, isoleeritud ajahetkedel, milliseid võib olla lõpmatu, kuid loenduv hulk. 2. Dünaamiliste süsteemide modelleerimine. Milliseid mudeleid kasutatakse lineaarsete statsionaarsete pidevaja süsteemide kirjeldamisel? Algolekud - nullised ja mittenullised. Avage nende sisu. Millistel tingimustel ja eeldustel on pidevaja süsteem esitatav ekvivalentse diskreetaja süsteemina? Avage probleemi olemus ja tähtsus süsteemiteooria seisukohalt. 1. Dünaamiliste süsteemide modelleerimine: dünaamiline süsteem: Enamus süsteeme on dünaamilised, see on süsteem, milles esinevad ajaliselt muutuvad protsessid(siirdeprotsessid), s.t. aeg on üheks süsteemi mudeli muutujaks. See mudel seob muutujate väärtusi erinevatel ajahetkedel või muutujate tuletisi

Süsteemiteooria
Eksamiülesande lahenduse aruanne
16
pdf

Eksamiülesande lahenduse aruanne

TALLINNA TEHNIKAÜLIKOOL Infotehnoloogia teaduskond Automaatikainstituut Automaatjuhtimise ja süsteemianalüüsi õppetool Daniel Tuulik 111618 IASM Eksamiülesande lahenduse aruanne Aines ISS0022 Automaatjuhtimissüsteemide jätkukursus Juhendaja: Eduard Petlenkov Dotsent Tallinn 2011 Ülesanne 1........................................................................................................................... 3 Ülesande püstitus ............................................................................................................ 3 Lahenduskäik .................................................................................................................. 3 Sisend- ja väljund katseandmete tekitamine ............................................................... 3 Närvivõrgu treenim

Automaatjuhtimisüsteemide jätkukursus (iss0022)
Hägusad süsteemid
37
pdf

Hägusad süsteemid

0.4 0.2 0 0 20 40 60 80 100 Numbrilised väärtused x (iga) Numbriline muutuja Joonis 3. Muutuja hägus tükeldus. Teised tükelduse omadused on empiirilisemalt määratletud. Reeglina on soovitatav, et hägusad hulgad, mis tükelduse moodustavad on kumerad, normaalsed, "piisavalt" eristuvad ja et nende arv on suhteliselt väike (maksimaalselt 7-10 [2]). Hägusa tükelduse semantiline adekvaatsus.ripub ära jooksva ülesande kontekstist ja kujutab endast lingvistiliste märgendite ja neile vastavate liikmesfunktsioonide kooskõla. Siinkohal on oluline märkida, et mitte alati ei kasutata ära hägusloogikasüsteemide semantilisi tõlgendusvõimalusi (s.o. lingvistilised märgendid võivad kanda minimaalset infot väljendavaid

Süsteemiteooria




Meedia

Kommentaarid (1)

repsmar profiilipilt
Rein Siimar: Pakub huvi psühholoogia vaatekohalt.
15:28 05-07-2012



Sellel veebilehel kasutatakse küpsiseid. Kasutamist jätkates nõustute küpsiste ja veebilehe üldtingimustega Nõustun