Huấn luyện mô hình
Bạn có biết năm 2017, Google Dịch phục vụ hơn 500 triệu người dùng mỗi ngày không?
Tại đây, bạn sẽ huấn luyện mô hình Teacher Forcing đầu tiên. Teacher Forcing thường được dùng trong các mô hình sequence-to-sequence như bộ dịch máy neural của bạn để đạt hiệu năng tốt hơn.
Bạn sẽ được cung cấp hàm sents2seqs(), các câu tiếng Anh en_text và các câu tiếng Pháp fr_text.
Bài tập này là một phần của khóa học
Machine Translation với Keras
Hướng dẫn bài tập
- Lấy đầu vào của decoder chứa các chuỗi one-hot của các từ tiếng Pháp (trừ từ cuối trong mỗi chuỗi).
- Lấy đầu ra của decoder chứa các chuỗi one-hot của các từ tiếng Pháp (trừ từ đầu trong mỗi chuỗi).
- Huấn luyện mô hình trên một batch dữ liệu duy nhất.
- Lấy các chỉ số đánh giá (loss và accuracy) cho dữ liệu huấn luyện
en_x,de_xvàde_y.
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.
n_epochs, bsize = 3, 250
for ei in range(n_epochs):
for i in range(0,data_size,bsize):
en_x = sents2seqs('source', en_text[i:i+bsize], onehot=True, reverse=True)
de_xy = sents2seqs('target', fr_text[i:i+bsize], onehot=True)
# Separate the decoder inputs from de_xy
de_x = ____[:,____,:]
# Separate the decoder outputs from de_xy
de_y = ____[____]
# Train the model on a single batch of data
nmt_tf.____([____,____], ____)
# Obtain the eval metrics for the training data
res = _____.evaluate([____,____], ____, batch_size=bsize, verbose=0)
print("{} => Train Loss:{}, Train Acc: {}".format(ei+1,res[0], res[1]*100.0))