Tôi đang bắt đầu một dự án trong đó nhiệm vụ là xác định các loại sneaker từ hình ảnh. Tôi hiện đang đọc các triển khai của TensorFlow và Torch . Câu hỏi của tôi là: cần bao nhiêu hình ảnh cho mỗi lớp để đạt được hiệu suất phân loại hợp lý?
Tôi đang bắt đầu một dự án trong đó nhiệm vụ là xác định các loại sneaker từ hình ảnh. Tôi hiện đang đọc các triển khai của TensorFlow và Torch . Câu hỏi của tôi là: cần bao nhiêu hình ảnh cho mỗi lớp để đạt được hiệu suất phân loại hợp lý?
Câu trả lời:
Từ làm thế nào ít ví dụ đào tạo là quá ít khi đào tạo một mạng lưới thần kinh? trên CV:
Nó thực sự phụ thuộc vào dữ liệu của bạn và kiến trúc mạng. Một nguyên tắc nhỏ mà tôi đã đọc (2) là vài nghìn mẫu mỗi lớp để mạng lưới thần kinh bắt đầu hoạt động rất tốt. Trong thực tế, mọi người thử và xem.
Một cách tốt để đánh giá đại khái mức độ có thể có ích khi có nhiều mẫu đào tạo hơn là vẽ biểu đồ hiệu suất của mạng lưới thần kinh dựa trên kích thước của tập huấn luyện, ví dụ từ (1):
(2) Cireşan, Dan C., Ueli Meier và Jürgen Schmidhuber. "Chuyển giao việc học cho các ký tự Latin và Trung Quốc với mạng lưới thần kinh sâu sắc." Trong Hội nghị chung quốc tế năm 2012 về mạng nơ ron (IJCNN), trang 1-6. IEEE, 2012. https://scholar.google.com/scholar?cluster=7452424507909578812&hl=vi&as_sdt=0,22 ; http://people.idsia.ch/~ciresan/data/ijcnn2012_v9.pdf :
Đối với các nhiệm vụ phân loại với vài nghìn mẫu trên mỗi lớp , lợi ích của việc xử lý trước (không được giám sát hoặc giám sát) là không dễ dàng để chứng minh.
Cách tiếp cận tốt nhất là thu thập càng nhiều dữ liệu bạn có thể thoải mái. Sau đó bắt đầu với dự án và tạo một mô hình dữ liệu.
Bây giờ bạn có thể đánh giá mô hình của mình để xem nó có Xu hướng cao hay Phương sai cao.
Phương sai cao : Trong tình huống này, bạn sẽ thấy lỗi Xác thực chéo cao hơn lỗi Đào tạo sau khi hội tụ. Có một khoảng cách đáng kể nếu bạn vẽ tương tự với kích thước dữ liệu đào tạo.
Xu hướng cao : Trong tình huống này Lỗi xác thực chéo cao hơn một chút so với lỗi đào tạo, bản thân nó rất cao khi âm mưu so với kích thước dữ liệu đào tạo. Ý tôi là chống lại kích thước dữ liệu đào tạo, ý tôi là, bạn có thể nhập tập hợp con của dữ liệu đào tạo bạn có và tiếp tục tăng kích thước tập hợp con và lỗi âm mưu.
Nếu bạn thấy mô hình của mình có phương sai cao (overfit), việc thêm nhiều dữ liệu thường sẽ giúp tương phản với mô hình có độ lệch cao (underfit) trong đó việc thêm dữ liệu đào tạo mới không giúp ích gì.
Ngoài ra, mỗi lớp bạn phải cố gắng có được cùng số lượng hình ảnh nếu không bộ dữ liệu có thể bị sai lệch (nhiều hơn một loại).
Ngoài ra, tôi đề nghị nếu bạn đang sử dụng TensorFlow , hãy đọc thêm về Trình phân loại hình ảnh INCEPTION của GOOGLE . Nó đã được đào tạo phân loại trên cơ sở dữ liệu hình ảnh của google và bạn có thể sử dụng nó cho hình ảnh của mình, theo cách đó, yêu cầu về số lượng hình ảnh giảm mạnh.