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

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

Xem khóa học

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_xde_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))  
Chỉnh sửa và Chạy Mã