Maison > Article > développement back-end > Comment les pas de temps et les fonctionnalités affectent-ils les performances de Keras LSTM ?
Comprendre les pas de temps et les fonctionnalités dans les LSTM Keras
Pour répondre à vos questions, approfondissons les concepts de pas de temps et de fonctionnalités en relation aux LSTM implémentés dans Keras.
Pas de temps et Caractéristiques
Dans l'exemple Keras fourni, les données trainX sont remodelées sous la forme suivante :
(trainX.shape[0], look_back, 1)
Concernant l'image que vous avez liée depuis le blog de Karpathy, chaque rectangle "rose" représente une caractéristique, et les rectangles "verts" indiquent les pas de temps. Ainsi, le diagramme dans l'image correspondrait à une série chronologique avec trois pas de temps et deux caractéristiques.
Les LSTM avec état
Les LSTM avec état maintiennent un état interne qui leur permet de se souvenir de ce qu'ils ont appris lors du traitement d'une séquence donnée. Lorsque vous les utilisez avec Keras, vous définissez le paramètre stateful sur True.
Dans votre exemple, vous définissez batch_size sur 1 et utilisez model.fit() pour l'entraînement avec shuffle=False. Cela signifie que chaque lot contient une seule séquence et que le LSTM traite les séquences dans le même ordre dans lequel elles apparaissent dans les données d'entraînement. En conséquence, l'état du LSTM est préservé d'un lot à l'autre, ce qui lui permet d'apprendre à partir de la séquence entière.
En réinitialisant l'état du LSTM entre les époques d'entraînement, vous « recommencez » efficacement le processus d'apprentissage pour chaque époque. . Cependant, le LSTM se souvient toujours des modèles généraux qu'il a appris au fil des époques.
Remarques importantes
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!