Mi a különbség a továbbított neurális hálózat között és LSTM ? Miben különböznek egymástól architektúrájukban?

Válasz

Az előremenő neurális hálózat így néz ki:

input -> rejtett 1. réteg -> rejtett 2. réteg -> … -> rejtett réteg k -> output.

Mindegyik rétegnek eltérő számú neuronja lehet, de ez az architektúra .

Az LSTM (hosszú távú memória cella) egy speciális típusú csomópont az ideghálózaton belül. beilleszthető egy előremenő ideghálózatba, és általában . Amikor ez megtörténik, az előremenő neurális hálózatot LSTM-nek nevezik (zavaróan!).

Tehát hogyan működik egy LSTM? Nézze meg itt a válaszomat: Felejtse el a réteget egy visszatérő ideghálózatban (RNN) –

tl; dr: egy LSTM cellának három kapuja van, amelyek mindegyike a bemenetének valamilyen módon történő módosítására szolgál: egy bemeneti kapu, egy megfeledkezõ kapu és egy kimeneti kapu. Van egy “memóriája” és egy kimenete, amelyet a kapuk módosítanak. Vagyis egyetlen LSTM cellán belül:

(input előző cellaállapot) -> (input & felejtő kapuk) -> (cellaállapot frissítése)

(bemenet & előző cellaállapot & frissített cellaállapot) -> (kimeneti kapu)

Ezeket a cellákat sokféle konfigurációban rakhatja egymásra. Tehát nincs egyetlen “LSTM hálózat” – inkább sok lehetséges architektúra halmaza, amely felépíthető ezekből az alapvető csomópontokból.

Remélem, hogy elindul!

Megjegyzések

  • Köszönöm szépen a válaszát, de felvehet néhány képet, hogy jobban megértsem az architektúrát.
  • Mi a helyzet a hátsó propogációval az előremenő hálózatban? feed forward hálózat
  • Helló @ codezcar, válaszomban vannak képek az LSTM-ről, amelyeket linkeltem. Egy előremenő neurális hálózat esetében a kép itt található: medium.com/random-techpark/… Igen, te a backpropagation segítségével megtalálhatja az optimális súlyokat bármilyen típusú neurális hálózatban (feed forward, LSTM, GRU, … egyáltalán!).

Válasz

Ahogy Philipp említette, a visszacsatoló hurokkal rendelkező hálózatok segítenek az adatok modellezésében.

Ezt szeretné áttekinteni a különböző NN architektúrákról: https://i.stack.imgur.com/LgmYv.png

Válasz

Az előremenő hálózatok olyan hálózatok, ahol minden csomópont csak a következő réteg csomópontjaival van összekötve. Nincsenek “kör” kapcsolataik. Az adatok csak bemenetről kimenetre hurkok nélkül haladhatnak. Ilyen például az egyszerű rétegű perceptron vagy a többrétegű perceptrion. A konvolúciós neurális hálózatok is pusztán előremenő hálózatok.

Ezzel szemben amelyek visszatérő ideghálózatok. Az LSTM egyike azoknak. Ezek az RNN “oldalra” is csatlakoztathatók. Ez azt jelenti, hogy az adatai nem csak előre haladhatnak a következő rétegbe, hanem ugyanabban a rétegben lévő többi csomópontra vagy visszafelé is. álláspont azt jelenti, hogy bár van egy olyan hálózata, amelynek talán csak egy rejtett rétege van, a mélységet úgy kapja meg, hogy hurokokat ad hozzá az adott réteg csomópontjaihoz. Általában ezek az „időt” jelentik az adatokban. mit értek a “mélység” alatt a visszacsatolási ciklusokon keresztül: https://en.wikipedia.org/wiki/Recurrent_neural_network#/media/File:Recurrent_neural_network_unfold.svg

Bár technikailag csomópont a réteg architektúrájában, annál mélyebbé válik, minél több hurkot ad hozzá

Válasz

Szeretnék megvitatni néhány magas szintű intuíciót az LSTM hálózatok mögött. Íme néhány kérdés, amelyek segítenek a miért szempontok feltárásában:

  • Miért / mikor használnánk egy LSTM-et egy előre irányított neurális hálózaton (FFNN) keresztül?
  • Milyen előnyei és hátrányai vannak az LSTM-eknek, és hogyan viszonyulnak az FFNN-hez?
  • Miben különböznek a hagyományos visszatérő neurális hálózatoktól (RNN)?

Feed Forward Neural Networks (FFNN)

Először vegyük fontolóra egy szabványos FFNN-t architektúrával: Az adattudományi kép felé: * Paraméterek számának megszámlálása a mély tanulási modellekben kézzel *

Mint valószínűleg tudja, ez az FFNN három bemenetet vesz fel, feldolgozza azokat a rejtett réteg segítségével, és két kimenetet állít elő. Bővíthetjük ezt az architektúrát, hogy több rejtett réteget építsünk be, de az alapkoncepció továbbra is érvényes: az inputok bejönnek, egy irányba kerülnek feldolgozásra, és a végén kerülnek kiadásra.

Ez a koncepció nagyon jól meg van magyarázva. más cikkek által, ezért nem térek ki sokkal részletesebben.A legfontosabb elvitel:

Az FFNN-t és a visszatérő architektúrákat elválasztó elsődleges feltétel az, hogy az idegsejt bemeneteinek az adott neuron előtti rétegből kell származniuk.

FFNN Wikipédia

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

A visszatérő ideghálózatok matematikailag meglehetősen hasonlóak az FFNN modellekhez. Legfőbb különbségük az, hogy az FFNN-re helyezett korlátozás már nem alkalmazandó:

Az idegsejt bemenete bármely más rétegből származhat.

Felmérés a visszatérő ideghálózatok statisztikai nyelvmodellezéshez történő alkalmazásáról

Gyakran látni fogja, hogy ezt az architektúrát gyakran “tekercselik” egy ismétlődő egységbe, például a következőkbe:

Közepes cikk: Minden, amit tudnia kell a visszatérő ideghálózatokról

Az építészeti diagramokban előforduló „gördülő” egységek tehát megtévesztően kicsi. Amikor kibontja őket, a hálózat gyakran elég mély lesz.

RNN Wikipédia

hosszú távú memória (LSTM)

Az LSTM-ek az RNN egy speciális típusa, amelyet az eltűnő / felrobbanó gradiens probléma kezelésére terveztek.

Amikor egy hagyományos RNN-t oktat, a hálózat gyakran szenved eltörő / felrobbanó színátmenetekből: egy visszatérő egység kibontása nagyon mély hálózatot eredményez! Ha hagyományos back-propagation algoritmuson megy keresztül a hagyományos RNN architektúrák használatával, akkor a korábbi rétegek egyre kevésbé lesznek jelentősek, ahogy a hálózaton keresztül terjedünk. Ezáltal a hagyományos RNN-ek hajlamosak elfelejteni az információkat, különösen azokat az adatokat, amelyek sok időzítővel jelennek meg az aktuális idő előtt.

Az LSTM-cellák egy példáját szemléltetjük:

LSTM cella architektúra

Ez a struktúra hasonló a hagyományos RNN feltekercselt egységhez, de a legfontosabb különbség az LSTM-mel a kapuk: bemeneti kapu, kimeneti kapu és elfelejtett kapu. Ezeknek a kapuknak a nevét jól leírják:

  • bemeneti kapu vezérli a a cellába belépő adatok
  • megfeledkezési kapu szabályozza, hogy az adatok mennyire maradnak a cellán belül
  • kimeneti kapu vezérli a cella kimenetét az aktiválási funkción keresztül

Ez a github IO bejegyzés kiváló bevezetést nyújt az LSTM-ek alapjaihoz. Lenyűgöző munkát végez az LSTM matematikája mögött rejlő intuíció megmagyarázásában is.

LSTM Wikipédia

Tulajdonságok és egy példa az RNN használatára

A visszacsatoló hurkok jobban kölcsönzik az ismétlődő neurális hálózatokat az időbeli kihívásoknak. Az idő beleszámít az architektúrájukba!

Fedezzünk fel egy példát:

Talán hálózatot használ a mondat következő szavának előrejelzésére. Tegyük fel, hogy megadták a bemeneteket:

Éhezve, Alice a legközelebbi boltba hajt vásárolni [jóslat]

Egy visszatérő idegháló elfelejtheti az első szót “éhezve”, míg egy LSTM ideális esetben terjesztené. Az LSTM ezért a mondatban korábban hallott kontextust használja az “étel” kitalálására, míg az RNN bármit kitalálhat, amit boltban vásárolnak, különösen hosszú mondat vagy több mondat esetén.

A kapuzási mechanizmusok amelyek lehetővé teszik az ilyen típusú memóriát, a @StatsSorceress itt jól megmagyarázza: Felejtsd el a réteget egy ismétlődő neurális hálózatban (RNN) –

Az RNN-eket szekvenciák kezelésére tervezték. Ez felhasználható video (képsorok), írás / beszéd (szavak sorozata) elemzésére. stb.

Az LSTM-eket úgy tervezték, hogy a fontos információk idővel megmaradjanak. Az RNN-k idővel gyakran “elfelejtik”.

Az FFNN-ek memória nélküli rendszerek; bizonyos bemenetek feldolgozása után mindent elfelejtenek az adott bemenetről. Mondjuk, például kiképezünk egy FFNN-t, amely 5 szót vesz be bemenetként és megjósolja a következő kimenetet. Ez a modell ekkor megkapja a fenti példa bemenetét:

a legközelebbi bolt, ahol megvásárolható [jóslat] .

Ez egyértelműen elveszíti a kontextust, és mi gyenge eredményt érne el.

Most megkérdezheti: mi lenne, ha egy olyan FFNN-t készítenénk, amely sok bemenetet igényelne, így a bemeneteiben szerepelne az “éhezés” szó? Más szóval, nem tudnánk növelni az FFNN-be történő bemenetek számát ahhoz, hogy elegendő módon reprezentálják az előzetes adatokat?

A válasz igen, de ez a módszer egyszerre hatástalan és gyakran nem praktikus. Mondjuk például egy egész bekezdést vissza kell emlékeznünk a kontextusra. Nagyon nagy FFNN-ra lenne szükségünk! Sőt, honnan tudjuk, hogy hány visszahúzódó szót akarunk összefüggésként? 20 lenne elegendő? 30? 100? Az LSTM architektúra ezeket a problémákat teljesen kiküszöböli azáltal, hogy a hálózatnak átmeneti memóriát kezelhet. Ezt a problémát súlyosbítják a videofeldolgozási kihívások, mert mindegyik képkockához lényegesen több bemenetre lesz szükség, mint az NLP feladatokra.

Ne feledje azonban, hogy az LSTM egységek természetüknél fogva bonyolultabbak számítási szempontból, mint az FFNN egységei, ezért ezek oktatása gyakran nehezebb és több időt vesz igénybe. E hátrányok ellenére az időbeli adatkezelés terén elért sikereik egyértelműen megalapozzák az FFNN használatát.

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