Hidrológiai Közlöny 1998 (78. évfolyam)
4. szám - Fülöp István Antal–Józsa János: A neruális hálózatok világa
FÜLÖP I. - JÓZSA J.: A neurális hálózatok világa 251 adatáramlási utakat jelölnek ki, hanem információt is hordoznak, mivel minden egyes kapcsolatot egy skalár, az úgynevezett súly jellemez, amely az adott kapcsolat erősségére utal - a tanítási algoritmus feladata éppen e súlyok értékének beállítása oly módon, hogy a háló alkalmas legyen a kívánt leképezés elvégzésére. A neuron kimenetét így egyrészt a kapcsolatokon érkező impulzusok, másrészt pedig a kapcsolatokat jellemző súlyok határozzák meg. A kapcsolatok szerepe tehát kettős: egyrészt rajtuk áramlik az információ, másrészt a kapcsolatokhoz rendelt súlyérték rögzíti az információkat. A neurális háló így felfogható olyan irányított gráfként, melynek élei a kapcsolatok a forrástól a cél felé irányítva, csomópontjai a neuronok, az élekhez pedig az adott kapcsolatot jellemző súlyérték van rendelve. A neuronok közötti kapcsolatok egyszerű esetét mutatja a 2. ábra, az átviteli függvény és a súlyok kapcsolatát pedig a 3. ábra. szemlélteti. A. ábra - Neuronok közötti kapcsolatok Átviteli A neuron függvény kimenete (skalár) Abra B. - Az átviteli függvény Mivel az információt hordozó súlyok beállítása tanítás során történik, azokra a háló hosszú távú memóriájaként is szoktak hivatkozni. Ebben az értelemben rövid távú memóriaként fogható fel a neuronok aktivitása, azaz a neuronra érkező impulzusok összessége. A neuronok közötti kapcsolatok felépítését a topológia jellemzi. Általában az mondható el a neurális hálózatokról, hogy a neuronok szabályszerűen kapcsolódnak össze - például léteznek bemeneti, kimeneti és rejtett neuronok. Ezeket a neuronokat rétegekbe szervezhetik, azaz képezhető bemeneti réteg bemeneti neuronokkal, rejtett réteg rejtett neuronokkal és kimeneti réteg kimeneti neuronokkal. A rétegre szervezésre bővebb példát a neuronháló-típusokkal foglalkozó részben mutatunk. A neuronok kapcsolatai között lehet visszacsatoló jellegű is, amikor egy neuron a saját bemenetére kapcsol vissza, vagy akár az egész háló kimenetét csatoljuk viszsza a bemenetekre. Ez a felépítés dinamikus tulajdonságokkal ruházza fel a hálót, amely egyetlen bemeneti impulzusra a válaszok egész sorozatával reagál. A tanítási és előhívást algoritmus A hálók tanítási algoritmusa legtöbbször minta utáni tanulás során rögzíti az információt a súlyokban. A minta utáni tanítás miatt rendelkezésre kell álljon a modellezendő jelenséget leíró adatbázis, amit tanító adatbázisnak is neveznek. Az előhívási algoritmus az így rögzített információk felhasználását, a háló tulajdonképpeni alkalmazását teszi lehetővé. Ezzel kapcsolatos fontos tulajdonság az úgynevezett általánosító képesség, amely azt jelenti, hogy a háló az előhívási folyamat során nem csak a tanító adatbázis elemeire, hanem más bemeneti értékekre is megfelelő kimenetet generáljon. Ez a képesség más statisztikai módszerekhez hasonlóan a neurális hálózatok esetében is szoros összefüggésben áll a modellkomplexitás kérdésével: minél összetettebb a modell, annál könnyebben és annál jobban idomul a tanító adatbázishoz, és annál gyengébben képes általánosításra. Létezik egy optimális komplexitás, amely mellett a háló (vagy más módszer) mind a tanítás, mind az előhívás során kielégítően viselkedik. A tanítási algoritmusokat két fő csoportba sorolhatjuk, nevezetesen a felügyelt és a nem felügyelt tanítási algoritmusok csoportjába. Felügyelt tanítás esetén a tanítást olyan adatbázisra támaszkodva végzik, amelyben bemenet-kimenet párok vannak, azaz minden tanítandó hálóbemenet mellett ismert a hálótól várt kimenet. E várt kimenet és a súlyok aktuális állapota alapján generált aktuális vagy „kapott" kimenet eltérését minimalizálja a tanítási algoritmus a súlyok változtatásával. Természetesen a hiba értéke sohasem vehet fel zérus értéket egyrészt a modellhiba, másrészt az általánosító képességgel kapcsolatosan felvázoltak miatt: a hiba eltűnése túlzott idomulást jelentene a tanító adatbázishoz, ezen keresztül pedig lerontaná az általánosító képességet. Nem felügyelt tanítás esetén a bemenetekhez nincs előre hozzárendelt kimenet, a háló az adatbázis belső struktúrája alapján hoz létre kimeneteket. A hagyományos algoritmusok közül a felügyelt tanítási algoritmussal analóg a regresszió, ahol adott bemenetre adott kimenetet kell előállítania a regressziós függvénynek, megfelelő általánosítás mellett. A nem felügyelt tanítás analógiája például a klaszteranalízis vagy a fökomponens-kiválasztás, amely algoritmusok esetében nincsenek előre megadva flaszterek" vagy „fökomponensek", azokat az algoritmus térképezi fel a bemeneti értékek alapján. A neurális hálózatok alapelvének áttekintése után a következőkben bemutatunk egy felügyelt, egy nem felügyelt és egy vegyes tanítású hálót az elmondottak illusztrálására. A többrétegű perceptron és a back propagation A Frank Rosenblatt által az 60-as években kifejlesztett perceptron nevű neurális háló egyszerű lineáris szeparációra képes. Ezt a lineáris hálót fejlesztették tovább a 70-es évek végén, 80-as évek elején nemlineáris leképezések elvégzésére is képessé téve azt. Az így keletkezett bemeneti —i—* f| értékek súlyok l súlyok .w 2 4,v 1.y 2) I neuron kimenetek 3,w 23, y i,v 2)