티스토리 뷰

Study/AI

[MLY] 인간의 성능 지표를 정의하는 방법

생각많은 소심남 2018. 9. 30. 21:13

 만약 지금 다루고 있는 것이 의학 이미지 관련 작업인데, X레이 이미지로부터 자동적으로 진단을 해주는 거라고 가정해보자. 의학적 배경이 없는 상태에서 일반 사람이 약간의 일반적인 학습을 진행하면 15% 정도의 오류를 얻는다. 초급 의사는 10%의 오류를 얻고, 경험이 있는 의사는 5% 정도의 오류를 얻는다. 만약 각 이미지에 대해서 분석하고 논의할 수 있는 의사 집단이 있으면 2% 정도의 오류를 얻는다. 이때 어떤 오류율이 "인간의 성능"이라고 정의할 수 있을까?

 이 경우, 본인은 2%를 우리가 얻고자 하는 이상적인 오류율에 대한 인간의 성능 기대치로 사용한다. 당신도 인간 성능과 비교하는데 있어 이전 장에서 다룬 3가지 이유를 들어서 2%를 목표치로 정해도 좋다.

 - 라벨링 해주는 사람으로부터 데이터를 얻기가 쉬워졌다.
 : 당신은 2%의 오류를 가지면서 당신에게 라벨을 제공해줄 수 있는 의사 단체를 얻을 수 있다.

 - 오류 분석에 인간의 직감을 가미해본다.
 : 의사 단체 내에서 이미지에 대해 논의하면서, 그들의 직관을 이용해볼 수 있다.

 - 이상적인 오류율과 "적당한 오류율"을 구하는데 있어 인간이 낼 수 있는 성능 지표를 활용한다.
 : 이상적 오류율에 대한 척도로써 2% 오류를 사용하는 것은 합리적이다. 이상적인 오류율은 2%보다 낮아야 하고, 그보다는 높을 수 없다. 왜냐하면 의사 단체에 의해서 2%는 달성할 수 있기 때문이다. 이와 대조적으로 5%나 10%는 이상적인 오류율로 선정하는 것이 합리적이지 않은데, 그 이유는 우리가 이미 그 값들이 너무 높다는 것을 알고 있기 때문이다.

 만약 라벨링이 된 데이터를 얻어야 할 때, 꼭 모든 이미지를 얻기 위해서 비싼 비용을 들여가면서 의사 단체와 논의할 필요는 없다. 아마 대 다수 데이터에 대해서는 1명의 초급 의사로부터 라벨을 얻을 수 있고, 좀더 어려운 데이터에 대해서만 좀 더 경험이 많은 의사나 의사 단체를 활용할 수 있다.

 만약 지금 만든 시스템이 40%의 오류를 나타낸다면, 데이터에 대해서 라벨링을 하거나 뭔가의 의도를 전달할 때 있어 초급 의사(10% 오류)나 경험이 있는 의사(5% 오류)를 쓰건 상관이 없다. 그런데 이미 시스템이 10%의 오류를 나타내고 있다면 인간 성능의 지표로 2%를 정의하는 것은 시스템을 개선하는 데 있어서 좋은 도구가 될 것이다.

< 해당 포스트는 Andrew Ng의 Machine Learning Yearning 중 chapter 34. How to define human-level performance을 번역한 내용입니다.>

댓글