Ismétlődő neurális hálózatok (RNN) bemutatása

A visszatérő ideghálózat az egyik mesterséges neurális hálózat (ANN), és a természetes nyelvfeldolgozás (NLP) és a beszédfelismerés alkalmazási területein használják. Az RNN modell célja az adatok szekvenciális jellemzőinek felismerése, majd a minták felhasználása a következő forgatókönyv előrejelzésére.

Ismétlődő neurális hálózatok működése

Ha a hagyományos idegi hálózatokról beszélünk, akkor az összes kimenet és bemenet független egymástól, amint az az alábbi ábrán látható:

Viszont ismétlődő ideghálózatok esetén az előző lépésekből származó kimenetet az aktuális állapot bemenetéhez kell betáplálni. Például bármely szó következő betűjének megjósításához vagy a mondat következő szót megjósolni kell, hogy emlékezzen az előző betűkre vagy a szavakra, és azokat valamilyen memória formájában tárolja.

A rejtett réteg emlékezik bizonyos információkkal a szekvenciáról. Egy egyszerű valós példa, amellyel összekapcsolhatjuk az RNN-t, amikor filmet nézünk, és sok esetben képesek vagyunk megjósolni, hogy mi fog történni, de mi lenne, ha valaki éppen csatlakozott a filmhez, és felkérik, hogy ez lesz a következő? Mi lesz a válasz? Semmi értelme nincs róla, mert nincsenek tisztában a film korábbi eseményeivel, és nincsenek emlékeik erre.

Az alábbiakban bemutatjuk a tipikus RNN modellt:

Az RNN modelleknek van egy olyan memóriájuk, amely mindig emlékszik arra, amit az előző lépésekben elvégeztek és amit kiszámítottak. Az összes bemeneten ugyanazt a feladatot hajtják végre, és az RNN ugyanazt a paramétert használja minden bemenethez. Mivel a hagyományos ideghálózatnak független bemeneti és kimeneti halmazai vannak, összetettebbek, mint az RNN.

Most próbáljuk megérteni a visszatérő neurális hálózatot egy példa segítségével.

Tegyük fel, hogy van egy neurális hálózatunk 1 bemeneti réteggel, 3 rejtett réteggel és 1 kimeneti réteggel.

Ha más vagy a hagyományos ideghálózatról beszélünk, akkor a rejtett rétegeikben saját elmozdulásokkal és súlyokkal rendelkeznek, például (w1, b1) az 1. rejtett réteghez, (w2, b2) a 2. rejtett réteghez és (w3, b3). ) a harmadik rejtett réteghez, ahol: w1, w2 és w3 a súlyok, és b1, b2 és b3 az elfogultság.

Ezt figyelembe véve azt mondhatjuk, hogy az egyes rétegek nem függenek egymástól, és nem tudnak semmit sem emlékezni az előző bemenetre:

RNN a következőket fogja tenni:

  • A független rétegeket átalakítják a függő rétegekké. Ez úgy történik, hogy az összes rétegre ugyanazokat a torzításokat és súlyokat adjuk meg. Ez csökkenti a visszatérő ideghálózat paramétereinek és rétegeinek számát, és segít az RNN-nek az előző kimenet memorizálásában azáltal, hogy a korábbi kimenetet a közelgő rejtett réteg bemeneteként adja ki.
  • Összegezve: az összes rejtett réteg összekapcsolható egyetlen ismétlődő rétegbe, úgy, hogy a súlyok és az eltérések az összes rejtett rétegnél azonosak legyenek.
    Tehát a visszatérő ideghálózat az alábbiak szerint néz ki:

Itt az ideje, hogy foglalkozzunk az RNN modell néhány egyenletével.

  • Az aktuális állapot kiszámításához,

h t= f (h t-1, x t ),

Hol:

x t a bemeneti állapot
h t-1 az előző állapot,
h t az aktuális állapot.

  • Az aktiválási függvény kiszámításához

h t= tanh (W hh h t-1 +W xh x t ),

Hol:
W xh a bemenő neuron tömege,

Whh a visszatérő ideg súlya.

  • A teljesítmény kiszámításához:

Y t =W hy h t.

Hol,
Y t a output és
W hy a kimeneti réteg tömege.

Ismétlődő neurális hálózat képzésének lépései

  1. A bemeneti rétegekben a kezdeti bemenet akkor kerül elküldésre, ha mindegyik azonos súlyú és aktiváló funkcióval rendelkezik.
  2. Az aktuális bemenet és az előző állapot kimenet alapján kiszámítja az aktuális állapotot.
  3. A h t jelenlegi állapota második alkalommal h t-1 lesz.
  4. Ez folytatja az összes lépés megismétlését, és minden egyes probléma megoldása érdekében annyiszor folytathatja az összes előző lépés információinak összekapcsolását.
  5. Az utolsó lépést ezután kiszámítja a végállapot aktuális állapota és az összes többi korábbi lépés.
  6. Most hibát generálunk, ha kiszámoljuk a tényleges és az RNN modellünk által generált kimenet közötti különbséget.
  7. Az utolsó lépés az, amikor megtörténik a visszapótlás folyamata, ahol a hibát visszaszorítják a súlyok frissítése céljából.

A visszatérő ideghálózatok előnyei

  1. Az RNN bármilyen hosszú bemenetet képes feldolgozni.
  2. Az RNN modell úgy van kialakítva, hogy emlékezzen minden információra az idő során, ami minden idősor-előrejelzőnél nagyon hasznos.
  3. Még ha a bemeneti méret nagyobb is, a modell mérete nem növekszik.
  4. A súlyokat meg lehet osztani az időpontokban.
  5. Az RNN belső memóriáját felhasználhatja a bemenetek tetszőleges sorozatának feldolgozására, ami nem igaz a visszatérő neurális hálózatokra.

A visszatérő neurális hálózatok hátrányai

  1. Ismétlődő jellege miatt a számítás lassú.
  2. Az RNN modellek képzése nehéz lehet.
  3. Ha relu vagy tanh-t használunk aktiválási funkcióként, akkor nagyon nehéz lesz feldolgozni a nagyon hosszú szekvenciákat.
  4. Hajlamosak olyan problémákra, mint a robbanás és a gradiens eltűnése.

Következtetés

Ebben a cikkben megismertük a Mesterséges Neurális Hálózat egy másik típusát, az úgynevezett Ismétlődő Neurális Hálózatot, és arra a fő különbségre összpontosítottunk, amely az RNN-t különbözteti meg az egyéb ideghálózatoktól, azokon a területeken, ahol széles körben alkalmazható, például a beszédfelismerésben. és NLP (természetes nyelvfeldolgozás). Továbbá elmentünk az RNN modellek és funkciók mögött, amelyeket egy robusztus RNN modell felépítéséhez használunk.

Ajánlott cikkek

Ez egy útmutató a visszatérő neurális hálózatokhoz. Itt tárgyaljuk az RNN bevezetését, működését, lépéseit, előnyeit és hátrányait, stb. További információkért áttekintheti a többi javasolt cikket is -
  1. Mi az idegháló?
  2. Gépi tanulási keretek
  3. Bevezetés a mesterséges intelligenciába
  4. Bevezetés a Big Data Analytics szolgáltatásba
  5. Neurális hálózatok megvalósítása

Kategória: