Implementace kompletního modelu enkodér–dekodér

Machine Translation with Keras

Thushan Ganegedara

Data Scientist and Author

Co jste dosud implementovali

  • Enkodér přijímá anglický (zdrojový) vstup
  • Enkodér vytváří kontextový vektor
  • Dekodér přijímá opakovanou sadu kontextových vektorů
  • Dekodér vydává výstupní sekvenci GRU

Model enkodér–dekodér s opakovaným vektorem

Machine Translation with Keras

Horní část dekodéru

  • Implementováno pomocí vrstev TimeDistributed a Dense.

Enkodér–dekodér s TimeDistributed

Machine Translation with Keras

Implementace kompletního modelu

  • Enkodér

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

    de_inputs = RepeatVector(fr_len)(en_state)
    de_gru = GRU(hsize, return_sequences=True)
    de_out = de_gru(de_inputs, initial_state=en_state)
    
Machine Translation with Keras

Implementace kompletního modelu

  • Vrstva predikce 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)
Machine Translation with Keras

Kompilace modelu

Definování kompletního modelu

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

Kompilace modelu

nmt.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['acc'])
Machine Translation with Keras

Pojďme procvičovat!

Machine Translation with Keras

Preparing Video For Download...