Weboldal keresés

Feed-forward vs visszacsatoló neurális hálózatok


A neurális hálózatok szerkezete egyre fontosabbá válik a mesterséges intelligencia modellezésének kutatásában számos alkalmazás számára. Két egymással ellentétes strukturális paradigmát fejlesztettek ki: a visszacsatolásos (rekurrens) neurális hálózatokat és az előrecsatolt neurális hálózatokat. Ebben a cikkben mindkét architektúra alapos összehasonlítását mutatjuk be, mindegyik alapos elemzése után. Ezután néhány használati eseten keresztül összehasonlítjuk az egyes neurális hálózati struktúrák teljesítményét.

Előfeltételek

Ez egy bevezető cikk a Deep Learning algoritmusok optimalizálásáról, amelyeket ezen a területen kezdőknek terveztek, és nem igényel további tapasztalatot.

Először is kezdjük az alapokkal.

Mi az a neurális hálózat?

A mély tanulás alapvető építőköve, a neurális hálózatok arról híresek, hogy szimulálják az emberi agy viselkedését, miközben kezelik az adatvezérelt kihívásokat.

A szükséges kimenet létrehozásához a bemeneti adatokat a mesterséges neuronok több rétegén keresztül dolgozzák fel, amelyek egymásra vannak rakva. Az alkalmazások az egyszerű képosztályozástól a kritikusabb és összetettebb problémákig, például a természetes nyelvi feldolgozásig, a szövegalkotásig és más világgal kapcsolatos problémákig terjednek.

A neurális hálózatok elemei

A neurális hálózat architektúráját alkotó neuronok megismétlik az agy szerves viselkedését.

Egyetlen neuron elemi szerkezete egy neurális hálózatban

Most definiáljuk a neurális hálózathoz kapcsolódó különféle összetevőket, és megmutatjuk, hogyan építhetjük fel a neuron ezen alapvető reprezentációjából kiindulva a legbonyolultabb architektúrákat.

Bemenet

Ez az adatok (azaz jellemzők) gyűjteménye, amely a tanulási modellbe kerül. Például az aktuális légköri mérések egy sora használható bemenetként egy meteorológiai előrejelzési modellhez.

Súly

A súlyozás használatának elsődleges célja a tanulási folyamatot leginkább segítő funkciók jelentősége. Ha a bemeneti érték és a súlymátrix közé skaláris szorzást adunk, akkor egyes jellemzők hatását növelhetjük, míg másoké csökkenthetjük. Például a magas hangmagasság jelenléte jobban befolyásolná a zenei műfajok besorolási modelljének megválasztását, mint a műfajok között gyakori más átlagos hangmagasság.

Aktiválási funkció

A bemenetekkel változó linearitás figyelembevétele érdekében az aktivációs függvény nemlinearitást vezet be a neuronok működésébe. Enélkül a kimenet egyszerűen a bemeneti értékek lineáris kombinációja lenne, és a hálózat nem lenne képes befogadni a nemlinearitást.

A leggyakrabban használt aktiválási függvények: egységlépés, szigmoid, darabonként lineáris és Gauss-függvény.

A gyakori aktiválási funkciók illusztrációi

Elfogultság

A torzítás célja az aktiválási függvény által generált érték megváltoztatása. Funkciója összehasonlítható egy lineáris függvényben lévő állandóval. Tehát alapvetően az aktiválási funkció kimenetének eltolásáról van szó.

Rétegek

A mesterséges neurális hálózat több neurális rétegből áll, amelyek egymásra vannak rakva. Minden réteg több, egymás után elhelyezett neuronból áll. Háromféle réteget különböztetünk meg: bemeneti, rejtett és kimeneti réteget.

Bemeneti réteg

A modell bemeneti rétege külső forrásokból, például képekből vagy numerikus vektorokból kapja az általunk bevitt adatokat. Ez az egyetlen olyan réteg, amely egy neurális hálózat teljes tervezésében látható, és amely feldolgozás nélkül továbbítja az összes információt a külvilágból.

Rejtett rétegek

A rejtett rétegek teszik a mély tanulást azzá, ami ma. Ezek közbenső rétegek, amelyek minden számítást elvégeznek, és kivonják az adatok jellemzőit. Az adatok rejtett jellemzőinek keresése sok, egymással összefüggő rejtett rétegből állhat. A képfeldolgozás során például az első rejtett rétegek gyakran olyan magasabb szintű funkciókért felelősek, mint a határok, formák és határok észlelése. A későbbi rejtett rétegek viszont kifinomultabb feladatokat hajtanak végre, például egész objektumok osztályozását vagy szegmentálását.

Kimeneti réteg

A végső előrejelzést a kimeneti réteg végzi el az előző rejtett rétegek adatainak felhasználásával. Ez az a réteg, amelyből a végeredményt megkapjuk, ezért ez a legfontosabb.

A kimeneti rétegben az osztályozási és regressziós modellek jellemzően egyetlen csomóponttal rendelkeznek. Ez azonban teljes mértékben az adott probléma természetétől és a modell kidolgozásának módjától függ. A legújabb modellek egy része kétdimenziós kimeneti réteggel rendelkezik. Például a Meta új Make-A-Scene modellje, amely egyszerűen a bemeneti szövegből állít elő képeket.

Hogyan működnek együtt ezek a rétegek?

A bemeneti csomópontok számszerűen kifejezhető formában fogadják az adatokat. Minden csomóponthoz tartozik egy szám; minél nagyobb a szám, annál nagyobb az aktiválás. Az információ aktiválási értékként jelenik meg. A hálózat ezután ezt az információt kifelé terjeszti. Az aktiválási értéket a rendszer csomópontról csomópontra küldi a kapcsolat erősségei (súlyai) alapján, hogy a gátlást vagy a gerjesztést képviselje.
Minden csomópont hozzáadja a kapott aktiválási értékeket, mielőtt az aktiválási funkciójának megfelelően módosítaná az értéket. Az aktiválás a hálózat rejtett szintjein halad át, mielőtt megérkezik a kimeneti csomópontokhoz. A bemenetet ezután értelmesen tükrözik a külvilág felé a kimeneti csomópontok. A hiba, amely a kivetített érték és a tényleges érték különbsége, visszafelé terjed úgy, hogy az egyes csomópontok súlyát hozzárendeljük a hiba azon arányához, amelyért az egyes csomópontok felelősek.

Példa egy alap neurális hálózatra

A fenti példában a neurális hálózat egy bemeneti rétegből áll, amely három bemeneti csomópontból áll, két rejtett rétegből, amelyek mindegyike négy csomóponton alapul, és egy kimeneti rétegből, amely két csomópontból áll.

Az előrecsatolt neurális hálózatok felépítése

Az előrecsatolt hálózatban a jelek csak egy irányba mozoghatnak. Ezeket a hálózatokat nem visszatérő hálózatoknak tekintik bemenetekkel, kimenetekkel és rejtett rétegekkel. A feldolgozóegységek rétege fogadja a bemeneti adatokat, és ott számításokat hajt végre. A bemeneteinek súlyozott összege alapján minden feldolgozóelem elvégzi a számítást. Az újonnan származtatott értékeket a rendszer a következő réteg új bemeneti értékeként használja. Ez a folyamat mindaddig folytatódik, amíg az összes rétegen áthaladva meg nem határozzák a kimenetet.

A perceptron (lineáris és nemlineáris) és a Radial Basis Function hálózatok példák az előrecsatolt hálózatokra. Valójában az egyrétegű perceptron hálózat a neurális hálózat legalapvetőbb típusa. Egyetlen réteg kimeneti csomóponttal rendelkezik, és a bemenetek közvetlenül a kimenetekbe kerülnek egy súlykészleten keresztül. Minden csomópont kiszámítja a súlyok és a bemenetek szorzatának összegét. Ez a neurális hálózati struktúra volt az egyik első és legalapvetőbb architektúra, amelyet megépítettek.

A tanulás egy többrétegű előrecsatolt neurális hálózaton történik, visszaterjedési technikával. Az egyes betanítási mintákhoz generált tulajdonságokat a bemenetek stimulálják. A rejtett réteg egyidejűleg kapja a bemeneti réteg súlyozott kimeneteit. A rejtett réteg súlyozott kimenete felhasználható további rejtett rétegek bemeneteként stb. Sok rejtett réteg alkalmazása tetszőleges; gyakran csak egyet alkalmaznak az alaphálózatokhoz.

A kimeneti réteget alkotó egységek a végső rejtett réteg súlyozott kimeneteit használják bemenetként, hogy elterjesszék a hálózat előrejelzését adott mintákra. Szimbolikus biológiai összetevőiknek köszönhetően a rejtett rétegekben és a kimeneti rétegben lévő egységeket neurodákként vagy kimeneti egységként ábrázolják.

A konvolúciós neurális hálózatok (CNN-ek) az előrecsatolt architektúra egyik legismertebb iterációja. Skálázhatóbb technikát kínálnak a képosztályozási és objektumfelismerési feladatokhoz azáltal, hogy a lineáris algebra fogalmait, különösen a mátrixszorzást használják a képen belüli minták azonosítására.

Az alábbiakban egy példa látható egy CNN architektúrára, amely a kézzel írt számjegyeket osztályozza

Példa CNN-architektúra kézzel írt számfelismerési feladathoz (forrás)

A megfelelő szűrők használatával a CNN hatékonyan rögzítheti a kép térbeli és időbeli függőségét. Mivel kevesebb tényezőt kell figyelembe venni, és a súlyok újra felhasználhatók, az architektúra jobban illeszkedik a képadatkészlethez. Más szavakkal, a hálózatot arra lehet képezni, hogy jobban megértse a kép összetettségi szintjét.

Hogyan képezik az előrecsatolt neurális hálózatot?

Az ilyen típusú hálózatok tipikus algoritmusa a visszaterjedés. Ez a technika egy neurális hálózat súlyozásának beállítására az előző korszakban rögzített hibaarány (azaz iteráció) alapján. A súlyok megfelelő beállításával csökkentheti a hibaarányt, és növelheti a modell megbízhatóságát az alkalmazhatóság kiterjesztésével.

A veszteségfüggvény gradiensét egyetlen súlyra a neurális hálózat visszaterjedési algoritmusa számítja ki a láncszabály segítségével. A natív közvetlen számítással ellentétben egyszerre egy réteget számol ki hatékonyan. Bár kiszámítja a színátmenetet, nem határozza meg, hogyan kell alkalmazni a színátmenetet. Kiszélesíti a deltaszabály számítási hatókörét.

A visszaterjedési algoritmus illusztrációja

A visszacsatolásos neurális hálózatok felépítése

A visszacsatoló hálózatok, például a visszacsatoló neurális hálózatok (RNN) visszacsatolási útvonalakat tartalmaznak, amelyek lehetővé teszik, hogy a jelek hurkok segítségével mindkét irányban haladjanak. A neuronális kapcsolatok bármilyen módon létrejöhetnek. Mivel ez a fajta hálózat hurkokat tartalmaz, nemlineáris dinamikus rendszerré alakul át, amely az edzés során folyamatosan fejlődik, amíg el nem éri az egyensúlyi állapotot.

A kutatásban az RNN a visszacsatolási hálózatok legkiemelkedőbb típusa. Ezek egy mesterséges neurális hálózat, amely a csomópontok közötti kapcsolatokat irányított vagy irányítatlan gráfokká alakítja egy időbeli szekvencia mentén. Ennek eredményeként képes időbeli dinamikus viselkedést megjeleníteni. Az RNN-ek különböző hosszúságú bemeneti szekvenciákat dolgozhatnak fel belső állapotuk felhasználásával, amely a memória egy formáját képviselheti. Ezért olyan alkalmazásokhoz használhatók, mint a beszédfelismerés vagy a kézírás-felismerés.

Példa visszacsatolt neurális hálózatra

Hogyan képezik a visszacsatolásos neurális hálózatot?

Az időben történő visszaterjesztés vagy a BPTT egy általános algoritmus az ilyen típusú hálózatoknál. Ez egy gradiens alapú módszer meghatározott visszatérő neurális hálózattípusok betanításához. És ez a visszacsatoló hálózatok visszaterjedésének kiterjesztése a visszacsatoló hálózatokban jelenlévő ismétlődéshez való alkalmazkodással.

CNN vs RNN

Mint már említettük, a CNN-ek nem úgy épülnek fel, mint egy RNN. Az RNN-ek visszaküldik az eredményeket a hálózatba, míg a CNN-ek előrecsatolt neurális hálózatok, amelyek szűrőket és pooling rétegeket alkalmaznak.

Alkalmazási szempontból a CNN-eket gyakran használják téradatokkal, például képekkel kapcsolatos problémák modellezésére. Időbeli, szekvenciális adatok, például szöveg- vagy képsorozatok feldolgozásakor az RNN-ek jobban teljesítenek.

Ezeket a különbségeket az alábbi táblázatban csoportosíthatjuk:

Convolution Neural Networks (CNNs) Recurrent Neural Networks (RNNs)
Architecture Feed-forward neural network Feed-back neural network
Layout Multiple layers of nodes including convolutional layers Information flows in different directions, simulating a memory effect
Data type Image data Sequence data
Input/Output The size of the input and output are fixed (i.e input image with fixed size and outputs the classification) The size of the input and output may vary (i.e receiving different texts and generating different translations for example)
Use cases Image classification, recognition, medical imagery, image analysis, face detection Text translation, natural language processing, language translation, sentiment analysis
Drawbacks Large training data Slow and complex training procedures
Description CNN employs neuronal connection patterns. And, they are inspired by the arrangement of the individual neurons in the animal visual cortex, which allows them to respond to overlapping areas of the visual field. Time-series information is used by recurrent neural networks. For instance, a user’s previous words could influence the model prediction on what he can says next.

Építészeti példák: AlexNet

Az AlexNet néven ismert konvolúciós neurális hálózat (CNN) architektúrát Alex Krizhevsky hozta létre. Nyolc réteg alkotta az AlexNet-et; az első öt konvolúciós réteg volt, néhányukat max-pooling réteg követte, az utolsó három pedig teljesen összefüggő réteg volt. Használta a nem telítő ReLU aktiválási funkciót, amely az edzés hatékonyságát tekintve felülmúlta a tanht és a sigmoidt. A számítógépes látás egyik legbefolyásosabb tanulmányának tartott AlexNet számos további kutatás közzétételét indította el, amelyek CNN-eket és GPU-kat használtak a mély tanulás felgyorsítására. Valójában F szerint az AlexNet kiadványra 2022-ig több mint 69 000 hivatkozás érkezett.

AlexNet architektúra piramisgyűjtéssel és felügyelettel (forrás)

LeNet

Yann LeCun javasolta a LeNet néven ismert konvolúciós neurális hálózati topológiát. Az egyik első konvolúciós neurális hálózat, a LeNet-5, segítette a mély tanulást. A LeNet, az első konvolúciós neurális hálózat prototípusa, rendelkezik a konvolúciós neurális hálózat alapvető összetevőivel, beleértve a konvolúciós réteget, a pooling réteget és a teljes kapcsolódási réteget, amelyek alapot biztosítanak jövőbeli fejlődéséhez. A LeNet-5 hét rétegből áll, amint az az ábrán látható.

A LeNet-5 felépítése (forrás)

Hosszú rövid távú memória (LSTM)

Az LSTM hálózat az RNN-ek egyik kiemelkedő példája. Ezek az architektúrák az egyes adatpontokon kívül teljes adatsorozatokat is képesek elemezni. Az LSTM például olyan feladatok végrehajtására használható, mint a szegmentálatlan kézírás-azonosítás, beszédfelismerés, nyelvi fordítás és robotvezérlés.

Hosszú távú rövid távú memória (LSTM) cella (forrás)

Az LSTM hálózatok cellákból épülnek fel (lásd a fenti ábrát), az LSTM cellák alapvető összetevői általában a következők: felejtőkapu, bemeneti kapu, kimeneti kapu és cellaállapot.

Korlátozott visszatérő egységek (GRU)

Ez az RNN-származék összehasonlítható az LSTM-ekkel, mivel megpróbálja megoldani az RNN modellekre jellemző rövid távú memória problémát. A GRU-nak kevesebb paramétere van, mint egy LSTM-nek, mivel nincs kimeneti kapuja, de hasonló a felejtőkapuval rendelkező LSTM-hez. Felfedezték, hogy a GRU és az LSTM hasonlóan teljesített bizonyos zenei modellezési, beszédjel-modellezési és természetes nyelvi feldolgozási feladatokban. A GRU-k több kisebb, ritkábban előforduló adatkészleten is kiváló teljesítményt nyújtottak.

A kapuzott ismétlődő egységcella diagramja (forrás)

Használati esetek

Az alkalmazástól függően az előrecsatolt struktúra jobban működhet egyes modelleknél, míg a visszacsatolásos kialakítás hatékonyan működhet másoknál. Íme néhány olyan eset, amikor előnyösebb volt az egyik architektúra kiválasztása a másikkal szemben.

Devizaárfolyamok előrejelzése

A japán jen árfolyamait modellező kutatás során, annak ellenére, hogy rendkívül egyszerű és egyszerűen alkalmazható, a mintaadatokon kívüli eredmények azt mutatják, hogy a feed-forward modell meglehetősen pontos az árszintek és az árirány előrejelzésében. Valójában az előrecsatolt modell jobban teljesített, mint az ismétlődő hálózati előrejelzési teljesítmény. Ez annak a ténynek tudható be, hogy a visszacsatolásos modelleknek, amelyek gyakran zavart vagy instabilitást tapasztalnak, adatokat kell továbbítaniuk előre és hátra.

Részlegesen elzárt tárgyak felismerése

Széles körben elterjedt az a felfogás, hogy az objektumok azonosítása során előrecsatolt feldolgozást alkalmaznak. Az elzáródott ingerek ismétlődő felülről lefelé irányuló kapcsolatai képesek lehetnek az elveszett információk rekonstrukciójára a bemeneti képeken. A frankfurti Institute for Advanced Studies AI kutatói vizsgálták ezt a témát. Kimutatták, hogy az elzáródott objektumok észlelése esetén az ismétlődő neurális hálózati architektúrák jelentős teljesítményjavulást mutatnak. Ugyanezeket az eredményeket a Journal of Cognitive Neuroscience egy másik cikkében számolták be. A szerzők által végzett kísérletek és modellszimulációk rávilágítanak az előrecsatolt látás korlátaira, és azt állítják, hogy a tárgyfelismerés valójában egy rendkívül interaktív, dinamikus folyamat, amely több agyterület együttműködésén alapul.

Képosztályozás

Egyes esetekben az egyszerű előrecsatolt architektúrák felülmúlják az ismétlődő hálózatokat, ha megfelelő képzési megközelítésekkel kombinálják őket. Például a ResMLP, a képosztályozás olyan architektúrája, amely kizárólag többrétegű perceptronokon alapul. Egy kutatási projekt kimutatta egy ilyen struktúra teljesítményét, ha adathatékony képzéssel használják. Bebizonyosodott, hogy egy egyszerű maradék architektúra maradék blokkokkal, amelyek egyetlen rejtett réteggel és egy lineáris patch interakciós rétegből álló előrecsatolt hálózatból és egy lineáris patch interakciós rétegből állnak, meglepően jól teljesíthet az ImageNet osztályozási benchmarkokon, ha olyan modern képzési módszerekkel használjuk, mint amilyeneket a transzformátor alapú architektúrák.

Szövegbesorolás

Az RNN-ek a szövegosztályozási problémák legsikeresebb modelljei, amint azt korábban tárgyaltuk. Egy tanulmányban három különböző információ-megosztási stratégiát javasoltak a szöveg megosztott és feladatspecifikus rétegekkel történő megjelenítésére. Mindezeket a feladatokat közösen képezik ki a teljes hálózaton. A javasolt RNN-modellek nagy teljesítményt mutattak a szövegosztályozás terén, a négy benchmark szövegosztályozási feladaton végzett kísérletek szerint.

Egy másik cikkben ismertették a szöveges adatok LSTM-alapú hangulatkategorizáló módszerét. Ez az LSTM-technika 85%-os pontossággal mutatta be az érzelmek kategorizálásának teljesítményét, ami a hangulatelemzési modelleknél nagy pontosságnak számít.

Oktatóanyagok

A Paperspace legutóbbi felvásárlásával számos oktatóanyagot adunk ki, amelyeket a CNN-ekhez és az RNN-ekhez egyaránt tettek közzé. Ebben a listában egy rövid válogatást ajánlunk, hogy elkezdhesse:

Objektumészlelés az R-CNN irányított maszk használatával Kerasszal Ez az oktatóanyag bemutatja, hogyan irányíthatja az R-CNN maszkot az objektumok jelölt helyei felé a hatékony objektumészlelés érdekében. A teljes Python kódot tartalmazza.

Ebben a cikkben a Keras használatával egy Seq2Seq nevű modellt valósítunk meg, amely egy szöveges összegzésre használt RNN-modell.

Útmutató a kétirányú RNN-ekhez Keras segítségével | DO közösségi blog Ez a sorozat speciális útmutatót ad a különböző visszatérő neurális hálózatokhoz (RNN). Megismerheti magukat a hálózatokat, azok architektúráját, alkalmazásait, valamint azt, hogyan keltheti életre a modelleket a Keras segítségével.

Ezután a kétirányú RNN ezen megvalósításában a Keras könyvtár segítségével hangulatelemzési modellt készítettünk.

Következtetés

Leegyszerűsítve, különböző eszközökre van szükség a különböző kihívások megoldásához. Nagyon fontos megérteni és leírni a megoldani kívánt problémát, amikor először elkezdi használni a gépi tanulást. Sok gyakorlásra van szükség ahhoz, hogy elég kompetenssé váljon ahhoz, hogy önállóan megkonstruáljon valamit, ezért ezen a területen az ismeretek bővítése megkönnyíti a megvalósítási folyamatokat.

Ebben a bejegyzésben megvizsgáltuk az előrecsatolt és a visszacsatolt neurális hálózati topológiák közötti különbségeket. Ezután két példát vizsgáltunk ezekre az architektúrákra, amelyek előremozdították a mesterséges intelligencia területét: a konvolúciós neurális hálózatokat (CNN) és a visszatérő neurális hálózatokat (RNN). Ezután példákat adtunk az egyes struktúrákra, valamint a valós felhasználási eseteket.

Erőforrás

https://link.springer.com/article/10.1007/BF00868008

https://arxiv.org/pdf/2104.10615.pdf

https://dl.acm.org/doi/10.1162/jocn_a_00282

https://arxiv.org/pdf/2105.03404.pdf

https://proceedings.neurips.cc/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf

https://www.ijcai.org/Proceedings/16/Papers/408.pdf

https://www.ijert.org/research/text-based-sentiment-analysis-using-lstm-IJERTV9IS050290.pdf

Kapcsolódó cikkek: