Education, study and knowledge

Mély neurális hálózatok: mik ezek és hogyan működnek

A mély neurális hálózatok egy olyan koncepció, amely a Deep Learning modellekben használt fő technológiai architektúrát alkotja. Ezeket a struktúrákat nem lehet megérteni a mesterséges neurális hálózatok általános elképzelésének megértése nélkül, amely alapvető a mesterséges intelligencia számára.

A neurális hálózatokat ezer dologra használják: rendszámok, dalok, arcok, hangok, vagy akár a konyhánk gyümölcseinek felismerésére. Különösen hasznos technológia, és annak ellenére, hogy csak nemrég váltak gyakorlatiassá, az emberiség jövőjét jelentik.

Következő Mélyen fogjuk látni a mesterséges neurális hálózatok gondolatát és mélyen, megértve, hogyan működnek, hogyan képezik őket, és hogyan mennek végbe az őket alkotó különböző neuronok közötti kölcsönhatások.

  • Kapcsolódó cikk: "Mi a kognitív tudomány? Alapötletei és fejlődési szakaszai"

Mik azok a mély neurális hálózatok és mi jellemzi őket?

A mély neurális hálózatok a Deep Learning vagy a Deep Learning egyik legfontosabb technológiai architektúrája

instagram story viewer
. Ezek a sajátos mesterséges hálózatok szédületesen növekedtek az elmúlt években, mert alapvető szempontot jelentenek mindenféle minta felismerésében. A mesterséges intelligencia ezeknek a hálózatoknak a működésének köszönhetően létezik Lényegében az agyunk működésének másolataivá válnak, bár egy technológiai és matematika.

Mielőtt tovább mennénk a mély neurális hálózatok fogalmába, először meg kell értenünk, hogyan működnek általában a mesterséges neurális hálózatok, és mire valók. LA neurális hálózatok a „gépi tanulás” egyik ága, amelyek óriási hatást gyakoroltak az elmúlt években, segít a programozóknak és informatikusoknak olyan dolgokat létrehozni, mint például a chatbotok, amelyekről ha beszélgetünk velük, azt gondoljuk, hogy valódi emberi lényekkel beszélünk.

A mesterséges neurális hálózatokat önvezető autókkal is alkalmazták, olyan mobilalkalmazások, amelyek felismerik az arcunkat, és olyanná alakítják, amilyenné szeretnénk, és még sok más funkciókat. Alkalmazhatósága rendkívül széles, a modern mesterséges intelligencia alapjaként szolgál, és végtelenül hasznosítható mindennapjainkra.

mesterséges idegi hálózat

Képzeljük el, hogy a konyhánkban vagyunk, és úgy döntünk, hogy egy narancsot keresünk, ez egy nagyon egyszerű feladat.. Tudjuk, hogyan lehet nagyon könnyen azonosítani a narancsot, és azt is tudjuk, hogyan lehet megkülönböztetni más, a konyhában található gyümölcsöktől, mint például a banán, az alma és a körte. Mint? Mert agyunkban nagyon asszimiláltuk, melyek a narancs tipikus tulajdonságai: annak mérete, formája, színe, illata... Ezek mind olyan paraméterek, amelyek alapján megtaláljuk a narancs.

Ez egyszerű feladat az emberek számára, de... Egy számítógép is meg tudja csinálni? A válasz igen. Elvileg elég lenne ugyanazokat a paramétereket definiálni, és értéket rendelni egy csomóponthoz vagy valamihez, amit „mesterséges neuronnak” nevezhetünk. Megmondanánk ennek a neuronnak, milyen a narancs, jelezve méretüket, súlyukat, alakjukat, színüket vagy bármely más paramétert, amelyet ennek a gyümölcsnek tulajdonítunk. Ezen információk birtokában várható, hogy a neuron tudni fogja, hogyan kell azonosítani a narancsot, amikor megjelenik egy narancs.

Ha jól választottuk meg a paramétereket, akkor egyszerűen ezeknek a tulajdonságoknak a figyelembevételével könnyen megkülönböztethető a narancs és a nem narancs. Ha bármilyen gyümölcs képét látják, az a neuron megkeresi a jellemzőket a narancshoz, és döntse el, hogy a „narancs” vagy az „egyéb” kategóriába sorolja-e gyümölcs". Statisztikai értelemben azt jelenti, hogy egy paramétergráfban egy olyan régiót találunk, amely megfelel a létezőnek olyan régiót keresünk, amely magában foglalja az összes olyan gyümölcsdarabot, amelyek mérete, alakja, színe, súlya és illata megegyezik a narancs.

Elsőre ez az egész nagyon könnyen kódolhatónak tűnik, és valójában az is. Nagyon jól meg lehet különböztetni a narancsot a banántól vagy az almától, mivel különböző színűek és formájúak. De mi lenne, ha megajándékoznánk egy grapefruittal? és egy nagyon nagy mandarin? Ezek olyan gyümölcsök, amelyek tökéletesen összetéveszthetők a naranccsal. Képes lesz-e a mesterséges neuron önállóan megkülönböztetni a narancsot és a grapefruitot? A válasz nem, és valószínűleg úgy gondolják, hogy ugyanazok.

A probléma azzal, hogy csak egy réteg mesterséges neuronokat használunk, vagy ami ugyanaz, először csak egyszerű neuronokat használunk, az az, hogy nagyon pontatlan döntési határokat generál, ha olyasvalamivel találkozunk, aminek sok közös jellemzője van azzal, amit fel kell tudnia ismerni, de a valóságban nem az. Ha bemutatunk valamit, ami úgy néz ki, mint egy narancs, például egy grapefruit, még ha nem is az a gyümölcs, akkor is ilyennek fogja azonosítani.

Ezek a döntési határok, ha gráf formájában vannak ábrázolva, mindig lineárisak lesznek. Egyetlen mesterséges neuron, azaz egyetlen csomópont, amely integrált paraméterekkel rendelkezik konkrétak, de nem tudnak rajtuk túl tanulni, nagyon szoros döntési határokat kapunk. diffúz. Legfőbb korlátja, hogy két statisztikai módszert használ, konkrétan többosztályú regressziót és logisztikus regresszió, ami azt jelenti, hogy ha kétségei vannak, akkor magában foglal valamit, ami nem az, amire számítottunk. azonosítani fogja.

Ha az összes gyümölcsöt "narancsra" és "nem narancsra" osztanánk, egyetlen idegsejt felhasználásával egyértelmű, hogy a banán, körte, almát, görögdinnyét és minden olyan gyümölcsöt, ami méretben, színben, formában, illatban stb. nem egyezik a naranccsal én a "nem" kategóriába sorolnám. narancs”. A grapefruit és a mandarin azonban a "narancs" kategóriába sorolná őket, mivel rosszul látják el azt a munkát, amelyre tervezték.

És amikor a narancsról és a grapefruitról beszélünk, akkor beszélhetünk kutyákról és farkasokról, tyúkokról és csirkékről, könyvekről és füzetekről... Minden Ezek olyan esetek, amikor a "ha..." ("ha...") egyszerű sorozata nem elegendő az egyik és a másik egyértelmű megkülönböztetéséhez. Egyéb. Bonyolultabb, nem lineáris rendszerre van szükség, amely pontosabb, ha a különböző elemek megkülönböztetéséről van szó. Olyasmi, ami figyelembe veszi, hogy a hasonlóságok között lehetnek eltérések. Itt jönnek be a neurális hálózatok.

Több réteg, jobban hasonlít az emberi agyhoz

A mesterséges neurális hálózatok, ahogy a nevük is sugallja, olyan mesterséges számítási modellek, amelyeket ihlettek az emberi agy neurális hálózataiban olyan hálózatok, amelyek valójában ennek a szervnek a működését utánozzák biológiai. Ezt a rendszert a neurális működés ihlette, és fő alkalmazása a felismerés mindenféle minta: arc azonosítás, hangfelismerés, ujjlenyomat, kézírás, rendszámtáblák… A mintafelismerés szinte mindenre működik..

Mivel különböző neuronokról van szó, az alkalmazott paraméterek eltérőek, és nagyobb fokú pontosság érhető el. Ezek a neurális hálózatok olyan rendszerek, amelyek lehetővé teszik számunkra, hogy az elemeket kategóriákba soroljuk, amikor a A különbség finom lehet, nem lineárisan elválasztva őket, ami másként lehetetlen lenne módon.

Egyetlen csomóponttal, egyetlen neuronnal az információ kezelése többosztályú regressziót jelent. További neuronok hozzáadásával, mivel mindegyiknek megvan a maga nemlineáris aktiválási funkciója, amely egyszerűbb nyelvre lefordítva döntési határokkal rendelkezik, amelyek pontosabban, grafikusan ívelt formában ábrázolva, és több jellemzőt figyelembe véve a „narancs” és a „nem narancs” megkülönböztetésekor, hogy folytassuk ezzel a példával.

Ezeknek a döntési határoknak a görbülete közvetlenül attól függ, hogy hány idegsejtréteget adunk a neurális hálózatunkhoz. Az idegsejtek azon rétegei, amelyek bonyolultabbá és pontosabbá teszik a rendszert, valójában mély neurális hálózatok. Elvileg minél több rétegű mély neurális hálózatunk van, annál pontosabb és hasonlóbb lesz a program az emberi agyhoz.

Röviden, a neurális hálózatok nem mások, mint egy intelligens rendszer, amely pontosabb döntések meghozatalát teszi lehetővé, nagyon hasonlóan ahhoz, ahogy mi, emberek tesszük. Az emberi lény a tapasztalaton, a környezetünkből való tanuláson alapul. Például visszatérve a narancs és a grapefruit esetére, ha még soha nem láttuk, akkor tökéletesen összetévesztjük a naranccsal. Amikor megismertük, akkor az lesz, amikor már tudjuk, hogyan kell azonosítani és megkülönböztetni a narancstól.

Az első dolog, amit meg kell tenni, az, hogy adunk néhány paramétert a neurális hálózatoknak, hogy tudják, milyen az, amit meg akarunk tanulni azonosítani. Ezután következik a tanulási vagy képzési szakasz, hogy egyre pontosabb legyen, és fokozatosan kisebb legyen a hibahatára. Ez az az idő, amikor a neurális hálózatunkat narancsgal és más gyümölccsel ajándékozzuk meg. A képzési szakaszban olyan eseteket kapnak, amelyekben narancssárgák, és olyan eseteket, amelyekben nem narancssárgák, és megnézik, hogy helyesen válaszoltak-e, és elmondják nekik a helyes választ.

Igyekszünk számos kísérletet tenni, és a lehető legközelebb állni a valósághoz.. Ezzel segítjük a neurális hálózat működését, amikor valódi esetek érkeznek, és tudja, hogyan kell megfelelően megkülönböztetni, ugyanúgy, ahogyan azt egy ember tenné a való életben. Ha a képzés megfelelő volt, jó felismerési paramétereket választott és jól besorolták, a neurális hálózat nagyon magas mintafelismerési sikerarányt fog elérni. magas.

  • Érdekelheti: – Hogyan működnek a neuronok?

Mik ezek és hogyan működnek pontosan?

Most, hogy láttuk az általános elképzelést arról, hogy mik is azok a neurális hálózatok, és jobban meg fogjuk érteni, mik ezek, és hogyan az emberi agy neuronjainak ezek az emulátorai működnek, és hol festenek mindebben a mély neurális hálózatok folyamat.

Képzeljük el, hogy a következő neurális hálózatunk van: három réteg mesterséges neuronunk van. Tegyük fel, hogy az első rétegben 4 neuron vagy csomópont van, a másodikban 3, az utolsóban pedig csak 2. Ez mind egy mesterséges neurális hálózat példája, meglehetősen könnyen érthető.

Az első réteg az, amelyik fogadja az adatokat., vagyis azok az információk, amelyek hang, kép, aromák, elektromos impulzusok formájában érkezhetnek... Ez az első réteg a bemeneti réteg, és az összes adat fogadásáért felelős, hogy később el tudja küldeni a következőnek rétegek. A neurális hálózatunk képzése során ez lesz az a réteg, amellyel először fogunk dolgozni, megadva adatok, amelyeket arra fogunk használni, hogy megtudjuk, mennyire képes előrejelzéseket készíteni vagy azonosítani a kapott információkat ad.

Hipotetikus modellünk második rétege a rejtett réteg, amely az első és az utolsó réteg kellős közepén helyezkedik el., mintha a neurális hálózatunk egy szendvics lenne. Ebben a példában csak egy rejtett rétegünk van, de lehet annyi, amennyit csak akarunk. 50, 100, 1000 vagy akár 50 000 rétegről is beszélhetnénk. Lényegében ezek a rejtett rétegek a neurális hálózat azon részét képezik, amelyet mély neurális hálózatnak neveznénk. Minél nagyobb a mélység, annál bonyolultabb a neurális hálózat.

Végül megvan a példánk harmadik rétege, amely a kimeneti réteg. Ez a réteg, ahogy a neve is mutatja, felelős az előző rétegek információinak átvételéért, a döntés meghozataláért és a válasz vagy eredmény adásáért.

A neurális hálózatban minden mesterséges neuron kapcsolódik az összes következőhöz. Példánkban, ahol megjegyeztük, hogy három 4, 3 és 2 neuronból álló rétegünk van, a bemeneti réteg 4. a rejtett réteg 3-asához, a rejtett réteg 3-asához pedig a kimenet 2-jéhez kapcsolódik, így összesen 18 kapcsolatokat.

Mindezek a neuronok kapcsolatban állnak a következő réteg neuronjaival, és az információt az input->rejtett->kimeneti irányban küldik.. Ha több rejtett réteg lenne, akkor nagyobb számú kapcsolatról beszélnénk, az információt rejtett rétegről rejtett rétegre küldjük, amíg el nem éri a kimeneti réteget. A kimeneti réteg, miután megkapta az információt, a kapott információ és a feldolgozás módja alapján eredményt ad nekünk.

Amikor az algoritmusunkat, vagyis a neurális hálózatunkat tanítjuk, ez a folyamat, amit az imént magyaráztunk, sokszor meg fog történni. Néhány adatot továbbítunk a hálózatnak, meglátjuk, mit ad az eredmény, elemezzük és összehasonlítjuk azzal, amit az eredménytől vártunk. Ha nagy különbség van a várt és a kapott között, az azt jelenti, hogy nagy a hibahatár, és ezért néhány módosítást kell végrehajtani.

Hogyan működnek a mesterséges neuronok?

Most meg fogjuk érteni a neurális hálózaton belül működő neuronok egyéni működését. Az idegsejt bemeneti információt kap az előző neurontól. Tegyük fel, hogy ez a neuron három információs bemenetet kap, mindegyik az előző réteg három idegsejtjétől származik. Ez a neuron viszont kimeneteket generál, ebben az esetben tegyük fel, hogy csak a következő réteg neuronjához kapcsolódik.

Minden kapcsolat, amelyet ez a neuron az előző réteg három idegsejtjével tart, egy "x" értéket hoz, ami az az érték, amelyet az előző neuron küld nekünk.; és van egy "w" értéke is, ami ennek a kapcsolatnak a súlya. A súly olyan érték, amely segít abban, hogy nagyobb jelentőséget tulajdonítsunk egy kapcsolatnak, mint a többinek. Röviden, minden kapcsolatnak az előző neuronokkal van egy „x” és egy „w” értéke, amelyek megszorozódnak (x·w).

Nekünk is lesz a "bias"-nak nevezett érték vagy a "b"-vel jelzett torzítás, amely a hibák száma, amely bizonyos neuronokat könnyebben aktivál, mint mások. Ezen kívül van egy aktiváló funkciónk a neuronon belül, ez határozza meg a különböző elemek osztályozási fokát (p. pl. narancs) nem lineáris. Önmagában minden neuronnak más-más paramétere van, amit figyelembe kell venni, ami az egész rendszert, ez a neurális hálózat, nemlineárisan osztályozza.

Honnan tudja a neuron, hogy aktiválódnia kell-e vagy sem? vagyis mikor tudod, hogy kell-e információt küldened a következő rétegnek? Nos, ezt a döntést a következő egyenlet szabályozza:

neurális hálózat

Ez a képlet azt jelenti, hogy az összes "w" súly összegét meg kell szorozni az "x" összes értékével, amelyet a neuron kap az előző rétegtől. Ehhez hozzáadódik a "b" torzítás.

Ennek az egyenletnek az eredményét elküldi egy aktiváló függvénynek, amely egyszerűen egy függvény, amely megmondja, hogy ha ennek az egyenletnek az eredménye nagyobb, mint a Egy bizonyos szám esetén a neuron jelet küld a következő rétegnek, és ha ez kisebb, akkor nem elküldeni Tehát a mesterséges neuron így dönti el, hogy küldjön-e információt a neuronoknak, vagy sem, az alábbiak szerint: réteget egy kimenet segítségével, amelyet "y"-nek fogunk nevezni, egy kimenet, amely viszont az alábbi "x" bemenete idegsejt.

És hogyan lehet egy teljes hálózatot betanítani?

Az első dolog, amit meg kell tenni, az adatok továbbítása az első rétegbe, ahogyan azt korábban megjegyeztük. Ez a réteg információkat küld a következő rétegeknek, amelyek a rejtett rétegek vagy a mély neurális hálózat. Ezen rétegek neuronjai a kapott információtól függően aktiválódnak vagy sem. Végül a kimeneti réteg ad egy eredményt, amelyet összehasonlítunk a várt értékkel, hogy megnézzük, megtanulta-e a neurális hálózat, mit kell helyesen csinálni.

Ha nem tanult jól, akkor egy másik interakciót hajtunk végre, azaz ismét bemutatjuk az információkat, és meglátjuk, hogyan viselkedik a neurális hálózat. A kapott eredményektől függően a "b" értékeket módosítják, vagyis az egyes neuronok torzítását, a "w" pedig az egyes neuronokkal való kapcsolat súlyát a hiba csökkentése érdekében. Hogy megtudjuk, mekkora ez a hiba, egy másik egyenletet fogunk használni, amely a következő:

neurális hálózat

Ez az egyenlet a négyzetes közép hiba. Megtesszük az y (x) összegét, amely az az érték, amelyet a hálózatunk adott nekünk az interakció során, mínusz „a”, ami az az érték, amelyet a négyzetre emelve vártunk tőle. Végül megszorozzuk ezt az összeget 1/2n-nel, ez az „n” azon interakciók száma, amelyeket a neurális hálózatunk betanítására küldtünk.

Tegyük fel például, hogy a következő értékeink vannak

neurális hálózat

Az első „y (x)” oszlop azt jelzi, hogy hálózatunk mit adott nekünk mind a négy interakció során, amelyeket teszteltünk. Az általunk kapott értékek, mint látható, nem egyeznek meg a második „a” oszlop értékeivel, amelyek az egyes tesztelt interakciók kívánt értékei. Az utolsó oszlop az egyes interakciók hibáját mutatja.

A fent említett képlet alkalmazásával és ezen adatok felhasználásával, szem előtt tartva, hogy ebben az esetben n = 4 (4 kölcsönhatások) 3,87 értéket ad nekünk, ami a neurális hálózatunk átlagos négyzetes hibája. pillanatok. A hiba ismeretében most meg kell változtatnunk a torzítást és a az egyes neuronok súlya és kölcsönhatásaik azzal a szándékkal, hogy ily módon a hiba csökkenteni.

Ezen a ponton mérnökök és informatikusok jelentkeznek a gradiens süllyedés nevű algoritmus amellyel értékeket kaphatnak az egyes mesterséges neuronok torzításának és súlyának teszteléséhez és módosításához úgy, hogy ily módon egyre alacsonyabb hibát kapunk, amely megközelíti az előrejelzést vagy eredményt akarta. Ez tesztelés kérdése, és minél több interakció történik, annál több lesz a képzés, és annál többet fog tanulni a hálózat.

Ha a neurális hálózat megfelelően képzett, akkor pontos és megbízható előrejelzéseket és azonosításokat fog adni. Ezen a ponton lesz egy hálózatunk, amelynek minden egyes neuronjában egy érték lesz meghatározott súlyú, ellenőrzött torzítással és döntési kapacitással, amely a rendszert létrehozza munka.

Bibliográfiai hivatkozások:

  • Puig, A. [AMP Tech] (2017, július 28.). Hogyan működnek a neurális hálózatok? [Videófájl]. Felépült https://www.youtube.com/watch? v=IQMoglp-fBk&ab_channel=AMPTech
  • Santaolalla, J. [Adj magadnak egy Vlogot] (2017, április 11.) CienciaClip Challenge – Mik azok a neurális hálózatok? [Videófájl]. https://www.youtube.com/watch? v=rTpr6DuY4LU&ab_channel=DateunVlog
  • Schmidhuber, J. (2015). "Mély tanulás a neurális hálózatokban: áttekintés". Neurális hálózatok. 61: 85–117. arXiv: 1404.7828. doi: 10.1016/j.neunet.2014.09.003. PMID 25462637. S2CID 11715509

20 nagyon nehezen megválaszolható filozófiai kérdés

Emberi lények gyakran kérdéseket teszünk fel magunknak a létezésünkkel kapcsolatban és a körülött...

Olvass tovább

A 80 leggyakoribb amerikai vezetéknév

A 80 leggyakoribb amerikai vezetéknév

Az Egyesült Államok nagyon nagy és sokszínű ország, ahol nagyon különböző származású embereket ta...

Olvass tovább

Fermi paradoxona: ha vannak idegenek, miért nem látogattak meg minket?

Fermi paradoxona: ha vannak idegenek, miért nem látogattak meg minket?

Amikor az ember az égre néz, nem tud csodálkozni. Az univerzum minden: egy hely, ahol élünk, semm...

Olvass tovább