mik azok a konvolúciós neurális hálózatok (CNN)?

Image credit:

Ez a cikk az AI Demisztifikálásának része, egy sor olyan hozzászólás, amely (próbálja) disambiguate the zsargon and myths surrounding AI.

Az 1950-es évek óta, a mesterséges intelligencia korai napjaiban a számítógépes tudósok olyan számítógépeket próbáltak építeni, amelyek értelmezhetik a vizuális adatokat., Az ezt követő évtizedekben, a mező, amely számítógépes látás néven vált ismertté, inkrementális előrelépéseket látott. 2012-ben a számítógépes látás kvantumugrást tett, amikor a Torontói Egyetem kutatói egy olyan AI modellt fejlesztettek ki, amely nagy mértékben meghaladta a legjobb képfelismerő algoritmusokat.

az AI rendszer, amely AlexNet néven vált ismertté (fő alkotója, Alex Krizhevsky után nevezték el), elképesztő 85 százalékos pontossággal nyerte meg a 2012-es ImageNet számítógépes látásversenyt. A második helyezett szerény 74 százalékot szerzett a teszten.,

az AlexNet középpontjában egy konvolúciós neurális hálózat( CNN) volt, egy speciális mesterséges neurális hálózat, amely nagyjából utánozza az emberi látórendszert. Az elmúlt években a CNNs számos számítógépes látásalkalmazás szempontjából kulcsfontosságú lett. Itt van, amit tudnod kell a CNNs történetéről és működéséről.

A rövid története konvolúciós neurális hálózatok

konvolúciós neurális hálózatok, más néven ConvNets, először az 1980-as években Yann LeCun, posztdoktori számítástechnikai kutató., LeCun építette a munkát Kunihiko Fukushima, egy japán tudós, aki, néhány évvel korábban, feltalálta a neokognitron, egy nagyon alapvető képfelismerő neurális hálózat.

a CNNs korai változata, LeNet (LeCun után), felismerheti a kézzel írt számjegyeket. A CNNs piaci rést talált a banki és postai szolgáltatások, valamint a banki szolgáltatások területén, ahol a borítékokon és a csekkeken szereplő irányítószámokat olvasták.

de találékonyságuk ellenére a Konvnetek a számítógépes látás és a mesterséges intelligencia oldalán maradtak, mert komoly problémával szembesültek: nem tudtak méretezni., A CNNs-nek sok adatra és számítási erőforrásra volt szüksége ahhoz, hogy hatékonyan működjön a nagy képeknél. Abban az időben a technika csak alacsony felbontású képekre volt alkalmazható.

2012-ben AlexNet megmutatta, hogy talán eljött az ideje, hogy újra megvizsgálja a mély tanulást, az AI ágát, amely többrétegű neurális hálózatokat használ. A rendelkezésre álló nagy adathalmazok, nevezetesen a ImageNet adathalmaz millió címkézett képek, és hatalmas számítási erőforrások lehetővé tették a kutatók számára, hogy hozzon létre komplex CNN, amely képes elvégezni a számítógépes látás feladatokat, amelyek korábban lehetetlen volt.

hogyan működnek a CNNs?,

a konvolúciós neurális hálózatok mesterséges neuronok több rétegéből állnak. A mesterséges neuronok, amelyek biológiai társaik durva utánzata, olyan matematikai függvények, amelyek kiszámítják a többszörös bemenetek és kimenetek súlyozott összegét aktiválási értékként.

egy mesterséges neuron szerkezete, a mesterséges neurális hálózatok alapvető alkotóeleme (forrás: Wikipedia)

az egyes neuronok viselkedését súlyai határozzák meg., Amikor a pixel értékekkel táplálják, a CNN mesterséges neuronjai különféle vizuális funkciókat választanak ki.

amikor egy képet egy Konvnetbe ír be, mindegyik réteg több aktiválási térképet generál. Az aktiválási térképek kiemelik a kép releváns jellemzőit. Mindegyik Neuron beviteli pontként egy-egy képpont-foltot vesz fel, a színértékeket súlyával megsokszorozza, összegzi, majd az aktiválási funkción keresztül futtatja.

a CNN első (vagy alsó) rétege általában olyan alapvető jellemzőket észlel, mint a vízszintes, függőleges vagy átlós élek., Az első réteg kimenetét a következő réteg bemeneteként tápláljuk be, amely összetettebb jellemzőket, például sarkokat és élkombinációkat von ki. Ahogy mélyebbre lépsz a konvolúciós neurális hálózatba, a rétegek elkezdik észlelni a magasabb szintű funkciókat, például tárgyakat, arcokat stb.

a neurális hálózat minden rétege kivonja a beviteli képből a speciális funkciókat.,

a képpontértékek súlyokkal való szorzásának és összegzésének működését “konvolúciónak” (innen a konvolúciós neurális hálózat neve) nevezzük. A CNN általában több konvolúciós rétegből áll, de más összetevőket is tartalmaz. A CNN utolsó rétege egy osztályozási réteg, amely bemenetként veszi a végső konvolúciós réteg kimenetét (ne feledje, hogy a magasabb konvolúciós rétegek összetett objektumokat észlelnek).,

a végső konvolúciós réteg aktiválási térképe alapján az osztályozási réteg olyan megbízhatósági pontszámokat ad ki (0 és 1 közötti értékek), amelyek meghatározzák, hogy a kép mennyire valószínű, hogy egy “osztályhoz tartozik.”Például, ha van egy ConvNet, amely érzékeli a macskák, kutyák, lovak, a kimenet a végső réteg az a lehetőség, hogy a bemeneti kép tartalmazza bármely ilyen állatok.,

a CNN felső rétege meghatározza a kép osztályát a konvolúciós rétegek által extrahált funkciók alapján(forrás: http://www.deeplearningbook.org)

a konvolúciós neurális hálózat képzése

a cnns fejlesztésének egyik nagy kihívása az egyes neuronok súlyának beállítása, hogy a képekből kivonják a megfelelő funkciókat. A súlyok beállításának folyamatát” neurális hálózatnak ” nevezik.

az elején a CNN véletlenszerű súlyokkal kezdődik., A képzés során a fejlesztők a neurális hálózatnak nagy adatkészletet biztosítanak a megfelelő osztályokkal (macska, kutya, ló stb.). A ConvNet feldolgozza az egyes képeket a véletlen értékekkel, majd összehasonlítja a kimenetet a kép megfelelő címkéjével. Ha a hálózat kimenete nem egyezik meg a címkével—ami valószínűleg a képzési folyamat elején történik -, akkor kis mértékben módosítja neuronjainak súlyát, hogy legközelebb ugyanazt a képet látja, kimenete egy kicsit közelebb lesz a helyes válaszhoz.,

a korrekciókat egy backpropagation (vagy backprop) nevű technikával végezzük. A backpropagation lényegében optimalizálja a hangolási folyamatot, és megkönnyíti a hálózat számára, hogy véletlenszerű korrekciók helyett eldöntse, mely egységeket állítsa be.

a teljes képzési adatkészlet minden futását “korszaknak” nevezik.”A Konvnet a képzés során több korszakon megy keresztül, kis mennyiségben beállítva súlyait. Minden korszak után a neurális hálózat egy kicsit jobbá válik a képzési képek osztályozásában., Ahogy a CNN javul, a súlyok kiigazítása egyre kisebb lesz. Egy bizonyos ponton a hálózat “konvergál”, ami azt jelenti, hogy lényegében olyan jó lesz, amennyit csak tud.

a CNN kiképzése után a fejlesztők tesztadatkészletet használnak annak pontosságának ellenőrzésére. A tesztadatkészlet olyan címkézett képek halmaza, amelyek nem részei a képzési folyamatnak. Minden kép a Konvneten keresztül fut, a kimenetet pedig a kép tényleges címkéjéhez hasonlítjuk. Lényegében a tesztadatkészlet értékeli, hogy a neurális hálózat milyen jó lett a korábban nem látott képek osztályozásában.,

Ha egy CNN pontszámok jó a képzési adatok, de pontszámok rossz a vizsgálati adatok, azt mondják, hogy már “túlméretezett.”Ez általában akkor fordul elő, ha nincs elég változatosság a képzési adatokban, vagy ha a ConvNet túl sok korszakon megy keresztül a képzési adatkészleten.

a konvolúciós neurális hálózatok sikere nagyrészt az elmúlt évtizedben kifejlesztett hatalmas képadatkészletek rendelkezésre állásának köszönhető. ImageNet, a verseny elején említett ezt a cikket, megkapta a címet egy névrokon adatbázisba több mint 14 millió címkézett képek., Vannak más speciálisabb adatkészletek is, mint például a MNIST, amely 70 000 kézzel írt számjegyből álló adatbázist tartalmaz.

nem kell azonban minden konvolúciós neurális hálózatot kép millióira képezni. Sok esetben használhat egy előre megtervezett modellt, például az AlexNet-et vagy a Microsoft ResNet-jét, a finetune-t pedig egy másik speciálisabb alkalmazáshoz. Ezt a folyamatot átviteli tanulásnak nevezik, amelyben egy képzett neurális hálózatot átképeznek egy kisebb új példákkal.,

a konvolúciós neurális hálózatok korlátai

erejük és összetettségük ellenére a konvolúciós neurális hálózatok lényegében mintafelismerő gépek. Hatalmas számítási erőforrásokat tudnak felhasználni arra, hogy apró és észrevétlen vizuális mintákat kerítsenek ki, amelyek észrevétlenül maradhatnak az emberi szem számára. De amikor a képek tartalmának megértéséről van szó, rosszul teljesítenek.

vegye figyelembe a következő képet. Egy jól képzett Konvnet azt fogja mondani, hogy ez egy katona, egy gyermek és az amerikai zászló képe., De egy személy hosszú leírást adhat a jelenetről, beszélhet katonai szolgálatról, idegen országban tett túrákról, az otthoni vágyakozásról, a családdal való Újraegyesítés öröméről stb. A mesterséges neurális hálózatoknak fogalmuk sincs ezekről a fogalmakról.

Image credit:

ezek a korlátok nyilvánvalóvá válnak a konvolúciós neurális hálózatok gyakorlati alkalmazásaiban. Például a CNNs-eket széles körben használják a tartalom mérséklésére a közösségi média hálózatokon., De annak ellenére, hogy rengeteg kép és videó van rajta, még mindig küzdenek a nem megfelelő tartalmak észleléséért és blokkolásáért. Egy esetben a Facebook tartalom-moderálási AI betiltotta a 30 000 éves szobor fotóját meztelenségként.

továbbá, a neurális hálózatok elkezdenek törni, amint egy kicsit elmozdulnak a kontextusukból. Számos tanulmány kimutatta, hogy az ImageNet-en és más népszerű adatkészleteken képzett CNN-k nem észlelik a tárgyakat, amikor különböző megvilágítási körülmények között és új szögekből látják őket.,

az MIT-IBM Watson AI Lab kutatói által végzett közelmúltbeli tanulmány kiemeli ezeket a hiányosságokat. Bemutatja az ObjectNet-et is, egy olyan adatkészletet, amely jobban képviseli az objektumok valós életben való látásának különböző árnyalatait. A CNN-k nem fejlesztik ki azokat a mentális modelleket, amelyekkel az emberek különböző tárgyakról rendelkeznek, és képesek elképzelni ezeket a tárgyakat korábban nem látott kontextusokban.

ImageNet vs reality: az ImageNet (bal oldali oszlop) objektumok szépen vannak elhelyezve, ideális háttér-és világítási körülmények között., A Való Világban a dolgok messier (forrás: objectnet.dev)

a konvolúciós neurális hálózatok másik problémája az, hogy képtelenek megérteni a különböző objektumok közötti kapcsolatokat. Tekintsük a következő képet, amelyet “Bongard-problémának” neveznek, feltalálója, Mihail Moiseevich Bongard orosz számítógépes tudós után. A Bongard-problémák két képkészletet mutatnak be (bal oldalon hat, jobb oldalon hat), és meg kell magyarázni a két készlet közötti legfontosabb különbséget., Például az alábbi példában a bal oldali készletben lévő képek egy objektumot tartalmaznak, a jobb oldali készletben lévő képek pedig két objektumot tartalmaznak.

az emberek számára könnyű ilyen következtetéseket levonni ilyen kis mennyiségű mintákból. Ha megmutatom neked ezt a két készletet, majd új képet adok neked, akkor gyorsan eldöntheti, hogy be kell-e lépnie a bal vagy a jobb készletbe.

a Bongard problémák könnyen megoldhatók az emberek számára, de nehéz a számítógépes látórendszerek számára., (Forrás: Harry Foundalis)

de még mindig nincs olyan konvolúciós neurális hálózat, amely olyan kevés képzési példával képes megoldani a Bongard-problémákat. Egy 2016-ban végzett vizsgálatban az AI kutatói 20 000 Bongard-mintán képeztek ki egy CNN-t, majd további 10 000-en tesztelték. A CNN teljesítménye sokkal alacsonyabb volt, mint az átlagos embereké.

a Konvnetek sajátosságai sebezhetővé teszik őket az ellenséges támadásokkal, a bemeneti adatok perturbációival, amelyek észrevétlenül maradnak az emberi szem számára, de befolyásolják a neurális hálózatok viselkedését., Az ellenséges támadások komoly aggodalomra adnak okot, mivel a mély tanulás és különösen a CNNs számos kritikus alkalmazás szerves részévé vált, például az önvezető autók.

Adversarial példa: egy észrevehetetlen zajréteg hozzáadása ehhez a panda képhez egy konvolúciós neurális hálózat hibát okoz egy gibbon számára.

Ez azt jelenti, hogy a CNNs haszontalan?, A konvolúciós neurális hálózatok korlátai ellenére azonban nem tagadható, hogy forradalmat okoztak a mesterséges intelligenciában. Manapság a CNNs-t számos számítógépes látásalkalmazásban használják, mint például az arcfelismerés, a képkeresés és a Szerkesztés, a kibővített valóság stb. Egyes területeken, mint például az Orvosi képfeldolgozás, a jól képzett Konvnetek akár felülmúlhatják az emberi szakértőket a releváns minták felderítésében.,

ahogy a konvolúciós neurális hálózatok fejlődése mutatja, eredményeink figyelemre méltóak és hasznosak, de még mindig nagyon messze vagyunk attól, hogy az emberi intelligencia kulcsfontosságú összetevőit lemásoljuk.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük