10.3. ANN-ok típusai

Az ANN-ok megkülönböztetését számos szempont alapján elvégezhetjük. Mivel a rejtett réteg elemei egyaránt kapcsolódnak a bemeneti és kimeneti réteg minden egyes neuronjához, így ezen kapcsolatok topológiája alapján két fő típust határozhatunk meg, az előrecsatolt (feedforward) és a visszacsatolt (recurrent) hálózatot. Ezek között a különbség az, hogy míg a visszacsatolt hálózat reprezentációjaként előálló irányított gráf hurokkal rendelkezik, vagyis visszacsatolja az eredményt, addig az előrecsatolt nem. Nyilvánvalóan az idő és az időbeli késleltetések ebben a típusban fontos szerepet játszanak. Példák mindkét típusra:

• Előrecsatolt (feedforward): MLP (Multi Layer Perceptron). A többrétegű hálózat a bemeneti és kimeneti rétegei között aktív és rejtett műveletvégző neuronkapcsolatokat használ. A betanítása felügyelt típusú, a kimeneti hibájának meghatározása adja a túltanulás esetleges kockázatának rátáját. Ha túltanul az osztályozó, akkor a tesztadatok jóval nagyobb számban térnek vissza az eredeti bemeneti adatok számánál. A hálózat alkalmazásánál elsődleges szempont a rejtett és aktív rétegek száma, valamint az azokon elhelyezkedő perceptronok száma. A gyakorlatban ez a túlbecslés és az alábecslés útján történik (Zaletnyik, 2003).

• Visszacsatolt (recurrent): legelterjedtebb típasai a Kohonen-féle SOM (self-organising maps), vagyis Önszervező Térképek (Kohonen, 2001). A felügyelet nélküli eljárás lényege hogy az n dimenziós bemenő adatokat szabályos kétdimenziós tömbökre képezi le, és a leképezés eredményét grafikusan és numerikusan ábrázolja. A hasonló mintákat a kiviteli réteg szomszédos elemeihez társítja, vagyis a minták input-térben való eloszlásán kívül, a köztük lévő topológiát is megtanulja. Az önszervező térkép egyszerre végzi az adatok klaszterezését és dimenzió csökkentését is. Ezért különböző típusú problémák megoldására alkalmas, és olyan módszerek mellett is alternatívát jelenthet, mint a főkomponens analízis, vagy a k-közép klaszterezés.

További csoportosítási lehetőségként különbséget tehetünk felügyelt és felügyelet nélküli tanulási módok között:

felügyelt tanulás esetén a training-halmaz egyaránt tartalmazza az input-, és az output-mintákat. Egy iterációs folyamat során a neuronok közötti kapcsolatok súlya úgy változik, hogy az adott bemeneti mintához a megfelelő eredményt rendeljék;

felügyelet nélküli tanulás esetén csak az input-mintahalmaz ismert, a kimeneti neuronok pedig versengenek bizonyos hasonlósági szempontok alapján a bemeneti mintákért. A nyertes neuronok súlyvektora a hozzátársított bemenet értéke alapján változik. Az ilyen típusú hálók segítségével szabályszerűségek deríthetők fel a mintaadatok eloszlásában.

10.3.1. A hálózatok tanítása

Tanításnak, vagy tanulásnak nevezzük azt a folyamatot, amikor a neurális hálózatot a felhasználó, egy adott probléma megoldására, valamely adott algoritmus alkalmazásával felkészíti. A tanulás valójában egy konvergens iteratív eljárás, amikor a rendszer meghatározza a legkedvezőbb súlyokat, paramétereket a tanító adatok alapján úgy, hogy a hálózat számított kimeneti értékei minél jobban közelítsék meg a kívánt kimeneti értékeket.

A hálózat tanulása nagymértékben függ a súlyok kezdeti értékétől. A tanítás iterációs lépései során az aktuális súlyokat valamilyen korrekcióval módosítják, a megfigyelt hálózati hibák alapján. Ez a folyamat addig tart, amíg a hálózat elér egy hiba minimumot. Ekkor befejeződik a tanítás. Mivel itt egy minimum kereséséről van szó, ezért érdemes a többszöri inicializálás és újra tanítás, mert lehetséges, hogy egy másik kezdeti súlyfelvétel után jobb eredményt ér el a hálózat. Említsük itt meg a tanítási módszerek két típusát

Delta szabály (Widrow és Hoff): az egyik legegyszerűbb módszer, ahol a számított wnew új súly a wold régi súly értékének és az elvárt ti valamint a számított ai kimenet különbségének egy 1-nél kisebb konstans (η: tanulási ráta) szorosának összege.

A η tanulási ráta érték szabályozza a súly értékének változását, így a tanulási sebességet. A tanítás első lépésében a kiinduló súlyértékek véletlen számok. Az iteráció mindaddig folytatódik, amíg a súlyok el nem érik a kívánt értéket.

• Backpropagation (hibavisszaterjesztéses) algoritmus: a többrétegű (MLP) előre csatolt hálózatok leggyakrabban alkalmazott tanítási algoritmusa. A tanulás során tanuló inputokat kap a háló. Ha a kimenet és a kívánt érték között eltérés van (hiba lép fel), akkor a súlyokat úgy módosítjuk, hogy a hiba csökkenjen. Egy többrétegő hálóban minden egyes bemenetet több súly köt össze egy kimenettel, és ezen súlyok mindegyike több mint egy kimenet értékének kialakításában vesz részt. A hibavisszaterjesztési algoritmus nem más, mint a kimeneti hiba ésszerő szétosztása az egyes súlyok kimenetre gyakorolt hatásai közt.

Túltanulás (over-fitting) jelensége lép fel, amikor a tanulási folyamat során nem az általános összefüggéseket, hanem az adott minta sajátosságait tanulja meg a modell. Ennek elkerülése érdekében kettéosztjuk a mintát tanulási és tesztelési részmintákra. A tesztmintákat nem használjuk fel a tanítás során, de ismertek az összetartozó be és kimeneti értékeik. A tanulási mintán tanított modell eredményeit összehasonlítjuk a tesztelési mintán elért eredményekkel (verifikáció). Ha a pontosság hasonló a tanulási mintáéhoz, akkor a modell elfogadható. Ha viszont a tesztelési mintán mért hibaarányok jelentősen meghaladják a tanulási mintán mért szintet, akkor bizonyítást nyer a túltanulás, új modellt kell készíteni. A túltanulás elkerülését alapvetően a tanuló ciklusok számának helyes megválasztása biztosíthatja. Ez gyakorlatban számos kísérletezést és folyamatos nyomon követést takar. Az eredmény eléréséhez ugyanakkor rendkívül fontos, mivel sem az elégtelenül megedzett, sem a túltanult neurális háló nem alkalmas előrejelzésre.

Megfelelően sok neuron felvétele esetén a neurális hálózatok alkalmasak pl. interpolációra, vagyis tökéletesen meg tudják tanulni a tanítópontok adatait. A neurális hálózattól azt várjuk el, hogy ne csak a tanítópontokban, hanem a tanítópontok között is jó közelítést adjon. A tanítópontok mellett ezért szükség van tesztpontokra is, hogy minősíteni tudjuk a hálózatokat. Ha nincsenek tesztpontjaink az ellenőrzéshez, akkor viszont könnyen túltaníthatjuk a hálózatot. A túltanítás itt azt jelenti, hogy míg a tanítópontok hibája egyre csökken, addig a tesztpontok hibája egyre nagyobb lesz, a hálózat túlzottan illeszkedik a tanítópontokra (Zaletnyik, 2003).