Hopfeldova seť Predáška Neuróové sete 2. 2. 2007 Presvtka
Neural Networks - A Systematc Itroducto a book by Raul Rojas Foreword by Jerome Feldma Sprger-Verlag, Berl, New-York, 996 (502 p.,350 llustratos). http://page.m.fu-berl.de/rojas Presvtka 2
Joh J. Hopfeld, Prceto Uversty Presvtka 3
. Špecfkáca euróovej sete Nech euróová seť má bárych euróov, Jej stav je popísaý stavovým vektorom x = x,x,...,x, Nech ( x ),x 2,...,x ( t) ( t) ( t) ( t) ( ) { } 2 0 x = je stavový vektor euróovej sete, ktorý popseje aktvty jedotlvých euróov v čase t. Neuróová seť je popísaá obovovacou fukcou f :{ 0,} { 0,} ( t+) ktorá určuje stavový vektor x pomocou stavového vektora ( t) z predchádzajúceho okamžku x ( t+ ) ( t) x = f x ( ) Presvtka 4
K úplej špecfkác tejto fukc musíme mať zadaý aj počatočý stavový ( ) vektor x. Ilustračý príklad A x5 = f ( x ) x5 = f ( x 2) x6 = f ( x 3) x7 = f ( x 4) x6 = f ( x 5) x0 = f ( x 6 ) x = f ( x ) x = f ( x ) x = f ( x ) x = f ( x ) x = f ( x ) x = f ( x ) 6 7 4 8 5 9 9 0 2 8 2 Presvtka 5
Cyklus: x5 x6 x0 x9 Ilustračý príklad B x5 = f ( x ) x5 = f ( x 2) x6 = f ( x 3) x7 = f ( x 4) x6 = f ( x 5) x0 = f ( x 6 ) x = f ( x ) x = f ( x ) x = f ( x ) x = f ( x ) x = f ( x ) x = f ( x ) 6 7 4 8 9 9 9 0 2 8 2 Presvtka 6
Systém je asymptotcky stablý, každá trajektóra kočí v stave x 9. Ilustračý príklad C x5 = f ( x ) x5 = f ( x 2) x6 = f ( x 3) x7 = f ( x 4) x6 = f ( x 5) x0 = f ( x 6 ) x = f ( x ) x = f ( x ) x = f ( x ) x = f ( x ) x = f ( x ) x = f ( x ) 7 7 4 8 9 9 9 0 2 8 2 Systém je asymptotcky stablý, každá trajektóra buď kočí v x 7 alebo v stave x 9. Presvtka 7
{ } { } { } S = x,x 2,...,x2 = x,x 2,x 3,x 5,x 6,x 9,x0 x 4,x 7,x 8,x,x2 stablý stav x stablý stav x 9 7 Veta. Každá trajektóra kočí buď v lmtom cykle alebo v asymptotcky stablom stave Špecály typ euróovej sete (podľa McCullocha a Pttsa, 943) kde x = t w x +ϑ j j j t ( ) ( ξ ) ( ξ < ) 0 ξ = 0 0 Asychróa obova aktvty: v čase t sa áhode vybere jede euró, ktorého aktvta sa oboví Presvtka 8
( t+ ) ( t) x = t wjxj +ϑ j Špecály prípad euróovej sete podľa McCullocha a Ptsa, ktorá má ulové dagoále váhové koefcety, edagoále elemety sú symetrcké, aktvty euróov sa obovujú asychróe, sa azýva Hopfeldova (euróová) seť. Veta. Hopfeldova euróová seť má le asymptotcky stablé stavy. Dôkaz vety sa vykoá pomocou Ljapuovej fukce L( x ) = xw x + xϑ 2,j j j = Presvtka 9
Ilustračý príklad Hopfeldovej sete 0 = 0 2 2 0 W, ϑ = ( 05055.,.,. ) Presvtka 0
( x ) = ( + 2 ) + ( 05 + 05 + 5 ) E x x x x x x. x. x. x 2 3 2 3 2 3 stav.vektor E(x) x (0,0,0) 0 x 2 (0,0,).5 x 3 (0,,0) 0.5 x 4 (0,,) 0 x 5 (,0,0) -0.5 x 6 (,0,) 2.0 x 7 (,,0) -.0 x 8 (,,) -0.5 0.0 Dôkaz vety Vlastost: Spojeé oretovaou čarou sú le také dva stavy, medz ktorým je jedotková Hammgova vzdaleosť..5 2.0 (0,,) (0,0,) -0.5 (,0,) 0.5 (,,) (0,,0) (0,0,0) -.0 (,0,0) (,,0) Presvtka
Stavy môžeme charakterzovať a vstupé (zeleé), výstupé (červeé) a prechodé (žlté). Ilustračý príklad 2 Hopfeldovej sete ϑ 2 =0.5 2 w 2 = w 23 = w 3 =- 3 ϑ =0.5 ϑ 3 =0.5 0 = 0 0 W, ϑ = ( 050505.,.,. ) Presvtka 2
( x ) = ( + ) + ( 05 + 05 + 05 ) E xx xx xx. x. x. x 2 3 2 3 2 3 stav.vektor E(x) x (0,0,0) 0 x 2 (0,0,) 0.5 x 3 (0,,0) 0.5 x 4 (0,,) 0 x 5 (,0,0) 0.5 0.5 x 6 (,0,) 2.0 x 7 (,,0) 0 x 8 (,,) 0.5 0.0 (0,0,) (0,,) 2.0 (,0,0) (,0,) (0,0,0) (0,,0) (,,0) (,,) Presvtka 3
Dôkaz vety Nech stav x vzke zo stavu x zmeou aktvty euróu x = ( x,x 2,...,x,...,x) x = x,x,...,x = x,...,x ( ) 2 Pre rozdel Ljapuových fukcí L( x) L ( ) x platí L( x ) = x w x + x ϑ = x w x x w x + x ϑ + xϑ 2 2 L( x ) = xkwklxl xkwkx + xkϑ k + x ϑ 2 k kl l k k k kl l k k k k k,l k= k,l k k k,l k k Po jedoduchých úpravách dostaeme () ( ) ( ) ( ) ( ) () () L x L x = x x w x ϑ = 2x w x ϑ = 2x e k k () t e ( ) () t t t t k k k k Presvtka 4
Budeme dskutovať jedotlvé prípade tejto formuly: () Nech ( x = 0) ( x = ), potom (( x x) > 0) ad wkxk ϑ = e > 0 k ( L( x) L( x ) > 0) L( x) > L( x ) (2) Nech ( x = ) ( x = 0), potom (( ) ) ( ) x x < 0 ad wkxk ϑ = e < 0 k ( L( x) L( x ) > 0) L( x) > L( x ) ( ) Týmto sme dokázal, že každá asychróa zmea stavového vektora vede k zžovau Ljapuovej fukce. Pretože exstuje le koečý počet stavov, seť musí dosahuť stav, v ktorom už sa Ljapuova fukca ezžuje. Presvtka 5
Asymptotcky stablé stavy Hoppfeldovej set sú určeé podmekou f ( x) = x Nech x je počatočý stav, potom exstuje sekveca stavov, ktoré koča v asymptotcky stablom stave x 2 x = f x, x = f x = f f x = f x,..., x = f x = f x ( ) ( ) ( ) ( ) ( ) ( ) ( ) 2 3 2 ( x ) ( ) ( ) x f ( x ) = 0 0 ( ) ([ x] = x ) = def x = l f ( x) { [ ]} x = x S; x = x S Symbol [ x ] sa rová fálemu stacoáremu stavu x, ktorý leží a koc trajektóre s počatočým stavom x. bazé príťažlvost stablého stavu x. Hovoríme, že dva stavy x a y sú ekvvaleté ak majú rovaké fále stablé stavy x y = x = y ( ) ( ) [ ] [ ] def Presvtka 6
x =x x 2 x 3 x= x 5 x 4 Rozklad možy stavov a bazéy príťažlvost Zázoree trajektóre, ktorá začía v stave x a kočí v stabílom stave x. Zázoree povrchu fukce eerge Hopfeldovej sete x x 2 x 3 Presvtka 7
Učee Hopfeldovej sete { } Hopfeldova seť môže fugovať ako asocatíva pamäť. Nech ( k k) k = x,...,x moža obsahujúca p obrazcov, potom x je w ( j) 0 = = p xx j j k= j k k ( ) Potom obvykle mmá eerge Hopfeldovej sete sú prradeé jedotlvým obrazcom z možy (exsteca fatómových mím) Presvtka 8
Prekryv.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0. 0.0-0. -0.2 2 3 4 5 6 7 8 9 0 Čas H Ilustráca čost Hopfeldovej autoasocatívej pamät. Seť má 00 euróov, 5 pamäťových vzorov (5 písme) a determstckú asychróu dyamku. Na vstupe je poškodeé písmeo H, ktoré seť vďaka svojej dyamke perfekte zrekoštruuje. Graf lustruje vývoj prekryvov aktuáleho stavu sete s jedotlvým pamäťovým vzorm. Písmeom H je ozačeá krvka odpovedajúca vývoju prekryvu pre písmeo H, ostaté krvky vyjadrujú vývoj prekryvu s ostatým vzorm. Presvtka 9
Boltzmaov stroj Boltzmaov stroj je špecály prípad Hopfeldovej set s asychróym obovovaím aktvít. Stav -teho euróu je určeý podľa pravdla x ( t ) s pravdepodobosťou p = 0 s pravdepodobosťou + p kde pravdeopobosť p je p = + exp () t wx j j j ϑ = T T je kladý parameter azývaý teplota. Presvtka 20
Asychróe obovovae aktvít () t:=0 (2) whle t t max do (3) beg : = + radom( ) {dex je áhode geerovaý} (4) p : = () t wx j j j ϑ = exp + T ( () t w ) ( ) jx j ϑ 0 radom < p j= ( t+ ) () (5) : 0 ( t x 0) = w ( ) j jx j ϑ < radom < p = () t x (6) t := t+ (7) ed Presvtka 2
Nech = ( α, α,..., α ) {, }. príklad hľadae báreho vektora α je báry vektor, ktorého tvar bude zakódovaý v Hopfeldovej set, ašou úlohou bude ájsť teto báry vektor 2 0 Pozámka: Najzložtejša verza tejto úlohy ja taká, že vektor α je zámy le orákulu, ktorému môžeme poselať dotazy, č daý báry vektor x je totožý s α, dostávame le odpoveď áo/e. Takto formulovaá úloha je erešteľá aj pre evolučé algortmy. Defujme Ljapuovovú fukcu takto 2 2 L( x ) = x p + ( x α) = = ktorú po jedoduchých úpravách prepíšeme do tvaru L( x ) = wjxx j + ϑx 2 j kde w j = 2 a ϑ= 2 ( p α ), parameter p = α špecfkuje počet v α. Presvtka 22
2. príklad rešee úlohy obchodého cestujúceho (TSP) Nech G je úplý eoretovaý graf obsahujúc vrcholov, prčom pre každú dvojcu vrcholov v a v j pozáme vzdaleosť d j medz m. Úloha obchodého cestujúceho spočíva v tom, že hľadáme uzavretú hamltoovskú cestu a grafe G, ktorá má mmálu vzdaleosť. Nech P = ( p, p 2,..., p ) je permutáca objektov, ktorá ám špecfkuje uzavretú hamltoovskú cestu a grafe p p... p p 2 Túto schému môžeme terpretovať tak, že cesta je zahájeá vo vrchole meste p, z ktorého de do p 2, potom pokračuje do p 3, atď., z posledého mesta p sa vraca do východskového p. Dĺžka tejto cesty P je ( ) p,p2 p 2,p3 p,p p,p p k,pk+ F P = d + d +... + d + d = d k= Presvtka 23
Úloha TSP spočíva v tom, že hľadáme optmálu cestu permutácu P, ktorá mmalzuje dĺžku cesty P opt = P S ( ) arg m F P K tomu, aby sme preformuloval úlohu TSP pre Hopfeldovu seť, permutáca P bude reprezetovaá permutačou bárou matcou P = (P j ), ktorá v každom stĺpc a v každom radku obsahuje práve jede elemet. Túto podmeku vyjadríme pomocou účelovej fukce 2 2 G( P ) = pj + pj j j Podobým spôsobom môžeme prepísať aj fukcu vzdaleost F(P) pre permutačú matcu F( P ) = d p p + d p p = d p p j,k j,k + j,, j,k j,k +,j= k=,j,k= Presvtka 24
Ljapuovova fukca má potom tvar ( P) = ( P) +γ ( P ) L F G ktorá po jedoduchých úpravách môže byť prepísaá do tvaru L( P ) = ( 2dj p,k pj,k + ) + 2 jk γ pp j j 2 pj + pp j j 2 pj + jj j j j Radky a stĺpce permutačej matce sú ortogoále, čo vede k zjedodušeu Ljapuovovej fukce L( P ) = ( wj p,k p j,k + ) 2 jk kde sme zaedbal koštaté čley. Presvtka 25
Hopfeldova seť pre rešee TSP s = 4 Presvtka 26
Hopfeldova seť a výroková logka Špecfkáca pealzačej výrokovej logky Ω= { p,q,...,u} je moža (atomckých) výrokových premeých, Ω = p. Φ= ( ϕ, p ); = 2,,...,a teóra zostrojeá ad Ω, obsahuje dvojce ( ϕ,p ) { } ϕ je výroková formula ad Ω a p je kladá pealzačá koštata., kde I = { τ, τ,..., τ } je moža terpretácí formúl z teóre Φ, terptáca τ {, } 2 b 0 p špecfkuje pravdvosté hodoty výrokových premeých z možy Ω; ech τ = τ,..., τ,..., τ, potom pravdvostá hodota -tej premeej z Ω je určeá ( p) velčou τ { 0},. Sumára pealzáca formúl z teóre Φ pre daú terpretácu τ I má tvar a ( τ ) ( τ ) = ( ϕ ) E val p = Presvtka 27
Iterpretáca logckých spojok výrokovej logky p q= p q p q= p+ q p q p q= p+ p q ( ) ( ) ( 3 ) p q= p q q p = p q+ p q p q+ pq Presvtka 28
Pozámka { } V prípade, že moža I = { τ, τ2,..., τ b} tvorí model teóre (,p) sumára pealzáca E ( τ ), pre každé τ I Φ= ϕ, potom, je ulová. V pealzačej výrokovej logke sa môže predpokladaž, že teóra e je kozstetá, prípade ekozstetost sú pealzovaé. Optmála terpretáca pre ekozstetú teóru je špecfkovaá ako rešee mmalzačého problému τ opt = arg m E ( τ ) Teto optmalzačý problém sa bude rešť pomocou Hopfeldovej euróovej sete kombovaej so smulovaým žíhaím (Boltzmaovým strojom) τ Presvtka 29
Príklad Teóra Φ je defovaá takto: # ϕ p m 2 s m 2 3 c s 4 4 c m 4 5 v m 4 Moža Ω obsahuje 4 výrokové premeé, { m,s,c,v }, potom terpretáca τ obsahuje 4 kompoety, ktoré špecfkujú pravdvosté hodoty premeých z možy Ω, τ = ( m τ,s τ,c τ,v τ ) {, } 4. 2 3 4 0 Presvtka 30
Fukca eerge má tvar ( τ) = τ( ) + 2 τ( ) + 4 τ( ) + 4 τ( ) + 4 τ( ) = ( τ ) + 2τ τ + 4τ ( τ ) + 4τ ( τ ) + 4τ τ E val m val s m val c s val c m val v m = 2 3 2 3 4 τ + 8τ 3+ 2ττ2 4ττ 3+ 4ττ4 4τ2τ3 8-4 τ 3 τ 2 0-4 2-0 4 τ τ 4 Presvtka 3
Stavový dagram Hopfeldovej sete rešea problému pealzačej logky 8 000 00 7 0 5 0 4 00 0 3 00 00 00 0 0 0000 000 000 00-000 Presvtka 32
The Ed Umestee bakomatu Nepretržte otvoreé 23 hodí Presvtka 33