Vấn đề giữa loss và accuracy

deep-learning
computer-vision

#1

Xin chào mọi người. Mình có 2 vấn đề không hiểu trong quá trình training 1 CNN model như sau:

  1. Tại sao khi mình train model thì 2 giá trị train loss và val loss gần như nhau nhưng mà train accuracy lại lớn hơn val accuracy nhiều vậy nhỉ?

  2. Theo như mình nghĩ thì loss và accuracy phải tỷ lệ nghịch với nhau. Nhưng trong trường hợp của mình thì loss giảm nhưng accuracy cũng giảm theo (đôi khi thì ngược lại, loss tăng accuracy cũng tăng)

Mong mọi người giúp đỡ và giải thích. Cảm ơn các bạn!!!


#2

Vì bản chất của nó khác nhau! Để đơn giản xét 1 ví dụ. Giả sử đầu ra của hàm softmaxscores = [0.1, 0.7, 0.2]x có label là 1. Vậy trong trường hợp này, mô hình đã phần lớp đúng (do argmax(scores) = 1). Xét một scores khác [0.1, 0.5, 0.4], hiển nhiên scores này cũng cho kết quả phân lớp đúng. Nhưng ta thấy loss thì lại cao hơn (softmax_loss = -log(scores(y_i), -log(0.5) > -log(0.7)). Trường hợp của bạn thì tự suy luận tiếp nhé :slight_smile: