Définition de l'encodeur
Vous allez maintenant faire votre premier pas vers la création d'un modèle de traduction automatique : l'implémentation de l'encodeur. L'encodeur que vous allez implémenter est un modèle très simple comparé aux modèles complexes utilisés dans des applications réelles telles que le service de traduction automatique de Google. Cependant, ne vous inquiétez pas, bien que le modèle soit simple, les concepts sont les mêmes que ceux des modèles complexes. Nous utiliserons ici le préfixe en
(par exemple en_gru
) pour désigner tout ce qui concerne l'encodeur et de
pour désigner tout ce qui concerne le décodeur (par exemple de_gru
).
Vous remarquerez que nous avons choisi une valeur pour l en_vocab
inférieure (150) à la valeur réelle (228) que nous avons trouvée. Réduire le vocabulaire diminue l'empreinte mémoire du modèle. Il est acceptable de réduire légèrement le vocabulaire, car nous supprimons les mots les plus rares. Dans le cadre de la traduction automatique, les mots rares ont généralement moins de valeur que les mots courants.
Cet exercice fait partie du cours
Traduction automatique avec Keras
Instructions
- Définissez une couche d'
Input
s pour une entrée dont la taille du vocabulaire esten_vocab
et la longueur de la séquence esten_len
, à l'aide de l'argumentshape
. - Définissez une couche d'
keras.layers.GRU
qui comporte unhsize
, des unités cachées et renvoie son état. - Obtenez les résultats de la couche GRU en entrant
en_inputs
, puis attribuez l'état GRU àen_state
et le résultat àen_out
. - Définissez un modèle de classification (
keras.models.Model
) dont l'entrée est «en_inputs
» et la sortie «en_state
», puis affichez le résumé du modèle.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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.____)