Maison >développement back-end >Tutoriel Python >Keras LSTM : que sont les intervalles de temps et les fonctionnalités, et comment le LSTM avec état exploite-t-il les informations séquentielles ?

Keras LSTM : que sont les intervalles de temps et les fonctionnalités, et comment le LSTM avec état exploite-t-il les informations séquentielles ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-23 20:17:12512parcourir

Keras LSTM: What are Timesteps and Features, and How Does Stateful LSTM Leverage Sequential Information?

Comprendre Keras LSTM

Quels sont les pas de temps et les fonctionnalités ?

Le pas de temps et les caractéristiques sont spécifiés par les deux dernières dimensions du tenseur.

  • Pas de temps : Entrez le nombre d'étapes dans la séquence.
  • Fonction : Le nombre de valeurs à chaque pas de temps dans la séquence d'entrée.

Selon le code fourni dans la question, trainX est un tableau 3D avec des pas de temps de 3 et des fonctionnalités de 1. Cela montre que le modèle considère une situation plusieurs-à-un, où les 3 cases roses correspondent à plusieurs entrées.

Stateful LSTM

Stateful LSTM permet au modèle de conserver les valeurs de l'état des cellules à travers les lots. Lorsque batch_size est égal à 1, la mémoire est réinitialisée entre les exécutions d'entraînement. Cela aide le modèle à mémoriser les étapes précédentes de la séquence pour des prédictions plus précises. Dans cet exemple, batch_size est défini sur 1 et les données ne sont pas mélangées, ce qui signifie que le modèle verra les données de manière séquentielle et tirera parti des informations de séquence.

Exemple de schéma

L'image que vous avez fournie correspond au modèle Keras suivant :

Figure 1 :

  • Keras traitera la séquence d'entrée de manière plusieurs-à-plusieurs.
  • return_sequences=True permet à la couche de générer des séquences à chaque pas de temps.

Figure 2 :

  • stateful=True permet au modèle de conserver son état d'un lot à l'autre.
  • La case rouge dans chaque ligne représente un lot de la séquence originale.
  • La case verte dans chaque ligne représente la séquence générée par le modèle dans chaque lot.
  • Les lignes contiguës indiquent que le modèle traite la séquence entière comme une séquence continue, même si elle est introduite dans le modèle par lots.

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!

Déclaration:
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