Có phải thực tế phổ biến là chỉ áp dụng tăng dữ liệu cho tập huấn luyện, hoặc cho cả tập huấn luyện và tập kiểm thử?
Có phải thực tế phổ biến là chỉ áp dụng tăng dữ liệu cho tập huấn luyện, hoặc cho cả tập huấn luyện và tập kiểm thử?
Câu trả lời:
Về mặt khái niệm tăng cường, tức là làm cho tập dữ liệu lớn hơn vì một số lý do, chúng tôi có xu hướng chỉ tăng tập huấn luyện. Chúng tôi sẽ đánh giá kết quả của các phương pháp tăng cường khác nhau trên một bộ xác nhận.
Tuy nhiên, như @ ukasz Grad chỉ ra, chúng tôi có thể cần thực hiện một quy trình tương tự với bộ kiểm tra như đã được thực hiện trên tập huấn luyện. Điều này thường để dữ liệu đầu vào từ bộ kiểm tra giống với càng nhiều càng tốt với dữ liệu của tập huấn luyện. Ví dụ: @ ukasz Grad chỉ ra ví dụ về cắt xén hình ảnh, ở đó chúng ta cũng cần cắt các hình ảnh thử nghiệm, vì vậy chúng có cùng kích thước với hình ảnh đào tạo. Tuy nhiên, trong trường hợp hình ảnh đào tạo, chúng tôi có thể sử dụng mỗi hình ảnh đào tạo nhiều lần, với các cây trồng ở các vị trí / độ lệch khác nhau. Tại thời điểm thử nghiệm, chúng tôi có thể thực hiện một vụ mùa trung tâm duy nhất hoặc thực hiện các vụ mùa ngẫu nhiên và lấy trung bình.
Chạy quy trình tăng cường đối với dữ liệu thử nghiệm không phải để làm cho dữ liệu thử nghiệm lớn hơn / chính xác hơn, mà chỉ để làm cho dữ liệu đầu vào từ bộ thử nghiệm giống với dữ liệu đầu vào từ tập huấn luyện, vì vậy chúng tôi có thể đưa dữ liệu vào cùng một mạng (ví dụ cùng kích thước). Chúng tôi không bao giờ nghĩ rằng bộ thử nghiệm là 'tốt hơn' theo một cách nào đó, bằng cách áp dụng quy trình gia tăng. Ít nhất, đó không phải là thứ tôi từng thấy.
Mặt khác, đối với tập huấn luyện, điểm quan trọng của việc tăng cường là giảm quá mức trong quá trình đào tạo. Và chúng tôi đánh giá chất lượng của sự tăng cường bằng cách sau đó chạy mô hình được đào tạo dựa trên bộ kiểm tra / xác nhận ít nhiều cố định của chúng tôi.
Thông thường, việc tăng dữ liệu cho các mạng nơ ron tích chập chỉ được thực hiện đối với tập huấn luyện. Tôi không chắc chắn lợi ích gì khi tăng dữ liệu thử nghiệm sẽ đạt được vì giá trị của dữ liệu thử nghiệm chủ yếu dành cho lựa chọn và đánh giá mô hình và bạn đang thêm nhiễu vào phép đo các đại lượng đó.
Bổ sung cho các câu trả lời, hãy để tôi thêm 2 xu của tôi về việc tăng dữ liệu trong thời gian thử nghiệm.
Việc tăng dữ liệu cũng có thể được thực hiện trong thời gian thử nghiệm với mục tiêu giảm phương sai. Nó có thể được thực hiện bằng cách lấy trung bình các dự đoán của các phiên bản sửa đổi của hình ảnh đầu vào.
Tăng cường dữ liệu có thể được xem như là một cách để tiền xử lý tập huấn luyện. Tăng cường dữ liệu là một cách tuyệt vời để giảm lỗi tổng quát hóa của hầu hết các mô hình thị giác máy tính. Một ý tưởng liên quan áp dụng tại thời điểm thử nghiệm là hiển thị cho mô hình nhiều phiên bản khác nhau của cùng một đầu vào (ví dụ: cùng một hình ảnh được cắt ở các vị trí hơi khác nhau) và có các biểu hiện khác nhau của phiếu bầu mô hình để xác định đầu ra. Ý tưởng thứ hai này có thể được hiểu là một cách tiếp cận đồng bộ, và nó giúp giảm lỗi tổng quát hóa. ( Sách học sâu, Chương 12 ).
Đó là một thực tế rất phổ biến để áp dụng tăng thời gian thử nghiệm. AlexNet và ResNet làm điều đó với kỹ thuật 10 crop (lấy các bản vá từ bốn góc và trung tâm của hình ảnh gốc và cũng phản chiếu chúng). Khởi động đi xa hơn và tạo ra 144 bản vá thay vì chỉ 10. Nếu bạn kiểm tra Kaggle và các cuộc thi khác, hầu hết người chiến thắng cũng áp dụng phương pháp tăng thời gian thử nghiệm.
Tôi là tác giả của một bài báo về tăng cường dữ liệu ( mã ) trong đó chúng tôi đã thử nghiệm đào tạo và thử nghiệm tăng cường để phân loại tổn thương da (một nhiệm vụ dữ liệu thấp). Trong một số trường hợp, chỉ sử dụng tăng cường dữ liệu mạnh cho đào tạo sẽ tốt hơn một chút so với không sử dụng tăng dữ liệu, trong khi sử dụng tăng cường đào tạo và kiểm tra làm tăng hiệu suất của mô hình bằng một mức rất đáng kể.