Virnastatud pikaajalised lühiajalised mäluvõrgud

Virnastatud pikaajalised lühiajalised mäluvõrgud

Õrn sissejuhatus virnastatud LSTM-i
näite koodiga Pythonis.

Algne LSTM-i mudel koosneb ühest peidetud LSTM-kihist, millele järgneb standardne ettepoole suunatud väljundkiht.

Virnastatud LSTM on selle mudeli laiendus, millel on mitu peidetud LSTM-kihti, kus iga kiht sisaldab mitut mälurakku.

Selles postituses leiate Stacked LSTM mudeli arhitektuuri.

Pärast selle õpetuse täitmist saate teada:

  • Sügavate närvivõrkude arhitektuuride eelis.
  • Stacked LSTM korduv närvivõrgu arhitektuur.
  • Kuidas virnastatud LSTM-e rakendada Pyerases Kerasega.

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.

Õrn sissejuhatus virnastatud pikaajalistesse lühiajalistesse mäluvõrkudesse

Õrn sissejuhatus virnastatud pikaajalistesse lühiajalistesse mäluvõrkudesse
Foto Joost Markerink, mõned õigused kaitstud.

Ülevaade

See postitus on jagatud 3 osaks, need on:

  1. Miks suurendada sügavust?
  2. Virnastatud LSTM-i arhitektuur
  3. Rakendage virnastatud LSTM-id Kerasesse

Miks suurendada sügavust?

LSTM-i peidetud kihtide virnastamine muudab mudeli sügavamaks, teenides täpsemalt kirjelduse kui sügava õppimistehnika.

See on närvivõrkude sügavus, mida tavaliselt seostatakse lähenemisviisi edukusega paljude väljakutsuvate ennustusprobleemide puhul.

[the success of deep neural networks] seostatakse tavaliselt mitme kihi tõttu kasutusele võetud hierarhiaga. Iga kiht töötleb osa ülesandest, mida soovime lahendada, ja edastab selle järgmisele. Selles mõttes võib DNN-i vaadelda kui töötlemistorustikku, kus iga kiht lahendab osa ülesandest enne selle järgmisele edastamist, kuni lõpuks annab viimase kihi väljund.

- sügavalt korduvate närvivõrkude koolitus ja analüüs, 2013

Mitmekihilisse Perceptroni närvivõrku saab selle lisamiseks varjata täiendavaid peidetud kihte. Täiendavate peidetud kihtide all mõistetakse eelnevate kihtide õpitud kujutise rekombineerimist ja kõrgete abstraktsioonitasemete jaoks uute esituste loomist. Näiteks joontest kujundite ja objektideni.

Enamiku funktsioonide lähendamiseks saab kasutada piisavalt suurt ühe peidetud kihiga mitmekihilist Perceptroni. Võrgu sügavuse suurendamine pakub alternatiivse lahenduse, mis nõuab vähem neuroneid ja treenib kiiremini. Lõppkokkuvõttes on selle sügavuse lisamine representatiivse optimeerimise tüüp.

Sügav õppimine põhineb hüpoteesil, mille kohaselt võib sügav hierarhiline mudel olla mõne funktsiooni esindamisel eksponentsiaalselt efektiivsem kui madal.

- Kuidas ehitada sügavaid korduvaid närvivõrke, 2013.

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!

Virnastatud LSTM-i arhitektuur

Samu eeliseid saab kasutada ka LSTM-ide puhul.

Arvestades, et LSTM-id töötavad järjestusandmetel, tähendab see, et kihtide lisamine lisab aja jooksul sisendvaatluste abstraktsiooni tasemeid. Tegelikult on vaatluste tükeldamine ajas või probleemi esindamine erinevas ajakavas.

... ehitades sügavat RNN-i, ladudes mitu korduvat peidetud olekut üksteise peale. See lähenemine võimaldab potentsiaalselt varjatud olekut igal tasemel toimida erineval ajal

- Kuidas ehitada sügavaid korduvaid närvivõrke, 2013

Virnastatud LSTM-id või Deep LSTM-id tutvustasid Graves jt. LSTM-ide rakendamisel kõnetuvastusele, ületades keeruka standardprobleemi võrdlusaluse.

RNN-id on oma olemuselt ajas sügavad, kuna nende varjatud olek on kõigi varasemate varjatud olekute funktsioon. Küsimus, mis inspireeris seda artiklit, oli see, kas RNN-id saaksid kasu ka kosmosesügavusest; see tähendab mitme korduva peidetud kihi üksteise peale ladumist, nii nagu ettepoole suunatud kihid on virnastatud tavapärastesse sügavatesse võrkudesse.

- Kõnetuvastus sügavalt korduvate närvivõrkudega, 2013

Samas töös leidsid nad, et oskuste modelleerimiseks on võrgu sügavus olulisem kui antud kihi mälurakkude arv.

Virnastatud LSTM-id on nüüd stabiilne tehnika järjestuse ennustamisprobleemide vaidlustamiseks. Virnastatud LSTM-i arhitektuuri saab määratleda kui LSTM-i mudelit, mis koosneb mitmest LSTM-i kihist. Ülaltoodud LSTM-kiht pakub järjestikuse väljundi, mitte ühe väärtuse väljundi allpool asuvale LSTM-i kihile. Täpsemalt, üks väljund sisendi aja sammu kohta, mitte üks väljundi aja samm kõigi sisendi aja sammude jaoks.

Virnastatud pika lühiajalise mälu arhiiv

Virnastatud pika lühiajalise mälu arhiiv

Rakendage virnastatud LSTM-id Kerasesse

Keras Pythoni süvaõppekogus saame hõlpsasti luua virnastatud LSTM-mudeleid

Iga LSTM-mälu lahter nõuab 3D-sisendit. Kui LSTM töötleb ühte ajasammude sisendjärjestust, väljastab iga mälurakk 2D massiivina kogu jada ühe väärtuse.

Seda saame allpool näidata mudeli abil, millel on üks peidetud LSTM-kiht, mis on ühtlasi väljundkiht.

Sisendjärjestusel on 3 väärtust. Näite käivitamine väljastab sisendjada jaoks ühe väärtuse 2D massiivina.

LSTM-i kihtide virnastamiseks peame muutma eelmise LSTM-i kihi konfiguratsiooni, et järgmise kihi sisendina väljastada 3D-massiiv.

Saame seda teha, seadistades kihi argumendi return_sequences väärtusele True (vaikeväärtuseks False). See tagastab iga väljundi iga sammu kohta ühe väljundi ja annab 3D-massiivi.
Allpool on sama näide nagu ülalpool, kus return_sequences = True.

Näite käivitamine väljastab sisendjärjestuse iga ajaetapi jaoks ühe väärtuse.

Allpool on näide kahe varjatud kihi virnastatud LSTM-i määratlemisest:

Võime jätkata varjatud LSTM-i kihtide lisamist seni, kuni eelmine LSTM-i kiht pakub järgmise kihi sisendina 3D-väljundit; näiteks allpool on virnastatud 4 varjatud kihiga LSTM.

Lisalugemist

Selles jaotises on antud teema kohta rohkem ressursse, kui otsite süvitsi.

Kokkuvõte

Selles postituses avastasite virnastatud pikaajalise lühimälu võrguarhitektuuri.

Täpsemalt õppisite:

  • Sügavate närvivõrkude arhitektuuride eelis.
  • Stacked LSTM korduv närvivõrgu arhitektuur.
  • Kuidas virnastatud LSTM-e rakendada Pyerases Kerasega.

Kas teil on küsimusi?
Esitage oma küsimused allpool toodud kommentaarides ja 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