Minikursus pikaajalise lühiajalise mälu korduvate närvivõrkude kohta Kerase abil

Minikursus pikaajalise lühiajalise mälu korduvate närvivõrkude kohta Kerase abil

Pika lühiajalise mälu (LSTM) korduvad närvivõrgud on praegu kõige huvitavamad süvaõppimise tüübid.

Neid on kasutatud maailmatasemel tulemuste demonstreerimiseks keerulistes probleemivaldkondades, nagu keeletõlge, piltide automaatne pealdis ja teksti genereerimine.

LSTM-id erinevad mitmekihilistest Perceptronidest ja konvolutsioonilistest närvivõrkudest selle poolest, et need on mõeldud spetsiaalselt järjestuse ennustamise probleemide jaoks.

Sellel minikursusel saate teada, kuidas saate LSTM-i mudeleid kiiresti oma järjestuse prognoosimise probleemide juurde viia.

Pärast selle minikursuse läbimist saate teada:

  • Mis on LSTM-id, kuidas neid koolitatakse ja kuidas andmeid LSTM-mudelite koolitamiseks ette valmistada.
  • Kuidas arendada LSTM-mudelite komplekti, sealhulgas virnastatud, kahesuunalisi ja kodeerija-dekoodri mudeleid.
  • Kuidas saate hüperparameetrite optimeerimise, värskendamise ja viimistlemisega oma mudelitest maksimumi võtta.

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.

Alustame.

Märge: See on suur juhend; võite selle järjehoidjatesse lisada.

Minikursus pikaajalise lühiajalise mälu korduvate närvivõrkude kohta Kerase abil

Minikursus pikaajalise lühiajalise mälu korduvate närvivõrkude kohta Kerase abil
Foto: Nicholas A. Tonelli, mõned õigused kaitstud.

Kellele see minikursus sobib?

Enne alustamist veendume, et olete õiges kohas.

See kursus on mõeldud arendajatele, kes tunnevad mõnda rakendatud masinõpet ja peavad LSTM-ides kiiresti hakkama saama.

Võib-olla soovite või peate hakkama oma projektis LSTM-e kasutama. See juhend on kirjutatud selleks, et aidata teil seda kiiresti ja tõhusalt teha.

  • Sa tead oma teed Pythonis.
  • Sa tead SciPy-s ringi.
  • Teate, kuidas tarkvara oma tööjaama installida.
  • Sa tead, kuidas oma andmeid rabeleda.
  • Teate, kuidas masinõppega ennustava modelleerimise probleem läbi saada.
  • Võib-olla tunnete natuke sügavat õppimist.
  • Võib-olla tunnete natuke Kerast.

Teate, kuidas seadistada oma tööjaam Kerase kasutamiseks ja scikit-learn; kui ei, siis saate selle kohta teada saada siit:

See juhend on kirjutatud ülalt-alla ja tulemused kõigepealt masinõppe stiilis, millega olete harjunud. See õpetab teile, kuidas tulemusi saavutada, kuid see pole imerohi.

Selle juhendi abil saate arendada kasulikke oskusi.

Pärast selle kursuse läbimist:

  • Tea, kuidas LSTM-id töötavad.
  • Tea, kuidas LSTM-ide jaoks andmeid ette valmistada.
  • Tea, kuidas rakendada LSTM-i tüüpi komplekti.
  • Tea, kuidas häälestada LSTM-id probleemile.
  • Tea, kuidas LSTM-i mudelit salvestada ja selle abil ennustusi teha.

Järgmisena vaatame õppetunnid üle.

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!

Minikursuse ülevaade

See minikursus jaguneb 14 õppetunniks.

Võite täita ühe õppetunni päevas (soovitatav) või täita kõik tunnid ühe päevaga (hardcore!).

See sõltub tegelikult teie käsutuses olevast ajast ja entusiasmi tasemest.

Allpool on 14 õppetundi, mis aitavad teil Pythonis LSTM-idega algust teha ja produktiivsed olla. Tunnid on jagatud kolmeks põhiteemaks: sihtasutused, mudelid ja edasijõudnutele.

LSTM minikursuse ülevaade

LSTM minikursuse ülevaade

Sihtasutused

Nende õppetundide keskmes on asjad, mida peate enne LSTM-ide kasutamist teadma.

  • Õppetund 01: Mis on LSTM-id?
  • Õppetund 02: Kuidas LSTM-e koolitatakse
  • Õppetund 03: Kuidas andmeid LSTM-ide jaoks ette valmistada
  • Õppetund 04: Kuidas LSTM-e arendada Kerases

Mudelid

  • Õppetund 05: Kuidas arendada Vanilla LSTM-e
  • Õppetund 06: Kuidas arendada virnastatud LSTM-e
  • Õppetund 07: Kuidas CNN-i LSTM-e arendada
  • Õppetund 08: Kuidas arendada Encoder-Decoder LSTM-e
  • Õppetund 09: Kuidas arendada kahesuunalisi LSTM-e
  • 10. õppetund: Kuidas LSTM-e arendada tähelepanelikult
  • 11. õppetund: Kuidas arendada generatiivseid LSTM-e

Täpsem

  • 12. õppetund: Kuidas häälestada LSTM-i hüperparameetreid
  • 13. õppetund: Kuidas värskendada LSTM-i mudeleid
  • 14. õppetund: Kuidas teha ennustusi LSTM-ide abil

Iga õppetund võib võtta teid 60 sekundit või kuni 60 minutit. Võtke aega ja lõpetage tunnid omas tempos. Esitage küsimusi ja postitage tulemused isegi allpool toodud kommentaaridesse.

Tundides oodatakse, et te lähete välja ja saate teada, kuidas asju teha. Annan teile vihjeid, kuid iga õppetundi üks osa on sundida teid õppima, kuhu pöörduda abi otsima (vihje, mul on siin blogis kõik vastused olemas; kasutage otsingut).

Pakun varajastes õppetundides rohkem abi, sest soovin, et tekitaksite enesekindlust ja inertsust.

Pea vastu; ära anna alla!

Sihtasutused

Selle jaotise õppetunnid on loodud selleks, et anda teile mõista, kuidas LSTM-id töötavad ja kuidas rakendada LSTM-mudeleid Kerase teegi abil.

1. õppetund: mis on LSTM-id?

Eesmärk

Selle tunni eesmärk on mõista LSTM-e piisavalt kõrgel tasemel, et saaksite kolleegile või juhile selgitada, mis need on ja kuidas nad töötavad.

Küsimused

  • Mis on järjestuse ennustamine ja millised on mõned üldised näited?
  • Millised on traditsiooniliste närvivõrkude piirangud järjestuse ennustamiseks?
  • Mis on RNN-ide lubadus järjestuse ennustamiseks?
  • Mis on LSTM ja millised on selle koostisosad?
  • Millised on LSTM-ide silmapaistvad rakendused?

Lisalugemist

2. õppetund: kuidas LSTM-e koolitatakse

Eesmärk

Selle tunni eesmärk on mõista, kuidas LSTM-i mudeleid näidisjärjestuste järgi koolitatakse.

Küsimused

  • Millised levinud probleemid mõjutavad traditsiooniliste RNN-ide väljaõpet?
  • Kuidas LSTM nendest probleemidest üle saab?
  • Millist algoritmi kasutatakse LSTM-ide koolitamiseks?
  • Kuidas toimib aja jooksul tagasi paljundamine?
  • Mis on kärbitud BPTT ja millist kasu see pakub?
  • Kuidas BPTT rakendatakse ja seadistatakse Kerases?

Lisalugemist

3. õppetund: kuidas andmeid LSTM-ide jaoks ette valmistada

Eesmärk

Selle õppetunni eesmärk on mõista, kuidas jadaennustamise andmeid LSTM-mudelitega kasutamiseks valmistada.

Küsimused

  • Kuidas valmistada ette arvandmeid LSTM-idega kasutamiseks?
  • Kuidas valmistada kategoorilisi andmeid kasutamiseks LSTM-idega?
  • Kuidas käsitseda LSTM-ide kasutamisel järjestuste puuduvaid väärtusi?
  • Kuidas raamistate jada juhendatava õppeprobleemina?
  • Kuidas käsitsete pikki järjestusi LSTM-idega töötades?
  • Kuidas käituda erineva pikkusega sisendjärjestustega?
  • Kuidas kujundate Kerases LSTM-ide sisendandmeid ümber?

Katse

Näidake, kuidas teisendada arvuline sisendjärjestus LSTM-i koolitamiseks sobivaks vormiks.

Lisalugemist

4. õppetund: kuidas arendada Kerases LSTM-e

Eesmärk

Selle tunni eesmärk on mõista, kuidas LSTM-mudeleid defineerida, sobitada ja hinnata Pythoni Keras süvaõppekogu abil.

Küsimused

  • Kuidas määratlete LSTM-i mudeli?
  • Kuidas koostate LSTM-i mudeli?
  • Kuidas sobitate LSTM-i mudeliga?
  • Kuidas hindate LSTM-i mudelit?
  • Kuidas teha prognoose LSTM-i mudeli abil?
  • Kuidas saab LSTM-e rakendada erinevat tüüpi järjestuse ennustamise probleemidele?

Katse

Valmistage ette näide, mis demonstreerib LSTM-i mudeli olelustsüklit jada ennustamise probleemil.

Lisalugemist

Mudelid

Selle jaotise õppetunnid on mõeldud õpetama, kuidas saada järjestuse ennustamise probleemide LSTM-mudelitega tulemusi.

5. õppetund: kuidas arendada Vanilla LSTM-e

Eesmärk

Selle tunni eesmärk on õppida vanilje LSTM-i mudelite väljatöötamist ja hindamist.

  • Mis on vanilje LSTM-i arhitektuur?
  • Millised on mõned näited, kus vanilje LSTM-i on rakendatud?

Katse

Kujundage ja viige läbi eksperiment, mis demonstreerib vanilli LSTM-i järjestuse ennustamise probleemil.

Lisalugemist

Õppetund 6: kuidas virnastatud LSTM-e arendada

Eesmärk

Selle tunni eesmärk on õppida virnastatud LSTM-i mudelite väljatöötamist ja hindamist.

Küsimused

  • Millised on raskused vanilje LSTM-i kasutamisel hierarhilise struktuuriga järjestusprobleemil?
  • Mis on virnastatud LSTM-id?
  • Millised on näited virnastatud LSTM-i rakendamisest?
  • Mis kasu on virnastatud LSTM-idest?
  • Kuidas saab virnastatud LSTM-i rakendada Keras?

Katse

Kujundage ja viige läbi eksperiment, mis demonstreerib virnastatud LSTM-i hierarhilise sisendstruktuuriga järjestuse ennustamise probleemil.

Lisalugemist

7. õppetund: kuidas CNN-i LSTM-e arendada

Eesmärk

Selle õppetunni eesmärk on õppida arendama LSTM-i mudeleid, mis kasutavad kasutajaliideses konvolutsioonilist närvivõrku.

Küsimused

  • Millised on vanilla LSTM-i kasutamise raskused ruumiliste sisendandmetega?
  • Mis on CNN LSTM-i arhitektuur?
  • Millised on mõned näited CNN LSTM-ist?
  • Milliseid eeliseid pakub CNN LSTM?
  • Kuidas saab CNAS-i LSTM-i arhitektuuri rakendada Keras?

Katse

Kujundage ja viige läbi katse, mis demonstreerib CNN LSTM-i ruumilise sisendiga järjestuse ennustamise probleemil.

Lisalugemist

8. õppetund: kuidas arendada kooder-dekooder LSTM-e

Eesmärk

Selle tunni eesmärk on õppida, kuidas arendada kooder-dekooder LSTM-i mudeleid.

Küsimused

  • Millised on järjestuse järjestuse (seq2seq) ennustamise probleemid?
  • Millised on vanilli LSTM-i kasutamise raskused seq2seq-i probleemidel?
  • Mis on kodeerija-dekoodri LSTM-i arhitektuur?
  • Millised on mõned kooder-dekoodri LSTM-ide näited?
  • Mis on kooder-dekoodri LSTM-ide eelised?
  • Kuidas saab kooderis-dekooderis LSTM-e rakendada Kerases?

Katse

Kujundage ja viige läbi katse, mis näitab kooder-dekooder LSTM-i järjestuse jada vahelise ennustamise probleemil.

Lisalugemist

9. õppetund: kuidas arendada kahesuunalisi LSTM-e

Eesmärk

Selle õppetunni eesmärk on õppida arendama kahesuunalisi LSTM-mudeleid.

Küsimused

  • Mis on kahesuunaline LSTM?
  • Millised on mõned näited, kus on kasutatud kahesuunalisi LSTM-e?
  • Mis kasu on kahepoolsest LSTM-ist vanilje LSTM-i ees?
  • Mis muret teeb ajasammude osas kahesuunaline arhitektuur?
  • Kuidas saab Kerases rakendada kahesuunalisi LSTM-e?

Katse

Kujundage ja viige läbi katse, milles võrreldakse järjestuse ennustamisprobleemil edasi-, tagasi- ja kahesuunalisi LSTM-mudeleid.

Lisalugemist

10. õppetund: kuidas LSTM-e arendada tähelepanelikult

Eesmärk

Selle tunni eesmärk on õppida LSTM-i mudeleid tähelepanelikult välja töötama.

Küsimused

  • Millist mõju avaldavad pikad neutraalse teabega järjestused LSTM-idele?
  • Mis on tähelepanu LSTM-i mudelites?
  • Millised on mõned näited, kus LSTM-ides on kasutatud tähelepanu?
  • Mis kasu on järjestuse ennustamisest?
  • Kuidas saab tähelepanu arhitektuuri rakendada Keras?

Katse

Kavandage ja viige läbi eksperiment, mis pöörab tähelepanu pikkade neutraalse teabe järjestustega jada ennustamise probleemile.

Lisalugemist

11. õppetund: kuidas arendada generatiivseid LSTM-e

Eesmärk

Selle tunni eesmärk on õppida, kuidas arendada LSTM-e kasutamiseks generatiivsetes mudelites.

  • Mis on generatiivsed mudelid?
  • Kuidas saab LSTM-e kasutada generatiivsete mudelitena?
  • Millised on mõned näited LSTM-idest kui generatiivsetest mudelitest?
  • Mis kasu on LSTM-idel generatiivsete mudelitena?

Katse

Kujundage ja viige läbi eksperiment, et õppida tekstikorpust ja genereerida sama süntaksi, grammatika ja stiiliga uusi tekstinäiteid.

Lisalugemist

Täpsem

Selle jaotise õppetunnid on loodud selleks, et õpetada teile, kuidas LSTM-i mudelitest maksimaalselt kasu saada oma järjestuse ennustamise probleemide korral.

12. õppetund: kuidas häälestada LSTM-i hüperparameetreid

Eesmärk

Selle õppetunni eesmärk on õppida LSTM-i hüperparameetreid häälestama.

Küsimused

  • Kuidas saame diagnoosida LSTM-i mudeli üleõppimist või alakoormust?
  • Mis on mudeli hüperparameetrite häälestamise kaks skeemi?
  • Kuidas saab mudeli oskusi usaldusväärselt hinnata, kui LSTM-id on stohhastilised algoritmid?
  • Loetlege häälestatavad LSTM-i hüperparameetrid koos näidetega väärtustest, mida saaks hinnata:
    • Mudeli lähtestamine ja käitumine.
    • Mudeli arhitektuur ja struktuur.
    • Õppimiskäitumine.

Katse

Kujundage ja viige katse läbi, et seda ühte häälestada ...

Samuti võite olla huvitatud