Couches de reshaping (RepeatVector)
Les couches RepeatVector sont utilisées dans les réseaux de neurones pour dupliquer un vecteur d’entrée sur plusieurs étapes d’une séquence. L’objectif est de transformer un vecteur fixe en une séquence répétée, afin qu’il puisse être traité par des couches récurrentes.
Le principe consiste à prendre un vecteur d’entrée unidimensionnel et à le répéter un nombre fixe de fois pour créer un tenseur 2D ou 3D correspondant à une séquence. Cette opération est particulièrement utile dans les architectures sequence-to-sequence, où l’état initial doit être propagé sur plusieurs étapes temporelles.
Les couches RepeatVector sont utilisées dans les autoencodeurs séquentiels, la traduction automatique, la génération de séquences et tout type de modèle où un vecteur doit être répliqué pour former une séquence d’entrée.
En résumé, les couches RepeatVector permettent de transformer un vecteur en une séquence répétée, facilitant le traitement par les couches récurrentes et les architectures sequence-to-sequence.
Fonctions :
-
RepeatVector()
La couche RepeatVector répète un vecteur d’entrée un nombre fixe de fois pour créer une séquence 2D. Elle est souvent utilisée pour transformer un vecteur 1D en séquence répétée afin d’alimenter des couches récurrentes.
Importation :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import RepeatVector import numpy as npAttributs :
Paramètre Type Description Valeur par défaut nint Nombre de répétitions du vecteur d'entrée. — Exemple de code :
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import RepeatVector import numpy as np # Données simulées : batch de 1 vecteur de taille 4 X = np.array([[1, 2, 3, 4]]) # Modèle avec RepeatVector pour répéter 3 fois model = Sequential() model.add(RepeatVector(3, input_shape=(4,))) # Passage des données dans la couche output = model.predict(X) print("Shape avant :", X.shape) # (1, 4) print("Shape après :", output.shape) # (1, 3, 4) print(output)
Explication du code :
Importation des bibliothèques
On importe la couche `RepeatVector` ainsi que les modules nécessaires.Création des données
Les données représentent un batch contenant un vecteur plat de taille 4.Définition du modèle
La couche `RepeatVector` est utilisée pour répéter ce vecteur 3 fois, créant une séquence 3D.Exécution
Après passage, le tenseur passe de la forme (1, 4) à (1, 3, 4), soit une séquence de 3 vecteurs identiques.