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:
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.
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.
Näet usein, että tämä arkkitehtuuri on usein ”koottu” toistuvaan yksikköön, kuten seuraava:
”Rullatut” yksiköt, jotka saatat nähdä arkkitehtuurikaavioissa, voivat olla petollisesti pieni. Kun avaat ne, verkko on usein melko syvä!
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:
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.
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ä.