Ota kaikki irti sekvenssiennusteongelmiesi LSTM-moduuleista

Ota kaikki irti sekvenssiennusteongelmiesi LSTM-moduuleista

Pitkän aikavälin muistin (LSTM) toistuvat hermoverkot ovat voimakas tyyppinen syväoppiminen, joka sopii sekvenssiennusteisiin.

Mahdollinen huolenaihe LSTM-moduulien käytössä on, jos mallin lisätty monimutkaisuus parantaa mallisi taitoa tai johtaa itse asiassa heikompaan taitoon kuin yksinkertaisemmat mallit.

Tässä viestissä löydät yksinkertaisia ​​kokeita, jotka voit suorittaa varmistaaksesi, että saat parhaan hyödyn LSTM: istä sekvenssiennusteongelmassasi.

Luettuasi tämän viestin tiedät:

  • Kuinka testata, hyödyntääkö mallisi syöttötiedoissa tilausriippuvuutta.
  • Kuinka testata, onko mallisi hyödyntämässä muistia LSTM-mallissasi.
  • Kuinka testata, käyttääkö mallisi BPTT: tä asennettaessa malliasi.

Käynnistä projekti uuden kirjani kanssa Long Short-Term Memory Networks With Python, mukaan lukien vaiheittaiset oppaat ja Python-lähdekoodi tiedostot kaikille esimerkeille.

Sukelletaan sisään.

Ota kaikki irti sekvenssiennusteongelmiesi LSTM-moduuleista

Ota kaikki irti sekvenssiennusteongelmiesi LSTM-moduuleista
Kuva: DoD News, joitain oikeuksia pidätetään.

3 LSTMS: n ominaisuudet

LSTM-toistuvalla hermoverkolla on muutama avainominaisuus, jotka antavat menetelmälle sen vaikuttavan voiman moniin sekvenssiennusteongelmiin.

Sukeltamatta LSTM: ien teoriaan voimme tiivistää muutaman erillisen LSTM: n käyttäytymisen, jotka voimme määrittää malleissamme:

  • Tilausriippuvuus. Sekvenssiennusteongelmat edellyttävät tilaamista havaintojen välillä, kun taas yksinkertaisemmat valvotut oppimisongelmat eivät, ja tämä järjestys voidaan satunnaistaa ennen harjoittelua ja ennustamista. Sekvenssiennustusongelma voidaan muuntaa yksinkertaisemmaksi muodoksi satunnaistamalla havaintojen järjestys.
  • Muisti. LSTM: issä on sisäinen muisti tulosekvenssien havaintojen yli, kun taas yksinkertaisissa hermoverkoissa, kuten Monikerroksiset perceptronit, ei. LSTM: t voivat menettää tämän muistin nollaamalla sisäisen tilan jokaisen tulohavainnon jälkeen.
  • BPTT. Toistuvat hermoverkot käyttävät harjoitusalgoritmia, joka arvioi painopäivitysten suunnan tulosekvenssin kaikissa aikavaiheissa, kun taas muun tyyppiset verkot rajoittuvat yksittäisiin näytteisiin (lukuun ottamatta keskiarvon laskemista tuloerien välillä molemmissa tapauksissa). LSTM: t voivat jättää huomioimatta aikaisempien aikaerojen virheiden osuuden gradienttiestimaateissa työskentelemällä yhden havainnon pituisten jaksojen kanssa.

Nämä kolme ominaisuutta ja niiden konfiguroitavuus yksinkertaisempaan muotoon muodostavat perustan kolmelle kokeelle, jotka voit suorittaa, jotta näet tarkalleen ne LSTM-moduulien ominaisuudet, joita voit ja hyödynnät sekvenssiennusteongelmassasi.

Tarvitsetko apua taidon LSTMs for Sequence Prediction kanssa?

Suorita ilmainen 7 päivän sähköpostikurssini ja löydä 6 erilaista LSTM-arkkitehtuuria (koodilla).

Napsauta rekisteröityäksesi ja hanki myös ilmainen PDF Ebook -versio kurssista.

Aloita ILMAINEN minikurssi nyt!

1. Hyödynnätkö tilausriippuvuutta?

Sekvenssiennusteiden keskeinen piirre on, että havaintojen välillä on järjestysriippuvuus.

Eli havaintojen järjestyksellä on merkitystä.

Oletus: Havaintojen järjestyksen odotetaan olevan tärkeä ennustettaessa sekvenssiennusteongelmia.

Voit tarkistaa, onko tämä oletus totta, kehittämällä suorituskyvyn lähtötaso mallilla, joka käyttää vain ennakkotarkkailua syötteenä ja sekoittaa koulutus- ja testitiedot.

Tämä voitaisiin saavuttaa useilla tavoilla. Kaksi esimerkkitoteutusta ovat:

  • Monikerroksinen perceptroni (MLP) sekoitetuilla harjoittelulla ja testisarjoilla.
  • LSTM sekoitetuilla koulutus- ja testisarjoilla, joissa on päivitykset ja tilan nollaus jokaisen näytteen jälkeen (eräkoko 1).

Testata: Jos järjestysriippuvuus on tärkeä ennustusongelmalle, mallin, joka hyödyntää järjestystä havainnoiden välillä jokaisessa tulosekvenssissä ja eri tulosekvensseissä, tulisi saavuttaa parempi suorituskyky kuin mallissa, joka ei tee niin.

2. Hyödynnätkö LSTM-muistia?

LSTM: ien keskeinen kyky on, että he voivat muistaa pitkiä tulojaksoja.

Toisin sanoen kukin muistiyksikkö ylläpitää sisäistä tilaa, jonka voidaan ajatella olevan paikallisia muuttujia, joita käytetään ennusteita tehtäessä.

Oletus: Mallin sisäisen tilan odotetaan olevan tärkeä taitojen mallinnuksessa.

Voit tarkistaa, onko tämä oletus totta, kehittämällä suorituskyvyn lähtötaso mallilla, jolla ei ole muistia näytteestä toiseen.

Tämä voidaan saavuttaa nollaamalla LSTM: n sisäinen tila jokaisen havainnon jälkeen.

Testata: Jos sisäinen muisti on tärkeä ennustusongelmalle, mallin, jolla on muistia tulosekvenssin havaintojen yli, tulisi saavuttaa parempi suorituskyky kuin mallilla, jolla ei ole.

3. Hyödynnätkö lisääntymistä ajan myötä?

Avain toistuvien hermoverkkojen koulutukseen on Backpropagation through time (BPTT) -algoritmi.

Tämän algoritmin avulla voidaan arvioida painopäivitysten gradientti kaikista sarjan havainnoista (tai osajoukosta katkaistun BPTT: n tapauksessa).

Oletus: BPTT-painopäivitysalgoritmin odotetaan olevan tärkeä sekvenssin ennustamisongelmien taitojen mallintamisessa.

Voit tarkistaa, onko tämä oletus totta, kehittämällä suorituskyvyn lähtötaso, jossa gradienttiarvioinnit perustuvat yhteen ajanjaksoon.

Tämä voidaan saavuttaa jakamalla syötesekvenssit siten, että kukin havainto edustaa yhtä syötesekvenssiä. Tämä olisi riippumatonta siitä, milloin painopäivitykset ajoitetaan ja milloin sisäinen tila nollataan.

Testata: Jos BPTT on tärkeä ennustusongelmalle, mallin, joka arvioi painopäivitysten kaltevuuden useille aikavaiheille, pitäisi saavuttaa parempi suorituskyky kuin mallilla, joka käyttää yhtä aikavaihetta.

Yhteenveto

Tässä viestissä löysit kolme LSTM: n avainkykyä, jotka antavat tekniikalle voiman ja kuinka voit testata näitä ominaisuuksia omilla sekvenssiennusteongelmillasi.

Erityisesti:

  • Kuinka testata, hyödyntääkö mallisi syöttötiedoissa tilausriippuvuutta.
  • Kuinka testata, onko mallisi hyödyntämässä muistia LSTM-mallissasi.
  • Kuinka testata, käyttääkö mallisi BPTT: tä asennettaessa malliasi.

Onko sinulla kysymyksiä?
Lähetä kysymyksesi alla oleviin kommentteihin, ja teen parhaani vastata.

Kehitä LSTM: itä sekvenssiennustusta varten tänään!

Pitkät lyhytaikaiset muistiverkot Pythonin kanssa

Kehitä omat LSTM-mallit minuutissa

... vain muutamalla rivillä python-koodia

Tutustu uuteen e-kirjaani:
Pitkät lyhytaikaiset muistiverkot Pythonin kanssa

Se tarjoaa itseopiskeluoppaat seuraavista aiheista:
CNN LSTM: t, Encoder-Decoder LSTM: t, generatiiviset mallit, tietojen valmistelu, ennusteiden tekeminen ja paljon enemmän...

Lopuksi tuo LSTM: n toistuvat hermoverkot verkkoon
Sekvenssiennusteprojektisi

Ohita akateemikot. Vain tulokset.

Katso mitä sisällä

Saatat myös olla kiinnostunut