


En quoi les LSTM avec état dans Keras diffèrent-ils des LSTM traditionnels, et quand dois-je utiliser chaque type ?
Comprendre les mémoires à long terme et à court terme de Keras (LSTM)
Remodelage et état
Remodelage des données :
L'opération de remodelage est nécessaire pour se conformer au format d'entrée attendu de Keras pour les LSTM, qui est [échantillons, pas de temps, fonctionnalités]. Dans ce cas, les échantillons représentent le nombre de séquences dans votre ensemble de données, les pas de temps indiquent la longueur de chaque séquence et les caractéristiques font référence au nombre de variables d'entrée pour chaque pas de temps. En remodelant les données, vous vous assurez que le LSTM peut traiter correctement les informations de séquence.
LSTM avec état :
Les LSTM avec état conservent leur état interne sur plusieurs lots pendant la formation. Cela leur permet de « se souvenir » des informations de séquence vues jusqu’à présent. Dans l'exemple fourni, batch_size est défini sur 1 et la mémoire est réinitialisée entre les exécutions d'entraînement. Cela signifie que le LSTM n’utilise pas pleinement ses capacités avec état. Pour profiter de l'état, vous utiliserez généralement une taille de lot supérieure à 1 et éviterez de réinitialiser les états entre les lots. Cela permet au LSTM d'apprendre les dépendances à long terme sur plusieurs séquences.
Pas de temps et fonctionnalités
Pas de temps :
Le nombre de pas de temps indique la longueur de chaque séquence de votre ensemble de données. Dans l'image que vous avez partagée, vous envisagez le cas plusieurs-à-un, dans lequel une séquence de longueur variable est condensée en une seule sortie. Le nombre de cases roses correspond au nombre de pas de temps dans la séquence d'entrée.
Caractéristiques :
Le nombre de fonctionnalités fait référence au nombre de variables d'entrée pour chacune pas de temps. Dans les séries multivariées, telles que la modélisation simultanée de plusieurs valeurs financières, vous auriez plusieurs caractéristiques pour chaque pas de temps, représentant différentes variables prédites.
Comportement LSTM avec état
Dans le diagramme, les cases rouges représentent les états cachés et les cases vertes représentent les états des cellules. Bien qu’ils soient visuellement égaux, ce sont des éléments distincts dans un LSTM. Le comportement avec état du LSTM signifie que ces états sont reportés aux pas de temps et aux lots suivants. Cependant, il est important de noter que la réinitialisation des états entre les exécutions d'entraînement dans l'exemple empêche un véritable état.
Réalisation de différentes configurations LSTM
Plusieurs à plusieurs avec des couches uniques :
Pour réaliser un traitement plusieurs-à-plusieurs avec une seule couche LSTM, utilisez return_sequences=True. Cela garantit que la forme de sortie inclut la dimension temporelle, permettant plusieurs sorties par séquence.
Plusieurs-à-un avec des couches simples :
Pour le traitement plusieurs-à-un, définissez return_sequences=False. Cela demande à la couche LSTM de générer uniquement le pas de temps final, supprimant ainsi les informations de séquence antérieures.
Un à plusieurs avec vecteur de répétition :
Pour créer Dans une configuration un-à-plusieurs, vous pouvez utiliser la couche RepeatVector pour répliquer l'entrée en plusieurs pas de temps. Cela vous permet d'alimenter une seule observation dans une couche LSTM et d'obtenir plusieurs sorties.
Un à plusieurs avec les LSTM avec état :
Une approche plus complexe pour atteindre le traitement un-à-plusieurs implique l’utilisation de stateful=True. En parcourant manuellement la séquence et en transmettant la sortie de chaque pas de temps comme entrée du suivant, vous pouvez générer une série de sorties en alimentant en une seule étape. Ceci est souvent utilisé pour les tâches de génération de séquences.
Configurations complexes :
Les LSTM peuvent être empilés dans diverses configurations pour créer des architectures complexes. Par exemple, un encodeur automatique pourrait combiner un encodeur plusieurs-à-un avec un décodeur un-vers-plusieurs, permettant au modèle d'apprendre à la fois l'encodage et le décodage des séquences.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











Python convient à la science des données, au développement Web et aux tâches d'automatisation, tandis que C convient à la programmation système, au développement de jeux et aux systèmes intégrés. Python est connu pour sa simplicité et son écosystème puissant, tandis que C est connu pour ses capacités de contrôle élevées et sous-jacentes.

Vous pouvez apprendre les concepts de programmation de base et les compétences de Python dans les 2 heures. 1. Apprenez les variables et les types de données, 2. Flux de contrôle maître (instructions et boucles conditionnelles), 3. Comprenez la définition et l'utilisation des fonctions, 4. Démarrez rapidement avec la programmation Python via des exemples simples et des extraits de code.

Python excelle dans les jeux et le développement de l'interface graphique. 1) Le développement de jeux utilise Pygame, fournissant des fonctions de dessin, audio et d'autres fonctions, qui conviennent à la création de jeux 2D. 2) Le développement de l'interface graphique peut choisir Tkinter ou Pyqt. Tkinter est simple et facile à utiliser, PYQT a des fonctions riches et convient au développement professionnel.

Vous pouvez apprendre les bases de Python dans les deux heures. 1. Apprenez les variables et les types de données, 2. Structures de contrôle maître telles que si les instructions et les boucles, 3. Comprenez la définition et l'utilisation des fonctions. Ceux-ci vous aideront à commencer à écrire des programmes Python simples.

Python est plus facile à apprendre et à utiliser, tandis que C est plus puissant mais complexe. 1. La syntaxe Python est concise et adaptée aux débutants. Le typage dynamique et la gestion automatique de la mémoire le rendent facile à utiliser, mais peuvent entraîner des erreurs d'exécution. 2.C fournit des fonctionnalités de contrôle de bas niveau et avancées, adaptées aux applications haute performance, mais a un seuil d'apprentissage élevé et nécessite une gestion manuelle de la mémoire et de la sécurité.

Pour maximiser l'efficacité de l'apprentissage de Python dans un temps limité, vous pouvez utiliser les modules DateTime, Time et Schedule de Python. 1. Le module DateTime est utilisé pour enregistrer et planifier le temps d'apprentissage. 2. Le module de temps aide à définir l'étude et le temps de repos. 3. Le module de planification organise automatiquement des tâches d'apprentissage hebdomadaires.

Python est largement utilisé dans les domaines du développement Web, de la science des données, de l'apprentissage automatique, de l'automatisation et des scripts. 1) Dans le développement Web, les cadres Django et Flask simplifient le processus de développement. 2) Dans les domaines de la science des données et de l'apprentissage automatique, les bibliothèques Numpy, Pandas, Scikit-Learn et Tensorflow fournissent un fort soutien. 3) En termes d'automatisation et de script, Python convient aux tâches telles que les tests automatisés et la gestion du système.

Python excelle dans l'automatisation, les scripts et la gestion des tâches. 1) Automatisation: La sauvegarde du fichier est réalisée via des bibliothèques standard telles que le système d'exploitation et la fermeture. 2) Écriture de script: utilisez la bibliothèque PSUTIL pour surveiller les ressources système. 3) Gestion des tâches: utilisez la bibliothèque de planification pour planifier les tâches. La facilité d'utilisation de Python et la prise en charge de la bibliothèque riche en font l'outil préféré dans ces domaines.
