LSTM on erinomainen sekvenssien ennustetehtävissä ja vangitsee pitkän aikavälin riippuvuuksia. Ihanteellinen aikasarjoihin, konekääntämiseen ja puheentunnistukseen tilausriippuvuuden vuoksi. Artikkeli tarjoaa syvällisen johdannon LSTM:ään, joka kattaa LSTM-mallin, arkkitehtuurin, toimintaperiaatteet ja niiden kriittisen roolin eri sovelluksissa.
Mikä on LSTM?
Pitkä lyhytaikainen muisti on Hochreiter & Schmidhuberin suunnittelema parannettu versio toistuvasta hermoverkosta.
Perinteinen RNN sillä on yksi piilotettu tila, joka kulkee läpi ajan, mikä voi vaikeuttaa verkon oppia pitkäaikaisia riippuvuuksia. LSTMs malli ratkaise tämä ongelma ottamalla käyttöön muistisolun, joka on säiliö, joka voi säilyttää tietoja pitkän ajan.
LSTM-arkkitehtuurit pystyvät oppimaan pitkän aikavälin riippuvuuksia peräkkäisistä tiedoista, mikä tekee niistä hyvin sopivia tehtäviin, kuten kielen käännös , puheentunnistus ja aikasarjan ennustaminen .
LSTM:itä voidaan käyttää myös yhdessä muiden hermoverkkoarkkitehtuurien, kuten esim Konvoluutiohermoverkot (CNN) kuvien ja videoiden analysointiin.
LSTM-arkkitehtuuri
LSTM-arkkitehtuurit sisältävät muistisolun, jota ohjataan kolmella portilla: tuloportilla, unohtamisportilla ja lähtöportilla. Nämä portit päättävät, mitä informaatiota muistisoluun lisätään, poistetaan ja mitä tietoja siitä lähetetään.
- Tuloportti ohjaa, mitä tietoa muistisoluun lisätään.
- Unohda portti ohjaa, mitä tietoa muistisolusta poistetaan.
- Lähtöportti ohjaa, mitä tietoa muistisolusta lähetetään.
Tämän ansiosta LSTM-verkot voivat valikoivasti säilyttää tai hylätä tietoja, kun ne virtaavat verkon läpi, mikä antaa niille mahdollisuuden oppia pitkäaikaisia riippuvuuksia.
LSTM ylläpitää piilotettua tilaa, joka toimii verkon lyhytaikaisena muistina. Piilotettu tila päivitetään syötteen, edellisen piilotetun tilan ja muistisolun nykyisen tilan perusteella.
pandan kääntöpiste
Kaksisuuntainen LSTM-malli
Kaksisuuntainen LSTM (Bi LSTM/BLSTM) on toistuva hermoverkko (RNN), joka pystyy käsittelemään peräkkäistä dataa sekä eteenpäin että taaksepäin. Tämän ansiosta Bi LSTM voi oppia pidemmän kantaman riippuvuuksia peräkkäisissä tiedoissa kuin perinteiset LSTM:t, jotka voivat käsitellä peräkkäistä dataa vain yhteen suuntaan.
- Bi LSTM:t koostuvat kahdesta LSTM-verkosta, joista toinen käsittelee syöttösekvenssiä eteenpäin ja toinen, joka käsittelee syöttösekvenssiä taaksepäin.
- Kahden LSTM-verkon lähdöt yhdistetään sitten lopullisen lähdön tuottamiseksi.
LSTM-mallit, mukaan lukien Bi LSTM:t, ovat osoittaneet huippuluokan suorituskykyä erilaisissa tehtävissä, kuten konekäännöksissä, puheentunnistuksessa ja tekstin yhteenvedossa.
LSTM-arkkitehtuurien verkot voidaan pinota syvällisten arkkitehtuurien luomiseksi, mikä mahdollistaa vieläkin monimutkaisempien kuvioiden ja hierarkioiden oppimisen peräkkäisessä datassa. Jokainen pinotun kokoonpanon LSTM-kerros kaappaa eri abstraktiotasoja ja ajallisia riippuvuuksia syöttötiedoissa.
LSTM toimii
LSTM-arkkitehtuurissa on ketjurakenne, joka sisältää neljä hermoverkkoa ja erilaisia muistilohkoja, joita kutsutaan nimellä soluja .
Solut säilyttävät tiedot ja muistinkäsittelyt tekevät portit. Siellä on kolme porttia -
Unohda portti
Tieto, joka ei ole enää hyödyllinen solutilassa, poistetaan unohdeportilla. Kaksi sisääntuloa x t (syöttö tiettyyn aikaan) ja h t-1 (edellinen solun lähtö) syötetään portille ja kerrotaan painomatriiseilla, minkä jälkeen lisätään bias. Tuloksena oleva tulos ohjataan aktivointifunktion läpi, joka antaa binäärilähdön. Jos tietyn solutilan tulos on 0, tieto unohtuu ja tulosteen 1 tiedot säilytetään tulevaa käyttöä varten. Unohdusportin yhtälö on:
missä:
- W_f edustaa unohdusporttiin liittyvää painomatriisia.
- [h_t-1, x_t] tarkoittaa nykyisen tulon ja edellisen piilotetun tilan ketjutusta.
- b_f on unohdusportin bias.
- σ on sigmoidiaktivointifunktio.

Tuloportti
Hyödyllisen tiedon lisääminen solun tilaan tapahtuu tuloportin avulla. Ensin informaatiota säädetään sigmoidifunktiolla ja suodatetaan muistettavat arvot samalla tavalla kuin unohdeportti syötteiden avulla h t-1 ja x t .. Sitten luodaan vektori käyttämällä hämärä funktio, joka antaa lähdön -1:stä +1:een, joka sisältää kaikki mahdolliset arvot alkaen ht-1ja x t . Lopulta vektorin arvot ja säädetyt arvot kerrotaan hyödyllisen tiedon saamiseksi. Tuloportin yhtälö on:
Kerrotaan edellinen tila f:llät, jättäen huomioimatta tiedot, jotka olimme aiemmin päättäneet jättää huomiotta. Seuraavaksi sisällytämme it∗Ct. Tämä edustaa päivitettyjä ehdokasarvoja, jotka on mukautettu kunkin tilan arvon päivittämiseen valitsemamme summan mukaan.
kuinka vanha pete davidson on
missä
- ⊙ tarkoittaa elementtikohtaista kertolaskua
- tanh on tanh-aktivointitoiminto
Lähtöportti
Lähtöportti suorittaa hyödyllisen tiedon poimimisen nykyisestä solutilasta lähtönä esitettäväksi. Ensin luodaan vektori soveltamalla soluun tanh-funktiota. Sitten tietoja säädellään sigmoid-funktiolla ja suodatetaan syötteiden avulla muistettavien arvojen mukaan
LSTM:n sovellukset
Jotkut LSTM:n kuuluisista sovelluksista sisältävät:
- Kielen mallinnus: LSTM:iä on käytetty luonnollisen kielen prosessointitehtäviin, kuten kielen mallintamiseen, konekääntämiseen ja tekstin yhteenvetoon. Heitä voidaan kouluttaa luomaan johdonmukaisia ja kieliopillisesti oikeita lauseita oppimalla lauseen sanojen väliset riippuvuudet.
- Puheentunnistus: LSTM:itä on käytetty puheentunnistustehtäviin, kuten puheen transkribointiin tekstiksi ja puhuttujen komentojen tunnistamiseen. Heitä voidaan kouluttaa tunnistamaan puheen kuvioita ja sovittamaan ne vastaavaan tekstiin.
- Aikasarjaennuste: LSTM:iä on käytetty aikasarjaennustetehtäviin, kuten osakekurssien, sään ja energiankulutuksen ennustamiseen. He voivat oppia aikasarjatietojen kuvioita ja käyttää niitä tulevien tapahtumien ennustamiseen.
- Anomalian tunnistus: LSTM:iä on käytetty poikkeamien havaitsemiseen, kuten petosten ja verkkotunkeutumisen havaitsemiseen. Heidät voidaan kouluttaa tunnistamaan tiedoissa olevia malleja, jotka poikkeavat normista ja merkitsemään ne mahdollisiksi poikkeavuuksiksi.
- Recommender Systems: LSTM:iä on käytetty suositustehtäviin, kuten elokuvien, musiikin ja kirjojen suosittelemiseen. He voivat oppia käyttäjien käyttäytymismalleja ja käyttää niitä henkilökohtaisten suositusten tekemiseen.
- Videoanalyysi: LSTM:itä on käytetty videoanalyysitehtäviin, kuten kohteen havaitsemiseen, toimintojen tunnistamiseen ja toimintojen luokitteluun. Niitä voidaan käyttää yhdessä muiden hermoverkkoarkkitehtuurien, kuten konvoluutiohermoverkkojen (CNN) kanssa, analysoimaan videodataa ja poimimaan hyödyllistä tietoa.
LTSM vs RNN
Ominaisuus | LSTM (pitkä lyhytaikainen muisti) java kelvolliset tunnisteet | RNN (Recurrent Neural Network) |
|---|---|---|
Muisti | Siinä on erityinen muistiyksikkö, jonka avulla se voi oppia pitkän aikavälin riippuvuuksia peräkkäisistä tiedoista | Ei sisällä muistiyksikköä |
Suuntaus | Voidaan kouluttaa käsittelemään peräkkäistä dataa sekä eteen- että taaksepäin | Voidaan kouluttaa käsittelemään peräkkäistä dataa vain yhteen suuntaan |
Koulutus | Vaikeampi kouluttaa kuin RNN porttien ja muistiyksikön monimutkaisuuden vuoksi powershell-järjestelmänvalvoja | Helpompi harjoitella kuin LSTM |
Pitkäaikainen riippuvuusoppiminen | Joo | Rajoitettu |
Kyky oppia peräkkäistä dataa | Joo | Joo |
Sovellukset | Konekäännös, puheentunnistus, tekstin yhteenveto, luonnollisen kielen käsittely, aikasarjaennuste | Luonnollisen kielen käsittely, konekäännös, puheentunnistus, kuvankäsittely, videonkäsittely |
Ongelma pitkäaikaisten riippuvuuksien kanssa RNN:ssä
Toistuvat neuroverkot (RNN:t) on suunniteltu käsittelemään peräkkäistä dataa säilyttämällä piilotettu tila, joka kaappaa tiedot aikaisemmista aikavaiheista. He kohtaavat kuitenkin usein haasteita oppiessaan pitkäaikaisia riippuvuuksia, jolloin kaukaisten aikavaiheiden tiedoista tulee ratkaisevan tärkeitä tarkkoja ennusteita varten. Tämä ongelma tunnetaan katoavan gradientin tai räjähtävän gradientin ongelmana.
Alla on lueteltu muutamia yleisiä ongelmia:
Häivyttävä gradientti
Ajan myötä etenemisen aikana gradienteista voi tulla äärimmäisen pieniä, kun ne kerrotaan toistuvien yhteyksien ketjussa, jolloin mallilla on vaikeuksia oppia riippuvuuksia, jotka erotetaan useilla aikaaskelilla.
Räjähtävä gradientti
Sitä vastoin gradientit voivat räjähtää takaisin leviämisen aikana, mikä johtaa numeeriseen epävakauteen ja vaikeuttaa mallin lähentymistä.
Pitkän lyhytaikaisen muistin eri versiot
Ajan myötä alkuperäiseen LSTM-arkkitehtuuriin on ehdotettu useita muunnelmia ja parannuksia.
Vanilja LSTM
Tämä on alkuperäinen Hochreiterin ja Schmidhuberin ehdottama LSTM-arkkitehtuuri. Se sisältää muistisoluja, joissa on syöttö-, unohdus- ja lähtöportit tiedonkulun ohjaamiseksi. Keskeisenä ajatuksena on antaa verkon päivittää ja unohtaa tiedot muistisolusta.
Näköaukon liitännät
Kurkistusreiässä LSTM portit voivat tarkastella solun tilaa piilotilan lisäksi. Tämän ansiosta portit voivat ottaa huomioon solun tilan päätöksiä tehdessään, mikä tarjoaa enemmän kontekstitietoa.
Aidattu toistuva yksikkö (GRU)
GRU on vaihtoehto LSTM:lle, joka on suunniteltu yksinkertaisemmaksi ja laskennallisesti tehokkaammaksi. Se yhdistää syöttö- ja unohdusportit yhdeksi päivitysportiksi ja yhdistää solun tilan ja piilotetun tilan. Vaikka GRU:illa on vähemmän parametreja kuin LSTM:illä, niiden on osoitettu toimivan käytännössä samalla tavalla.
viitetietotyyppejä javassa
Johtopäätös
Long Short-Term Memory (LSTM) on tehokas toistuvan hermoverkon (RNN) tyyppi, joka soveltuu hyvin peräkkäisten tietojen käsittelyyn, jossa on pitkäaikaisia riippuvuuksia. Se ratkaisee katoavan gradientin ongelman, joka on RNN:iden yleinen rajoitus, ottamalla käyttöön avainnusmekanismin, joka ohjaa tiedonkulkua verkon läpi. Tämän ansiosta LSTM:t voivat oppia ja säilyttää tietoja menneisyydestä, mikä tekee niistä tehokkaita tehtävissä, kuten konekäännös, puheentunnistus ja luonnollisen kielen käsittely.
Tarkista myös:
- Pitkä lyhytaikainen muisti (LSTM) RNN Tensorflowissa
- Tekstin luominen toistuvan pitkän lyhytaikaisen muistiverkon avulla
- Pitkän lyhytaikaisen muistin verkkojen selitys
Usein kysytyt kysymykset (FAQ)
1. Mikä on LSTM ja miksi sitä käytetään?
LSTM eli Long Short-Term Memory on eräänlainen toistuva hermoverkko, joka on suunniteltu sekvenssitehtäviin ja joka on erinomainen tietojen pitkäaikaisten riippuvuuksien sieppaamisessa ja hyödyntämisessä.
2. Miten LSTM toimii?
LSTM:t käyttävät solun tilaa tallentaakseen tietoja aiemmista syötteistä. Tämä solun tila päivitetään verkon jokaisessa vaiheessa, ja verkko käyttää sitä ennustaakseen nykyistä tuloa. Solun tila päivitetään käyttämällä sarjaa portteja, jotka ohjaavat kuinka paljon tietoa saa virrata soluun ja sieltä ulos.
3. Mitä ovat LSTM-esimerkit?
Esimerkkejä LSTM:stä (Long Short-Term Memory) ovat puheentunnistus, konekäännös ja aikasarjan ennustaminen, mikä hyödyntää sen kykyä kaapata pitkän aikavälin riippuvuuksia peräkkäisissä tiedoissa.
4. Mitä eroa on LSTM:n ja GRU:n (Gated Recurrent Unit) välillä?
LSTM:ssä on solutila ja avainnusmekanismi, joka ohjaa tiedonkulkua, kun taas GRU:ssa on yksinkertaisempi yhden portin päivitysmekanismi. LSTM on tehokkaampi mutta hitaampi harjoitella, kun taas GRU on yksinkertaisempi ja nopeampi.
5. Mitä eroa on LSTM:n ja RNN:n välillä?
- RNN:t niillä on yksinkertainen toistuva rakenne ja yksisuuntainen tiedonkulku.
- LSTM:t niillä on avainnusmekanismi, joka ohjaa tiedonkulkua ja solutila pitkäaikaista muistia varten.
- LSTM:t yleensä ylittävät RNN:t tehtävissä, jotka vaativat pitkäaikaisten riippuvuuksien oppimista.
6. Onko LSTM nopeampi kuin CNN?
Ei, LSTM:t ja CNN:t palvelevat eri tarkoituksia. LSTM:t ovat peräkkäisiä tietoja varten; CNN:t ovat paikkatietoja varten.
7. Onko LSTM nopeampi kuin GRU?
Yleensä kyllä. GRU:illa on vähemmän parametreja, mikä voi johtaa nopeampaan harjoitteluun verrattuna LSTM:ihin.