Bắt đầu ngayBắt đầu miễn phí

Định nghĩa decoder

Trong bài tập này, bạn sẽ hiện thực decoder và định nghĩa một mô hình end-to-end đi từ đầu vào của encoder đến các đầu ra GRU của decoder. Decoder sử dụng cùng mô hình như encoder. Tuy nhiên, đầu vào và trạng thái đưa vào decoder khác với encoder. Ví dụ, decoder nhận vector ngữ cảnh do encoder tạo ra làm đầu vào đồng thời làm trạng thái khởi tạo cho decoder. Hãy nhớ rằng chúng ta sẽ dùng tiền tố en (ví dụ en_gru) để chỉ các thành phần thuộc encoder và de để chỉ các thành phần thuộc decoder (ví dụ de_gru).

Để hiện thực decoder, bạn sẽ dùng các lớp RepeatVectorGRU.

Trong bài tập này, bạn đã được cung cấp mô hình encoder và các lớp khác nhau của encoder mà bạn đã triển khai. Chẳng hạn, đầu vào của encoder được cung cấp là en_inputs và vector ngữ cảnh là en_state. Cũng lưu ý rằng các đối tượng GRUModel đã được import sẵn.

Bài tập này là một phần của khóa học

Machine Translation với Keras

Xem khóa học

Hướng dẫn bài tập

  • Định nghĩa một lớp RepeatVector nhận en_state làm đầu vào và lặp lại nó fr_len lần.
  • Định nghĩa một lớp GRU, decoder_gru, có số đơn vị ẩn bằng hsize và trả về tất cả các đầu ra tạo ra.
  • Lấy đầu ra của lớp decoder_gru bằng cách đưa de_inputs làm đầu vào và en_state làm trạng thái khởi tạo của decoder.
  • Định nghĩa một mô hình nhận en_inputs làm đầu vào và gru_outputs làm đầu ra.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

from tensorflow.keras.layers import RepeatVector

hsize = 48
fr_len = 20
# Define a RepeatVector layer
de_inputs = ____(____)(____)
# Define a GRU model that returns all outputs
decoder_gru = ____(____, ____=____)
# Get the outputs of the decoder
gru_outputs = ____(____, initial_state=____)
# Define a model with the correct inputs and outputs
enc_dec = ____(inputs=____, outputs=____)
enc_dec.summary()
Chỉnh sửa và Chạy Mã