• Nem Talált Eredményt

Perceptron típusú neuron

2.1. Tanítási módszerek

A neurális hálózatok legfőbb jellemzője az adaptációs tanulási képes-ség. A neurális hálózatokban a tanulás egyszerűen a rendszer valamilyen képességének javítását jelenti. Így tanulásról beszélhetünk, amikor olyan hálózatarchitektúrát, illetve súlytényezőket keresünk, amelyek mellett egy hálózat egy adott függvénynek a minél jobb approximációjára lesz képes, de tanulás során egy hálózat azon képessége is fejleszthető, amely a beme-netére kerülő minták közötti hasonlóság megállapítását teszi lehetővé [4].

A neurális hálózatok főbb tanulási formái [6]:

1. Tanítóval történő tanulás (ellenőrzött, felügyelt vagy irányított ta-nulásnak is nevezik)

2. Megerősítéses tanulás

3. Tanulás tanító nélkül (nem ellenőrzött vagy felügyelet nélküli tanu-lás)

4. Analitikus tanulás

2.1.1. Ellenőrzött tanulás

Ellenőrzött tanulásnál a hálózat paramétereinek hangolására összetar-tozó be- és kimeneti értékek, úgynevezett tanítópárok állnak rendelkezésre.

A tanítás azon alapszik, hogy ismertek a hálózatnak valamely bemenetek-re adandó kívánt válaszai, így a hálózat tényleges válasza minden esetben közvetlenül összehasonlítható a kívánt válasszal (2.1. ábra). Az összehason-lítás eredménye – az elvárt kimenet és a számított válasz különbsége (hiba) – felhasználható a hálózat paramétereinek a módosítására. A paraméterek hangolásának az a célja, hogy a számított válaszok a kívánt válaszokkal mi-nél jobban megegyezzenek, a hálózat kimenete és a kívánt kimenet közötti különbség csökkenjen. Ellenőrzött tanulásról beszélünk akkor is, amikor a kívánt válasz pontosan nem ismert, csupán annyit tudunk, hogy a neurális hálózat válasza helyes vagy nem. Ezt megerősítéses (reinforcement) tanu-lásnak nevezzük.

A neurális hálózatok tanításakor meg kell említeni a tanítási folyamat fontosabb lépéseit. Fontos kiemelni azt, hogy az információ a neurális háló súlytényezőiben van eltárolva. A tanítási folyamat ezen súlytényezők meg-határozását, beállítását, módosítását jelenti.

A tanítás egy ciklikusan ismétlődő folyamat, amely során a tanítóhal-mazból egyenként vesszük a bemeneteket, megmutatjuk a hálónak, az adott bemenetre kiszámoljuk a háló kimenetét, felhasználva az aktuális súlyténye-zőket, hangolható paramétereket, majd az elvárt érték és a számított érték között számolunk egy hibát. A kapott hibát majd alkalmazzuk a súlyténye-zők módosítására.

A tanítási algoritmust két különböző osztályba sorolhatjuk, attól függő-en, hogy milyen módon határozzuk meg a hibát: minden bemenetre egyen-ként számolunk egy hibát vagy csak a teljes tanítóhalmazra számolunk egy hibavektort.

Első esetben a tanítás a hiba pillanatnyi értéke alapján történik. A má-sodik esetben a tanítóhalmazból nem egy, hanem egy blokknyi mintára szá-mított globális hiba alapján valósul meg a súlytényezők újraszámolása. Ezt a tanítási módot szokás batch tanításnak nevezni. Grafikai processzorokkal (GPU) való mély neuronhálózat tanítása során ezzel a paraméterrel lehet szabályozni a tanulási képességet, nyilván többletmemória-igénnyel. A pil-lanatnyi hiba alapján történő tanításhoz kevesebb erőforrásra, memóriára van szükség.

Több tanítási algoritmust lehet alkalmazni egy sokváltozós optimali-zálási feladatra, mint például a neuronhálók paramétereinek a hangolása.

2.1. Tanítási módszerek 39

2.1. ábra. Tanítóhalmaz elemeinek a neuronháló bemeneteire való kapcso-lása

A legegyszerűbb megoldás a gradiensalapú módszerek alkalmazása. A neu-ronháló tanítására alkalmazhatóak genetikus módszerek, rajelméletre épülő optimalizáló algoritmusok.

Tanító halmaz – be- és kimeneti elempárok, amelyek rendelkezésünkre állnak. Általában ezt egy táblázatban tároljuk.

Tanítási ciklus – a tanítás során a tanító halmazból veszünk egy be-és kimeneti elempárt. Az adott bemenetre kiszámoljuk a neuron (neurális háló) kimenetét. Az elvárt érték és számított értékből számolt hibát felhasz-náljuk a súlytényezők (paraméterek) módosítására. A tanítás során vesszük egyenként a tanító halmazból az elempárokat, és minden elempárra elvé-gezzük a paraméter-módosítást. Egy számítási ciklust – a háló tanítását az összes elempárra – tanítási ciklusnak nevezünk.

Egy neurális háló tanítása a tanítási ciklusok sorozatából tevődik össze.

A tanítás befejeződését annak alapján dönthetjük el, hogy közben leellen-őrizzük, hogy a háló teljesíti-e az elvárt feltételeket. A felügyelt tanítás esetében például minden tanítási ciklusra számolunk egy globális hibát, egy előre meghatározott kritériumfüggvény (költségfüggvény) alapján, melyet

ábrázolunk, és ha a hiba egy bizonyos küszöbérték alá kerül, leállítjuk a tanítást.

A tanítás lényegében két fázisból tevődik össze:

– első fázis a tanítási fázis, amikor tanítjuk a hálót, és erre rendelkezés-re áll egy tanító halmaz, amely ki-bemeneti elempárokat tartalmaz;

– tesztelő fázis, amikor leellenőrizzük a háló viselkedését olyan beme-netekre is, amelyekre nem tanítottuk a neuronhálót, nem végeztünk súlytényező-módosítást.

Előfordulhat, hogy a tanítás sikerrel jár, de a tesztelés sikertelen. Eb-ben az esetEb-ben akár újra kell gondolni a neuronháló szerkezetét, módosítani egyes paramétereket, újra kell tanítani a hálót. Mindkét esetben százalékban szokták kifejezni, hogy a tanító halmaz hány százalékára viselkedik helye-sen a háló. A sikeres tanítás és tesztelés után elmentjük a súlytényezőket és alkalmazhatjuk a hálót. Ahhoz, hogy egy adott pontossággal meg tud-juk határozni, hogy hány százalékban ad helyes eredményt a háló, a tanító halmaznak megfelelő számú elemet kell tartalmaznia. Ha 10 darab elemre tanítjuk a hálót, csak 10%-os pontossággal tudjuk meghatározni a helyes működést. Ha 10 elemből egy elemre téved, azt jelenti, hogy 90%-ban he-lyesen működik a háló.

Ha minden tanítási ciklus végén mind a tanító halmazra, mind a teszt-halmazra kiszámoljuk a hibát és egy grafikonon ábrázoljuk, következtetni lehet a neuronháló túltanítására.

2.2. ábra. Túltanítás

Akkor beszélünk túltanításról (2.2. ábra), amikor a tanító halmazon a hiba csökken, viszont a teszthalmazon a hiba elkezd növekedni. A tanítás első fázisában, hasonló mintákra, a tanító és teszthalmazban mindkét hiba

2.1. Tanítási módszerek 41 elkezd csökkenni. A tanítás során a neuronháló a teszthalmazban található mintákra egyre jobban kezd illeszkedni, viszont egy adott ponttól a teszt-halmazban található mintáktól elkezd távolodni (a teszthalmazon számított hiba elkezd növekedni). Ettől a pillanattól mondjuk azt, hogy túltanítottuk a neuronhálót. Ha megtörténik a túltanítás, abban az esetben le kell állítani a tanítást és módosítani a neuronháló paramétereit vagy a tanító algoritmus beállításait, és újra kell kezdeni a tanítást.

2.1.2. Megerősítéses tanulás

A megerősítéses tanulás során a hálózat logikai {0,1} vagy egy valós értéket kap egy tanítási ciklust követően, amely meghatározza, hogy az eredmény helyes-e vagy hibás.

A tanítókészlet bemeneti mintázatokból áll, a tanítási ciklus befejezé-se után egy megerősítébefejezé-ses érték jelzi, hogy az eredmény helyes volt-e vagy nem, egyes esetekben visszajelzés van arról is, hogy mennyire rossz vagy jó a neuronháló döntése. Ez alapján történik a súlytényezők tanítása (2.3.

ábra). Egy lehetséges tanítás, hogy a helyes válaszokra kapott bemeneteket és a neuronháló kimenetén kapott eredményt hozzáadjuk a tanító halmaz-hoz. A rossz válaszok nem kerülnek be a tanítóhalmazba. A megerősítéses tanulás részletes ismertetése és a gyakorlati feladatok szemléltetése a [7]

szakirodalomban van részletezve.

2.3. ábra. Megerősítéses tanulás [2]

2.1.3. Nem ellenőrzött tanulás

A nem ellenőrzött tanulás esetében nem állnak rendelkezésünkre adott bemenethez tartozó kívánt válaszok. A hálózatnak a bemenetek és a kime-netek alapján kell valamilyen viselkedést kialakítania, a környezetből nincs semmiféle visszajelzés, ami a hálózat viselkedésének helyességére utalna.

Ebben az esetben is rendelkezésünkre áll egy tanító halmaz, de csak beme-neteket tartalmaz, és nem tartalmazza az elvárt kimebeme-neteket.

2.1.4. Analitikus tanulás

Az analitikus tanítás során a megfelelő viselkedést biztosító hálózat ki-alakítása elméleti úton, a feladatból határozható meg. Ebben az esetben nem is beszélhetünk tanulásról, a hálózat megfelelő kialakítása nem lépé-senként, a környezetből szerzett információ fokozatos felhasználása révén, hanem analitikus módszerekkel végezhető el.