Tôi muốn sử dụng học sâu để huấn luyện phát hiện nhị phân mặt / không mặt, tôi nên sử dụng mất gì, tôi nghĩ đó là SigmoidCrossEntropyLoss hoặc Hinge-loss .
Có đúng không, nhưng tôi cũng tự hỏi có nên sử dụng softmax nhưng chỉ với hai lớp không?
Tôi muốn sử dụng học sâu để huấn luyện phát hiện nhị phân mặt / không mặt, tôi nên sử dụng mất gì, tôi nghĩ đó là SigmoidCrossEntropyLoss hoặc Hinge-loss .
Có đúng không, nhưng tôi cũng tự hỏi có nên sử dụng softmax nhưng chỉ với hai lớp không?
Câu trả lời:
Mất bản lề và entropy chéo thường được tìm thấy có kết quả tương tự. Dưới đây là một bài viết khác so sánh các chức năng mất khác nhau Tác động của việc chọn các chức năng mất khác nhau trong phân loại để mất khoảng 0-1 .
Có đúng không, nhưng tôi cũng tự hỏi có nên sử dụng softmax nhưng chỉ với hai lớp không?
Softmax không phải là một mất mát mà là một chức năng chuẩn hóa, nó thường được sử dụng cùng với mất entropy chéo, về cơ bản là tương đương với SigmoidCrossEntropyLoss
. Xem thêm Cross-Entropy hoặc Log Likabilities trong lớp đầu ra
Trong trường hợp của bạn, bạn có một nhiệm vụ phân loại nhị phân, do đó, lớp đầu ra của bạn có thể là sigmoid tiêu chuẩn (trong đó đầu ra đại diện cho xác suất của mẫu thử là một mặt). Mất mát bạn sẽ sử dụng sẽ là entropy chéo nhị phân. Với thiết lập này, bạn có thể tưởng tượng có một hồi quy logistic ở lớp cuối cùng của mạng lưới thần kinh sâu của bạn.
Dưới đây là một vài liên kết cho bạn. Mong họ giúp đỡ.
https://en.wikipedia.org/wiki/Cross_entropy#Cross-entropy_error_feft_and_logistic_regression
http://neuralnetworksanddeeplearning.com/chap3.html
https://www.quora.com/How-do-you-decide-which-loss- chức năng để sử dụng cho máy học
Bạn chắc chắn có thể sử dụng softmax chỉ với 2 lớp "Face" và "Not Face" và diễn giải đầu ra softmax là điểm tự tin, đây là một tính năng hay để có được một số trực giác về mạng sâu của bạn.
Hãy thử cả softmax 2 lớp và mất bản lề nhị phân. Có một bài báo Deep Learning gần đây sử dụng Máy Vector Hỗ trợ Tuyến tính bằng cách sử dụng SVM thay vì trình phân loại softmax trên đầu lưới sâu và có một số kết quả đầy hứa hẹn ở đó.
Thông thường, tổn thất logarit sẽ là lựa chọn ưu tiên, được sử dụng kết hợp với chỉ một đơn vị đầu ra duy nhất. Mất logarit cũng được gọi là entropy chéo nhị phân vì đây là trường hợp đặc biệt của entropy chéo chỉ hoạt động trên hai lớp.
Về mặt lý thuyết, một softmax với 2 lớp có thể được viết lại dưới dạng sigmoid, do đó không nên có sự khác biệt về kết quả giữa hai lớp. Thực tế, như @dontloo đã đề cập, số lượng tham số trong lớp đầu ra sẽ tăng gấp đôi (không chắc điều này có thể dẫn đến bất kỳ vấn đề quá mức nào không) và tất nhiên bạn có 2 điểm cho hai lớp (Face và Non_Face).
sigmoid
(như kích hoạt lớp cuối cùng). Cảm ơn