• Nem Talált Eredményt

Mesterséges neuronháló szerkezete

3.1. Neuronhálók topológiája

A neuronhálókban a neuronok elrendezése nagyon változatos. Ebben a részben főként a neuronok lehetséges összekapcsolásának módjaival fog-lalkozunk. A neuronhálók összekapcsolásának elsajátítása alapot biztosít a könyv következő részének a megértéséhez, a különböző típusú neuronhá-lók tanításához. A mesterséges neurális hálózatok alapjában véve absztrakt entitások. Leírhatóak matematikailag és megvalósíthatóak különböző válto-zatban: szoftveresen vagy hardveresen. A neuronhálóban a neuronok közötti kapcsolatokat a neuronháló topológiája határozza meg. A mesterséges ne-uronhálók topológiája úgy tekinthető, mint a neuronok közötti reláció kap-csolataik révén. A topológia kifejezésre alternatíva a neuronháló szerkezete vagy a neuronháló architektúrája. Általában a neuronhálózat topológiája irányított gráffal írható le. A neuronok a gráf csomópontjai, míg a neuron-háló bemeneteit, kimeneteit és a neuronok közötti kapcsolatokat a gráf élei reprezentálják. Az élek a neuron bemenetétől a kimenet felé vannak irányít-va. Általában egy neuronhálóban három típusú neuront különböztethetünk meg (3.1. ábra):

1. Bemeneti neuronok: a bemeneti neuronoknak általában nincsen jel-feldolgozó, processzáló szerepük. A bemeneti neuronok a hálózat bemenetéről kapják a jeleket és más neuronok bemenetére továb-bítják.

2. Kimeneti neuronok: a neuronháló kimenetén a környezet felé köz-vetítik az információt. A kimeneti neuronok bemenetét általában a neuronhálóban található egyéb neuronok szolgáltatják.

3. Rejtett neuronok: bemeneteikkel és kimeneteikkel szigorúan csak más neuronokhoz kapcsolódnak.

A legtöbb neuronháló esetében a neuronok rétegekbe vannak szervezve. Van egy pár kivétel, amikor a neuronhálóban a neuronok nem rétegekbe vannak szervezve, viszont ezek a neuronhálók is értelmezhetőek többrétegű topoló-giájú rendszerekként [11].

Egy többrétegű neuronháló esetében, a neuronok osztályozása szerint megkülönböztetünk:

1. bemeneti réteget: bemeneti neuronokat tartalmaz;

2. kimeneti réteget: kimeneti neuronokat tartalmaz;

3. rejtett réteget: rejtett neuronokból épül fel.

3.1. ábra. Többrétegű neuronháló szemléltetése

Többrétegű neuronháló esetében a rétegek rendezettek és megszámlálha-tók, a bemeneti réteg indexe 1, első rejtett réteg indexe 2, következő rejtett

3.1. Neuronhálók topológiája 55 réteg indexe 3, és az utolsó kimeneti réteg indexe L, mely a neuronháló-ban található rétegeknek a száma. Rétegenként ismerjük a neuronok számát N<1>, N<2>, . . . , N<L>. A3.1. ábrán egy többrétegű neuronháló van szem-léltetve.

3.1.1. Neuronok összekapcsolása

A neurális hálózatok topológiája, összekapcsolási struktúrája (3.2. ábra) meghatározza a neuronok összekapcsolódásának módját.

3.2. ábra. Neuronok közötti kapcsolatok

A többrétegű neuronhálókra alapozva, különböző típusú kapcsolatok lehetségesek [4], [6], [11].

– rétegek közötti kapcsolat (i – interlayer connection): szomszédos ré-tegekben található neuronok közötti kapcsolat;

– laterális (o), intralayer connection: egy rétegen belüli neuronok kö-zötti kapcsolat, a réteg kimenete a rétegben található neuronok bemenetére van csatolva;

– elemi visszacsatolás (e): egy neuron kimenetének saját bemenetére való visszacsatolása (ez egy speciális esete a rétegen belüli kapcsola-toknak);

– supralayer connection (s): nem szomszédos rétegekben található neu-ronok közötti kapcsolat; általában egy réteg kimenetének a visszacsa-tolása egy előbbi réteg bemenetére, de nem a saját réteghez tartozó neuronok bemeneteire.

Minden egyes kapcsolathoz egy súlytényező van rendelve, egy súlyozá-si tényező, amely meghatározza a bemenet fontosságát. A súlytényező egy skalár érték, pozitív érték esetén gerjesztő, negatív érték esetén gátló szere-pe van. Ha a kapcsolathoz tartozó súlytényező értéke zérus, úgy tekinthető, hogy az adott időpontban a kapcsolat nem létezik.

Teljesen összekötött topológia: akkor beszélünk teljesen összekötött topo-lógiáról, ha a neuronhálóban a lehetséges kapcsolatok közül az összes jelen van. A különböző neuronháló-topológia összehasonlítására fontos, hogy is-merjük, hogy egy adott topológia összesen hány kapcsolatot tartalmaz.

A legtöbb neuronháló esetében a kapcsolatoknak a száma megegyezik a súlytényezőknek a számával, vagyis minden egyes kapcsolathoz egy súlyté-nyező van rendelve. Egyes típusú neuronháló, mint például a konvolúciós neuronhálók [1] esetében, beszélhetünk súlytényező-megosztásról, amikor egy kapcsolatcsoport oszt meg egy súlytényezőt. Ebben az esetben több kapcsolat ugyanazt a súlytényezőt osztja meg, a súlytényezőknek a szá-ma sokkal kevesebb a kapcsolatok számához képest. Amikor megszámoljuk a súlytényezők számát egy hálóban, szintén el kell dönteni, hogy a neu-ron bias (eltolási, offset) értékeit is figyelembe vegyük-e vagy nem. Amint a neuron bemutatásánál már szemléltettük, a bias is lényegében egyfajta súlytényezőnek is tekinthető, és gyakran a bias érték adaptálása is ugyan-olyan módszerrel történik, mint a súlytényezők tanítása.

Parciálisan összekapcsolt topológia: egy érdekes alternatívát jelenthet a teljesen összekapcsolt neuronhálókhoz képest; csökkentett mértékű redun-dancia mellett fokozott hatékonyságot biztosít.

3.1.2. Előrecsatolt topológiájú neuronhálók

Többrétegű előrecsatolt neuronhálók esetében minden egyes réteghez tartozik:

– súlymátrixW<l>,

– réteg bemenete (réteg bemeneti vektora)X<l>, – réteghez tartozó ingervektor S<l>,

– réteg kimeneteY<l>,

3.1. Neuronhálók topológiája 57 – a réteg kimenetén a hibavektor δ<l>, ahol l a réteg száma.

Minden egyes réteghez egy rétegszámot rendelünk, és a réteg számával indexeljük a változókat. Ezen index alapján különböztetjük meg, hogy az adott változó melyik réteghez tartozik. Egy több neuront tartalmazó réteg-ben, ahhoz, hogy egy bemenet és egy neuron között azonosítani lehessen egy kapcsolatot, a súlytényezőket két indexszel kell ellátni. Az első index meghatározza a neuron számát, amelyhez a bemenet kapcsolódik, illetve a második index meghatározza a bemenet számát. Például egy kétrétegű neuronháló esetében a következőképpen alakul a változók jelölése:

Első réteg változóira alkalmazott jelölések:

X<1> W<1> S<1> Y<1> δ<1>

A tanítás során minden réteghez szükség van egy kimeneti hibavektorra, amelyet δ-val jelölünk. A második réteghez kapcsolódó változók:

X<2> W<2> S<2> Y<2> δ<2>

Általánosan az l-edik réteghez tartozó változók:

X<l> W<l> S<l> Y<l> δ<l>

Egy réteghez tartozó súlymátrix a következőképpen van felépítve:

a rétegben található neuronok súlyvektorait oszloponként egymás mellé he-lyezzük a mátrixban.

Többrétegű topológiájú neuronháló esetében a neuronháló kimenetét a bemenettől a kimenet felé számoljuk. Első lépésben kiszámoljuk az első

réteg ingerét, majd kimenetét. Az első réteg kimenete a második réteg be-menetét képezi. Kiszámoljuk a következőben a második réteg ingerét, illetve a második réteg kimenetét, amely jelen esetben a neuronháló kimenetét is jelenti.

3.1.3. Visszacsatolást tartalmazó neronhálók

Az előrecsatolt neuronhálók esetében a feldolgozás a bemenettől a ki-menet irányába történik. A neuronháló kiki-menete csak a neuronháló beme-netére kapcsolt pillanatnyi értékektől függ. A visszacsatolt vagy rekurrens neuronhálók memóriaként viselkednek. Összehasonlítva egy sorrendi háló-zattal, mely a visszacsatoló ágban memóriát, tároló elemet tartalmaz, a visszacsatolással lényegében állapotokat iktatunk a neuronhálóba. A vissza-csatolt neuronhálókat bonyolultabb, dinamikus rendszerek modellezésére, zajos jelminták visszaállítására vagy akár osztályba való sorolására is al-kalmazzák. A visszacsatolt neuronhálók közül a Hopfield-hálók szerkezeti felépítését, tanítását és alkalmazását a 8. fejezet keretében részletezzük.

A visszacsatolt neurális hálózatok a természetes nyelvfeldolgozásban az egyik leggyakrabban alkalmazott hálózatnak számítanak az ígéretesnek bi-zonyuló elért eredményeknek köszönhetően.

A rekurrens neurális hálóknak a természetes nyelvfeldolgozásban való alkalmazására két fő megközelítés áll:

– a hálóval becsülhetjük vagy kitalálhatjuk a mondatokat és javíthat-juk a hibát a becslés során,

– egy adott partikuláris műfajnak megfelelően tanítható a neuronháló és a műfajnak megfelelő szöveg generálható.

3.1.4. Időfüggő vagy idővariáns neuronhálók

Az időfüggő hálók többféleképpen alakíthatóak ki. Egy lehetséges vál-tozat, hogy a neuronháló bemenetére a modellezendő rendszer időben kés-leltetett bemeneteit, illetve a késkés-leltetett kimeneteit vezetjük be (3.3. ábra).

Egy másik lehetséges változat, hogy például egy többrétegű perceptron típusú neuronháló kimeneteit visszacsatoljuk a neuronháló bemeneteire (3.4.

ábra).

3.1. Neuronhálók topológiája 59

3.3. ábra. Időfüggő neuronháló, késleltetett bemenetek

3.4. ábra. Időfüggő neuronháló kialakítása a kimenet visszacsatolásával

Ebben az esetben a kimenetszámítást, de főleg a tanítás során a vissza-csatolt rendszermodellt kitekerjük és úgy kezeljük, mint egy előrevissza-csatolt neuronhálót. A kitekerés során a különböző részekben ugyanazok a súlyté-nyezők vannak megosztva. Az alábbi példában egy egyrétegű neuronhálóval szemléltetjük a kiterített neuronháló szerkezetét (3.5. ábra). A neuronháló-nak a szemléltetett ábrán egy bemenete van, és mindegyik kimenete vissza van csatolva a neuronháló bemeneteire. A bemenetekhez kapcsolódó súlyté-nyezőketw-vel, míg a visszacsatolt bemenetekhez kapcsolódó súlytényezőket ω-val jelöltük.

3.5. ábra. Kiterített neuronháló

Az előreszámolás, vagyis a bemenettől a kimenet felé való számolás során a megosztott súlytényezők értéke megegyezik az egyes részekben.

A visszaterjesztéskor, amely a kimenetszámítástól a bemenet felé történik, a súlytényezők más és más értékeket vesznek fel, ugyanis az utolsó rétegbeli értékek alapján számoljuk az új súlytényezők értékeit a hiba-visszaterjesztés módszerével. Az előírt hibát az utolsó rész kimenetén határozzuk meg, és innen áramoltatjuk vissza a kiterített neuronhálón. Az x bemeneteket az egyes kitekert részekben az adott mintavételbeli értékek határozzák meg.

A következő kimenetszámítás során a legutolsó lépésben meghatározott súlytényezőpárokat alkalmazzuk.

Egy harmadik lehetséges kialakítását az időfüggő hálóknak a súlyté-nyezőknek véges impulzus válasz (FIR) szűrővel való helyettesítése jelenti (3.6. ábra). A FIR szűrök digitális szűrők, amelyek impulzusválasza időben véges. A szűrő algoritmusa csak az aktuális és az előző bemeneti értéket veszi figyelembe. Nem rekurzív, konvolúciós vagy mozgó átlag szűröknek is nevezik [12].

3.1. Neuronhálók topológiája 61

3.6. ábra. Időfüggő neuronháló kialakítása FIR szűrővel

Az időfüggő hálók alkalmazása és tanítása jóval bonyolultabb, összeha-sonlítva az előrecsatolt neuronhálókkal. Alaposabb betekintést az időfüggő hálók szerkezetébe, tanításába és alkalmazásába a szakirodalom [4], [2] ta-nulmányozását követően nyerhetünk.

4. fejezet