Làm thế nào để bình thường hóa hàng loạt tính toán số liệu thống kê dân số sau khi đào tạo?


7

Tôi đã đọc bài viết chuẩn hóa hàng loạt (BN) (1) và nó nói:

Đối với điều này, khi mạng đã được đào tạo, chúng tôi sử dụng chuẩn hóa bằng cách sử dụng dân số , thay vì mini -batch, thống kê.

x^=xE[x]Var[x]+ϵ

Câu hỏi của tôi là, làm thế nào để tính toán số liệu thống kê dân số này và qua tập huấn luyện nào (kiểm tra, xác nhận, đào tạo)? Tôi nghĩ rằng tôi biết điều đó có nghĩa là gì nhưng sau một thời gian, tôi nhận ra rằng tôi không chắc nó tính toán như thế nào. Tôi cho rằng nó sẽ cố gắng để ước tính đúng nghĩa và phương sai mặc dù tôi không chắc chắn làm thế nào nó làm thế. Những gì tôi có thể làm là tính giá trị trung bình và phương sai theo toàn bộ tập dữ liệu và sử dụng những khoảnh khắc đó để suy luận.

Tuy nhiên, điều khiến tôi nghi ngờ rằng tôi sai là cuộc thảo luận của họ về ước tính phương sai không thiên vị sau đó trong cùng phần đó:

Chúng tôi sử dụng ước tính phương sai không thiên vị khi quá trình đào tạo kết thúc các lô nhỏ có kích thước và là phương sai mẫu của chúng.Var[x]=mm1EB[σB2]mσB2

Vì chúng ta đang nói về thống kê dân số, nhận xét này trên tờ báo có cảm giác như nó không xuất hiện (đối với tôi) và không chắc họ đang nói về cái gì. Có phải họ chỉ (ngẫu nhiên) làm rõ họ sử dụng các ước tính không thiên vị trong quá trình đào tạo hay họ đang sử dụng một ước tính không thiên vị để tính toán thống kê dân số?


1 : Ioffe S. và Szegedy C. (2015),
"Bình thường hóa hàng loạt: Tăng tốc đào tạo mạng lưới sâu bằng cách giảm sự thay đổi đồng biến nội bộ",
Kỷ yếu của Hội nghị quốc tế về học máy lần thứ 32 , Lille, Pháp, 2015.
Tạp chí Nghiên cứu về máy học: Khối lượng W & CP 37

Câu trả lời:


6

Thông thường, số liệu thống kê dân số được lấy từ tập huấn luyện. Nếu bạn bao gồm bộ kiểm tra, tại thời điểm kiểm tra, bạn sẽ có thông tin về mặt kỹ thuật, bạn không nên truy cập (thông tin về toàn bộ tập dữ liệu). Vì lý do tương tự, bộ xác nhận không nên được sử dụng để tính các thống kê đó.

Hãy nhớ rằng do thực tế hóa chuẩn hóa hàng loạt không chỉ ở lớp đầu vào, số liệu thống kê của dân số sẽ thay đổi từ epoch sang epoch, khi mạng tìm hiểu và thay đổi các tham số của nó (và do đó, đầu ra của nó ở mỗi lớp).

Do đó, cách phổ biến để tính toán các số liệu thống kê này là giữ trung bình (phân rã theo cấp số nhân hoặc di chuyển) trong quá trình đào tạo. Điều này sẽ làm mượt các biến thể ngẫu nhiên do đào tạo theo đợt nhỏ và luôn cập nhật tình trạng học tập hiện tại. Bạn có thể xem một ví dụ về điều này trong mã đèn pin cho định mức lô: https://github.com/torch/nn/blob/master/lib/THNN/generic/BatchN normalization.c # L22

Bài viết đề cập rằng họ sử dụng đường trung bình di động thay vì chỉ giữ số liệu thống kê được tính toán cuối cùng:

Thay vào đó, sử dụng đường trung bình di động, chúng ta có thể theo dõi độ chính xác của mô hình khi nó chạy.

Đối với câu hỏi thứ hai của bạn, họ đang nói rằng họ sử dụng ước tính không thiên vị đó để ước tính phương sai dân số (cho suy luận trong tương lai).


0

Suy luận ngay cả khi kích thước lô của bạn không phải là một chỉ tiêu lô cũng dựa trên toàn bộ tập huấn luyện (làm cho suy luận ổn định).

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.