Mesterséges neurális hálózatok (ANN) a gépi tanulásban – Data Science Central
On szeptember 24, 2021 by adminMesterséges neurális hálózatok – Bevezetés
A mesterséges neurális hálózatok (ANN) vagy neurális hálózatok számítási algoritmusok.
A “neuronokból” álló biológiai rendszerek viselkedésének szimulálására szolgálnak. Az ANN-ek olyan számítási modellek, amelyeket az állatok központi idegrendszere ihletett. Képes a gépi tanulásra, valamint a mintafelismerésre. Ezeket egymással összekapcsolt “neuronok” rendszereként mutatják be, amelyek képesek bemenetekből értékeket kiszámítani.
A neurális hálózat egy orientált gráf. Csomópontokból áll, amelyek a biológiai analógiában neuronokat jelentenek, és ívekkel vannak összekötve. Ez megfelel a dendriteknek és a szinapszisoknak. Minden ívhez egy súly társul, míg az egyes csomópontoknál. Alkalmazza a csomópont által bemenetként kapott értékeket, és meghatározza az aktiválási függvényt a bejövő ívek mentén, amelyet az ívek súlyai állítanak be.
A neurális hálózat egy gépi tanulási algoritmus, amely az emberi neuron modelljén alapul. Az emberi agy több millió neuronból áll. Elektromos és kémiai jelek formájában küld és dolgoz fel jeleket. Ezek a neuronok egy speciális struktúrával, az úgynevezett szinapszisokkal kapcsolódnak egymáshoz. A szinapszisok lehetővé teszik a neuronok számára a jelek továbbítását. A nagyszámú szimulált neuronokból neurális hálózatok alakulnak ki.
A mesterséges neurális hálózat egy információfeldolgozási technika. Úgy működik, mint ahogy az emberi agy feldolgozza az információkat. Az ANN nagyszámú összekapcsolt feldolgozóegységet tartalmaz, amelyek együtt dolgoznak az információ feldolgozásában. Értelmes eredményeket is generálnak belőle.
A neurális hálózatot nemcsak osztályozásra alkalmazhatjuk. Folyamatos céltulajdonságok regressziójára is alkalmazható.
A neurális hálózatok nagyszerű alkalmazást találnak az ágazatokban használt adatbányászatban. Például a közgazdaságtan, a kriminalisztika stb. és a mintafelismerés. Nagy mennyiségű adat gondos betanítása után adatosztályozásra is használható.
A neurális hálózat a következő 3 réteget tartalmazhatja:
- Bemeneti réteg – A bemeneti egységek aktivitása jelenti a hálózatba táplálható nyers információt.
- Rejtett réteg – Az egyes rejtett egységek aktivitásának meghatározására. A bemeneti egységek aktivitása és a bemeneti és a rejtett egységek közötti kapcsolatok súlyai. Lehet egy vagy több rejtett réteg.
- Kimeneti réteg – A kimeneti egységek viselkedése a rejtett egységek aktivitásától és a rejtett és kimeneti egységek közötti súlyoktól függ.
Mesterséges neurális hálózat rétegei
A mesterséges neurális hálózat jellemzően rétegekbe szerveződik. A rétegek sok egymással összekapcsolt “csomópontból” állnak, amelyek egy “aktiváló függvényt” tartalmaznak. Egy neurális hálózat a következő 3 réteget tartalmazhatja:
a. Bemeneti réteg
A bemeneti réteg célja, hogy bemenetként megkapja az egyes megfigyelésekhez tartozó magyarázó attribútumok értékeit. Általában a bemeneti rétegben a bemeneti csomópontok száma megegyezik a magyarázó változók számával. A “bemeneti réteg” bemutatja a mintákat a hálózatnak, amely kommunikál egy vagy több “rejtett réteggel”.
A bemeneti réteg csomópontjai passzívak, azaz nem változtatják meg az adatokat. Egyetlen értéket kapnak a bemenetükön, és ezt az értéket sokszorosítják a sok kimenetükön. A bemeneti rétegből minden értéket megduplikál, és elküldi az összes rejtett csomópontnak.
b. Rejtett réteg
A rejtett rétegek adott transzformációkat alkalmaznak a bemeneti értékekre a hálózaton belül. Ebben a bejövő ívek, amelyek más rejtett csomópontokból vagy bemeneti csomópontokból mennek, minden egyes csomóponthoz csatlakoznak. Kimenő ívekkel csatlakozik a kimeneti csomópontokhoz vagy más rejtett csomópontokhoz. A rejtett rétegben a tényleges feldolgozás súlyozott “kapcsolatok” rendszerén keresztül történik. Lehet egy vagy több rejtett réteg. A rejtett csomópontba belépő értékeket megszorozzuk a súlyokkal, a programban tárolt, előre meghatározott számok halmazával. A súlyozott bemenetek ezután összeadódnak, hogy egyetlen számot kapjunk.
c. Kimeneti réteg
A rejtett rétegek ezután egy “kimeneti réteghez” kapcsolódnak. A kimeneti réteg a rejtett rétegekből vagy a bemeneti rétegből kapja a kapcsolatokat. Visszaad egy kimeneti értéket, amely megfelel a válaszváltozó előrejelzésének. Az osztályozási problémákban általában csak egy kimeneti csomópont van. A kimeneti réteg aktív csomópontjai kombinálják és módosítják az adatokat a kimeneti értékek előállításához.
A neurális hálózatnak a hasznos adatmanipulációra való képessége a súlyok megfelelő megválasztásában rejlik. Ez eltér a hagyományos információfeldolgozástól.
A neurális hálózat felépítése
A neurális hálózat felépítését “architektúrának” vagy “topológiának” is nevezik. Ez a rétegek, elemi egységek számából áll. Tartalmazza továbbá az Interconchangend Weight adjustment mechanizmust. A struktúra megválasztása határozza meg a kapott eredményeket. Ez a legkritikusabb része a neurális hálózat megvalósításának.
A legegyszerűbb struktúra az, amelyben az egységek két rétegben oszlanak el: Egy bemeneti réteg és egy kimeneti réteg. A bemeneti rétegben minden egységnek egyetlen bemenete és egyetlen kimenete van, amely megegyezik a bemenettel. A kimeneti egység a bemeneti réteg összes egységét összekapcsolja a bemenetével, egy kombinációs függvénnyel és egy átviteli függvénnyel. A kimeneti egységből 1-nél több is lehet. Ebben az esetben a kapott modell lineáris vagy logisztikus regresszió. ez attól függ, hogy az átviteli függvény lineáris vagy logisztikus. A hálózat súlyai a regressziós együtthatók.
A bemeneti és kimeneti rétegek és az ebben a rétegben lévő egységek között 1 vagy több rejtett réteg hozzáadásával a neurális hálózat előrejelző képessége nő. A rejtett rétegek számának azonban a lehető legkisebbnek kell lennie. Ez biztosítja, hogy a neurális hálózat ne tárolja el a tanulási halmaz összes információját, hanem képes általánosítani, hogy elkerülje a túlillesztést.
Túlillesztés előfordulhat. Ez akkor következik be, amikor a súlyok hatására a rendszer a struktúrák felfedezése helyett a tanulási halmaz részleteit tanulja meg. Ez akkor fordul elő, ha a tanulási halmaz mérete túl kicsi a modell komplexitásához képest.
A rejtett réteg jelen van vagy nincs, a hálózat kimeneti rétege néha sok egységből állhat, ha sok osztályt kell megjósolni.
A neurális hálózatok előnyei és hátrányai
Lássuk a neurális hálózatok néhány előnyét és hátrányát:
- A neurális hálózatok jól teljesítenek lineáris és nemlineáris adatokkal, de a neurális hálózatok gyakori kritikája, különösen a robotikában, hogy a valós működéshez nagy változatosságú tréningre van szükség. Ez azért van így, mert minden tanuló gépnek elegendő reprezentatív példára van szüksége ahhoz, hogy megragadja a mögöttes struktúrát, amely lehetővé teszi számára az új esetekre való általánosítást.
- A neurális hálózatok akkor is működnek, ha egy vagy néhány egység nem reagál a hálózatra, de a nagy és hatékony szoftveres neurális hálózatok megvalósításához sok feldolgozási és tárolási erőforrásra van szükség. Míg az agy rendelkezik a neuronok gráfján keresztül történő jelfeldolgozás feladatára szabott hardverrel, még a legegyszerűsített formájának Von Neumann-technológián történő szimulálása is arra kényszerítheti a neurális hálózat tervezőjét, hogy több millió adatbázis-sort töltsön meg a kapcsolataihoz – ami hatalmas mennyiségű számítógépes memóriát és merevlemez-területet emészthet fel.
- A neurális hálózat az elemzett adatokból tanul, és nem igényel újraprogramozást, de ezeket a modelleket “fekete doboz” modelleknek nevezik, és nagyon kevés betekintést nyújtanak abba, hogy ezek a modellek valójában mit csinálnak. A felhasználónak csak be kell táplálnia a bemenetet, és figyelnie kell, ahogyan edz, és várnia kell a kimenetet.
Következtetés
AzANN-okat egyszerű matematikai modelleknek tekintik a meglévő adatelemzési technológiák továbbfejlesztésére. Bár nem hasonlítható össze az emberi agy teljesítményével, mégis ez a mesterséges intelligencia alapvető építőköve.
Vélemény, hozzászólás?