A Hopfield neurális hálózat egy teljesen összefüggő neurális hálózat szimmetrikus kapcsolati mátrixszal. A működés során az ilyen hálózatok dinamikája konvergál (konvergál) valamelyik egyensúlyi helyzethez. Ezeket az egyensúlyi helyzeteket a tanulási folyamatban előre meghatározzuk, a hálózat energiájának nevezett funkcionális lokális minimumai (legegyszerűbb esetben egy negatív határozott másodfokú alakzat lokális minimumai egy n-dimenziós kockán). Egy ilyen hálózat használható automatikus asszociatív memóriaként , szűrőként és néhány optimalizálási probléma megoldására is.. Ellentétben sok olyan neurális hálózattal, amelyek addig működnek, amíg bizonyos számú ciklus után nem érkezik válasz, a Hopfield hálózatok addig működnek, amíg el nem érik az egyensúlyt, amikor is a hálózat következő állapota pontosan megegyezik az előzővel: a kezdeti állapot egy bemeneti kép, egyensúlyi állapotban pedig kimeneti képet kapunk [1] .
Változata a Hamming Neurális Hálózat .
A Hopfield neurális hálózatot úgy alakították ki, hogy a memorizált referencia „képekre” adott válaszát maguk ezek a képek alkotják, és ha a kép kissé eltorzul és a bemenetre kerül, akkor visszaáll, és az eredeti kép válasz formájában kapja meg. Így a Hopfield hálózat hiba- és zajjavítást végez.
A Hopfield hálózat egyrétegű, és mesterséges neuronokból áll . A rendszer minden neuronja két állapot egyikét veheti fel a bemeneten és a kimeneten (ami hasonló egy küszöbaktiválási funkcióval rendelkező neuron kimenetéhez ):
Bipoláris természetük miatt a Hopfield neurális hálózatokat néha spineknek is nevezik .
Mindegyik neuron kapcsolódik az összes többi neuronhoz. A hálózati neuronok kölcsönhatását a következő kifejezés írja le:
ahol az interakciós mátrix egy eleme , amely a neuronok közötti kapcsolatok súlyegyütthatóiból áll. A tanulási folyamat során egy kimeneti mátrix jön létre , amely megjegyzi a referencia "képeket" - N - dimenziós bináris vektorokat: ezek a képek a hálózat működése során kifejezik a rendszer válaszát a bemeneti jelekre, vagy egyébként - a végső értékeket. a kimenetek egy sor iteráció után.
A Hopfield hálózatban a kapcsolódási mátrix szimmetrikus ( ), és a mátrix átlós elemei nullával egyenlőek ( ), ami kiküszöböli a neuron önmagára gyakorolt hatását és szükséges a Hopfield hálózathoz, de nem elégséges feltétele a stabilitásnak a hálózati működés folyamatában. Elegendő a hálózat aszinkron üzemmódja. Az ilyen tulajdonságok szoros kapcsolatot határoznak meg a valódi fizikai anyagokkal, az úgynevezett spinüvegekkel .
A kölcsönhatások mátrixa magukon a neuronokon tárolódik súlyok formájában, amikor az idegsejtek más neuronokhoz kapcsolódnak.
Tehát például, ha a bemeneti jelet 10 paraméter határozza meg, akkor a Hopfield neurális hálózat egy 10 neuronból álló rétegből jön létre. Mindegyik neuron a többi 9 neuronhoz kapcsolódik, így 90 (10 x 9) kapcsolat van a hálózatban. Minden kapcsolathoz súlyozási tényező kerül meghatározásra . A kapcsolatok összes súlya alkotja az interakciók mátrixát, amely a tanulási folyamat során kitöltődik.
A hálózat betanítása abból áll, hogy megtaláljuk az interakciós mátrix súlyait oly módon, hogy emlékezzen a vektorokra (a rendszer „memóriáját” alkotó referenciaképekre).
Az együtthatók kiszámítása a következő szabályon alapul: minden tárolt kép esetében a kapcsolódási mátrixnak teljesítenie kell az egyenletet.
mivel ez a feltétel, hogy a hálózat állapotai stabilak - ha ilyen állapotban van, akkor a hálózat benne marad.
A memorizált vektoroknak bináris formában kell lenniük. A súlytényezők kiszámítása a következő képlet szerint történik:
ahol a vektorok dimenziója, a memorizált kimeneti vektorok száma, a memorizált kimeneti vektor száma, a memorizált kimeneti j-edik vektor i-edik komponense.
Ez a kifejezés világosabbá válhat, ha megjegyezzük, hogy a súlymátrixot úgy találhatjuk meg, hogy minden egyes memorizált vektor külső szorzatát kiszámoljuk önmagával és az így kapott mátrixokat összegezzük. Ezt így lehet írni
hol van az i-edik memorizált oszlopvektor.
Ezeknek a súlytényezőknek a kiszámítását hálózati tréningnek nevezik, amelyet csak egy korszakra hajtanak végre.
A Hopfield hálózati tanulási algoritmus jelentősen eltér az olyan klasszikus perceptron tanulási algoritmusoktól , mint a hibajavító módszer vagy a hibavisszaterjesztési módszer . A különbség abban rejlik, hogy a hibaszámítással a kívánt állapot egymás utáni közelítése helyett az összes mátrix együtthatót egyetlen képlet alapján, egy ciklusban számítják ki, ami után a hálózat azonnal üzemkész.
Egyes szerzők a Hopfield hálózatot felügyelet nélküli tanulásnak nevezik . Ez azonban nem igaz, mivel a felügyelet nélküli tanulás azt jelenti, hogy nincs információ arról, hogy az ingereket mely osztályokhoz kell hozzárendelni. A Hopfield hálózat esetében ezen információk nélkül lehetetlen a súlytényezőket beállítani, így itt csak azt mondhatjuk, hogy egy ilyen hálózat az optimalizáló hálózatok (szűrő) közé sorolható. A szűrők megkülönböztető jellemzője, hogy a súlymátrixot egy determinisztikus algoritmus egyszer s mindenkorra beállítja, majd a súlyok már nem változnak. Ez kényelmes lehet egy ilyen eszköz fizikai megvalósításához, mivel egy nagyságrenddel nehezebb egy változó súlytényezővel rendelkező eszközt áramköri szinten megvalósítani. A visszacsatolás nélküli szűrőre példa a CC4 (Cornel classification) algoritmus, amelynek szerzője S.Kak.
A Hopfield hálózatban vannak visszacsatolások, ezért a stabilitási problémát meg kell oldani. A Hopfield hálózat neuronjai közötti súlyok interakciós mátrixnak tekinthetők . Cohen és Grossberg [2] kimutatta, hogy a visszacsatoló hálózat akkor stabil, ha a mátrixa szimmetrikus, és nullák vannak a főátlón. Sok más típusú stabil rendszer létezik, mint például az összes előrecsatolt hálózat, valamint a modern Jordan és Elman rekurrens hálózatok, amelyekhez nem szükséges a szimmetria feltétele. De ez annak a ténynek köszönhető, hogy a visszajelzésekre más korlátozások vonatkoznak. Hopfield hálózat esetén a szimmetriafeltétel szükséges, de nem elégséges, abban az értelemben, hogy a hálózat működési módja is befolyásolja a stabil állapot elérését. Az alábbiakban bemutatásra kerül, hogy csak a hálózat aszinkron üzemmódja garantálja a hálózat stabil állapotának elérését, szinkron esetben két különböző állapot közötti végtelen váltás lehetséges (ezt nevezzük dinamikus attraktornak , míg stabil állapotnak). általában statikus attraktornak nevezik).
A súlyok megadása után a betanított hálózat képessé válik a bemeneti jelek „felismerésére” – vagyis annak meghatározására, hogy a tárolt minták közül melyikhez tartoznak.
A bemeneti vektor bizonyos számú iteráción megy keresztül, amíg el nem éri a konvergenciát. Ebben az esetben fel kell ismerni a részben torz vagy hiányos mintákat. A kezdeti vektor értékeit először a hálózat bemenetéhez rendelik (ezért a bemeneti szinapszisok kijelölése a hálózati diagramban explicit formában tisztán konvencionális). Ezután a hálózat egymás után megváltoztatja állapotait a következő képlet szerint:
ahol az aktiválási függvény, és a hálózat aktuális és következő állapota, amíg az és állapotok egybe nem esnek (vagy szinkron működés esetén a -val és -vel egyidejűleg lévő állapotok ). Ezt a folyamatot hálózati konvergenciának nevezik. Az így létrejövő steady state (statikus attraktor), vagy esetleg szinkron esetben a { } pár (dinamikus attraktor) a hálózat válasza az adott bemeneti képre.
A hálózat kimenete lehet inverz vektor is (amelyben a tárolt mintákban a -1 és 1 értékek megfordulnak). Ha a rendszer nem talált megoldást, a rendszer kimenete lehet triviális vektor is, amely csak 1-ből vagy csak -1-ből áll.
Mivel a visszacsatoló hálózatoknak vannak olyan utak, amelyek jeleket továbbítanak a kimenetekről a bemenetekre, az ilyen hálózatok válasza dinamikus, azaz egy új bemenet alkalmazása után a kimenet kiszámításra kerül, és a visszacsatoló hálózaton áthaladva módosítja a bemenetet. A kimenetet ezután újraszámítja, és a folyamatot újra és újra megismétli. Stabil hálózat esetén az egymást követő iterációk egyre kisebb változásokat eredményeznek a kimenetben, míg végül a kimenet állandóvá válik. Egyes hálózatok esetében a folyamat soha nem ér véget; az ilyen hálózatokat instabilnak nevezik. A stabilitás problémáját a következő részben tárgyaljuk, de itt a hálózat fő ciklusát fogjuk megvizsgálni.
A súlyok megadása után a hálózat segítségével egy tanult kimeneti vektort kaphatunk egy adott bemeneti vektorból, amely részben hibás vagy hiányos lehet. Ehhez a hálózat kimeneteihez először ennek a kezdeti vektornak az értékeit kell hozzárendelni. Ezután a hálózat egymás után megváltoztatja állapotait a következő képlet szerint:
ahol F az aktiválási függvény, és a hálózat aktuális és következő állapota mindaddig, amíg az és állapotok egybe nem esnek (vagy szinkron működés esetén a -val és -vel egyidejűleg lévő állapotok ). Ezt a folyamatot hálózati konvergenciának nevezik.
Ez leírható a neuronra ható úgynevezett lokális mezővel is a hálózat összes többi neuronjából: .
A neuron lokális mezőjének kiszámítása után ezt az értéket használja az aktiválási függvényen keresztül a kimeneti érték kiszámításához, amely ebben az esetben egy küszöb (nulla küszöbértékkel). Ennek megfelelően az i neuron kimenetének értékét az aktuális időpontban a következő képlettel számítjuk ki:
,ahol az i és j neuronok közötti súlyegyüttható, a j neuron kimeneti értékei az előző időpontban.
A Hopfield hálózat működése során a megoldás megtalálásának jele az a pillanat, amikor elérünk egy attraktort, statikus (amikor egy stabil állapot ismétlődik minden következő lépésnél ), vagy esetleg dinamikus (amikor két különböző állapot { } alternate ad végtelenül ). Ez a hálózat végső állapota, és ez a reakció erre a képre.
A normál válasz egy olyan stabil állapot, amely egybeesik az edzés során megjegyzett vektorok egyikével. De bizonyos körülmények között (különösen túl sok tárolt kép esetén) a munka eredménye lehet az úgynevezett hamis attraktor ("kiméra"), amely különböző tárolt képek több részéből áll. Szinkron módban a hálózat dinamikus attraktorhoz is érkezhet. Mindkét helyzet általában nem kívánatos, mivel nem felel meg egyetlen tárolt vektornak sem - és ennek megfelelően nem határozza meg azt az osztályt, amelyhez a hálózat hozzárendelte a bemeneti képet.
A Hopfield hálózat esetében két módosulás lehetséges, amelyek különböznek a jelátviteli időben : aszinkron és szinkron mód. A gyakorlatban csak aszinkron módot használnak.
Ha a hálózatot egyetlen processzorra modellezzük, akkor szinkron módban a neuronok egymás után kerülnek megtekintésre, de állapotukat külön tároljuk, és addig nem változnak, amíg a hálózat összes neuronját be nem járjuk. Ha az összes neuront megnézzük, állapotaik egyidejűleg (vagyis szinkronban, innen a név) újakká változnak. Így a párhuzamos működés szekvenciális algoritmussal szimulálható.
Valós párhuzamos szimulációban ez a mód tulajdonképpen azt jelenti, hogy az elemek közötti és az egyes linkeknél azonos átviteli idő, ami miatt az összes link párhuzamosan működik, egyszerre változtatják állapotukat, csak az előző pont alapján. időben. Az ilyen szinkron órák jelenléte, amelyek könnyen azonosíthatók, és a szinkron üzemmód megértéséhez vezetnek. Szinkron módban két különböző energiájú állapot végtelen váltakozása lehetséges (bár messze nem mindig figyelhető meg) - az úgynevezett dinamikus attraktor. Ezért a szinkron módot gyakorlatilag nem használják a Hopfield hálózathoz, és csak a bonyolultabb aszinkron mód megértésének alapjául szolgálnak.
Ha a hálózat működését szekvenciális algoritmusként modellezzük, akkor az aszinkron üzemmódban a neuronok állapota a következő időpillanatban szekvenciálisan változik: az időpontban az első neuronra kiszámítjuk a lokális mezőt, meghatározzuk a reakcióját, és az idegsejt egy új állapotba kerül (ami az időpontban kiadott kimenetének felel meg ), majd a második neuron lokális mezőjét kiszámítjuk, figyelembe véve az első új állapotát, a második neuron állapotát, és így tovább - minden következő neuron állapotát a korábban figyelembe vett neuronok állapotában bekövetkezett összes változás figyelembevételével számítják ki.
Valójában a Hopfield hálózat szekvenciális implementációjával nem látszik egyértelműen, hogy mi az aszinkron, de az látható, ha a Hopfield hálózatot párhuzamos számítással valósítják meg. Ebben az esetben a Hopfield hálózat aszinkron üzemmódja leegyszerűsödik, és speciális eset az aszinkron hálózatok általános formájához képest, ahol az egyes elemek közötti kapcsolatok átviteli ideje eltérő , de állandó. Ahhoz, hogy egy hálózat párhuzamos megvalósításban való működését mérlegelhessük, be kell vezetni a ciklus fogalmát - mint azt a minimális időt, ameddig a jel továbbításra kerül egy kapcsolaton keresztül, azaz időpontban . Ekkor a és közötti időintervallumban bizonyos számú ciklus fordul elő N. És az N ciklus időhatárán belül lép fel aszinkron a jelek áramlásában és a számítások végrehajtásában. Ez azt jelenti, hogy például, ha ki kell számítania a 3. idegsejt állapotát, ki kell számítania az 1. és a 2. neuron állapotát, és ezt meg kell szoroznia a megfelelő súlyokkal és . De, mint kiderült, a 2. idegsejt állapotának kiszámításához ismernie kell az 1. idegsejt frissített állapotát és a 3. idegsejt régi állapotát, és meg kell szorozni ezeket a súlyokkal és a . Nyilvánvaló, hogy fizikailag lehetetlen egyidejűleg kiszámítani az 1. neuron és a 2. neuron állapotát, mivel a 2. neuron állapota az 1. idegsejt állapotától függ. az 1. számú neuron és a 3. neuron közötti kapcsolat átviteli idővel rendelkezik , és két ciklus alatt éri el a 3. számú neuront. Ugyanis az ilyen eltérő átviteli idő lehetővé teszi, hogy a Hopfield hálózatról mint aszinkron üzemmódú hálózatról beszéljünk.
Aszinkron módban dinamikus attraktor nem lehetséges: a tárolt képek számától és a kezdeti állapottól függetlenül a hálózat minden bizonnyal stabil állapotba kerül (statikus attraktor).
Ha az edzés során a referencia bináris vektorok alapján súlyegyüttható-mátrixot (interneuronális kapcsolatokat) hozunk létre, akkor a neurális hálózat a működési folyamatban a fent leírt mezők hatására addig változtatja a neuronok állapotát, amíg egy állapotba nem vált. a stabil állapotok közül.
Legyen egy neurális hálózat dimenzióval , a kapcsolódási mátrixba fekete-fehér képek halmaza (−1 - fekete, +1 - fehér) van írva, amelyek között van egy kutya képe (jobb oldali ábra ). Ha ehhez a vektorhoz közel állítja be a hálózat kezdeti állapotát (bal oldali ábra, torz kép), akkor a dinamika során a neurális hálózat visszaállítja az eredeti képet (referencia). Ilyen értelemben azt mondhatjuk, hogy a Hopfield hálózat megoldja a mintafelismerés problémáját (bár szigorúan véve az így kapott referenciaképet még osztályszámmá kell alakítani, ami esetenként igen számításigényes feladat is lehet).
torz kép | Referencia |
Az alapvető különbség a két hálózati működési mód között, hogy aszinkron esetben a hálózat szükségszerűen egy stabil állapotba kerül. A szinkronnal végtelen ciklikus átmenettel járó helyzetek lehetségesek két különböző állapot között.
Egy adott mezőben lévő neuron úgynevezett mesterséges energiája alapján meg lehet határozni, hogy egy neuron állapota stabil-e vagy sem . Ha a neuron kimenetének előjele (+1 vagy −1) egybeesik a lokális mező irányával ( ), akkor pozíciója energetikailag stabil, és a következő alkalommal az idegsejt állapota változatlan marad. Ellenkező esetben ( ) a neuron pozíciója instabil, és előjelét váltja , energiával rendelkező állapotba kerül .
A stabilitás az aszinkron módszerrel érhető el, mert a hálózat teljes energiájára vonatkozó feltétel teljesül . Szinkron esetben a feltétel valamelyest megváltozik, mégpedig: . Olyan helyzetben, amikor végtelen ciklikus átmenetek fordulnak elő, két különböző állapot energiája rendre egyenlő és . Ebben az esetben az és az állapotok , valamint a és — egybeesnek. Ha ilyen állapot alakul ki, akkor dinamikus attraktornak nevezzük. Ha az és állapotok egybeesnek , az attraktort statikusnak nevezzük. A legtöbb esetben a dinamikus attraktorok nemkívánatosak, mert nem felelnek meg egyetlen hálózati válasznak sem.
A visszacsatoló hálózat asszociatív memóriát alkot . A Hopfield hálózat az auto-asszociatív memóriának tulajdonítható, vagyis olyannak, amely képes kiegészíteni vagy javítani egy képet, de nem tudja társítani a kapott képet egy másik képpel. Ahhoz, hogy egy visszacsatolásos hálózatot használó, stabil auto-asszociatív memóriát szervezzünk, a súlyokat úgy kell megválasztani, hogy az egységhiperkocka kívánt csúcsaiban energiaminimumot képezzenek .
A vizuális képfeldolgozás (szűrés és asszociatív memória) nem az egyetlen alkalmazása a Hopfield modellnek. A fent leírt dinamikus eljárás minden lépésben csökkenti a neurális hálózat energiaértékét. Ez lehetővé teszi a kombinatorikus optimalizálási feladatok megoldását , ha azok energiaminimalizálási problémaként fogalmazhatók meg. Ennek a típusnak a klasszikus problémája az utazó eladó probléma .
( Az utazó eladó probléma nem oldható meg Hopfield neurális hálózattal) A Hopfield hálózat segítségével megoldható az utazó eladó probléma (mind az n várost körbe kell járni és vissza kell térni az eredetihez, hogy a megtett útvonal hossza legyen minimális). Ehhez például a következő követelményeket támaszthatja a hálózatra:
Kiderült, hogy a következő egyszerű megfontolások elegendőek a probléma megoldásához:
Mindezeket a feltételeket teljesíti a következő képlet az útvonalon lévő városnak megfelelő neuron és a pozícióban lévő városnak megfelelő neuron közötti súly kiszámítására :
ahol A, B, C, D néhány állandó, a városok közötti távolság és a Kronecker szimbólum , amely 1 értéket vesz fel, ha x=y, és 0 értéket egyébként. Amint az könnyen belátható, az első tag egyenlő az azonos sorban lévő összes kapcsolatra ( ), kivéve az idegsejt önmagával való kapcsolatát (at ). A második tag egyenlő az összes hivatkozásra ugyanabban az oszlopban ( ), kivéve az önmagára mutató hivatkozást ( ). A harmadik tag a városok közötti távolsággal arányos, és ha ezek a városok szomszédosak az útvonalon ( vagy ).
Ha egy ilyen hálózatot véletlenszerű kezdeti állapotba hozunk, akkor számíthatunk arra, hogy a kapott stabil állapot szuboptimális utat ad, amelynek hossza nem haladja meg túlságosan az optimálisat (maga az út jelentősen eltérhet az optimálistól egy). Ennek megfelelően a gyakorlati alkalmazáshoz a hálózatot többször le kell futtatni, és a legjobb utat kell választani.
Ennek a problémának a megoldása nem annyira a minősége miatt érdekes (vannak olyan algoritmusok, amelyek ezt hatékonyabban oldják meg [3] ), hanem az optimalizációs problémák megközelítése miatt: ha egy adott probléma feltételeit le lehet fordítani neuronok közötti kapcsolatok paramétereit, akkor ez viszonylag jól megoldható a hálózat által minden és további elemzés nélkül.
Sajnos a Hopfield neurális hálózatnak számos hátránya van.
1. Viszonylag kis mennyiségű memória, amelynek értéke a következő kifejezéssel becsülhető meg:
Több kép rögzítésére tett kísérlet arra a tényre vezet, hogy a neurális hálózat már nem ismeri fel őket.
2. Az állandósult állapot elérése nem garantálja a hálózat helyes reakcióját. Ez annak a ténynek köszönhető, hogy a hálózat konvergálhat az úgynevezett hamis attraktorokhoz, amelyeket néha "kiméráknak" neveznek (a kimérákat általában különböző képek töredékeiből ragasztják össze).
A mesterséges neurális hálózatok típusai | |
---|---|
|
Gépi tanulás és adatbányászat | |
---|---|
Feladatok | |
Tanulás tanárral | |
klaszteranalízis | |
Dimenziócsökkentés | |
Strukturális előrejelzés | |
Anomália észlelése | |
Grafikon valószínűségi modellek | |
Neurális hálózatok | |
Megerősítő tanulás |
|
Elmélet | |
Folyóiratok és konferenciák |
|