9. fejezet - Moduláris hálók

Az eddigi fejezetekben különböző ellenőrzött tanulású neuronhálókkal foglalkoztunk, melyek felépítésükben, tanításukban, részben a képességeikben és az alkalmazási területeiket tekintve is eltértek egymástól. A különbségek ellenére az eddigi megközelítéseknek volt egy közös vonása: bármely hálót is vizsgáltuk, ezt mint különálló architektúrát tekintettük, mely önmagában lehet képes bizonyos feladatok megoldására.

Bonyolult feladatok megoldásánál azonban – függetlenül attól, hogy a feladatot milyen eszközökkel kívánjuk megoldani – a nagy komplexitás miatt célszerű a feladat dekomponálása részfeladatokra, melyek külön-külön könnyebben megoldhatók, és a részmegoldásokból, azok aggregálása útján nyerhető a teljes megoldás. A részekre bontás eredményeként az egyes részfeladatok számítási komplexitás szempontjából jóval egyszerűbbek lehetnek, mint a teljes feladat, sőt az esetek nagy többségében a részfeladatok együttesen is kisebb számítási kapacitást igényelnek mintha az eredeti feladatot egyben próbálnánk megoldani. Az „oszd meg és uralkodj” elv a mérnöki feladatmegoldás egyik legfontosabb alapelve, és neuronhálós megoldásoknál is sikeresen alkalmazható. A feladatmegoldás általános mérnöki megközelítésén túl – utalva a neuronhálók biológiai eredetére – a moduláris konstrukció alkalmazásának fontosságát a biológiai neurális rendszerek felépítésének tanulmányozása is alátámasztja.

Egy feladat dekompozíciója sokféleképpen elvégezhető. A funkcionális dekompozíció mind a mérnöki gyakorlatban, mind biológiai rendszerekben gyakran alkalmazott (megtalálható) módja a feladat részekre bontásának. További lehetőség, ha a problémateret a tér nagysága miatt bontjuk részekre, és minden egyes részterülethöz önálló megoldást készítünk, melyek integrálása biztosítja a teljes feladat megoldását. Az egyes részfeladatokat modulok oldják meg, a teljes megoldást ezen modulok összessége – kiegészítve valamilyen integráló modullal – szolgáltatja.

Erre a megközelítésre láthattunk is már példát az 5. fejezetben, ahol a bázisfüggvényes hálócsaládba tartozó CMAC háló komplexitásának csökkentésére alkalmaztunk moduláris felépítést. A különböző moduláris CMAC hálók sokdimenziós feladatoknál a bemenet komponensei szerint végeztek feladatdekompozíciót (SOP struktúra, HCMAC). Valójában tehát ott is a problématér szeparálása eredményezett egyszerűbb részfeladatokat. A bemeneti tér részekre bontásán alapuló eljárást a következőkben is fogunk látni. Itt azonban a bemeneti tér felbontása a kívánt válaszok alapján történik.

A moduláris feladatmegoldás a komplex feladatok megoldásának természetes módja. Amennyiben egy összetett feladatot részfeladatokra bontunk, a részfeladatokat megoldó modulok együttműködése, kooperációja biztosítja a teljes feladat megoldását. A részekre bontás nem minden esetben jelenik meg explicit módon a feladatmegoldás során. Olyan megoldás is elképzelhető, amikor több modul is megpróbálja a teljes feladatot megoldani, miközben ezek a modulok valamilyen szempontból eltérő megközelítést alkalmaznak. Az eltérő megközelítés következtében az egyes megoldások kisebb-nagyobb mértékben eltérnek egymástól. Bár mindegyik modul a teljes feladatot oldja meg, az egyes megoldások a teljes feladat más-más részein lehetnek jobbak. A megoldások kombinációja – a teljes feladatra nézve – bármelyik modul megoldásánál is jobb lehet. Az eredményt itt is a modulok kooperációja révén nyerjük, azonban itt nem határolódnak el mereven az egyes modulok által megoldott részfeladatok, a határok inkább elmosódottak.

Olyan megoldási stratégia is lehetséges, hogy egy részfeladatot több modul old meg, és az egyes megoldások versenyeznek egymással. Itt a moduláris megoldás tipikusan nem együttműködés, hanem versengés eredményeképpen születik.

A kétféle stratégia, az együttműködés és a versengés egy komplex rendszeren belül egyszerre is megjelenhet. Ilyen eset lehetséges, ha a teljes feladatot több modul oldja meg, azonban az egyes megoldások aggregálása különbözőképpen történik. A teljes problématér egyes tartományain az eredő megoldást egy-egy különálló modul megoldása egymaga is jelentheti, míg más tartományokban az egyes modulok eredményeinek kombinációjaként nyerhető a megoldás. Ha egy modul önmagában szolgáltat eredményt, akkor ennek a modulnak a többivel szemben jobb eredményt kell adnia. A megoldást szolgáltató modul versengés eredményeképpen kerül kiválasztásra. Ha az eredmények kombinációjaként kapjuk a teljes megoldást, akkor az egyes modulok együttműködésére van szükség. Hogy egy adott rendszeren belül a kétféle megközelítés közül melyik érvényesül, az függhet attól, hogy egy konkrét eset a problématér mely tartományába esik.

A fejezet célja, hogy a moduláris megközelítés általános előnyeit és néhány konkrét moduláris hálóarchitektúrát mutasson be. A bemutatott moduláris neurális architektúrák között található olyan, amely elsősorban osztályozási feladatok megoldására szolgál, és olyan is, amely mind osztályozásra, mind regressziós feladatok megoldására alkalmazható. Elsőként az ún. feladat dekompozíciós (task decomposition) megoldást tárgyaljuk, majd a szakértőegyüttesekkel foglakozunk.

A feladat dekompozíció a teljes feladat diszjunkt részfeladatokra bontását jelenti, ahol az egyes részfeladatok már könnyebben megoldhatók. A feladat dekompozíciója itt statikus és nem is tartozik a háló feladatai közé. Ennél a megoldásnál versengésről semmiképpen nem beszélhetünk, együttműködés is csak annyiban van, hogy szükség van a részmegoldások integrálására. Ezt azonban a megtanított hálók kialakításától függetlenül, a dekompozíció módja határozza meg.

A szakértőegyüttesek valóban együttműködő-versengő modulokból épülnek fel. Itt a feladat részekre bontása is – amennyiben a megoldás alkalmaz dekompozíciót – és a modulok eredményének egyesítése is a komplex moduláris architektúra feladata.

A moduláris neuronhálók kialakítási lehetőségei igen sokfélék. Ez már abból is következik, hogy egy feladat igen sokféleképpen dekomponálható részfeladatokra és a különböző részmegoldások egyesítése is sokféle megközelítés alkalmazásával lehetséges. A moduláris neuronháló-kialakítási lehetőségek kimerítő bemutatására ezért a fejezet nem vállalkozik. Helyette néhány, a gyakorlatban is sikerrel alkalmazható megoldást mutat be.