Table des matières
Comprendre les mémoires à long terme et à court terme de Keras (LSTM)
Remodelage et état
Pas de temps et fonctionnalités
Comportement LSTM avec état
Réalisation de différentes configurations LSTM
Maison développement back-end Tutoriel Python En quoi les LSTM avec état dans Keras diffèrent-ils des LSTM traditionnels, et quand dois-je utiliser chaque type ?

En quoi les LSTM avec état dans Keras diffèrent-ils des LSTM traditionnels, et quand dois-je utiliser chaque type ?

Nov 05, 2024 am 04:17 AM

How do Stateful LSTMs in Keras differ from traditional LSTMs, and when should I use each 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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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

<🎜>: Dead Rails - Comment apprivoiser les loups
4 Il y a quelques semaines By DDD
<🎜>: Grow A Garden - Guide de mutation complet
2 Il y a quelques semaines By DDD
Niveaux de force pour chaque ennemi et monstre de R.E.P.O.
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Sujets chauds

Tutoriel Java
1659
14
Tutoriel PHP
1258
29
Tutoriel C#
1232
24
Python vs C: applications et cas d'utilisation comparés Python vs C: applications et cas d'utilisation comparés Apr 12, 2025 am 12:01 AM

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.

Le plan Python de 2 heures: une approche réaliste Le plan Python de 2 heures: une approche réaliste Apr 11, 2025 am 12:04 AM

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: jeux, GUIS, et plus Python: jeux, GUIS, et plus Apr 13, 2025 am 12:14 AM

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.

Combien de python pouvez-vous apprendre en 2 heures? Combien de python pouvez-vous apprendre en 2 heures? Apr 09, 2025 pm 04:33 PM

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 vs C: courbes d'apprentissage et facilité d'utilisation Python vs C: courbes d'apprentissage et facilité d'utilisation Apr 19, 2025 am 12:20 AM

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é.

Python et temps: tirer le meilleur parti de votre temps d'étude Python et temps: tirer le meilleur parti de votre temps d'étude Apr 14, 2025 am 12:02 AM

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: Explorer ses applications principales Python: Explorer ses applications principales Apr 10, 2025 am 09:41 AM

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: automatisation, script et gestion des tâches Python: automatisation, script et gestion des tâches Apr 16, 2025 am 12:14 AM

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.

See all articles