konvolúciós neurális hálózat
Kiejtés
- IPA: [ ˈkoɱvoluːt͡sijoːʃ ˈnɛuraːliʃ ˈhaːloːzɒt]
Főnév
- (informatika) A konvolúciós neurális hálózat (angolul Convolutional Neural Network, röviden CNN) egy speciális típusú mesterséges neurális hálózat, amely elsősorban képi adatok feldolgozására és felismerésére készült. A CNN-ek kifejezetten jól működnek képfelismerési, objektumfelismerési, mintafelismerési és más vizuális feladatoknál, de a hang- és szövegfeldolgozásban is egyre gyakrabban alkalmazzák őket. A CNN-ek egyik fő jellemzője, hogy képesek automatikusan megtanulni a fontos jellemzőket (features) az adatból, például egy képből, anélkül, hogy ezek előzetes kézi beállítást igényelnének.
CNN felépítése
A CNN-ek több rétegből épülnek fel, amelyek közösen dolgoznak azon, hogy egy képi adatot feldolgozzanak és megértsenek. A legfontosabb rétegek:
- Konvolúciós réteg (Convolutional Layer) A CNN-ek elsődleges komponense a konvolúciós réteg, amely a képet vagy más bemenetet kis méretű mátrixokra (ablakokra, más néven “filterekre” vagy “kernelre”) osztja fel. Ezeket a filtereket az egész képen végiggörgetik (konvolúció), hogy kiszűrjék a jellemzőket, például éleket, formákat vagy textúrákat. A konvolúciós réteg azért hatékony, mert megtanulja felismerni a képen megjelenő mintázatokat anélkül, hogy előre be kellene programozni azokat.
- ReLU aktivációs réteg (Rectified Linear Unit) A ReLU réteg egy nemlineáris aktivációs függvény, amelyet gyakran használnak a CNN-ekben. A ReLU funkció célja, hogy eltávolítsa a negatív értékeket a bemeneti adatból, és csak a pozitív értékeket hagyja meg. Ez segít a modellnek abban, hogy ne váljon túlzottan bonyolulttá, és gyorsabb tanulást biztosít.
- Max pooling réteg A pooling réteg az adat méretének csökkentésére szolgál, miközben megőrzi a legfontosabb jellemzőket. A max pooling az egyik legelterjedtebb pooling technika, amely a bemeneti adatminta legnagyobb értékeit tartja meg. Ez a réteg csökkenti a hálózat számítási terhét, és hozzájárul a modell általánosítási képességéhez.
- Teljesen összekötött réteg (Fully Connected Layer) A CNN végső rétege egy vagy több teljesen összekötött réteg (fully connected layer), ahol minden neuron kapcsolódik az előző réteg összes neuronjához. Ezek a rétegek felelősek a magas szintű mintázatok felismeréséért és a végső döntések meghozataláért. Például egy képfelismerési feladatban itt történik a végső osztályozás (pl. macska vagy kutya a képen).
- Kimeneti réteg A kimeneti réteg az a hely, ahol a modell megadja a végső előrejelzést vagy osztályozást, például egy softmax függvényt használva több kategóriás osztályozási feladatoknál, vagy egy lineáris függvényt regressziós feladatoknál.
CNN működése lépésről lépésre
- Bemenet A CNN-ek bemenete általában egy képi adat, például egy 2D-s képmátrix, amelyet a rendszer feldolgoz. A bemenet lehet színes kép (három csatornával: vörös, zöld és kék), vagy fekete-fehér kép (egy csatorna).
- Konvolúció A bemeneti képen a hálózat konvolúciós rétegeket alkalmaz, amelyek kis filtereket használnak a kép különböző részeinek feldolgozására. A hálózat megtanulja felismerni a különböző mintázatokat, például éleket, vonalakat, vagy más vizuális jellemzőket.
- Pooling A pooling réteg az adat dimenzióit csökkenti, hogy a modell ne legyen túl nagy és számításigényes. Ezzel egyidejűleg megőrzi a legfontosabb információkat, például a domináns mintázatokat.
- Felhúzás és osztályozás Miután több konvolúciós és pooling rétegen keresztül haladt a kép, az adatot teljesen összekötött rétegeken keresztül dolgozzák fel. Ezek a rétegek a magasabb szintű jellemzőket felismerik, és végül eljutnak az osztályozáshoz vagy a kimenethez.
- Kimeneti előrejelzés A kimeneti réteg az adott feladat specifikációjától függően ad választ. Ha egy képosztályozási feladatról van szó, a CNN a bemenetet egy vagy több osztályhoz sorolja.
Előnyök és alkalmazások
- Automatikus jellemzőtanulás A CNN egyik legnagyobb előnye, hogy képes automatikusan megtanulni a fontos jellemzőket a bemeneti adatokból, anélkül hogy előre kézzel definiálnánk ezeket. Ez lehetővé teszi, hogy a modell gyorsabban és hatékonyabban alkalmazkodjon különböző típusú adatokhoz, például képekhez, videókhoz vagy akár hanghoz.
- Hatékonyság képfelismerésben A CNN-ek rendkívül sikeresek a képfelismerési feladatokban, például az arcfelismerés, objektumfelismerés és önvezető autók vizuális rendszereiben. Ezt a hatékonyságot a konvolúciós és pooling rétegek teszik lehetővé, amelyek képesek a képek bonyolult mintázatait felismerni.
- Képosztályozás és objektumdetektálás A CNN-ek egyik legfontosabb alkalmazása a képosztályozás, például képek kategorizálása (pl. macska, kutya, autó), valamint objektumdetektálás, ahol a modell felismeri és lokalizálja az objektumokat a képen.
- Orvosi képfeldolgozás A CNN-eket széles körben alkalmazzák az orvosi képfeldolgozásban, például daganatok felismerésére CT- és MRI-képeken. Az orvosi képalkotó rendszerekben a CNN-ek képesek automatikusan felfedezni az emberi szem számára nehezen észrevehető rendellenességeket.
- Számítógépes látás A számítógépes látás számos alkalmazási területén használnak CNN-eket, beleértve az autonóm járművek irányítását, a felügyeleti rendszereket és a robotikát. A CNN-ek segítik a gépi látórendszereket abban, hogy valós időben és nagy pontossággal dolgozzanak fel vizuális adatokat.
- Szöveg- és hangfeldolgozás Bár a CNN-ek eredetileg képfeldolgozásra készültek, ma már egyre gyakrabban használják őket szöveg- és hangfeldolgozási feladatokban is. A CNN-ek képesek szöveges adatokat is feldolgozni például karakterfelismerés vagy természetes nyelvfeldolgozási (NLP) feladatok során.
Kihívások
- Nagyméretű adathalmazok igénye A CNN-ek működéséhez hatalmas mennyiségű adatra van szükség, különösen a bonyolultabb feladatokhoz. Az ilyen modellek tanítása időigényes és számítási kapacitásigényes folyamat lehet.
- Túlillesztés A CNN-ek hajlamosak lehetnek a túlillesztésre, különösen ha túl komplexek a modellek vagy ha nem áll rendelkezésre elegendő edzőadat. A túlillesztés akkor fordul elő, amikor a modell túl jól megtanulja a tréning adatok részleteit, de nem tud jól általánosítani új adatokra.
- Számítási erőforrások igénye A CNN-ek nagy számítási kapacitást igényelnek, különösen a mély, többrétegű hálózatok esetében. GPU-k (grafikus processzorok) használata jelentősen javíthatja a számítási teljesítményt, de ezek még mindig drágák és energiaigényesek lehetnek.
Összegzés
A konvolúciós neurális hálózatok hatékony és széles körben használt gépi tanulási modellek, amelyek különösen alkalmasak képek és más vizuális adatok feldolgozására. Alkalmazásaik széles körűek, a képfelismeréstől kezdve az orvosi képfeldolgozáson át az autonóm járművekig. A CNN-ek erőteljesek, de megfelelő adathalmazra és számítási erőforrásokra van szükségük a hatékony működéshez.
- angol: convolutional neural network (en)
- orosz: свёрточная нейронная сеть (ru) (svjórtočnaja nejronnaja setʹ)
- konvolúciós neurális hálózat - Értelmező szótár (MEK)
- konvolúciós neurális hálózat - Etimológiai szótár (UMIL)
- konvolúciós neurális hálózat - Szótár.net (hu-hu)
- konvolúciós neurális hálózat - DeepL (hu-de)
- konvolúciós neurális hálózat - Яндекс (hu-ru)
- konvolúciós neurális hálózat - Google (hu-en)
- konvolúciós neurális hálózat - Helyesírási szótár (MTA)
- konvolúciós neurális hálózat - Wikidata
- konvolúciós neurális hálózat - Wikipédia (magyar)