Tehisnärvivõrgud ja nende rakendused 1
Bioloogiline neuron ja bioloogilised närvivõrgud 2
Tehisneuron tehisneuroni sisendite vektor: X = x M 1 x n tehis neuroni kaalukoefitsientide vektor: W = [ w K ] 1 w n kaalutud summaator mittelineaarne element summatori funktsioon: x1 NET = W X = K+ x n [ w1k wn] M = w1 x1 + wn xn 3
Aktiverimisfunktsioonid (1) OUT=f(NET) Sigmoid funktsioonid on ülemise ja alumise raja (0 ja 1 või -1 ja 1) vahel monotoonselt kasvavad pidevad funktsioonid. 1 Logistiline funktsioon 2 Hüperboolne tangens OUT 1 = 1 + e NET OUT = e e NET NET + e e NET NET 4
Aktiverimisfunktsioonid (2). 3 Lineaarne funktsioon OUT = k NET k = tan(α ) = const 4 Astmefunktsioon 0, kui NET < θ OUT = 1, kui NET θ 1, OUT = 1, kui NET < θ kui NET θ 5 Gaussi funktsioon OUT = ( NET m) 1 2 2σ e 2πσ 5
Aktiverimisfunktsiooni valik Ü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 6
Tehisnärvivõrgud (1) Tehisnärvivõrk on bioloogiliste närvivõrkude mudelite kogum. 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 ajukoorest. 7
Tehisnärvivõrgud (2) Tehisnärvivõrgud Otsesuunatud rekurentsed (tagasisidega) hetero-assotsiatiivsed auto-assotsiatiivsed 8
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. N I N O N H - sisendkiht - väljundkiht - peidetud kihid igaüks igaühega wijl i j l - kaalukoefitsiendid, kus - on neuroni sisendi number - neuroni järjekorra number - kihi number 9
Kahekihilise pertseptroni matemaatiline funktsioon x1 y1 w111 L wn 11 X = M ; Y = M ; W1 = M O M ; x n y m w 1k1 L wnk1 Θ 1 θ11 w112 L wk12 = M ; W2 = M O M ; θ k 1 w 1m2 L wkm2 Θ 2 θ = M 12 θ m 2 ; F 1 F 2 - peidetud kihi neuronite aktiveerimisfunktsioon; - väljund kihi neuronite aktiveerimisfunktsioon. Y = F2 ( W2 ( F1 ( W1 X Θ1)) Θ 2 ) 144 2443 esimese kihi väljund 144444 2444443 närvivõrgu väljund 10
Peidetud kihi neuronite arvu valik (1) 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 11
Peidetud kihi neuronite arvu valik (1) 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. 12
Peidetud kihi neuronite arvu valik (2) 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, 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. 13
14 Rekurentsed närvivõrgud (1) Rekurentseks ehk tagasisidestatuks nimetatakse närvivõrku, milles signaalid levivad nii sisendist väljundi poole, kui ka vastassuunas. )) (, 1), ( ), (, ), ( ( ) ) ) ( 1) ( ) ( ) ( ( ( ( ) ( 2 1 1 1 2 2 n t y t y m t u t u f n t y t y m t u t u W F W F t y nn = = +Θ +Θ = K K M M
Rekurentsed närvivõrgud (2) Elman i võrk Rekurentseks nimetatakse peidetud kihti, millel iga neuroni väljundid on seotud kõikide selle kihi neuronite sisenditega. W r w = M wr 11 1 L O L w w 1r M rr kus r on rekurentse kihi neuronite arv; Y ( t) = f X ( t) = Y nn h ( U ( t), X ( t), W, B) ( t 1) 15
Närvivõrkude õpetamine Närvivõrgu sobivate parameetrite (konkreetse ülesande jaoks) valiku protsessi nimetatakse närvivõrgu õpetamiseks (või treenimiseks). Stone-Weierstrassi teoreem: Kahekihiline pertseptron sobiva neuronite arvuga peidetud kihil on võimeline aproksimeerima suvalist pidevat funktsiooni. Sontag i teoreem Kahekihiline rekurentne närvivõrk sobiva neuronite arvuga peidetud kihil on võimeline aproksimeerima suvalist funktsiooni, millel on lõplik arv katkevuspunkte. 16
Õpetamine (Supervised learning) Õpetamiseks nimetatakse meetodit, mis baseerub teadaolevatel sisend- ja väljundvektori väärtuste kogumil. Y p NN ( X ) = Y Y p 0 X on sisendväärtuste vektor; ) Yp on nendele sisendväärtustele vastavate etalonväljundväärtuste vektor Y on närvivõrgu väljundite vektor, mis vastab sisendile X NN on närvivõrgu funktsioon (Y=NN(X)) 17
Iseorganiseeruvad närvivõrgud Iseorganiseeruvaks nimetatakse närvivõrku, mis on võimeline häälestama oma kaalukoefitsiente lähtudes ainult sisendvektori väärtustest. d N = i= 1 2 j ( xi Wij ( t)), j = 1, K, M Kohonen i võrk 18
Iseõppimine (Unsupervised learning) Iseõppiv närvivõrk on võimeline häälestama oma kaalukoefitsiente lähtudes ainult sisendvektori väärtustest. 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. 19
Õpetamine Võrgu õpetamise protsess koosneb 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. 20
Gradient vea pöördlevi meetod (1) Veafunktsioon: J ( W, Θ) = ( k Y p Y p d 2 ) Yp X p - närvivõrgu väljundvektor Y p = NN ( X, W, Θ) p -treeninguks kasutatavad sisendvektori väärtused; NN - närvivõrgu funktsioon; d Yp - vastavad väljundvektori etalonväärtused. Õpetamise (optimeerimise) ülesanne seisneb veafunktsiooni minimiseerimisel: min J ( W, Θ) 21
22 Gradient vea pöördlevi meetod (2) ), ( 1 n x x F K = 2 1 1 ), ( x F x F x x F n K K = 2 1 1 ), ( x F x F x x F n K K ), ( Θ W J Θ = Θ J W J W J ), (
Globaalse miinimumi leidmise probleem 23
Kohonen i iseorganiseerumise algoritm (1) 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)=[x 1 (t),,x N (t)]; 3. iga neuroni j jaoks arvutatakse kaugust sisendvektori X(t) ja kaalukoefitsientide vektori W ij vahel: d j N = i= 1 ( x i W ij ( t)) 2, j = 1, K, M ; 24
Kohonen i iseorganiseerumise algoritm (2) 4. Valitakse neuronit j *, mille kaugus on minimaalne: min(d 1,d 2,,d M )=d j* ; 5. Muudetakse neuroni j * ja tema ümbruses U j* (R) asuvate neuronite kaalukoefitsiente: W ij ( t + 1) = W ( t) + λ( t)( x ( t) W ( t)), ij j U (R), i = 1, K, N; j 6. Järgmisel iteratsioonil (t=t+1) korratakse algoritmi teisest sammust uuesti. i ij 25
Närvivõrkude rakendused (1) 1. Lähendamine (Aproksimeerimine) d = g(x) 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 nn (x) g( x) g ( x) on närvivõrguga realiseeritav funktsioon. nn 26
Närvivõrkude rakendused (2) 2. Assotsiatsioon a) autoassotsiatsioon 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). b) heteroassotsiatsioon Heteroassotsiatsioon erineb autoassotsiatsioonist selles, et igale sisendvektorile on vastavusse pandud oma väljundvektor, mis võib temast erineda. 27
Närvivõrkude rakendused (3) 3. Mustrite klassifitseerimine Mustrite klassifitseerimise ü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 kasutamisel mustrite klassifitseerimiseks iga õpetamisel kasutatava sisendvektori jaoks peab olema määratud temale vastav etalonväljund, mis ütleb millele klassile kuulub käesolev sisend. Kui niisugust a priorset informatsiooni klassidele kuulumise kohta ei ole, õpetamist kasutada ei saa. Klassifitseerida mustreid tuleb siis iseõppivate närvivõrkude abil. 28
Närvivõrkude rakendused (4) 4. Ennustamine x(t) - ajas muutuv protsess x( n 1), x( n 2), K, x( n M ) on teada Ülesandeks on ennustada protsessi (funktsiooni) olekut (väärtust) käesoleval ajahetkel x. (n). Ennustamise viga: e( n) = x( n) x n n 1, K, n M ), x(n) xˆ ( n) ˆ( on funktsiooni tegelik väärtus on närvivõrguga ennustatud väärtus e( n) 0 kus 29
Närvivõrkude rakendused (5) 5. Juhtimine { u( t), y( )} Plant : t u(t) y(t) on süsteemi juhtimissisend, on temale vastav süsteemi väljund. Juhtimise ülesandeks on saavutada nõutavat süsteemi dünaamikat, mida kirjeldab etalonmudel (reference model): Reference model :{ r( t), d( t) } r(t) d(t) on seadesuurus (juhtimissüsteemi sisend) on soovitav juhitava süsteemi väljund, lim d( t) y( t) = t 0 30