데이터 구축과 데이터 평가

J. Hwang·2024년 11월 6일

Data-Centric AI에서 배운 것처럼, AI 모델 성능 향상을 위해서는 좋은 데이터를 확보하는 것이 중요하다. 좋은 데이터란, 편향되지 않고 골고루 분포되어 있으면서 일정한 기준으로 라벨링된 데이터이다. 좋은 데이터를 구축하기 위해서는 가이드라인을 작성해두는 것이 좋다.

가이드라인

데이터를 확보하기 위한 과정을 정리해놓은 문서로써, 아래 내용을 포함하면서도 간결, 명확(해석의 여지가 다양하지 않도록)해야 한다.

  • 데이터 구축의 목적
  • 라벨링 대상 이미지 소개
  • 특이 케이스 대처 방법
  • 기본적인 용어 정의 (ex) "bounding box", “전사”, “태그" 등)
  • Annotation 규칙
    • 작업불가 이미지 정의 (나쁜 데이터 기준)
    • 작업불가 영역 (illegibility = True) 영역 정의
    • BBOX 작업 방식 정의
    • 최종 format

Inter-Annotator Agreement

데이터 구축이 잘 되었는지는 그 분포를 통해 품질을 평가할 수 있다. Inter-Annotator Agreement (IAA) 는 annotator가 생성한 label이 얼마나 일관성있는지를 나타내는 지표이다. IAA metric으로는 Cohen's Kappa, Fleiss' Kappa, Krifendorff's Alpha가 있다.

Cohen's Kappa

두 명의 annotator가 라벨링한 결과가 우연히 일치할 가능성을 제거하고 실제 일치 정도를 측정하는 지표이다. -1 < κ\kappa < 1 사이의 값을 가지며, 1에 가까울수록 일치도가 높다는 것을 의미한다. 보통 0.6 이상이면 보통 이상 일치한다고 본다.

κ=PobservedPexpected1Pexpected\kappa = \frac{P_{observed} - P_{expected}}{1-P_{expected}}wherewhere PexpectedP_{expected} = 우연히 일치할 확률 andand PobservedP_{observed} = 관측된 일치도

우연히 일치할 확률이란, annotator들이 의미 있는 판단을 내리지 않고 단순히 랜덤하게 선택했을 때 동일한 label을 선택할 확률이다.

κ\kappa일치도
0 미만Poor
0.0 - 0.2Slight
0.2 - 0.4Fair
0.4 - 0.6Moderate
0.6 - 0.8Substantial
0.8 - 1.0Almost Perfect

Fleiss' Kappa

3명 이상의 annotator가 생성한 label이 얼마나 일관성 있는지 평가할 때 사용되는 metric이다.

κ=PˉPˉexpected1Pˉexpected\kappa = \frac{\bar{P} - \bar{P}_{expected}}{1-\bar{P}_{expected}}

wherewhere Pˉ\bar{P} = 모든 항목에 대한 일치도의 평균 and Pˉexpected\bar{P}_{expected} = 무작위로 label을 선택했을 때 기대되는 일치도의 평균

κ\kappa일치도
0 미만Poor
0.0 - 0.2Slight
0.2 - 0.4Fair
0.4 - 0.6Moderate
0.6 - 0.8Substantial
0.8 - 1.0Almost Perfect

Krippendorff's Alpha

2명 이상의 annotator가 생성한 label이 얼마나 일관성 있는지 평가할 때 사용되는 metric이다.

α=1D^observedD^expected\alpha = 1 - \frac{\hat{D}_{observed}}{\hat{D}_{expected}}

α\alpha일치도
0.667 미만Discard data
0.667 - 0.8Tentative conclusions
0.8 이상Trust data

그러나 복잡한 task에는 적용이 어렵다. 그런데다가 데이터의 분산을 포착하지 못해서 평균만 같다면 같은 일치도로 평가하는 맹점이 존재한다.


Kolmogorov-Smirnov test

최근에는 KS test를 이용하여 데이터의 분포까지 고려하여 일치도를 평가하고 있다.

profile
Let it code

0개의 댓글