Mitä eroa on välitettävän hermoverkon välillä ja LSTM ? Kuinka ne eroavat toisistaan arkkitehtuuriltaan?

Vastaus

Syöttö eteenpäin -hermoverkko näyttää tältä:

input -> piilotettu kerros 1 -> piilotettu kerros 2 -> … -> piilotettu kerros k -> output.

Jokaisella kerroksella voi olla erilainen määrä neuroneja, mutta se on arkkitehtuuri .

LSTM (lyhytaikainen muistisolu) on erityinen solmu hermoverkossa. Se voidaan laittaa osaksi eteenpäin tulevaa hermoverkkoa, ja se on yleensä Kun näin tapahtuu, eteenpäin suuntautuvaa hermoverkkoa kutsutaan LSTM: ksi (hämmentävästi!).

Joten miten LSTM toimii? Katso vastaustani täältä: Unohda taso toistuvassa hermoverkossa (RNN) –

tl; dr: LSTM-solussa on kolme porttia, joista kutakin käytetään moduloimaan tuloaan jollain tavalla: sisääntuloportti, unohdusportti ja lähtöportti. Siinä on ”muisti” ja lähtö, jota portit muokkaavat. Toisin sanoen yhdessä LSTM-solussa:

(input edellinen solun tila) -> (input & unohda portit) -> (päivitä solun tila)

(input & edellinen solun tila & päivitetty solun tila) -> (lähtöportti)

Voit pinota nämä solut moniin eri kokoonpanoihin. Joten ei ole olemassa yhtä ”LSTM-verkkoa” – pikemminkin joukko monia mahdollisia arkkitehtuureja, jotka voidaan rakentaa näistä perussolmuista.

Toivottavasti pääset alkuun!

Kommentit

  • Paljon kiitoksia vastauksestasi, mutta voisitko lisätä kuvia parantaakseni ymmärrystäni arkkitehtuurista
  • Entä takapopulaatio syötteen eteenpäin -verkossa, missä sitä esiintyy syötteensiirtoverkko
  • Hei @codezcar, vastauksessani on kuvia LSTM: stä, jotka linkitin. Etukäteen tulevaa hermoverkkoa varten kuva on täällä: medium.com/random-techpark/… Kyllä, sinä osaa taaksepäin levittämisen avulla löytää optimaaliset painot minkä tahansa tyyppisessä hermoverkossa (eteenpäin, LSTM, GRU, … ollenkaan!).

Vastaa

Kuten Philipp mainitsi, verkot, joissa on palautesilmukat, auttavat mallinnamaan datan aikaa.

Haluat etsiä tämän yleiskatsauksen eri NN-arkkitehtuureista: https://i.stack.imgur.com/LgmYv.png

Vastaus

Siirtoyhteysverkot ovat verkkoja, joissa jokainen solmu on liitetty vain seuraavan kerroksen solmuihin. Heillä ei ole ”ympyrä” -yhteyksiä. Tiedot voivat kulkea vain syötteestä ulostuloon ilman silmukoita. Esimerkkejä ovat yksinkertainen kerrosperceptron tai monikerroksinen perceptrion. Konvoluutiohermoverkot ovat myös puhtaasti eteenpäin tulevia verkkoja

jotka ovat toistuvia hermoverkkoja. LSTM on yksi niistä. Nämä RNN voidaan liittää myös ”sivuttain”. Tämä tarkoittaa, että tietosi voivat kulkea paitsi eteenpäin seuraavaan kerrokseen myös muihin saman kerroksen solmuihin tai taaksepäin. näkökulma tarkoittaa, että vaikka sinulla on verkko, jossa on ehkä vain yksi piilotettu taso, saat ”syvyyden” lisäämällä silmukoita kyseisen kerroksen solmuihin. Yleensä nämä edustavat ”aikaa” tiedoissa.

Tämä kuva näyttää mitä tarkoitan ”syvyydellä” palautesilmukoiden kautta: https://en.wikipedia.org/wiki/Recurrent_neural_network#/media/File:Recurrent_neural_network_unfold.svg

Vaikka teknisesti solmun tasoarkkitehtuurissasi, se syvenee ja syvenee, mitä enemmän silmukoita lisäät

Vastaa

Haluan keskustella korkean tason intuitiosta LSTM-verkkojen takana. Tässä on joitain kysymyksiä, joiden avulla voit tutkia miksi näkökohtia:

  • Miksi / milloin käytämme LSTM: ää eteenpäin suuntautuvan hermoverkon (FFNN) yli?
  • Mitkä ovat LSTM: ien edut ja haitat ja miten ne vertautuvat FFNN: ään?
  • Miten ne eroavat perinteisistä toistuvista hermoverkoista (RNN)?

Feed Forward Neural Networks (FFNN)

Tarkastellaan ensin standardin mukaista FFNN-arkkitehtuuria: Kohti datatiedekuvaa: * Parametrien määrän laskeminen syväoppimismalleissa käsin *

Kuten luultavasti tiedät, tämä FFNN vie kolme tuloa, käsittelee ne piilotetun kerroksen avulla ja tuottaa kaksi lähtöä. Voimme laajentaa tätä arkkitehtuuria sisällyttämään enemmän piilotettuja tasoja, mutta peruskäsite on edelleen voimassa: panokset tulevat sisään, ne käsitellään yhteen suuntaan ja ne tuotetaan loppuun.

Tämä käsite on hyvin selitetty muut artikkelit, joten en aio mennä paljon tarkemmin.Tärkein takeaway on:

Ensisijainen ehto, joka erottaa FFNN: n toistuvista arkkitehtuureista, on se, että hermosyötön tulee olla kerroksesta, joka edeltää kyseistä hermosolua.

FFNN Wikipedia

Toistuvat hermoverkot (RNN)

Toistuvat hermoverkot ovat matemaattisesti melko samanlaisia kuin FFNN-mallit. Niiden tärkein ero on se, että FFNN: lle asetettua rajoitusta ei enää sovelleta:

Neuronin tulot voivat tulla mistä tahansa muusta kerroksesta.

Tutkimus toistuvien hermoverkkojen käytöstä tilastollisessa kielimallinnuksessa

Näet usein, että tämä arkkitehtuuri on usein ”koottu” toistuvaan yksikköön, kuten seuraava:

Keskitasoinen artikkeli: Kaikki mitä sinun tarvitsee tietää toistuvista hermoverkoista

”Rullatut” yksiköt, jotka saatat nähdä arkkitehtuurikaavioissa, voivat olla petollisesti pieni. Kun avaat ne, verkko on usein melko syvä!

RNN Wikipedia

Pitkäaikainen muisti (LSTM)

LSTM: t ovat erityinen RNN-tyyppi, joka on suunniteltu vastaamaan katoavan / räjähtävän kaltevuusongelman ratkaisemiseen. / div>

Kun koulutat perinteistä RNN-verkkoa, verkko kärsii usein kaltevuuden katoamisesta / räjähtämisestä: toistuvan yksikön avaaminen johtaa erittäin syvään verkkoon! Jos käydään läpi backpropagation-algoritmi käyttäen perinteisiä RNN-arkkitehtuureja, aikaisemmat kerrokset ovat yhä vähemmän merkittäviä, kun etenemme verkon kautta. Tämä tekee perinteisistä RNN-palveluista taipuvaisia unohtamaan tietoja, etenkin tietoja, jotka näkyvät useita aikavaiheita ennen nykyistä aikaa.

Esimerkki LSTM-solusta on esitetty sellaisenaan:

LSTM-soluarkkitehtuuri

Tämä rakenne on samanlainen kuin perinteinen RNN-kelausyksikkö, mutta keskeinen ero LSTM: ään ovat portit: syöttöportti, lähtöportti ja unohda portti. Näiden porttien toiminta on kuvattu hyvin niiden nimillä:

  • tuloportti ohjaa soluun saapuvat tiedot
  • unohda portti hallitsee datan pysymistä solussa
  • lähtöportti ohjaa solun ulostuloa aktivointitoiminnon avulla

Tämä github IO -viesti on hieno esittely LSTM: ien perusteisiin. Se tekee myös hämmästyttävän tehtävän selittää LSTM: n matematiikan taustalla olevaa intuitiota.

LSTM Wikipedia

Ominaisuudet ja esimerkki RNN: n käyttötapauksista

Palautesilmukat antavat toistuvia hermoverkkoja paremmin ajallisiin haasteisiin. Aika otetaan huomioon heidän arkkitehtuurissaan!

Tutkitaan esimerkkiä:

Ehkä käytät verkon avulla ennustamaan lauseen seuraavaa sanaa. Sano, että sinulle annetaan syötteet:

Nälkää, Alice ajaa lähimpään kauppaan ostamaan [ennuste]

Toistuva hermoverkko saattaa unohtaa ensimmäisen sanan ”nälkään”, kun taas LSTM levittäisi sitä parhaalla mahdollisella tavalla. Siksi LSTM käyttäisi aiemmin lauseessa kuullun kontekstin arvaamaan ”ruokaa”, kun taas RNN saattaa arvailla mitä tahansa myymälästä ostettua, erityisesti pitkällä lauseella tai useilla lauseilla.

Porttimekanismit jotka sallivat tämäntyyppisen muistin, selittää @StatsSorceress tässä: Unohda kerros toistuvassa hermoverkossa (RNN) –

RNN: t on suunniteltu käsittelemään sekvenssejä. Tätä voidaan käyttää videon (kuvasekvenssit), kirjoittamisen / puheen (sanasekvenssit) analysointiin. jne.

LSTM: t on suunniteltu antamaan tärkeät tiedot säilymään ajan myötä. RNN: t ”unohtavat” ajan myötä.

FFNN: t ovat muistittomia järjestelmiä; jonkin syötteen käsittelemisen jälkeen he unohtavat kaiken kyseisestä syötteestä. Oletetaan, että esimerkiksi koulutamme FFNN: n, joka ottaa 5 sanaa tuloina ja ennustaa seuraavan lähdön. Tämä malli saisi sitten syötteen yllä olevasta esimerkistä:

lähin myymälä [ennakointi] .

Tämä on selvästi menettämässä kontekstiaan, ja me saisi huonon tuloksen.

Nyt saatat kysyä, entä jos tekisimme FFNN: n, joka ottaisi monia syötteitä niin, että se sisältäisi syötteeseen sanan ”nälkää”? Toisin sanoen, voisimmeko lisätä FFNN: n syötteiden määrää edustamaan riittävästi aikaisempia tietoja?

Vastaus on kyllä, mutta tämä menetelmä on sekä tehoton että usein epäkäytännöllinen. Oletetaan esimerkiksi, että meidän on muistettava konteksti koko kappale taaksepäin. Tarvitsemme erittäin suuren FFNN: n! Lisäksi mistä tiedämme kuinka monta sanaa takaisin haluamme kontekstina? Riittäisikö 20? 30? 100? LSTM-arkkitehtuuri eliminoi nämä ongelmat kokonaan antamalla verkon hallita ohimenevää muistia. Videonkäsittelyhaasteet pahentavat tätä ongelmaa, koska kukin kehys vaatii huomattavasti enemmän syötteitä kuin NLP-tehtävät.

Huomaa kuitenkin, että LSTM-yksiköt ovat luonnostaan monimutkaisempia kuin FFNN-yksiköt, joten niiden kouluttaminen on usein vaikeampaa ja vie enemmän aikaa. Näistä haitoista huolimatta heidän menestyksensä ajallisissa tietohaasteissa edellyttää selvästi niiden käyttöä FFNN: ssä.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *