Implanter le modèle encodeur-décodeur complet

Traduction automatique avec Keras

Thushan Ganegedara

Data Scientist and Author

Ce que vous avez implanté jusqu'ici

  • L'encodeur consomme l'entrée anglaise (source)
  • L'encodeur produit le vecteur de contexte
  • Le décodeur consomme un ensemble répété de vecteurs de contexte
  • Le décodeur génère la séquence de sorties GRU

Modèle encodeur-décodeur avec répétition de vecteur

Traduction automatique avec Keras

Partie supérieure du décodeur

  • Implanté avec des couches TimeDistributed et Dense.

Encodeur-décodeur avec TimeDistributed

Traduction automatique avec Keras

Implanter le modèle complet

  • Encodeur

    en_inputs = Input(shape=(en_len, en_vocab))
    en_gru = GRU(hsize, return_state=True)
    en_out, en_state = en_gru(en_inputs)
    
  • Décodeur

    de_inputs = RepeatVector(fr_len)(en_state)
    de_gru = GRU(hsize, return_sequences=True)
    de_out = de_gru(de_inputs, initial_state=en_state)
    
Traduction automatique avec Keras

Implanter le modèle complet

  • La couche de prédiction softmax
de_dense = keras.layers.Dense(fr_vocab, activation='softmax')
de_dense_time = keras.layers.TimeDistributed(de_dense)
de_pred = de_seq_dense(de_out)
Traduction automatique avec Keras

Compiler le modèle

Définir le modèle complet

nmt = keras.models.Model(inputs=en_inputs, outputs=de_pred)

Compiler le modèle

nmt.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['acc'])
Traduction automatique avec Keras

Passons à la pratique !

Traduction automatique avec Keras

Preparing Video For Download...