fbpx

Mesterséges Neurális Hálózatok

Social share

A mesterséges neurális hálózatok napjaink egyik legtöbb esetben használt gépi tanulási algoritmusa. Számos területen felhasználható, például a nyelvfeldolgozásban, vagy a gépi látásban. Sok esetben használatos a mély tanulás vagy a nagy adathalmazok, összefüggések értelmezésére.

Intuíció a neurális hálózatok mögött

Ha a “neurális” jelzőt halljuk, első dolog, ami eszünkbe jut az emberi agy neuronhálója. Ezek a hálózatok felelősek az emberek döntéshozatalában. A legnagyobb különbség az emberi neurális háló és a robotok mesterséges neurális hálója között, hogy az ember képes önmagától tanulni, a környezetét ért hatásokból, szemben a robotokkal, akik megadott utasításokat követnek és ezeket hajtják véghez, a végrehajtásokból nem fejlesztik önmagukat.

A gépi tanulás és azon belül a neurális hálózatok esetében a mesterséges intelligencia képes tanulási fázisban önmaga fejlesztésére, ezáltal pontosabb becslési hatékonyság megvalósítására. Amikor az információ keresztül halad a neurális hálózaton, a rendszer érzékeli az elvárt és tényleges kimeneti adatok között az eltérést, így változtatja a paramétereit. Minél több adat halad keresztül a hálózaton, annál pontosabb becslést biztosít a rendszer. Ezt nevezik a tanulás folyamatának.

Fontos elemei

Két fő elem alkotja a neurális hálózatokat ezeket kapcsolatoknak és csomópontoknak nevezzük. Minden kapcsolat rendelkezik egy hozzá asszociált numerikus súllyal, ami meghatározza a kapcsolat előjelét és erősségét. A csomópontoknál egy matematikai művelet történik meg, hasonló módon, mint az ember agyában. A csomópont az előző kapcsolat alapján történő adat bevitelét egyesíti egy olyan együtthatóval, vagy súllyal, amely a csomópont szempontjából erősíti vagy csillapítja az adott bemenetet. Így lehetséges az egyes paraméterek fontosságát meghatározni a tanuló algoritmus szempontjából, azaz hogy mely bemenetek a leghasznosabbak adott csomópont esetén a hibamentes kimenet becsléséhez.

neurális hálózat
3-4-2 neuronszámú, három rétegű, teljesen kapcsolt mesterséges neurális hálózat.
Forrás: Wikipédia

Az egy csomópontba érkező bemeneteket összegezzük, majd az összeget egy aktivációs függvény segítségével dolgozzuk fel. Az aktivációs függvény segít meghatározni, hogy egy adott jel tovább haladjon-e a hálózaton vagy sem, ezáltal hogyan befolyásolja a végső kimenetet.

Ha a jelek továbbhaladnak az adott csomóponton vagy neuronon, az adott neuront aktívnak nevezzük.

Az elején említettek alapján, hálózatban egy szinten lévő neuronok alakítják ki a rétegeket a rétegek összessége pedig a neurális hálózatot. Az eredeti bemenetek megfelelően súlyozva érkeznek az első réteghez, ott bizonyos neuronokat aktiválva tovább lépnek a következő rétegekbe.

Ez folytatódik egészen addig, amíg el nem érkezünk a kimenethez (lehet egy vagy több is). A tanulási folyamat során a tanító adatok segítségével, megadott bemenetek felhasználásával beállítjuk a hálózatban levő súlyokat és aktivációkat úgy, hogy az elvárt és a tényleges kimenet között minél kisebb legyen a különbség. Ezután a neurális hálózat készen áll, hogy valódi, vagy új adatok alapján a bemenetek segítségével meghatározzuk a nem ismert kimeneteket.