Maison > développement back-end > Tutoriel Python > Comment les LSTM avec état fonctionnent-ils avec une taille de lot de 1 ?

Comment les LSTM avec état fonctionnent-ils avec une taille de lot de 1 ?

Linda Hamilton
Libérer: 2024-11-05 20:10:03
original
786 Les gens l'ont consulté

How do Stateful LSTMs work with a batch size of 1?

Comprendre les mémoires à long terme et à court terme de Keras (LSTM)

Remodeler les données et les LSTM avec état

Remodelage des données

  • La série de données est remodelée en [échantillons, pas de temps, fonctionnalités] pour permettre à la couche LSTM de traiter des séquences de données de séries chronologiques.
  • Les pas de temps représentent le nombre de points temporels dans chaque séquence, tandis que les caractéristiques représentent les différentes variables ou canaux.

LSTM avec état

  • LSTM avec état conserver leur état interne à travers les lots, leur permettant de se souvenir des sorties précédentes.
  • Ceci est utile pour les tâches où le contexte des pas de temps précédents est important pour prédire les événements futurs.

Question 1 : Pas de temps et caractéristiques

  • L'image avec des cases roses illustre le cas "plusieurs à un", où le nombre de cases noires (caractéristiques) est de 3, et le nombre de les cases roses (pas de temps) sont variables.
  • Cela signifie que la séquence d'entrée contient 3 fonctionnalités par pas de temps.

Question 2 : LSTM avec état

  • Dans l'exemple de code fourni, des LSTM avec état sont utilisés, mais batch_size est défini sur 1.
  • Cela signifie que le modèle est entraîné sur une séquence à la fois et que les valeurs de la mémoire cellulaire sont réinitialisés après chaque lot.
  • Le but de l'utilisation de LSTM avec état est de préserver le contexte à travers les pas de temps au sein d'une seule séquence, même si la taille du lot est de 1.

Correspondances d'images

  • Premier diagramme (déroulé, taille du lot != 1) : Chaque ligne représente le contenu de l'état interne du LSTM (cases orange) et la sortie ( boîte verte) à chaque pas de temps au sein d'un lot.
  • Deuxième diagramme (taille du lot = 1) : Semblable au premier diagramme, mais chaque ligne représente le contenu de l'état et la sortie pour la séquence entière en un seul lot (taille du lot de 1).

Notes supplémentaires

  • Série multivariée : À traiter des séries multivariées, où chaque pas de temps contient plusieurs caractéristiques, le nombre de caractéristiques dans le remodelage et la couche LSTM doit être égal au nombre total de caractéristiques dans les données.
  • Couche distribuée dans le temps : La couche TimeDistributed peut être utilisée pour appliquer la même transformation à chaque pas de temps d'une séquence, créant ainsi une couche plusieurs à plusieurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal