Neurális hálózat

(Neuron-hálózat szócikkből átirányítva)
Ez a közzétett változat, ellenőrizve: 2021. február 13.

A neurális hálózat biológiai neuronok összekapcsolt csoportja. Modern használatban a szó alatt a mesterséges neurális hálót értjük, amelyek mesterséges neuronokból állnak. Így a neurális háló kifejezés két különböző koncepciót is jelent:

  1. A biológiai neurális hálózat a gócok csatlakozása, vagy funkcionálisan összefüggő neuronok, a periférikus idegrendszerben, vagy a központi idegrendszerben. A neurális tudományok területén a leggyakrabban az idegrendszer egy csoportjának azonosítják, mely laboratóriumi analizálásra alkalmas.
  2. A mesterséges neurális hálózat, egy biológiai indíttatású gép/program, ami a biológiai neurális hálózat néhány tulajdonságát modellezi. Az alkalmazások többsége technikai jellegű, és nem kognitív modell. A mesterséges neurális hálók nem csak a biológia, hanem más tudományterületek (matematika, fizika, pszichológia) eredményeit is felhasználják.
Egy neurális hálózat egyszerűsített nézete
Egy biológiai neuron vázlata
Egy mesterséges neuron vázlata

A természetes neuron-hálózatok vagy mesterséges neuron-hálózatok N-hálók származástól függetlenül a hálók működésének mechanizmusa többé-kevésbé megegyezik: ezen hálózatok alapelve, hogy a számolásokat egymással összekapcsolt kis feldolgozóegységek, neuronok végzik. A számítások során fontos szerepet játszik a neuronok közötti kapcsolatrendszer, ezért a neurális hálókat konnekciós hálózatoknak, a velük foglalkozó szakembereket pedig konnekcionistáknak is nevezik.

A neurális hálózat egyszerű egységekből áll, abban az értelemben, hogy belső állapotai leírhatók számokkal, ezek az aktivációs értékek. Mindegyik egység generál egy aktiválási értéktől függő kimeneti értéket (jelet). Az egységek csatlakoznak egymáshoz, mindegyik csatlakozás tartalmaz egy egyéni súlyt (szintén számokkal leírva, lásd súlyozás). Minden egység kiküldi a kimeneti értékét az összes többi egységnek, amelyekkel kimenő kapcsolatban vannak. A "rendszer" bemenetei lehetnek érzékszervek vagy mesterséges szenzorok, érzékelők adatai, míg kimenetei lehet a viselkedés, jel egy kimeneti neuronon, esetleg bármilyen mesterségesen megjelenített válasz egy kérdésre (amik neuron-hálózatok esetében persze mintázatok). Ezen kapcsolatok miatt az egység kimenete hatással van a másik egység aktivációjára. A kapcsolat bemeneti oldalán álló egység fogadja az értékéket, és azok súlyozásával kiszámolja az aktivációs értékét (összeszorozza a bemeneti jelet a hozzá tartozó bemenet súlyával, és veszi ezek összegét) A kimenetet az aktivációtól függően az aktivációs függvény határozza meg (pl az egység kimenetet generál –„tüzel”- ha az aktivizáció egy határérték felett van). Hogy ezek a jelek (értékek) elektrokémiai, elektromos, netán szimbolikus, ez a "megvalósítás" mikéntjétől (biológiai, hardver, szoftver) függ, de ez a működés alapelveit nem befolyásolja.

Fontos megjegyezni, hogy a neuronok bár számításokat végeznek ugyan, de mégsem processzorok. A fő különbség a kettő között az, hogy amíg a processzorokat programozzák (szekvenciális utasítássorozatot adnak meg neki), addig a neuronokat tanítják (a súlymátrix értékeinek beállításával). A hálózat tanulási technikája lehet ellenőrzött, ill. nem ellenőrzött típusú tanulás. Az ellenőrzött tanulású N-hálók esetében a rendszer nagyszámú, előre megadott példa alapján tanul: speciális algoritmusokkal addig változtatja a neuronok közötti kapcsolatokat, míg a megadott bemenetek mindig a megadott kimeneteket "okozzák". Ilyenkor a hálózat a legtöbb esetben a csatlakozások súlyának módosításával tanul. A súlymódosítás során az ún. hibafüggvény eredményét veszi figyelembe. A hibafüggvény értékét sokféle módon lehet kiszámítani, a legegyszerűbb eset, amikor a kimeneti értékből kivonja a helyes kimeneti értéket.

A nem ellenőrzött hálóknál leginkább a Kohonen önszervező térképet használják, amely hálózat azon feltételezések alapján működik, hogy a hálózat képes a teljes bemeneti mintakészlet közös jellemzőinek azonosítására.

Neurális hálózatok tervezésének menete

szerkesztés
  • Reprezentatív tapasztalati adat gyűjtése (bemeneti adatok és elvárt válaszok)
  • Megfelelő feladat specifikus neurális paradigma kiválasztása
  • Rendszer paraméterek (a neuronok átviteli függvényének, a neuronok számának, a tanítási módszernek és paramétereinek, valamint a kezdeti súlymátrix értékeinek) kiválasztása
  • Teljesítmény mérő módszer kiválasztása
  • A rendszer tanítása és tesztelése (amíg az elvárt eredményhez nem jutunk vagy a sikertelenség miatt fel nem adjuk a tanítást)

Tervezéskor felmerülő kérdések

szerkesztés

Neuron szinten:

  • a neuron átviteli függvénye
  • a bemenő jelek típusa

Hálózat szinten:

  • a hálózat topológiája
  • rétegelt struktúránál a rétegek száma
  • neuronok száma a különböző rétegekben
  • neuronok típusa a különböző rétegekben

Tanítási szinten

  • tanító algoritmus
  • tanítási paraméterek (pl.: α, β,….)
  • a tanítás megállásának feltételei

Célszerű neurális hálózatot alkalmazni

szerkesztés
  • A megoldandó problémával kapcsolatban gazdag adathalmaz áll rendelkezésre
  • A megoldáshoz szükséges szabályok ismeretlenek
  • A rendelkezésre álló adathalmaz nem teljes, hibás adatokat is tartalmazhat
  • Sok összefüggő bemenő adat és összefüggő kimeneti paraméter áll rendelkezésre

Neurális hálózatok általános jellemzői

szerkesztés
  • Nincs tudás-hozzáférési probléma
  • Dinamikus tudásábrázolás
  • Minta kiegészítő képesség (általánosítás = generalizálás)
  • Robusztus (nem érzékeny az adatvesztésre)
  • Interpolálni képes
  • Többet „tudhat” az adatok alapján mint egy emberi szakértő
  • Nincs magyarázatadás
  • Nincs igazoló képessége

Külső linkek a témáról: [1] [2] [3][halott link] [4]