Bevezetés a konvolúciós neurális hálózatokba

A konvolúciós neurális hálózatok, más néven CNN vagy ConvNet néven a képfeldolgozáshoz és a megjelenítéshez használt mesterséges neurális hálózatok kategóriájába tartoznak. A mesterséges intelligencia mély tanulást használ a feladat elvégzéséhez. A neurális hálózatok hardver vagy szoftver, amelyek az emberi agyban neuronokként vannak programozva. A hagyományos ideghálózat bemenetekként csak a csökkentett felbontású képeket veszi fel. A CNN úgy oldja meg ezt a problémát, hogy neuronjait az emberi agy elülső lebenyének rendezi el. A CNN-n végzett előfeldolgozás sokkal kevesebb, mint más algoritmusok. Konvolúció, egy lineáris matematikai műveletet alkalmaznak a CNN-n. Az egyik rétegben általános mátrixszorzás helyett konvolúciót használ.

Rétegek a konvolúciós neurális hálózatokban

Az alábbiakban bemutatjuk a konvolúciós neurális hálózatok rétegeit:

1. Képbemeneti réteg

A bemeneti réteg bemeneteket (főként képeket) ad és a normalizálást elvégezzük. A bemeneti méretet itt kell megemlíteni.

2. Konvolúciós réteg

Ebben a rétegben a konvolúciót hajtják végre, és a képet perceptronokra (algoritmusra) osztják, helyi mezőket hoznak létre, amelyek az perceptronok tömörítéséhez vezetnek, hogy mátrixként térképezzenek mx-ként n.

3. Nemlineáris réteg

Itt a jellemző térképeket bemenetnek tekintjük, az aktivációs térképeket pedig outputként adjuk meg az aktiválási funkció segítségével. Az aktiváló funkciót általában szigmoid vagy hiperbolikus érintő függvényként valósítják meg.

4. Helyreigazító réteg

A CNN kritikus eleme, ez a réteg gyorsabban végzi az edzést anélkül, hogy csökkentené a pontosságot. Elemenkénti abszolút értékű műveletet hajt végre az aktivációs térképeken.

5. Javított lineáris egységek (ReLU)

A ReLU nemlineáris és rektifikációs rétegeket kombinál a CNN-en. Ez elvégzi a küszöbérték műveletet, ahol a negatív értékeket nullára konvertálják. A ReLU azonban nem változtatja meg a bemenet méretét.

6. Összevonási réteg

Az összevonási réteget lefelé vett mintavételi rétegnek is nevezzük, mivel ez felelős az aktivációs térképek méretének csökkentéséért. Egy azonos hosszúságú szűrőt és lépcsőt alkalmaznak a bemeneti hangerőre. Ez a réteg figyelmen kívül hagyja a kevésbé jelentős adatokat, így a képfelismerés kisebb reprezentációban történik. Ez a réteg csökkenti a túlfűtést. Mivel a paraméterek mennyiségét a pooling réteg segítségével csökkentik, a költségek szintén csökkennek. A bemenetet téglalap alakú összevonási régiókra osztják, és kiszámítják a maximális vagy az átlagot, amely ennek eredményeként adja meg a maximális vagy az átlagot. A Max Pooling népszerű.

7. Lemondási réteg

Ez a réteg véletlenszerűen egy adott valószínűséggel nullára állítja a bemeneti réteget. Ez a művelet után több eredményt hagynak a különböző elemekben. Ez a réteg a túlfűtés csökkentésére is hozzájárul. Ez teszi a hálózat redundáns. Ebben a rétegben nem történik tanulás. Ezt a műveletet csak edzés közben végzik el.

8. Teljesen csatlakoztatott réteg

Az aktiválási térképek, amelyek az előző rétegek kimenete, ebben a rétegben osztály valószínűség-eloszlássá alakulnak. Az FC réteg megszorozza a bemenetet egy súlymátrixtal, és hozzáadja az elfogultságvektort.

9. Kimeneti réteg

Az FC réteget egy softmax és osztályozó réteg követi. A softmax funkciót alkalmazza a bemenetre. Az osztályozási réteg kiszámítja a kereszt-entrópia és veszteség függvényt az osztályozási problémákra.

10. Regressziós réteg

Ebben a rétegben kiszámolják a felezési négyzet hibáját. Ennek a rétegnek az FC réteget kell követnie.

A konvolúciós neurális hálózat felépítése

Az alábbiakban bemutatjuk a konvolúciós neurális hálózatok architektúráját:

1. LeNet

A LeNet-et 1998-ban vezették be az optikai és karakterfelismerés céljából a dokumentumokban. Kicsi és tökéletes a CPU-ban való futtatáshoz. A LeNet kicsi és könnyen megfogható. Ez három fő ötletből épül fel: a helyi recepciós mezők megosztott súlyaival és a térbeli almintákkal. A hálózat a nyers képek legjobb belső megjelenítését mutatja. Három konvolúciós rétegből, két egyesítő rétegből, egy teljesen összekapcsolt rétegből és egy kimeneti rétegből áll. Az egyik konvolúciós réteget azonnal követte az egyesítő réteg. Az összes réteget a fentiekben ismertetjük.

2. AlexNet

Az AlexNet-et 2012-ben fejlesztették ki. Ez az architektúra népszerűsítette a CNN-t a számítógépes látás területén. Öt konvolúciós és három teljesen összekapcsolt réteggel rendelkezik, ahol minden réteg után alkalmazzák a ReLU-t. Mindkét réteg előnyeit figyelembe veszi, mivel a konvolúciós rétegnek kevés paramétere és hosszú kiszámítása van, és egy teljesen összekapcsolt réteg esetében ez az ellenkezője. A túlkomplettálást nagymértékben csökkentette az adatkiterjesztés és a lemorzsolódás. Az AlexNet mélyebb volt, a nagyobb és a konvolúciós rétegeket a LeNethez képest nem választják el egymástól egyesítő rétegek.

3. ZF Net

A ZF Net-ot 2013-ban fejlesztették ki, amely az AlexNet módosított verziója volt. A középső konvolúciós réteg méretét kibővítettük, és az első konvolúciós réteg lépését és szűrő méretét kisebbre tettük. Csak felismerte az AlexNet hiányosságait, és kifejlesztett egy jobb oldalt. Az összes réteg ugyanaz, mint az AlexNet. A ZF Net beállítja a réteg paramétereit, például a szűrő méretét vagy az AlexNet sztrájkját, ami lehetővé teszi a hibaarány csökkentését.

4. GoogLeNet

Ezt az architektúrát 2014-ben fejlesztették ki. Az alapfok az induló réteg. Ez a réteg a nagyobb területet takarja, de a kép apró információit veszi figyelembe. A teljesítmény javítása érdekében a GoogLeNet kilenc kezdő modult használ. Mivel a kezdő réteg hajlamos a túlteljesítésre, itt több nemlinearitást és kevesebb paramétert használunk. A maximális összevonási réteg az előző réteg kimenetének összekapcsolására szolgál. Ennek az architektúrának 22 rétege van, a paraméterek pedig 12x kevesebbek. Ez pontosabb, mint az AlexNet, gyorsabb is. A hibaarány viszonylag alacsonyabb. Az átlagos összevonási réteget a végén használják egy teljesen összekapcsolt réteg helyett. Csökkent a számítás, nő a mélység és a szélesség. Számos kezdőmodul csatlakozik, hogy mélyebben beépüljenek az építészetbe. A GoogLeNet felülmúlta az összes többi, 2014-ig kifejlesztett architektúrát. Számos követő változat érhető el ehhez az architektúrához.

5. VGG Net

Ez javulás volt a ZFNethez, majd az AlexNethez képest. 16 réteggel rendelkezik, 3x3 konvolúciós réteggel, 2x2 egyesítő réteggel és teljesen összekapcsolt rétegekkel. Ez az architektúra a legegyszerűbb hálózati struktúrát alkalmazza, de a legtöbb paraméterrel rendelkezik.

6. ResNet

A Residual Network architektúrát 2015-ben fejlesztették ki. Használja a kötegelt normalizálást és kihagyja az FC rétegek használatát. Ez az architektúra 152 réteget és átugrási kapcsolatokat használ. A ResNet-et jelenleg leginkább az összes mély tanulási algoritmusban használják.

Következtetés

A Facebook a CNN-t használja a képcímkézéshez, az Amazon-ot a termékjavaslatokhoz, a Google pedig a felhasználói fotók között történő kereséshez. Mindezt nagyobb pontossággal és hatékonysággal hajtják végre. A mély tanulásban elért haladás olyan szakaszba ért, ahol a CNN kifejlesztésre került, és sok szempontból segít. Ahogy a bonyolult CNN válik, ez elősegíti a hatékonyság javítását.

Ajánlott cikk

Ez egy útmutató a konvolúciós neurális hálózatokhoz. Itt tárgyaljuk a Konvolúciós Neurális Hálózatok bevezetését és rétegeit, valamint az építészetet. A további javasolt cikkeken keresztül további információkat is megtudhat -

  1. A neurális hálózat osztályozása
  2. Gépi tanulás vs neurális hálózat
  3. A neurális hálózati algoritmusok áttekintése
  4. Ismétlődő neurális hálózatok (RNN)
  5. Neurális hálózatok megvalósítása
  6. A 6 legfontosabb összehasonlítás a CNN és ​​az RNN között

Kategória: