GAP và Softmax trong ResNet
Chào tất cả mọi người, hiện tại em đang tìm hiểu về ResNet và khi em nhìn vào paper, có 1 tấm hình về architecture của ResNet. Trong ảnh em thấy phần cuối cùng chính là Average Pool, 1000d-fc, softmax. Nhưng khi em thực hiện model như hình thì cho ra kết quả rất tệ (~10%) và rồi em tìm hiểu trên mạng thì thấy mọi người không sử dụng softmax và average pool mà chỉ sử dụng Flatten -> Linear Combination thì cho ra kết quả rất tốt (~95-98%). Anh chị cho em hỏi là tại sao lại không sử dụng softmax cho bài toán classification ạ. Em sử dụng: MNIST dataset Batch size: 32 optimize: SGD
1 CÂU TRẢ LỜI
Hàm softmax thường được sử dụng cho các bài toán phân loại, mình nghĩ vấn đề ở đây không phải là do softmax mà do lớp 1000d-fc. Bạn thử thay lớp đó thành bằng với num classes của tập dataset và thay optimizer bằng Adam thử xem
Em có sử dụng Adam thì đúng là nó có hiệu quả hơn so với SGD nhưng mà khi test trên tập test thì cho ra kết quả rất tệ. Mặc dù accuracy Train > 95% nhưng khi test thì accuracy Test giảm từ 95% xuống và Loss của nó từ từ tăng lên. Có cách nào để khắc phục được tình trạng này không ạ.
Note: Em đã thay 1000d-fc -> 10 num classes