Minicursus over terugkerende neurale netwerken op lange termijn op korte termijn met Keras

Minicursus over terugkerende neurale netwerken op lange termijn op korte termijn met Keras

Terugkerende neurale netwerken van Long Short-Term Memory (LSTM) zijn momenteel een van de meest interessante vormen van diep leren.

Ze zijn gebruikt om resultaten van wereldklasse te demonstreren in complexe probleemdomeinen, zoals taalvertaling, automatische ondertiteling van afbeeldingen en tekstgeneratie.

LSTM's verschillen van meerlagige perceptrons en convolutionele neurale netwerken doordat ze specifiek zijn ontworpen voor sequentievoorspellingsproblemen.

In deze minicursus ontdek je hoe je LSTM-modellen snel naar je eigen sequentieprognoseproblemen kunt brengen.

Na het afronden van deze mini-cursus weet je:

  • Wat LSTM's zijn, hoe ze worden getraind en hoe gegevens moeten worden voorbereid voor het trainen van LSTM-modellen.
  • Hoe een reeks LSTM-modellen te ontwikkelen, inclusief gestapelde, bidirectionele en encoder-decodermodellen.
  • Hoe u het meeste uit uw modellen kunt halen met hyperparameteroptimalisatie, het bijwerken en finaliseren van modellen.

Geef uw project een kickstart met mijn nieuwe boek Long Short-Term Memory Networks With Python, inclusief stap-voor-stap tutorials en de Python-broncode bestanden voor alle voorbeelden.

Laten we beginnen.

Notitie: Dit is een grote gids; misschien wilt u er een bladwijzer van maken.

Minicursus over terugkerende neurale netwerken op korte termijn met Keras

Minicursus over terugkerende neurale netwerken op lange termijn op korte termijn met Keras
Foto door Nicholas A. Tonelli, sommige rechten voorbehouden.

Voor wie is deze minicursus bedoeld?

Voordat we beginnen, moeten we ervoor zorgen dat u op de juiste plek bent.

Deze cursus is bedoeld voor ontwikkelaars die enige toegepaste machine learning kennen en snel goed moeten worden in LSTM's.

Misschien wilt of moet u LSTM's gaan gebruiken voor uw project. Deze handleiding is geschreven om u te helpen dat snel en efficiënt te doen.

  • Je kent je weg in Python.
  • Je kent je weg in SciPy.
  • U weet hoe u software op uw werkstation installeert.
  • U weet hoe u uw eigen gegevens moet ontwarren.
  • Je weet hoe je een probleem met voorspellende modellen moet oplossen met machine learning.
  • Misschien ken je een beetje diepgaand leren.
  • U kent misschien een beetje Keras.

Je weet hoe je je werkstation moet instellen om Keras en scikit-learn te gebruiken; zo niet, dan kunt u hier leren hoe u:

Deze handleiding is geschreven in de top-down en resultaatgerichte machine learning-stijl die u gewend bent. Het leert je hoe je resultaten kunt behalen, maar het is geen wondermiddel.

U ontwikkelt nuttige vaardigheden door deze gids te doorlopen.

Na afronding van deze cursus:

  • Weet hoe LSTM's werken.
  • Weet hoe u gegevens voor LSTM's moet voorbereiden.
  • Weet hoe u een reeks typen LSTM's kunt toepassen.
  • Weet hoe u LSTM's op een probleem kunt afstemmen.
  • Weet hoe u een LSTM-model opslaat en gebruikt om voorspellingen te doen.

Laten we vervolgens de lessen bekijken.

Hulp nodig met LSTM's voor sequentievoorspelling?

Volg mijn gratis 7-daagse e-mailcursus en ontdek 6 verschillende LSTM-architecturen (met code).

Klik om u aan te melden en ontvang ook een gratis pdf-e-boekversie van de cursus.

Start nu uw GRATIS minicursus!

Overzicht minicursus

Deze minicursus is onderverdeeld in 14 lessen.

Je zou één les per dag kunnen volgen (aanbevolen) of alle lessen in één dag kunnen afronden (hardcore!).

Het hangt echt af van de beschikbare tijd en uw enthousiasme.

Hieronder staan ​​14 lessen waarmee u aan de slag kunt en productief kunt worden met LSTM's in Python. De lessen zijn onderverdeeld in drie hoofdthema's: grondslagen, modellen en gevorderd.

Overzicht van LSTM-minicursus

Overzicht van LSTM-minicursus

Stichtingen

De focus van deze lessen zijn de dingen die u moet weten voordat u LSTM's gebruikt.

  • Les 01: Wat zijn LSTM's?
  • Les 02: Hoe LSTM's worden getraind
  • Les 03: Gegevens voorbereiden voor LSTM's
  • Les 04: Hoe LSTM's in Keras te ontwikkelen

Modellen

  • Les 05: Hoe Vanilla LSTM's te ontwikkelen
  • Les 06: Hoe gestapelde LSTM's te ontwikkelen
  • Les 07: Hoe CNN LSTM's te ontwikkelen
  • Les 08: Hoe Encoder-Decoder LSTM's te ontwikkelen
  • Les 09: Hoe bi-directionele LSTM's te ontwikkelen
  • Les 10: Hoe LSTM's met aandacht te ontwikkelen
  • Les 11: Hoe generatieve LSTM's te ontwikkelen

Geavanceerd

  • Les 12: Hoe LSTM-hyperparameters af te stemmen
  • Les 13: Hoe LSTM-modellen te updaten
  • Les 14: Voorspellingen doen met LSTM's

Elke les kan 60 seconden of maximaal 60 minuten duren. Neem de tijd en voltooi de lessen in uw eigen tempo. Stel vragen en plaats zelfs resultaten in de onderstaande opmerkingen.

De lessen verwachten dat je op pad gaat en ontdekt hoe je dingen moet doen. Ik zal je hints geven, maar een deel van het doel van elke les is je te dwingen te leren waar je heen kunt om hulp te zoeken (hint, ik heb alle antwoorden op deze blog; gebruik de zoekopdracht).

Ik bied meer hulp in de vroege lessen omdat ik wil dat je wat zelfvertrouwen en traagheid opbouwt.

Blijf daar hangen; geef niet op!

Stichtingen

De lessen in deze sectie zijn bedoeld om u inzicht te geven in hoe LSTM's werken en hoe u LSTM-modellen kunt implementeren met behulp van de Keras-bibliotheek.

Les 1: Wat zijn LSTM's?

Doel

Het doel van deze les is om LSTM's voldoende van een hoog niveau te begrijpen, zodat je aan een collega of manager kunt uitleggen wat ze zijn en hoe ze werken.

Vragen

  • Wat is sequentievoorspelling en wat zijn enkele algemene voorbeelden?
  • Wat zijn de beperkingen van traditionele neurale netwerken voor het voorspellen van sequenties?
  • Wat is de belofte van RNN's voor het voorspellen van sequenties?
  • Wat is de LSTM en wat zijn de samenstellende onderdelen?
  • Wat zijn enkele prominente toepassingen van LSTM's?

Verder lezen

Les 2: Hoe LSTM's worden getraind

Doel

Het doel van deze les is om te begrijpen hoe LSTM-modellen worden getraind op voorbeeldsequenties.

Vragen

  • Welke veelvoorkomende problemen hebben betrekking op de training van traditionele RNN's?
  • Hoe lost de LSTM deze problemen op?
  • Welk algoritme wordt gebruikt om LSTM's te trainen?
  • Hoe werkt Backpropagation Through Time?
  • Wat is afgekapte BPTT en welk voordeel biedt het?
  • Hoe wordt BPTT geïmplementeerd en geconfigureerd in Keras?

Verder lezen

Les 3: Gegevens voorbereiden voor LSTM's

Doel

Het doel van deze les is om te begrijpen hoe u sequentievoorspellingsgegevens kunt voorbereiden voor gebruik met LSTM-modellen.

Vragen

  • Hoe bereidt u numerieke gegevens voor voor gebruik met LSTM's?
  • Hoe bereid je categorische gegevens voor voor gebruik met LSTM's?
  • Hoe ga je om met ontbrekende waarden in reeksen bij het gebruik van LSTM's?
  • Hoe kader je een reeks in als een leerprobleem onder begeleiding?
  • Hoe ga je om met lange reeksen als je met LSTM's werkt?
  • Hoe ga je om met invoerreeksen met verschillende lengtes?
  • Hoe verander je invoergegevens voor LSTM's in Keras?

Experiment

Demonstreer hoe u een numerieke invoerreeks omzet in een vorm die geschikt is voor het trainen van een LSTM.

Verder lezen

Les 4: Hoe LSTM's in Keras te ontwikkelen

Doel

Het doel van deze les is om te begrijpen hoe LSTM-modellen kunnen worden gedefinieerd, aangepast en geëvalueerd met behulp van de Keras deep learning-bibliotheek in Python.

Vragen

  • Hoe definieer je een LSTM-model?
  • Hoe stel je een LSTM-model samen?
  • Hoe pas je een LSTM-model aan?
  • Hoe evalueer je een LSTM-model?
  • Hoe maak je voorspellingen met een LSTM-model?
  • Hoe kunnen LSTM's worden toegepast op verschillende soorten problemen met sequentievoorspelling?

Experiment

Bereid een voorbeeld voor dat de levenscyclus van een LSTM-model demonstreert op basis van een sequentievoorspellingsprobleem.

Verder lezen

Modellen

De lessen in dit gedeelte zijn bedoeld om u te leren hoe u resultaten kunt behalen met LSTM-modellen op het gebied van sequentievoorspellingsproblemen.

Les 5: Hoe Vanilla LSTM's te ontwikkelen

Doel

Het doel van deze les is om te leren hoe vanille LSTM-modellen kunnen worden ontwikkeld en geëvalueerd.

  • Wat is de vanilla LSTM-architectuur?
  • Wat zijn enkele voorbeelden waarbij de vanilla LSTM is toegepast?

Experiment

Ontwerp en voer een experiment uit dat een vanille LSTM demonstreert op basis van een sequentievoorspellingsprobleem.

Verder lezen

Les 6: Hoe gestapelde LSTM's te ontwikkelen

Doel

Het doel van deze les is om te leren hoe gestapelde LSTM-modellen kunnen worden ontwikkeld en geëvalueerd.

Vragen

  • Wat zijn de moeilijkheden bij het gebruik van een vanilla LSTM bij een sequentieprobleem met een hiërarchische structuur?
  • Wat zijn gestapelde LSTM's?
  • Wat zijn enkele voorbeelden van waar de gestapelde LSTM is toegepast?
  • Welke voordelen bieden gestapelde LSTM's?
  • Hoe kan een gestapelde LSTM worden geïmplementeerd in Keras?

Experiment

Ontwerp en voer een experiment uit dat een gestapelde LSTM demonstreert op een probleem met sequentievoorspelling met een hiërarchische invoerstructuur.

Verder lezen

Les 7: Hoe CNN LSTM's te ontwikkelen

Doel

Het doel van deze les is om te leren hoe LSTM-modellen kunnen worden ontwikkeld die een convolutioneel neuraal netwerk aan de voorkant gebruiken.

Vragen

  • Wat zijn de moeilijkheden bij het gebruik van een vanilla LSTM met ruimtelijke invoergegevens?
  • Wat is de CNN LSTM-architectuur?
  • Wat zijn enkele voorbeelden van de CNN LSTM?
  • Welke voordelen biedt de CNN LSTM?
  • Hoe kan de CNN LSTM-architectuur worden geïmplementeerd in Keras?

Experiment

Ontwerp en voer een experiment uit dat een CNN LSTM demonstreert op een sequentievoorspellingsprobleem met ruimtelijke input.

Verder lezen

Les 8: Hoe Encoder-Decoder LSTM's te ontwikkelen

Doel

Het doel van deze les is om te leren hoe u encoder-decoder LSTM-modellen kunt ontwikkelen.

Vragen

  • Wat zijn sequentie-naar-sequentie (seq2seq) voorspellingsproblemen?
  • Wat zijn de moeilijkheden bij het gebruik van een vanilla LSTM bij seq2seq-problemen?
  • Wat is de LSTM-architectuur van de encoder-decoder?
  • Wat zijn enkele voorbeelden van encoder-decoder LSTM's?
  • Wat zijn de voordelen van encoder-decoder LSTM's?
  • Hoe kunnen encoder-decoder LSTM's worden geïmplementeerd in Keras?

Experiment

Ontwerp en voer een experiment uit dat een encoder-decoder LSTM demonstreert voor een sequentie-naar-sequentie-voorspellingsprobleem.

Verder lezen

Les 9: Hoe bidirectionele LSTM's te ontwikkelen

Doel

Het doel van deze les is om te leren hoe u bidirectionele LSTM-modellen kunt ontwikkelen.

Vragen

  • Wat is een bidirectionele LSTM?
  • Wat zijn enkele voorbeelden waarbij bidirectionele LSTM's zijn gebruikt?
  • Welk voordeel biedt een bidirectionele LSTM ten opzichte van een vanille LSTM?
  • Welke zorgen met betrekking tot tijdsstappen roept een bidirectionele architectuur op?
  • Hoe kunnen bidirectionele LSTM's in Keras worden geïmplementeerd?

Experiment

Ontwerp en voer een experiment uit dat voorwaartse, achterwaartse en bidirectionele LSTM-modellen vergelijkt op basis van een sequentievoorspellingsprobleem.

Verder lezen

Les 10: Hoe LSTM's met aandacht te ontwikkelen

Doel

Het doel van deze les is om te leren hoe u LSTM-modellen met aandacht kunt ontwikkelen.

Vragen

  • Welke impact hebben lange reeksen met neutrale informatie op LSTM's?
  • Wat is de aandacht in LSTM-modellen?
  • Wat zijn enkele voorbeelden waarbij aandacht is gebruikt in LSTM's?
  • Welk voordeel levert aandacht op voor het voorspellen van sequenties?
  • Hoe kan een aandachtsarchitectuur worden geïmplementeerd in Keras?

Experiment

Ontwerp en voer een experiment uit dat aandacht besteedt aan een sequentievoorspellingsprobleem met lange reeksen neutrale informatie.

Verder lezen

Les 11: Generatieve LSTM's ontwikkelen

Doel

Het doel van deze les is om te leren hoe LSTM's kunnen worden ontwikkeld voor gebruik in generatieve modellen.

  • Wat zijn generatieve modellen?
  • Hoe kunnen LSTM's worden gebruikt als generatieve modellen?
  • Wat zijn enkele voorbeelden van LSTM's als generatieve modellen?
  • Welke voordelen hebben LSTM's als generatieve modellen?

Experiment

Ontwerp en voer een experiment uit om een ​​corpus tekst te leren en nieuwe tekstvoorbeelden te genereren met dezelfde syntaxis, grammatica en stijl.

Verder lezen

Geavanceerd

De lessen in dit gedeelte zijn bedoeld om u te leren hoe u het meeste uit uw LSTM-modellen kunt halen voor uw eigen problemen met het voorspellen van sequenties.

Les 12: Hoe LSTM-hyperparameters af te stemmen

Doel

Het doel van deze les is om te leren hoe u LSTM-hyperparameters kunt afstemmen.

Vragen

  • Hoe kunnen we over- of onderleren van een LSTM-model diagnosticeren?
  • Wat zijn twee schema's voor het afstemmen van modelhyperparameters?
  • Hoe kan de vaardigheid van modellen betrouwbaar worden geschat, gezien het feit dat LSTM's stochastische algoritmen zijn?
  • Maak een lijst van LSTM-hyperparameters die kunnen worden aangepast, met voorbeelden van waarden die kunnen worden geëvalueerd voor:
    • Modelinitialisatie en gedrag.
    • Modelarchitectuur en structuur.
    • Leergedrag.

Experiment

Ontwerp en voer een experiment uit om er een af ​​te stemmen ...

También te puede interesar