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

Định nghĩa các lớp của mô hình Teacher Forcing

Bạn sẽ định nghĩa một phiên bản mới và cải tiến của mô hình dịch máy mà bạn đã xây dựng trước đó. Bạn có biết các mô hình như Google Machine Translator đã dùng kỹ thuật Teacher Forcing để huấn luyện mô hình của họ không?

Như bạn đã thấy, mô hình trước cần điều chỉnh một chút để áp dụng Teacher Forcing. Trong bài này, bạn sẽ thực hiện các thay đổi cần thiết cho mô hình trước. Bạn đã được cung cấp các tham số ngôn ngữ en_lenfr_len (độ dài câu tiếng Anh/Pháp sau khi padding), en_vocabfr_vocab (kích thước từ vựng của tập dữ liệu tiếng Anh/Pháp) và hsize (kích thước tầng ẩn của các lớp GRU). Lưu ý rằng decoder sẽ nhận một chuỗi tiếng Pháp có số phần tử ít hơn fr_len một đơn vị. Nhớ rằng chúng ta dùng tiền tố en cho những thành phần thuộc encoder và de cho những thành phần thuộc decoder.

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

  • Import tiểu mô-đun layers từ tensorflow.keras.
  • Lấy đầu ra và trạng thái của encoder và gán lần lượt cho en_outen_state.
  • Định nghĩa một lớp Input cho decoder, nhận một chuỗi dài fr_len-1 gồm các từ tiếng Pháp được mã hóa one-hot.
  • Định nghĩa một lớp TimeDistributed Dense với softmax và fr_vocab nút.

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.

# Import the layers submodule from keras
import ____.____.____ as layers

en_inputs = layers.Input(shape=(en_len, en_vocab))
en_gru = layers.GRU(hsize, return_state=True)
# Get the encoder output and state
____, ____ = en_gru(____)

# Define the decoder input layer
de_inputs = layers.____(shape=(____, ____))
de_gru = layers.GRU(hsize, return_sequences=True)
de_out = de_gru(de_inputs, initial_state=en_state)
# Define a TimeDistributed Dense softmax layer with fr_vocab nodes
de_dense = layers.____(____.____(____, activation=____))
de_pred = de_dense(de_out)
Chỉnh sửa và Chạy Mã