11.2.1. Problémák a Hopfield hálózat alkalmazásakor
Az előző fejezetben bemutattuk, hogy akár a Hebb-szabály alkalmazásával, akár egy alkalmas energiafüggvény megválasztásával a súlyok általában meghatározhatók úgy, hogy a tárolandó minták vonzási pontok legyenek a konfigurációs térben, azaz lokális minimumai legyenek a rendszerhez tartozó energiafüggvénynek. A hálózat egy (Hamming távolság értelemben) megfelelően közeli konfigurációból, a vonzási körzet valamely pontjából indítva, a dinamikus működés során a kívánt állapotban fog stabilizálódni.
Az ideális az volna, ha a teljes konfigurációs teret kitöltenék a tárolt minták és ezek vonzási körzetei, mivel így tetszőleges állapotból indítva a hálózatot, az a legjobban "hasonlító" tárolt mintára asszociálna. A helyzet természetesen nem ilyen szép. A tanított konfigurációkon kívül számos más vonzási pont is létezik. Ezek típusait igazolás nélkül ismertetjük:
• az összes tárolt minta inverzéhez (-xi(α)) is lokális minimum tartozik,
• olyan ún. kevert állapotok is vonzási pontok, amelyek páratlan számú tárolt minta lineáris kombinációiból állíthatók elő. Például ilyenek az alábbi állapotok:
,
• nagyméretű hálózatokban viszonylagosan nagyszámú tanított minta esetén bizonyítható, hogy kialakulnak olyan lokális minimumok, amelyek nem korreláltak a minták semmilyen részhalmazával sem.
Bár az utóbbi két osztályba sorolt vonzási pontokhoz magasabb energiaértékek tartoznak és általában kisebb a vonzási körzetük is, a rendszer ezekben a hamis lokális minimumokban is stabilizálódhat. Célunk mindenképpen az, hogy elkerüljük a "nem kívánt" lokális minimumokba történő beragadást. A helyes, optimális megoldáshoz tartozó állapot megtalálása egy adott hálózat esetén a kiindulási konfigurációtól függ. A kezdeti állapot az alkalmazások többségében vagy adott, vagy nincs is információnk ennek megfelelő megválasztásáról, így a legtöbb alkalmazás esetében célszerű a Hopfield hálózat működési algoritmusának módosítása.
Az említett hátrányos tulajdonságok kiküszöbölésére többféle ötlet is adódik:
-
Ha a kiindulási konfiguráció nem adott, akkor a rendszert különböző kezdeti állapotokból indítva kereshetünk minél mélyebb energiájú megoldást.
-
A működési algoritmust úgy módosítjuk, hogy egyszerre (szinkron) több neuron is értéket válthasson, így a konfigurációs tér nagyobb részében végezzük el a keresést.
-
Hasonlóképpen megnöveli egy alacsony energiaszintű minimum megtalálásának esélyét, ha a neuronok működését sztochasztikussá tesszük. Ennek egy módja lehet, hogy korlátozott arányban olyan esetben is elfogadjuk a neuronok értékváltását, ha ettől a rendszer magasabb energiájú állapotba kerül.
A következő fejezetben olyan módszert mutatunk be, amely ez utóbbi lehetőséget használja a globális minimum, de legalábbis egy kis energiájú lokális minimum megtalálására.
11.2.2. Szimulált lehűtés
A lokális minimumok elkerülésére leggyakrabban az ún. szimulált lehűtés módszert alkalmazzák a Hopfield hálóknál. A hálózat ilyen kiterjesztését Boltzmann gépnek vagy szimulált lehűtés hálózatnak hívjuk [Aar89].
A módosítás alapgondolata, hogy változtassuk sztochasztikussá a minimum-keresési eljárást úgy, hogy az lehetőséget adjon a lokális minimumokból történő kikerülésre. Ezzel tulajdonképpen bizonytalanságot, azaz zajt viszünk be a folyamatba, ami "kiütheti" a kevésbé mély lokális minimumokból a rendszert, és így az nagyobb eséllyel stabilizálódhat a legmélyebb, globális minimumban [Pav05].
A módszer nevét a szilárd anyagok hőkezelésekor használt hasonló elvű módszerről kapta. Az anyagot először felhevítik, majd lassan lehűtik, és így nem a magasabb energiájú metastabil állapotokban, hanem a szabályos rácsszerkezethez tartozó alacsony energiájú állapotban szilárdul meg.
A szimulált lehűtés tehát a determinisztikus minimumkeresési eljárás helyett sztochasztikus keresést eredményez. A módszer alkalmazása a Hopfield hálózatok esetében a determinisztikus működésű neuronok sztochasztikus egységekkel való felváltását jelenti.
A modell neuronjainak működése egy sztochasztikus szabállyal írható le, amely meghatározza az értékváltások utáni lehetséges állapotok kialakulásának valószínűségét:
(11.21)
A neuronok véletlenszerű viselkedését szabályozó T paramétert az analógia alapján pszeudo-hőmérsékletnek, vagy csak egyszerűen hőmérsékletnek nevezik. A (11.21) szerinti szigmoid karakterisztika meredekségét a T paraméter határozza meg, magas T értéknél a karakterisztika lapos, míg ha a paraméter 0-hoz tart, akkor a görbe konvergál a determinisztikus hálózat transzfer függvényéhez, a (11.2) szerinti lépcsőfüggvényhez. Ez azt jelenti, hogy magas hőmérsékleten a neuronok a bemeneti gerjesztésüktől függetlenül véletlenszerűen váltanak értéket, míg a hőmérséklet paramétert csökkentve a rendszer egyre inkább a determinisztikus modellhez közelít. A hálózat működését most is tudjuk jellemezni az energiafüggvény felhasználásával. A Boltzmann gépnek a (11.21) definícióval ekvivalens leírása a következő:
(11.22)
Az energiaminimum elérését vagy megközelítését a fizikai analógia alapján a szimulált lehűtés módszerével végezzük. A rendszert egy magas kezdeti hőmérsékletről indítva, a hőmérséklet paraméter lassú csökkentése mellett működtetjük, míg a hálózat stabil állapotba nem kerül. Ha a rendszert megfelelően lassan hűtjük, akkor egy adott hőmérsékleten egyensúlyi állapotba kerül.
A kialakuló egyensúlyban a hálózat egy
energiájú
állapotba való kerülésének valószínűségét a Boltzmann eloszlás írja le:
, (11.23)
ahol
stacionárius eloszlásban a Z(T) partíciós függvény definíciója egy az összes lehetséges állapoton elvégzett összegzés:
(11.24)
Amennyiben a rendszer lehűtése során biztosítjuk az aktuális hőmérsékleten az egyensúlyi állapot kialakulását, akkor a hálózat konvergenciáját a következőképpen vizsgálhatjuk:
(11.25)
A zérus hőmérséklethez tartozó határértéket külön felírva az
energiaminimummal rendelkező
globális minimumhelyekhez tartozó állapotokra és az
energiájú
állapotokra a következőket kapjuk:
(11.26)
Tehát a hálózat a szimulált lehűtés ideális alkalmazásával aszimptotikusan konvergál az optimális megoldásokhoz tartozó állapotok halmazába, azaz az eljárás mentes a lokális minimumba való beragadás problémájától. Az alkalmazások szempontjából azonban fontos, hogy véges idejű lehűtést alkalmazhassunk. A szimulált lehűtés algoritmus tulajdonságai ilyen szempontból is kedvezőek. A lehűtés során az optimális megoldáshoz tartozó állapotba kerülés valószínűsége folyamatosan nő a hőmérséklet csökkentésével, ugyanakkor minden más állapothoz található egy olyan hőmérséklet küszöb érték, ami alatt az adott állapot előfordulási gyakorisága monoton csökken. Ez az eredmény az aktuális hőmérsékletekhez tartozó egyensúlyi állapotokra vonatkozik. Azonban általánosan is igaz, véges idejű lehűtés esetére is, hogy minél lassabb lehűtést alkalmazunk, annál nagyobb a valószínűsége annak, hogy a hálózat alacsony energiájú állapotba kerül.
A Boltzmann hálózat gyakorlati alkalmazásához meg kell határozni a hőmérséklet paraméter változatásának algoritmusát, az ún. lehűtési stratégiát. A lehűtési stratégia a következő elemeket tartalmazza:
• kezdeti hőmérséklet
-A rendszert olyan magas hőmérsékletről indítjuk, amelyen a neuronok véletlenszerűen változtatják állapotukat. A hőmérséklet csökkentését azonnal meg lehet kezdeni, mivel ezen a hőmérsékleten a rendszer kezdettől fogva egyensúlyi állapotban van.
• lehűtés szabályozó függvény, amelynek 2 komponense a következő:
-Az adott hőmérsékleten elvégzendő állapotváltozások száma,
-A hőmérséklet csökkentésének mértéke.
-A lehűtés sebességét meghatározó függvény paramétereit a feladat megoldására rendelkezésre álló idő és az adott számítási környezet által meghatározott állapotváltozási sebesség korlátozza a gyakorlatban. Egy elterjedt heurisztikus módszer, hogy a hálózat méretének kisszámú többszöröse számú (tipikusan 3N-15N) neuron frissítése történjen meg egy adott hőmérsékleten, majd a hőmérsékletet egy 1-hez közeli faktorral szorozva csökkentjük (
), ahol c értéke általában 0.8 és 0.99 közötti).
• megállási feltétel
-A szimulációt akkor lehet befejezni, ha a rendszer energiája nem változik egy megfelelően hosszú iteráció során. Mivel a hőmérséklet csökkentésének módszere általában olyan, hogy ez az érték aszimptotikusan konvergál a 0-hoz, ezért a minimumhelyekből való kijutás mindvégig lehetséges. Alacsony hőmérsékletnél azonban ez a valószínűség már olyan kicsi, hogy feltételezhető, hogy a rendszer egy stabil állapotot talált meg. Ezt ellenőrizhetjük a leállás után a hőmérséklet paraméter 0-ra állításával, azaz a determinisztikus hálózattal.
Számos más lehűtési stratégia is ismert a szimulált lehűtés módszerhez, amelyek közül bármelyik felhasználható a Boltzmann hálózat működtetéséhez. A hőmérséklet csökkentésének mértékét szokásos még logaritmikus vagy polinom függvény formájában is definiálni.