Définir l'encodeur
Vous faites ici votre premier pas vers la création d'un modèle de traduction automatique : implémenter l'encodeur. L'encodeur que vous allez réaliser est très simple comparativement aux modèles complexes utilisés dans des applications réelles, comme le service de traduction de Google. Ne vous en faites pas : même si le modèle est simple, les concepts sont les mêmes que pour ces modèles avancés. Ici, nous utiliserons le préfixe en (p. ex. en_gru) pour tout ce qui concerne l'encodeur et de pour ce qui concerne le décodeur (p. ex. de_gru).
Vous verrez que nous fixons en_vocab à une valeur plus petite (150) que la valeur réelle (228) que nous avons trouvée. Réduire la taille du vocabulaire diminue l'empreinte mémoire du modèle. La réduire légèrement est acceptable, car nous retirons les mots les plus rares en le faisant. Pour les tâches de traduction automatique, les mots rares ont généralement moins d'importance que les mots fréquents.
Cette activité fait partie du cours
Traduction automatique avec Keras
Instructions de l’exercice
- Définissez une couche
Inputpour une entrée ayant une taille de vocabulaireen_vocabet une longueur de séquenceen_len, à l'aide de l'argumentshape. - Définissez une couche
keras.layers.GRUavechsizeunités cachées qui retourne son état. - Obtenez les sorties de la couche GRU en lui fournissant
en_inputset attribuez l'état de la GRU àen_stateet la sortie àen_out. - Définissez un
keras.models.Modeldont l'entrée esten_inputset la sortie esten_state, puis affichez le sommaire du modèle.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
import tensorflow.keras as keras
en_len = 15
en_vocab = 150
hsize = 48
# Define an input layer
en_inputs = keras.layers.____(____=____)
# Define a GRU layer which returns the state
en_gru = ____(____, ____=____)
# Get the output and state from the GRU
____, ____ = ____(____)
# Define and print the model summary
encoder = ____(inputs=____, ____=____)
print(encoder.____)