Implementare il modello encoder–decoder completo

Traduzione automatica con Keras

Thushan Ganegedara

Data Scientist and Author

Cosa hai implementato finora

  • L'encoder elabora l'input inglese (sorgente)
  • L'encoder produce il vettore di contesto
  • Il decoder usa un set ripetuto di vettori di contesto
  • Il decoder produce la sequenza di output della GRU

Modello encoder–decoder con repeat vector

Traduzione automatica con Keras

Parte alta del decoder

  • Implementato con livelli TimeDistributed e Dense.

Encoder–decoder con TimeDistributed

Traduzione automatica con Keras

Implementare il modello completo

  • Encoder

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

    de_inputs = RepeatVector(fr_len)(en_state)
    de_gru = GRU(hsize, return_sequences=True)
    de_out = de_gru(de_inputs, initial_state=en_state)
    
Traduzione automatica con Keras

Implementare il modello completo

  • Il livello di predizione 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)
Traduzione automatica con Keras

Compilare il modello

Definizione del modello completo

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

Compilazione del modello

nmt.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['acc'])
Traduzione automatica con Keras

Passiamo alla pratica !

Traduzione automatica con Keras

Preparing Video For Download...