1.1. A neurális hálózat definíciója, működése
Neurális hálózatnaknevezzük azt a hardver vagy szoftver megvalósítású párhuzamos, elosztott működésre képes információfeldolgozó eszközt, amely:
-
azonos, vagy hasonló típusú – általában nagyszámú – lokális feldolgozást végző műveleti elem, neuron(processing element, neuron) többnyire rendezett topológiájú, nagymértékben összekapcsolt rendszeréből áll,
-
rendelkezik tanulási algoritmussal (learning algorithm), mely általában minta alapján való tanulást jelent, és amely az információfeldolgozás módját határozza meg,
-
rendelkezik a megtanult információ felhasználását lehetővé tevő információ előhívási, vagy röviden előhívási algoritmussal (recall algorithm).
A fenti definíció kulcsfogalmainak tisztázására a következőkben rendre megvizsgáljuk az alkalmazott műveleti elemek (neuronok) felépítését, az összeköttetéseket, illetve a tipikus topológiákat. A tanulási algoritmusok részletesebb áttekintésére a 2. fejezetben kerül sor, ebben a fejezetben csupán az alapfogalmakra utalunk.
A fentiek értelmében a neurális hálózatok működésénél tipikusan két fázist különböztethetünk meg. Az első fázis, melyet tanulási fázisnak nevezünk, a hálózat kialakítására szolgál, melynek során a hálózatba valamilyen módon beépítjük, eltároljuk a rendelkezésre álló mintákban rejtve meglévő információt. Eredményként egy információ-feldolgozó rendszert kapunk, melynek használatára általában a második fázisban, az előhívási fázisban kerül sor. A két fázis a legtöbb esetben időben szétválik. A tanulási fázis rendszerint lassú, hosszú iterációkat, tranzienseket, esetleg sikertelen tanulási szakaszokat is hordoz. Ezzel szemben az előhívási fázis tipikusan gyors feldolgozást jelent (bár − a visszacsatolt hálózatok esetén, ld. 1.2.3. alfejezet − ez is lehet tranziensekkel terhelt).
A két fázis mindamellett nem minden esetben válik szét, adaptív viselkedésű hálók az információ előhívási szakaszban is módosítják a képességeiket, tulajdonságaikat, tanulnak. Erre abban az esetben van szükség, ha a környezet vagy a minták által szolgáltatott információ időben változik, így az információ-feldolgozó eljárásnak is változni kell. Ezekre a hálózatokra is jellemző mindazonáltal, hogy egy hosszabb, tisztán tanulási szakasz előzi meg a párhuzamos tanulási-előhívási szakaszt.
Hangsúlyoznunk kell, hogy bár a fentiek értelmében más programozási eljárások is felfoghatók tanításnak, a neurális hálók esetén az eljárás döntően eltér a hagyományostól. Procedurális programozás esetén például valamilyen matematikai algoritmus kódolását, deklaratív programozás esetén pedig a probléma leírását, matematikai modelljének megalkotását végezzük el. Neurális hálók tanításánál viszont a bemeneti vagy a bemeneti és a kimeneti ismert minták alapján a neurális háló paramétereit módosítjuk a kívánt leképezés megvalósítása érdekében, anélkül, hogy előzetesen a problémához illeszkedő speciális modellt vagy algoritmust alkotnánk. A neurális háló felépítése, mint látni fogjuk, rendszerint általános, a megoldandó feladatok viszonylag széles körére alkalmas. Az egyes konkrét feladatok megoldása legtöbb esetben az általános struktúrájú eszköz paramétereinek a tanulás során való beállításával történik.