Couches récurrentes (GRU)
Fonctions :
-
GRU()
GRU (Gated Recurrent Unit) est une couche de réseau de neurones récurrent conçue pour capturer les dépendances dans les données séquentielles, similaire à LSTM mais plus simple. Elle utilise deux portes (update et reset) pour contrôler le flux d'information, ce qui réduit la complexité tout en conservant une bonne capacité à modéliser des séquences à long terme.
Importation :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import GRU, Dense import numpy as np
Attributs :
Paramètre Type Description Valeur par défaut units
int Nombre de neurones dans la couche GRU, définissant la taille de la sortie. — activation
str / callable Fonction d'activation pour la cellule, souvent 'tanh'
.'tanh'
recurrent_activation
str / callable Fonction d'activation pour les portes récurrentes, généralement 'sigmoid'
.'sigmoid'
return_sequences
bool Si True
, retourne la sortie à chaque pas de temps (séquence complète).False
return_state
bool Si True
, retourne également l'état caché final.False
go_backwards
bool Si True
, traite la séquence en ordre inverse.False
stateful
bool Si True
, conserve l’état entre les lots d’entraînement.False
Exemple de code :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import GRU, Dense import numpy as np # Données simulées : 50 séquences, chaque séquence de longueur 20, avec 5 features par pas de temps X = np.random.rand(50, 20, 5) y = np.random.randint(0, 3, size=(50, 1)) # Modèle simple avec GRU model = Sequential() model.add(GRU(32, activation='tanh', input_shape=(20, 5))) model.add(Dense(3, activation='softmax')) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.summary()
Explication du code :
Importation des bibliothèques
On importe `GRU`, `Dense` et `Sequential` depuis Keras pour construire le modèle.Création des données
Les données simulées consistent en 50 séquences, chaque séquence contenant 20 pas de temps avec 5 caractéristiques par pas.Définition du modèle
Une couche GRU avec 32 neurones est utilisée pour traiter les séquences. Une couche dense finale à 3 neurones avec activation softmax est ajoutée pour la classification multi-classes.Compilation
Le modèle est compilé avec la perte catégorielle creuse et l’optimiseur Adam pour l'entraînement.