Kasutage oma järjestuse ennustamise probleemil LSTM-idest maksimumi

Kasutage oma järjestuse ennustamise probleemil LSTM-idest maksimumi

Pika lühiajalise mälu (LSTM) korduvad närvivõrgud on võimas sügavõppe tüüp, mis sobib järjestuse ennustamise probleemide lahendamiseks.

Võimalik mure LSTM-ide kasutamisel on see, kui mudeli lisandunud keerukus parandab teie mudeli oskusi või toob tegelikult kaasa madalama oskuse kui lihtsamad mudelid.

Selles postituses leiate lihtsad katsed, mida saate teha, et tagada oma järjestuse ennustamise probleemiga LSTM-idest maksimumi võtmine.

Pärast selle postituse lugemist saate teada:

  • Kuidas testida, kas teie mudel kasutab sisendandmetes tellimusest sõltuvust.
  • Kuidas testida, kas teie mudel kasutab LSTM-mudelis mälu?
  • Kuidas testida, kas teie mudel rakendab BPTT-d oma mudeli sobitamisel.

Alustage oma projekti minu uue raamatuga Long Short-Term Memory Networks With Python, sh samm-sammult õpetused ja Pythoni lähtekood failid kõigi näidete jaoks.

Sukeldume sisse.

Kasutage oma järjestuse ennustamise probleemil LSTM-idest maksimumi

Kasutage oma järjestuse ennustamise probleemil LSTM-idest maksimumi
Foto autor DoD News, mõned õigused kaitstud.

3 LSTMS-i võimalused

LSTM-i korduval närvivõrgul on mõned peamised võimalused, mis annavad meetodile muljetavaldava jõu paljude järjestuse prognoosimise probleemide korral.

LSTM-ide teooriasse süvenemata võime kokku võtta mõned LSTM-ide diskreetsed käitumised, mida saame oma mudelites konfigureerida:

  • Tellimuse sõltuvus. Järjestuse ennustamise probleemid nõuavad vaatluste vahel järjestamist, lihtsamad juhendatud õppeprobleemid aga mitte ja selle järjekorra saab enne koolitust ja ennustamist randomiseerida. Järjestuse ennustamisprobleemi saab muuta lihtsamaks, vaatluste järjekorra randomiseerimise teel.
  • Mälu. LSTM-idel on sisemiste jadade vaatluste jaoks sisemälu, samas kui lihtsatel närvivõrkudel, nagu mitmekihilised perceptronid, pole. LSTM-id võivad selle mälu kaotada, kui lähtestada sisemine olek pärast igat sisendvaatlust.
  • BPTT. Korduvad närvivõrgud kasutavad treeningalgoritmi, mis hindab kaalu värskendamise suuna sisendisarja kõigi ajasammude ajal, samas kui muud tüüpi võrgud piirduvad üksikute proovidega (välja arvatud mõlemal juhul keskmistamine sisendipartiide lõikes). LSTM-id võivad tähelepanuta jätta gradiendi hinnangutes varasemate ajahetkede veapanuse, töötades ühe vaatluse pikkusega järjestustega.

Need kolm võimalust ja nende konfigureeritavus lihtsamaks vormiks on aluseks kolmele katsele, mida saate teha, et näha täpselt, milliseid LSTM-i omadusi saate ja kasutate oma järjestuse ennustamise probleemis.

Vajad abi järjestuse ennustamiseks mõeldud LSTM-ide kohta?

Osale minu tasuta 7-päevasele e-posti kursusele ja avastage 6 erinevat LSTM-i arhitektuuri (koos koodiga).

Klõpsake registreerumiseks ja hankige ka kursuse tasuta PDF-i e-raamatu versioon.

Alustage oma TASUTA minikursust kohe!

1. Kas kasutate ära tellimuse sõltuvust?

Järjestuse ennustamise probleemide põhijoon on see, et vaatluste vahel on järjestussõltuvus.

See tähendab, et vaatluste järjekord on oluline.

Eeldus: Vaatluste järjekord on eeldatavasti oluline järjestuse ennustamise probleemide ennustamisel.

Saate kontrollida, kas see eeldus vastab tõele, arendades jõudluse baasjoone mudeli abil, mis võtab sisendiks ainult eelneva vaatluse ning segab koolituse ja testide andmekogumeid.

Seda oleks võimalik saavutada mitmel viisil. Kaks rakendamise näidet hõlmavad järgmist:

  • Mitmekihiline Perceptron (MLP) koos segatud treeningute ja testikomplektidega.
  • LSTM koos segatud koolituse ja testikomplektidega koos värskenduste ja olekute lähtestamisega pärast iga proovi (partii suurus 1).

Test: Kui sõltuvus järjestusest on ennustusprobleemi jaoks oluline, peaks mudel, mis kasutab järjestust igas sisendjärjestuses vaatluste vahel ja sisendjärjestuste vahel, saavutama parema jõudluse kui mudel, mis seda ei tee.

2. Kas kasutate LSTM-mälu?

LSTM-ide põhivõime on see, et nad suudavad pikki sisendjärjestusi meelde jätta.

See tähendab, et iga mäluüksus säilitab sisemise oleku, mida võib pidada kohalikeks muutujateks, mida kasutatakse ennustuste tegemisel.

Eeldus: Eeldatakse, et mudeli sisemine olek on mudeli oskuste jaoks oluline.

Saate kontrollida, kas see oletus vastab tõele, arendades jõudluse baasjoone mudeli abil, millel ühest proovist teise mälu pole.

Seda saab saavutada LSTM-i sisemise oleku lähtestamisega pärast iga vaatlust.

Test: Kui sisemälu on ennustusprobleemi jaoks oluline, peaks mudel, millel on sisendjärjestuses vaatluste kaudu mälu, saavutama parema jõudluse kui mudel, mis seda ei tee.

3. Kas kasutate aeglaselt paljunemist?

Korduvate närvivõrkude treenimise võtmeks on Backpropagation through time (BPTT) algoritm.

See algoritm võimaldab kaalude värskenduste gradienti hinnata kõigi järjestuse vaatluste põhjal (või alamhulga korral kärbitud BPTT korral).

Eeldus: BPTT kaaluuuenduse algoritm on eeldatavasti oluline jada ennustamise probleemide oskuste modelleerimiseks.

Saate kontrollida, kas see oletus vastab tõele, töötades välja jõudluse baasjoone, kus gradiendi hinnangud põhinevad ühel ajateljel.

Seda saab saavutada sisendjärjestuste jagamise teel nii, et iga vaatlus tähistab ühte sisendjärjestust. See ei sõltu ajast, millal kaalu värskendamine on kavandatud ja millal sisemine olek lähtestatakse.

Test: Kui BPTT on prognoosimisprobleemi jaoks oluline, peaks mudel, mis hindab kaalude värskenduste gradienti mitme aja sammu korral, saavutama parema jõudluse kui mudel, mis kasutab ühte ajaetappi.

Kokkuvõte

Selles postituses avastasite kolm LSTM-i põhivõimalust, mis annavad tehnikale jõudu ja kuidas saate neid omadusi testida oma järjestuse ennustamise probleemide korral.

Täpsemalt:

  • Kuidas testida, kas teie mudel kasutab sisendandmetes tellimusest sõltuvust.
  • Kuidas testida, kas teie mudel kasutab LSTM-mudelis mälu?
  • Kuidas testida, kas teie mudel rakendab BPTT-d oma mudeli sobitamisel.

Kas teil on küsimusi?
Postitage oma küsimused allpool toodud kommentaaridesse ja ma annan endast parima, et vastata.

Arendage LSTM-e järjestuse ennustamiseks juba täna!

Pikaaegsed lühiajalised mäluvõrgud Pythoniga

Arendage oma LSTM-i mudelid minutite jooksul

... ainult mõne rea Pythoni koodiga

Uurige, kuidas minu uues e-raamatus:
Pikaaegsed lühiajalised mäluvõrgud Pythoniga

See pakub iseõppimise õpetused järgmistel teemadel:
CNN LSTM-id, Encoder-Decoder LSTM-id, generatiivsed mudelid, andmete ettevalmistamine, ennustuste tegemine ja palju muud ...

Lõpuks tooge LSTM-i korduvad närvivõrgud
Teie järjestuse ennustuse projektid

Jätke akadeemikud vahele. Lihtsalt tulemused.

Vaadake, mis on sees

Samuti võite olla huvitatud