2019-03-06 13:35:01

딥러닝 관련 논문을 보다보면 실험 평가 부분에서 top-5 errortop-1 error라는 용어들을 심심찮게 발견하게 된다. top-5 error와 top-1 error는 이미지 분류(image classification) 성능을 평가하기 위한 것들이다. 

 

훈련이 된 분류기(classifier)는 주어진 테스트 이미지가 어떤 클래스에 속하는지 분류해낼 것이다. {고양이, 강아지, 집, 축구공, 사자}와 같이 5개의 클래스 라벨을 가지고 훈련된 분류기가 있다고 가정해보자. 새로운 이미지를 이 분류기에 입력해줬는데, 0.1, 0.6, 0.05, 0.05, 0.2와 같은 결과를 냈다. 새로운 이미지가 강아지일 확률이 가장 높다고 판단한 것이다. 이때 top-1 class는 {강아지}가 된다. 그리고 top-2 class는 {강아지, 사자}가 된다. 

 

분류기가 새로운 테스트 이미지들에 대해 예측한 클래스, 즉 top-1 class가 실제 클래스와 같다면 이때 top-1 error는 0%가 된다. 또한 분류기가 높은 확률로 예측한 상위 5개의 클래스, 즉 top-5 class 중에 실제 클래스가 있다면, 이때 top-5 error는 0%가 된다. 클래스가 5개밖에 없다면 top-5 error는 무조건 0%일 것이다. 하지만 보통 클래스는 그것보다 훨씬 많다. 100개일 때도 있고, 1000개일 때도 있다. 그 이상이 될 수도 있다. 

 

1000개의 클래스로 훈련된 분류기의 top-5 error가 5%보다 작으면, 분류 능력이 상당히 좋다고 판단할 수 있다. 클래스가 1000개 정도되면 가장 높은 확률로 판단한 다섯 개의 클래스는 서로 상당히 유사한 것들일 가능성이 크다. 모두 강아지인데 조금씩 생김새가 다른 품종일수도 있다. 따라서 top-5 error가 낮으면 분류기의 성능이 좋다고 판단할 수 있는 것이다. 

 

 

<참고자료>

[1] https://www.quora.com/What-does-the-terms-Top-1-and-Top-5-mean-in-the-context-of-Machine-Learning-research-papers-when-report-empirical-results 

[2] https://stats.stackexchange.com/questions/156471/imagenet-what-is-top-1-and-top-5-error-rate?newreg=8f6efb5ebaca415b90eca3510fb1f6b4