nan + nan = 2nan

[통계] 딥러닝 모델 성능 평가 지표 - mAP 본문

Statistics/Machine Learning

[통계] 딥러닝 모델 성능 평가 지표 - mAP

2nan 2022. 5. 19. 11:04
728x90

데이터 처리 후 모델링을 하면서, 모델 성능을 어떻게 평가해야 되는지에 대해 궁금했다.
보통 Object Detection 모델의 성능 평가 지표로서는 Precision과 Recall이 기반이 된다.
이를 통해 PR curve(Precision - Recall), Average Precision(AP)로 성능평가를 한다.
 
천천히 Precision과 Recall 부터 이해를 해보자.
 


 

Precision / Recall

 

1. Precision

빅데이터 분석 기사 공부를 하면서 가볍게 외우려고 했을 때, 
예측 O => 실제 O 의 형태로 암기를 하는 것이 가장 편했다.
Precision은 정밀도로서, Positive로 예측한 것 중에 실제로 맞는 것들에 대한 비율이다.
 

Precision(정밀도)

 
즉, 맞다고 예측한 것 중에 실제로 맞는 결과의 비중을 나타내는 것이다.
편리하게 정확도라고 표현하는게 나을 것 같다.
 

2. Recall

Recall은 재현율로서, Precision의 역이라고 생각하면 쉽다.
실제 O => 예측 O 으로 암기를 했던 기억이 난다.
즉, 실제와 예측이 맞는 것(옳게 검출되었거나, 검출 못한 것) 중 옳게 검출된 결과의 비율을 의미한다.
 

Recall (재현율)

 
 
이 2가지는 반비례하는 성격, Trade-off하는 관계를 가지고 있다.
Precision이 높으면 보통 Recall이 낮고, Recall이 높으면 Precision이 낮게 나타난다.
 

3. PR curve

위의 2가지 지표 (Precision, Recall)로 표현한 그래프가 PR curve이다.
아래는 우리가 직접 Yolov5로 가볍게 테스트 했을 때 산출된 PR curve로,
X축은 Recall, y축은 Precision로서 서로 Trade-off하는 관계에 있기 때문에
ㄱ자 형태의 곡선이 주로 나타난다.

Yolov5 custom data test

 
파란색 선(mAP)은 아마 여러 회색 그래프(AP)들의 평균을 나타내는 선으로 해석된다.
보통 Average Presion(AP)는 PR curve의 아래 면적이 기준이 된다.
그래프에서도 보이듯이, 여러 회색 그래프(AP)들의 평균인 파란색 그래프(mAP)의 아래 면적이
해당 모델의 성능을 하나의 값으로 표현한 것이다.
 
Default 값으로 모델을 Custom data로 평가했을 때, mAP가 0.896 가까이 나왔는데,
mAP 말고도 해당 모델의 성능 평가를 할 수 있는 지표가 있는지 조금 더 알아봐야 할 것 같다.
 
또한, 모델의 성능을 높이기 위해 파라미터 조정 (batch, img size, epoch, optimizer) 을 하고 있는데
Adam이나 NAdam이 이미지 검출 모델에서 좋은 성능을 보인다는 것이 논문들에 나와있어서
이를 검증해보고 싶은데, 기존 하이퍼파라미터 수치에서 Adam에 맞게 얼마나 바꿔줘야 하는지에 대한 reference를 아직 적절한 것을 찾질 못 했다.
조금씩 Test해보면서 모델 성능을 높이고 insight를 얻을 수 있다면 좋을 것 같다는 생각이 든다. 

Comments