Từ việc kiểm tra đơn giản cốt truyện của bạn, tôi có thể đưa ra một vài kết luận và liệt kê những điều cần thử. (Điều này không cần biết thêm về thiết lập của bạn: thông số đào tạo và siêu đường kính mô hình).
Có vẻ như tổn thất đang giảm (đặt một dòng phù hợp nhất thông qua mất xác thực). Có vẻ như bạn có thể tập luyện lâu hơn để cải thiện kết quả, vì đường cong vẫn hướng xuống dưới.
Đầu tiên tôi sẽ thử trả lời câu hỏi tiêu đề của bạn:
nguyên nhân của sự biến động trong mất xác nhận là gì?
Tôi có thể nghĩ về ba khả năng:
- Chính quy hóa - để giúp làm trơn tru quá trình học tập và làm cho trọng lượng mô hình mạnh mẽ hơn. Thêm / tăng tính thường xuyên của bạn sẽ ngăn các cập nhật lớn cho các trọng số được giới thiệu.
- Kích thước hàng loạt - có tương đối nhỏ không (ví dụ <20?). Điều này có nghĩa là sai số trung bình đo được ở cuối mạng được tính chỉ bằng một vài mẫu. Với kích thước lô, giả sử
8
, sau đó nhận được 4/8
chính xác và so với nhận 6/8
chính xác có sự khác biệt tương đối lớn khi nhìn vào sự mất mát. Lấy giá trị trung bình của các lỗi với các lô nhỏ như vậy sẽ dẫn đến một đường cong mất không quá trơn tru. Nếu bạn có đủ bộ nhớ GPU / RAM, hãy thử tăng kích thước lô.
- Tỷ lệ học tập - có thể quá lớn. Điều này tương tự như điểm đầu tiên liên quan đến chính quy. Để thực hiện các cải tiến mượt mà hơn, bạn có thể cần phải làm chậm tốc độ học tập khi bạn tiến gần đến mức tối thiểu. Bạn có thể làm cho điều này có thể chạy theo lịch trình, theo đó được giảm bởi một số yếu tố (ví dụ: nhân nó với 0,5) mỗi khi mất xác thực không được cải thiện sau đó, nói là
6
kỷ nguyên. Điều này sẽ ngăn bạn thực hiện các bước lớn và sau đó có thể vượt quá mức tối thiểu và chỉ nảy xung quanh nó.
Cụ thể với nhiệm vụ của bạn, tôi cũng đề nghị cố gắng giải phóng một lớp khác , để tăng phạm vi điều chỉnh của bạn. Điều này sẽ giúp Resnet-18 tự do hơn một chút để học, dựa trên dữ liệu của bạn.
Về câu hỏi cuối cùng của bạn:
Đây có phải là điều mà tôi nên lo lắng hay tôi chỉ nên chọn mô hình đạt điểm cao nhất trên thước đo hiệu suất của mình (độ chính xác)?
Bạn có nên lo lắng? Tóm lại, không. Một đường cong mất xác nhận như của bạn có thể hoàn toàn tốt và mang lại kết quả hợp lý; tuy nhiên, tôi sẽ thử một số bước tôi đã đề cập ở trên trước khi giải quyết nó.
Bạn chỉ nên chọn mô hình hoạt động tốt nhất? Nếu bạn có nghĩa là lấy mô hình tại điểm của nó với mất xác thực tốt nhất (độ chính xác xác thực), thì tôi sẽ nói là cẩn thận hơn. Trong cốt truyện của bạn ở trên, điều này có thể tương đương với khoảng 30, nhưng cá nhân tôi sẽ lấy một điểm đã được đào tạo thêm một chút, trong đó đường cong sẽ ít biến động hơn một chút. Một lần nữa, sau khi đã thử một số bước được nêu ở trên.