Implementera den fullständiga encoder-decoder-modellen

Maskinöversättning med Keras

Thushan Ganegedara

Data Scientist and Author

Vad du har implementerat hittills

  • Encodern tar emot den engelska (dvs. källspråkets) indata
  • Encodern producerar kontextvektorn
  • Decodern tar emot en upprepad uppsättning kontextvektorer
  • Decodern ger en GRU-utdatasekvens

Encoder-decoder-modell med RepeatVector

Maskinöversättning med Keras

Översta delen av decodern

  • Implementeras med TimeDistributed- och Dense-lager.

Encoder-decoder med TimeDistributed

Maskinöversättning med Keras

Implementera den fullständiga modellen

  • 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)
    
Maskinöversättning med Keras

Implementera den fullständiga modellen

  • Softmax-prediktionslagret
de_dense = keras.layers.Dense(fr_vocab, activation='softmax')
de_dense_time = keras.layers.TimeDistributed(de_dense)
de_pred = de_seq_dense(de_out)
Maskinöversättning med Keras

Kompilera modellen

Definiera den fullständiga modellen

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

Kompilera modellen

nmt.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['acc'])
Maskinöversättning med Keras

Nu kör vi en övning!

Maskinöversättning med Keras

Preparing Video For Download...