Trả lời

39

Thông số meta weight_decay điều chỉnh thời hạn chuẩn hóa của mạng thần kinh.

Trong khi đào tạo, thuật ngữ thông thường được thêm vào sự mất mát của mạng để tính toán độ dốc ngược. Giá trị weight_decay xác định mức độ chi phối của cụm từ thông dụng này trong tính toán gradient.

Theo quy tắc chung, bạn càng có nhiều ví dụ đào tạo, thuật ngữ này càng yếu. Bạn càng có nhiều thông số (ví dụ: mạng sâu hơn, bộ lọc lớn hơn, lớp InnerProduct lớn hơn, v.v.) thì thuật ngữ này càng cao.

Caffe cũng cho phép bạn lựa chọn giữa L2 quy tắc (mặc định) và L1 quy tắc, bằng cách thiết lập

regularization_type: "L1" 

Tuy nhiên, vì trong nhiều trường hợp trọng số là số nhỏ (ví dụ, -1<w<1), các chỉ tiêu L2 của trọng số nhỏ hơn đáng kể so với chỉ tiêu L1 của chúng. Do đó, nếu bạn chọn sử dụng regularization_type: "L1", bạn có thể cần phải điều chỉnh weight_decay thành giá trị nhỏ hơn đáng kể.

Trong khi tỷ lệ học có thể (và thường là) thay đổi trong quá trình đào tạo, trọng số chuẩn hóa được cố định trong suốt.

+0

Có thể bạn có thể giải thích lý do đằng sau quy tắc chung của mình? Bạn có một nguồn cho điều đó? – Janosch

+10

@Janosch thường là một trong những nhu cầu sử dụng thường xuyên khi có nhiều tham số hơn ràng buộc về một vấn đề số. Trong học tập, các ví dụ đào tạo đại diện cho "ràng buộc". Vì vậy, nếu bạn có (nhiều) ví dụ đào tạo nhiều hơn các thông số miễn phí, bạn cần phải lo lắng ít hơn về việc ghi đè và bạn có thể giảm thời hạn thông thường. Tuy nhiên, nếu bạn có rất ít ví dụ đào tạo (so với số tham số) thì mô hình của bạn dễ bị overfitting và bạn cần cụm từ thường xuyên hóa mạnh để ngăn điều này xảy ra – Shai

+0

Bạn có phải đặt 'param {lr_mult: 1 decay_mult: 1 } 'trong lớp' convolution' hoặc là kiểu chuẩn hóa toàn cầu? @Shai – thigi

13

Phân rã trọng số là một cụm từ thông thường hóa sẽ phạt trọng số lớn. Khi hệ số giảm trọng số lớn thì mức phạt đối với trọng lượng lớn cũng lớn, khi trọng lượng nhỏ có thể tự do phát triển.

Nhìn vào câu trả lời này (không dành riêng cho caffe) để có giải thích tốt hơn: Difference between neural net "weight decay" and "learning rate".

Các vấn đề liên quan