1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Nhập môn Deep Learning với Python

Connected

Bài tập

Thay đổi tham số tối ưu hóa

Đến lúc bạn thực hành tối ưu hóa. Bạn sẽ thử tối ưu hóa một mô hình với learning rate rất thấp, rất cao, và một mức “vừa đủ”. Sau khi chạy xong bài này, hãy xem kết quả và nhớ rằng giá trị nhỏ cho hàm loss là tốt.

Trong các bài này, chúng tôi đã nạp sẵn predictors và target từ mô hình phân loại trước đó của bạn (dự đoán ai sống sót trên Titanic). Bạn sẽ muốn việc tối ưu hóa luôn bắt đầu từ đầu mỗi khi thay đổi learning rate để so sánh công bằng giữa các mức learning rate trong kết quả. Vì vậy, chúng tôi đã tạo hàm get_new_model() để tạo một mô hình chưa được tối ưu hóa cho bạn tối ưu.

Hướng dẫn

100 XP
  • Import SGD từ tensorflow.keras.optimizers.
  • Tạo một list các learning rate để thử tối ưu, đặt tên là lr_to_test. Các learning rate gồm .000001, 0.01, và 1.
  • Dùng vòng lặp for để lặp qua lr_to_test:
    • Dùng hàm get_new_model() để xây dựng một mô hình mới, chưa được tối ưu hóa.
    • Tạo một optimizer tên my_optimizer bằng constructor SGD() với đối số từ khóa lr=lr.
    • Biên dịch (compile) mô hình. Đặt tham số optimizer là đối tượng SGD bạn vừa tạo ở trên, và vì đây là bài toán phân loại, dùng 'categorical_crossentropy' cho tham số loss.
    • Huấn luyện (fit) mô hình với predictors và target.