Điểm khởi đầu với transfer learning
Trong bài tập này, bạn sẽ thấy lợi ích của việc dùng các vector đã được huấn luyện trước làm điểm khởi đầu cho mô hình.
Bạn sẽ so sánh accuracy của hai mô hình được huấn luyện trong hai epoch. Kiến trúc hai mô hình là như nhau: một lớp embedding, một lớp LSTM với 128 unit và lớp đầu ra với 5 unit, tương ứng với số lớp (class) trong dữ liệu mẫu. Khác biệt là một mô hình dùng vector đã được huấn luyện trước ở lớp embedding (transfer learning), còn mô hình kia thì không.
Các vector tiền huấn luyện sử dụng là GloVE với 200 chiều. Lịch sử accuracy trên tập validation của cả hai mô hình có sẵn trong các biến history_no_emb và history_emb.
Bài tập này là một phần của khóa học
Mạng nơ-ron hồi quy (RNN) cho Mô hình ngôn ngữ với Keras
Hướng dẫn bài tập
- Import mô-đun
matplotlib.pyplotvới bí danhplt. - Thêm danh sách accuracy từ mô hình không dùng embedding vào biểu đồ.
- Thêm danh sách accuracy từ mô hình có dùng embedding vào biểu đồ.
- Hiển thị biểu đồ bằng phương thức
.show().
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 plotting package
import matplotlib.____ as ____
# Insert lists of accuracy obtained on the validation set
plt.plot(____['acc'], marker='o')
plt.plot(history_emb[____], marker='o')
# Add extra descriptions to plot
plt.title('Learning with and without pre-trained embedding vectors')
plt.ylabel('accuracy')
plt.xlabel('epoch')
plt.legend(['no_embeddings', 'with_embeddings'], loc='upper left')
# Display the plot
plt.____