2. fejezet - Tanulás adatokból
A neurális hálózatokegyik legfőbb jellemzője az adaptációs, tanulási képesség. Az adaptáció és a tanulás olyan fogalmak, amelyek alapjában az élő szervezetek képességeit jellemzik; azt a képességüket, hogy viselkedésüket a környezetből nyert ismeretek, tapasztalatok felhasználásával módosítani, javítani tudják.
A tanulásegzakt definiálása meglehetősen nehéz, hiszen tanulásnak nevezhető az ismeretek, tapasztalatok egyszerű memorizálása, de tanulásnak tekinthető egy, a tapasztalatok alapján kialakított teljes tudományos elmélet létrehozása is.
Az élő szervezetek tanulásán túl − annak analógiájára − beszélhetünk gépi tanulásról is, illetve olyan gépekről is, melyek tanulásra képesek. A gépi tanulás során egy gép – a tanuló rendszer – a környezetéből nyert ismeretek alapján javítja a teljesítőképességét. A tanuló gépek konstrukciója valójában olyan algoritmusok kifejlesztését jelenti, melyek segítségével ez a teljesítőképesség-javítás automatikusan történik meg [Mit97], [Rus05].
Az élő szervezetek tanulásához hasonlóan a gépi tanulás is nagyon sokféle lehet. Neurális hálóknál a minták alapján történő tanulás a jellemző, amikor az általában nagymennyiségű adatból akarunk megfelelő ismereteket kinyerni és ezzel egy rendszer viselkedését módosítani.
A viselkedés módosítása általában arra irányul, hogy a rendszer adott bemenetekre előzetesen megadott ún. kívánt válaszokat adjon, de irányulhat arra is, hogy csupán a bemenetek ismeretében – tehát a kívánt válaszok ismerete nélkül – képes legyen a rendszer a bemenetekben valamilyen szabályosságot, hasonlóságot vagy különbözőséget feltárni. Van olyan eset is, amikor a kívánt választ pontosan ugyan nem tudjuk, de arról kapunk információt, hogy a rendszer jó vagy rossz választ adott-e.
A tanulási képesség lehetővé teheti azt is, hogy egy eddig megfelelő viselkedésű rendszer a változó körülményekhez való alkalmazkodás céljából módosítsa a viselkedését, adaptálódjon a változó körülményekhez. Az adaptív, tanuló rendszerek alapvető jellemzője tehát, hogy nem rögzített képességekkel rendelkeznek, amelyek egy adott feladat ellátására teszik őket alkalmassá, hanem képességeiket fejleszteni tudják, továbbá alkalmazkodni tudnak a változó körülményekhez, környezethez.
Neurális hálózatokban döntően a tanulás alábbi főbb formáival találkozhatunk:
Meg kell említenünk, hogy az elmúlt néhány évben intenzív kutatás tárgya lett az ún. félig ellenőrzött tanulás (semi-supervised learning) [Cha06]. Ennek sajátossága, hogy a felhasználható adatainknak csak egy része biztosítja az ellenőrzött tanulás lehetőségét, míg további adatoknál az ellenőrzött tanításhoz szükséges minden ismeret nem áll rendelkezésre. A félig ellenőrzött tanulás lehetővé teszi, hogy ez utóbbi adatok se vesszenek kárba, a tanuló rendszer konstrukciójához valamilyen módon az általuk szolgáltatott ismeretek is felhasználásra kerüljenek.
Ellenőrzött tanulásnál(supervised learning) a hálózat összetartozó be- és kimeneti értékei, tanító mintapont párok állnak rendelkezésre. A tanítás ezeken az ismert összerendelt mintapárokon alapul. A háló feladata, hogy megtanulja a mintapont párok által reprezentált bemenet-kimenet leképezést. Mivel ismertek a kívánt válaszok (a bemenetekhez tartozó kimenetek), a hálózat tényleges válasza minden esetben közvetlenül összehasonlítható a kívánt válasszal. Az összehasonlítás eredménye – a tényleges és a kívánt válasz különbsége – felhasználható a hálózat olyan módosítására, hogy a tényleges válaszok a kívánt válaszokkal minél inkább megegyezzenek, és a hálózat tényleges viselkedése és a kívánt viselkedés közötti eltérés csökkenjen. Az ellenőrzött tanulás általában iteratív eljárással, a környezetből származó ismeret fokozatos felhasználásával, a tanító mintapontok egyenkénti, esetenként többszöri, ismételt felhasználásával történik. Az ellenőrzött tanulásnak ezt a változatát tanítóval történő tanulásnak (learning with a teacher) is szokás nevezni.
A tanítóval történő tanításnál feltételezzük, hogy adott bemenetekhez tartozó kívánt válaszok korrekt értékei rendelkezésünkre állnak. Számos esetben nem rendelkezünk ezen információval, mindössze annyit tudunk, hogy adott bemenetekre a hálózat tényleges válasza helyes vagy hibás; tehát a környezetből csak egy bitnyi visszacsatolt információ áll rendelkezésünkre. Ezen információ a tanuló eljárás során csak arra elegendő, hogy eldöntsük: szükség van-e a hálózat módosítására vagy sem, de a módosítás mértékének meghatározására már nem elegendő. Az ellenőrzött tanulásnak ezt a fajtáját megerősítéses tanulásnak(reinforcement learning) nevezzük. A megerősítéses tanulásnál a visszajelzés tehát csak, mint egy általános kritika jelentkezik, ezért az ilyen tanuló eljárásokat szokás kritikussal történő tanításnak is nevezni (learning with a critic). A megerősítéses tanulás jól alkalmazható azon esetekben, ha a hálózat egy adott bemenetre nem csupán egy jó választ adhat [Her91].
Előfordulhat olyan eset is, amikor a környezet sztochasztikus jellege miatt adott bemenetre kapott válasznál csak a megerősítés valószínűségét tudjuk megadni. Ez a valószínűség azonban minden be-kimeneti párra rögzített. Ilyen jellegű feladattal találkozunk többek között gazdasági rendszerek modellezésénél és egyszerű játékoknál. A legáltalánosabb esetben mind a környezet − tehát a tanuló rendszer válaszát értékelő visszajelzés −, mind a rendszer bemenetei függnek a rendszer korábbi bemeneteitől.
Nemellenőrzött tanulásnál(unsupervised learning) nem állnak rendelkezésünkre adott bemenetekhez tartozó kívánt válaszok. A hálózatnak a bemenetek és a kimenetek alapján kell valamilyen viselkedést kialakítania; a környezetből azonban nincs semmiféle visszajelzés, ami a hálózat viselkedésének helyességére utalna. A nemellenőrzött tanulású hálózatoknak azt kell felderíteniük, hogy van-e a hálózat bemenetére kerülő adatokban, jelekben valami hasonlóság, van-e az adatok között korreláció, kialakíthatók-e a bemeneti adatok között kategóriák, csoportok. Itt tehát a háló által megvalósítandó leképezés pontosan nem definiálható. Ennek ellenére a hálózat képes önmaga módosítására, hogy a kategorizálás egyre sikeresebb legyen. E képességük miatt ezen hálózatokat szokás önszervező hálózatoknak (selforganizing networks) is nevezni.
Általában a nemellenőrzött tanulásra is az iteratív jelleg a jellemző.
Analitikus tanulásnála megfelelő viselkedést biztosító hálózat kialakítása szintén a mintapontok alapján, de nem az azokban megtestesülő ismeretek fokozatos felhasználásával, hanem közvetlen számítások útján, matematikai összefüggések kiértékelésével, analitikus módszerekkel történik. Analitikus tanulásnál az ismétlés, mint a tanuló eljárások egyik fontos eleme hiányzik. Valójában ebben az esetben olyan értelemben nincs is szó tanulásról, hogy kis lépésekben fokozatosan növeljük egy rendszer "tudását". Abban az értelemben azonban most is adatokból történő tanulásról beszélhetünk, hogy a környezetből származó információ általában itt is tanító minták formájában áll rendelkezésünkre.
Amikor analitikus tanulásról beszélünk, akkor nem az információ jellege, hanem sokkal inkább az információ felhasználási módja alapján kategorizáljuk a tanuló eljárást. Így analitikus tanulás lehetséges mind ellenőrzött, mind nemellenőrzött tanulásnál, de vannak olyan analitikus hálózatok, melyek sem az ellenőrzött, sem a nemellenőrzött tanulású hálók közé nem sorolhatók be.
Ha a hálóarchitektúrák oldaláról vizsgáljuk a kérdést, akkor is azt látjuk, hogy egyes neuronháló típusoknál a hálók konstrukciója alapvetően analitikus úton történik, más típusoknál mind analitikus, mind iteratív tanulás lehetséges, és vannak olyan hálóarchitektúrák, melyek kialakítása analitikus módszerekkel nem lehetséges. A súlymeghatározás analitikus módszereit a konkrét hálózatoknál fogjuk bemutatni.
A fejezet célja, hogy összefoglalja a mintákból történő tanulással kapcsolatos legfontosabb alapfogalmakat, a neurális hálózatoknál alkalmazott főbb tanulási eljárásoknál felmerülő fontosabb elvi kérdéseket és a tanuló eljárások általános jellemzőit. Nem foglalkozik azonban az egyes konkrét hálózatok tanításával, ezeket − alkalmazva a tanulásra vonatkozó általános ismereteket − az egyes hálózatokat bemutató későbbi fejezetek tárgyalják.
A 2.1 alfejezet az ellenőrzött tanítási eljárásokkal foglalkozik, ezen belül is a tanítóval történő tanulással – mint a neuronhálóknál alkalmazott egyik legfontosabb tanulási eljárással. A megerősítéses tanulás – bár számos alkalmazásban fontos szerepet tölt be − neuronhálóknál közvetlenül ritkán kerül alkalmazásra, ezért a megerősítéses tanulással részletesen nem foglakozunk, csak a megfelelő irodalomra utalunk pl. [Nar89b], [Sut98].
A 2.2 alfejezet a nemellenőrzött tanulás néhány fontos kérdéséről szól röviden. A 2.3 alfejezet a véges számú tanítómintából történő tanulás általános kérdéseivel foglalkozik a statisztikus tanuláselmélet alapjainak bemutatásán keresztül. A 2.4 alfejezet azt mutatja be, hogy az adatokból való tanulás és a statisztikai becslések (parméterbecslés) rokon területek. Az egyes tanuló eljárások statisztikai becslési eljárásként is értelmezhetők. A két terület közötti kapcsolat bemutatása lehetővé teszi, hogy a statisztikai becslések terén megszületett egyes általános eredmények a tanuló eljárások elemzésénél is felhasználhatók legyenek.
A fejezet utolsó részében a neuronhálók tanításánál fontos szerepet betöltő szélsőérték-kereső eljárásokkal foglalkozunk részletesebben. A felügyelt tanítás mindig visszavezethető szélsőérték-keresési feladatra, de megmutatható − és erre a megfelelő későbbi fejezetek ki is térnek −, hogy a nemellenőrzött tanítási eljárások is megfogalmazhatók szélsőérték-kereső feladatként.