Học sâu: Tại sao tăng batch_size gây ra tình trạng thừa và làm thế nào để giảm?


8

Tôi đã từng huấn luyện mô hình của mình trên máy cục bộ, nơi bộ nhớ chỉ đủ cho 10 ví dụ mỗi lô. Tuy nhiên, khi tôi di chuyển mô hình của mình sang AWS và sử dụng GPU lớn hơn (Tesla K80), tôi có thể điều chỉnh kích thước lô 32. Tuy nhiên, tất cả các mô hình AWS đều hoạt động rất kém với dấu hiệu quá lớn. Lý do tại sao điều này xảy ra?

Mô hình tôi hiện đang sử dụng là mô hình khởi động-resnet-v2 và vấn đề tôi nhắm đến là vấn đề về máy tính. Một lời giải thích tôi có thể nghĩ đến đó có lẽ là quy trình định mức hàng loạt làm cho nó được sử dụng nhiều hơn cho các hình ảnh hàng loạt. Để giảm thiểu, tôi đã giảm trung bình di chuyển phân rã batch_norm.

Ngoài ra, tôi có nên sử dụng bỏ học cùng với batch_norm không? Là thực hành phổ biến?

Hình ảnh đào tạo của tôi là khoảng 5000, nhưng tôi đã đào tạo khoảng 60 kỷ nguyên. Điều này được xem xét rất nhiều hay tôi nên dừng việc đào tạo sớm hơn?


3
Tôi nghĩ đây là bản sao của: stats.stackexchange.com/questions/164876
usεr11852

Câu trả lời:


3

Chương 6 của cuốn sách Goodfellow :

Các lô nhỏ có thể tạo ra một quy trình chính quy (Wilson và Martinez, 2003), có lẽ do tiếng ồn mà chúng thêm vào quá trình học tập. Lỗi tổng quát hóa thường tốt nhất cho kích thước lô là 1. Việc đào tạo với kích thước lô nhỏ như vậy có thể yêu cầu tỷ lệ học tập nhỏ để duy trì sự ổn định do sự chênh lệch cao trong ước tính độ dốc. Tổng thời gian chạy có thể rất cao do nhu cầu thực hiện nhiều bước hơn, cả vì tốc độ học tập giảm và vì phải mất nhiều bước hơn để quan sát toàn bộ tập huấn luyện.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.