96 6. Hopfeldn verkot 6.. Johdanto John Hopfeld ett 980-luvun alkupuolella nyttemmn nmeään kantavan verkkomalln analyyeneen. Snä ol ekä yhtymäkohta perceptronn että uua deota. Hän kehtt energafunktoden käyttöä a tarkatel verkkoa muden fykaalten kätteden valoa. Hopfeldn neuroverkon olmut on yhdtetty kakkn muhn olmuhn t. verkko on täyn yhdtetty. Verkko on etetty kuvaa 6.. a heman ton kuvaa 6.. Kuva 6.. Hopfeldn verkko. Kuva 6.. Hopfeldn verkon vahtoehtonen etymuoto. 97 Hopfeldn verkko on ymmetret panotettu llä panoarvot ovat amat molempn uuntn okaen olmuparn välllä. Ykkerroken perceptronn kaltaet okaella olmulla on kynnyarvo a akelfunkto ekä olmu lakee yöttedenä panotetun umman vähennettynä kynnyarvolla välttäen tämän arvon akelfunkton kautta tulokek. Verkko käyttää anoataan kakarvoa tloa oko bnäärä 0 a ta bpolaara a +. Jälkmmäet uovat hvenen edellä yknkertaemman matemaatten perutan oten euraavaa käytetään bpolaara. Kuven 6.. a 6.. noalla on elvää että verkoa e ole mtään erllä yöte- ta tuloyhteykä. Jokanen olmu on nätä molempa. Tämä on Hopfeldn verkon pääomnauu a eroavuu aemmn etettyhn verkkohn nähden. Jokaeen olmuun yötetään tetoa alkuarvoen a + oukko amalla hetkellä. Neuroverkko ätetään tten proeomaan eteenpän tloen euratea toaan kunne e uppenee tabln ratkauun. Tää tlaa olmuen arvot evät enää muutu. Kun verkko on aavuttanut tabln vakaan tlan olmuen arvot ovat verkon tulo. Tämä ohtuu tä että okaen olmun ollea yhdtetty kakkn muhn olmun arvo vakuttaa kakken nden arvohn. Alkutla edutaa mona erlaa arvoa otka pyrkvät vakuttamaan tona. Tämä on todennäköet epätabl koka okn arvo vo yrttää kääntää toa päälle kun taa okn muu vo yrttää kääntää ntä po päältä. Neuroverkon rtyeä tlota ton e yrttää aavuttaa kompromn kakken arvoena välllä a lopullnen vakaa tla edutaa parata kompromratkaua onka verkko kykenee löytämään. Tää tlaa on yhtä monta yötettä otka yrttävät kääntää ykkön päälle kun ellaa otka yrttävät kääntää tä po päältä. Täten yteem ää tabln tlaana.
98 Neuroverkon tomnta on radkaalt erlanen perceptronn verrattuna oa yöttetä ovelletaan a verkko tuottaa ratkaua edutavan tuloken. Hopfeldn verkoa tämä enmmänen tulo otetaan uudek yötteek oka tuottaa uuden tuloken ne. Ratkau aadaan kun akoen tuloten välllä e ole enää muutoka. Onko oppmproeduur erlanen perceptronn verrattuna? Onko melekätä tapaa tallettaa hahmooukko Hopfeldn verkkoon? Jo nän on nn mkä e on a mk e tom? Jatkoa pyrtään vataamaan nähn kyymykn. 6.. Hopfeldn mall Hopfeldn neuroverkon tomnnan määrttelevä algortm on euraava. Hopfeldn verkon algortm. Määrää yhteyken panoarvot. w = M = 0 x x 0 = a = 0... N Tää w on olmuen a välen yhteyden panoarvo ekä x on luokan emerkkhahmon komponentt ollen oko ta +. Kakkaan on M hahmoa. Ykkköen kynnyarvot ovat nolla.. Aluta tuntemattomalla hahmolla µ (0) = = 0... N x oa µ(t) on olmun tulo hetkellä t. 99 3. Itero kunne uppenee. µ ( N t + ) = f h ( w µ = 0 ( t )) = 0... N Funkto fh on vomakkaat raottava epälneaar kynnyfunkto akelfunkto kuvan 3.3. mukaet. Iteronta totetaan kunne olmuen tuloket evät enää muutu. Neuronen välet panoarvot aetetaan käyttäen algortma annettua kaavaa a kunkn luokan emerkkhahmoa. Tämä on algortmn opetuvahe oka lttää hahmon teenä. Tunntuvaheea verkon tulo ovtetaan tuntemattoman hahmon kana. Verkon annetaan tten teroda vapaat kunne e aavuttaa tabln tlan ollon tulo e enää muutu. Verkko uppenee ratkauun. Hahmoen autoaoaato merktee että väärtyneen yötehahmon ety ohtaa okeellen hahmon uudelleentuottamen tulokek. Hopfeldn verkon tomnta vodaan tvtää euraavat. Aluta verkko. Syötä tuntematon hahmo. Itero kunne uppenee. 6.3. Energapnta Hopfeldn verkko on parhaten ymmärrettävä energapntoen avulla. Perceptronn tapaukea e anto vuaalen analogan oka muodot ntutven kuvan proeta. Hopfeldn verkon tapaukea energapnnalla on kuoppa ta yväntetä otka vataavat verkkoon talletettua hahmoa. Tuntematon yötehahmo edutaa energapnnan määrättyä ptettä. Kun verkko tero tetään koht ratkaua pte rtyy pnnalla koht otakn yvännettä.
00 Vetovomayvänteet vataavat verkon tablea tloa. Ratkau aavutetaan kun pte rtyy yvänteen almpaan alueeeen. Kakk lähalueet ovat eltä katoen ylämäkeen oten proe ää nne. Tämä on uoraan analognen fykaalelle kolmdmenoelle tlanteelle oa epätaaelle pnnalle aetettu pallo pyör koht lähntä yvännettä aettuen tabln tlaan. Tämä e muutu pallon aavutettua pohan. Perceptronn energafunkto ol muotoa E = ( t p o ) oa p ol hahmo a a verkon olmua. Tämä rppu verkon ekä halututa että aaduta tuloketa. Hopfeldn verkon tapaukea tarvttavat välvaheet evät ole tunnettua a k tää verkkoarkktehtuura tarvtaan otakn edelltä opvampaa. On lt melekätä älyttää perceptronn otakn prtetä energafunktoa. Sen tulee olla uur uurlle vrhelle a pen penlle vrhelle. Verkon panoarvoen täytyy vakuttaa energaan amon kun etettyen hahmoenkn ota vaatmuka energafunkton on heatettava. Sopva energafunkto Hopfeldn verkkoa varten on muotoa (6.) E = w x x + x T oa w on olmuen a välnen panoarvo a x on olmun tulo. T on olmun kynnyarvo. Kun tulo yötetään takan verkkoon tuloket edutavat euraavaa yöteoukkoa. Nän ekä panoarvot että yötteet on ekplttet etetty. Panoarvot ältävät hahmonformaatota a kakk hahmot on ällytetty tähän energafunktoon. Solmua e ole uoraan yhdtetty teenä ollon termt w ovat nolla. Koka yhteydet ovat ymmeträ on w=w. 0 Kun on määrtelty vrhefunkto vodaan vatata kyymykn hahmoen tallettameta a mutta palauttameta. Jo hahmot aadaan energapnnan mataln kohtn vodaan oveltaa lakeutuvaa gradentta energapnnalla onkn tällaen mnmn löytämek mkä antaa ratkaun. 6.3..Hahmoen talletu Hahmon tallettamta varten tämän energafunkton arvoa ptää mnmoda otta e aettuu energapnnan mnmkohtaan. Aemmn talletetut halutaan luonnollet myö älyttää oma yvänteään oten uuen hahmoen läämnen e aa tuhota kakkea aempaa nformaatota. Panoarvomatr ältää nformaatota talletetuta hahmota. Halutaan nän ollen löytää panoarvoen ety oka tuottaa mnmn energafunktoon. Mnmodaan energafunktota E = w x x + x T määrätylle hahmolle olla on yötekomponentten oukko x0 x xn-. Jokaen termn on oltava negatvnen oten umman x T on oltava negatvnen. Tämä aadaan akaan määrätylle hahmolle aettamalla T vatakkamerkkek kun x. Er hahmolla on kutenkn er arvoa x a llon kynnyterm vo myö kavattaa vrhefunkton E arvoa. Tämän välttämek on parata aettaa kynny nollak oka e vähennä ekä kavata energafunkton arvoa mllekään hahmota.
0 Krotetaan x tarkottamaan yötehahmon komponentta arvoltaan oko + ta. Tällön w on olmuen a välnen panoarvo enteen tapaan a ältää hahmonformaatota kakta opetetuta hahmota. Panoarvomatr vodaan akaa nän ollen kahteen oaan. Tonen ettää kakken hahmoen vakututa pat hahmon ohon vtataan panolla w a tonen on pelkätään hahmon ouu ohon vtataan panolla w. Energafunkto vodaan nyt krottaa uudelleen kahteen oaan el E = w x x (6.) w x x = E p S + E mä S on kakken hahmoen p oukko. Energafunkton ouudet erotettn nän hahmon uhteen. Vodaaan aatella energaa gnaalna lättynä kohnalla. Sgnaal on tää hahmon aheuttama energa kun taa kohna ohtuu kakken muden hahmoen vakutuketa. Yo. hahmon tallettamnen vataa energafunkton tekemtä mahdollmman penek. Kaavan (6.) enmmänen term vataa kohnaa ekä tä voda uurkaan muuttaa. Toen termn gnaaln vakututa vodaan vähentää. Nän ollen hahmon tallettamek mnmodaan :nnen energatermn vakututa energafunktoon tekemällä arvo (6.3) mahdollmman penek. x x E = w 03 Eo. vataa arvon w x x tekemtä mahdollmman uurek kaavan (6.3.) negatven etumerkn taka. Komponentt x ovat arvoltaan oko + ta. Sllon x on ana potvnen. Jo energaterm aetetaan rppuvak tulota x x e on ana potvnen a umma aadaan nn uurek kun mahdollta. Em. aadaan aettamalla x x = x x w a huomaamalla että haluttu tulo tulee merkttäeä panoarvot euraavan yhtälön mukaan. w = x x Nyt haluttu tulo on käytettävä. Edellnen panoarvoen yhtäuurk merktemnen mnmo energafunktota hahmolle. Kakken hahmoen panoarvoen lakemta varten laketaan yhteen tämä yhtälö kakken hahmoen yl. Saadaan laue olmuen vällle aetetulle kokonapanoarvolle: = w = x x w Verrattaea tätä algortmn enmmäeen akeleeeen nähdään että ne ovat denttä. Nyt ymmärretään enmmäen akeleen todella tallettavan kakk alkuhahmot neuroverkkoon.
04 Panoarvon w muuttamnen muuttaa arvoa Ep S- onkn verran kaavan (6.3) mukaan. Täten hahmoen läämnen haottaa oan määrn aempaa talletuta mutta tätä e vo välttää. Hopfeldn verkolla e ole teään mtään teratvta oppmalgortma. Hahmot talletetaan yknkertaet lakemalla nden energaa. Verkolla e ole ploykkötä ollen ten kykenemätön koodaamaan dataa. 6.3.. Mutta palauttamnen Kun hahmot on talletettu verkkoon ptää ne aada palautettua eltä tarvttaea. Tämä uortetaan lakeutuvalla gradentlla energafunkton uhteen. Kätellään kaavan (6.) energafunktota. On lakettava määrätyn olmun arvon vakutu energafunktoon. Stten käydään verkko läp vähentäen okaen olmun vakututa kunne energa-arvo on mnmään. Energafunkto on lmatava kahdea oaa akamalla olmun k vakutu euraavat. E = w k k x x + x T k (6.4) x + k x w k x k x w k x k T k Nyt k: neuron vahtaa tulotlana arvota xk arvoon xk. Energaerotu E = E E onka tlan vahto x = x k k x k 05 aheuttaa aadaan kehttämällä yhtälö (6.4) arvolle xk a xk ekä tten vähentämällä. Erotu vodaan krottaa euraavat. (6.5) E = ( x ) k x w k + x k x w k + x k T k Neuronn k muuto e vakuta kaavan (6.4) enmmäeen kahteen termn oten ne äävät ennalleen a tämän taka eventyvät po. Matrn w ollea ymmetrnen vodaan ndekeä vahtaa a eventää laueke euraavaan muotoon. (6.6) E = x k ( x w k T k ) Lauekkeen ummaterm on yötteden olmuun k umma a Tk on ykkön k kynnyarvo. Kunkn olmun kynnyarvo aetettn nollak talletuvaheea otta taattan hahmoen muodotavan mnmeä energafunktoon. Kun olmun tulo on oko + ta arvon Ek penentämnen merktee tuloken + tuottamta mkäl panotettu umma on uuremp kun nolla a tuottamta mkäl tämä on penemp kun nolla. Molemmat penentävät arvoa Ek. Verrattaea tätä Hopfeldn verkon olmuen pävtyfunktoon > 0 x + w x = = 0 tla pyyy k < 0 x entellään nähdään että pävtyfunkto uorttaa tämän operaaton a toteuttaa ten lakeutuvaa gradentta E:ä. Tämä mahdolltaa hahmoen palauttamen verkota käytäeä peräkkän läp tloa olla kullakn on matalamp energa kun edeltäällä ta o panotettu umma on yhtä uur kun kynnyarvo yhtä uur energa. Tämä lentymnen el relakaato enttä matalampaan
06 energatlaan atkuu matalan energan vakaaeen tlaan at ollon verkko on löytänyt tenä mnmn a tuottanut hahmon. Pävty vodaan tehdä kahdella heman totaan pokkeavalla tavalla. Pävty on tehtävä kaklle olmulle amanakaet mä verkon arvot äädytetään välakaet a tten laketaan kaklle olmulle euraava tla. Uu tla vataa yhtä pävtytä pokk koko verkon. Tämä operaato on ynkronnen pävty. Vahtoehtonen menettely aynkronnen pävty on kyymykeä kun olmu valtaan atunnaet a pävtetään en tulo yöttedenä mukaan. Proea totetaan. Pääero menetelmen välllä on että aynkronen pävtyken tapaukea ykttäen olmun tuloken muuto vakuttaa yteemn tlaan a vo k vakuttaa euraavan olmun muutokeen. Nän ollen olmuen pävtyärety vakuttaa oan määrn verkon käyttäytymeen. Vakutuket ovat lmeä palauttamvaheea llä euraavan pävtettävän olmun valnnan atunnauu muuttaa hahmoonoa onka verkko kehttää. Sykronea pävtykeä kakk olmut pävtetään yhdeä oten vältlanteden hahmot evät muutu. Aynkronnen pävty lää heman epävarmuutta ta epädetermnmä kulettavaan polkuun yötteetä lopulleen vakaaeen tlaan. Molemmlla menetelmllä on lt ama ylenen luonne a e kumpaa käytetään on harvon ertyen tärkeä ekka. Tärkeä Hopfeldn verkon tomnnalle on verkon panoarvomatrn ymmetryy nolla-alkoen halkaan uhteen. Jopa vähänen pokkeama tätä ymmetrata vo tehdä verkota epätabln ollon verkko e aetu mhnkään vakaaeen lopputlaan. Malla on ttemmn laaennettu tutkmalla erlaten yhteyken käyttöä a taaten kynnyfunktoden kuten gmodfunkto käyttöä akelfunkton ata. 07 6.3.3. Emerkk Kuva 6.3. ettää hahmoen oukkoa ota käytettn erään Hopfeldn verkon opetukea. Kuva 6.4. oottaa mten verkko tom. Kuva 6.3. Hopfeldn verkon opetuoukko. Kuva 6.4. Verkolle annetaan väärtynyt yötehahmo. Hahmoono ettää mten verkko kulkee peräkkäten tloen kautta kunne tabl tulo on aatu kehtettyä.