Skip to content

Latest commit

 

History

History
15 lines (8 loc) · 3.34 KB

34_How_to_define_human-level_performance.md

File metadata and controls

15 lines (8 loc) · 3.34 KB

34 How to define human-level performance

x-ray 이미지에 대해서 자동으로 진단을 내리는 의료 이미지 어플리케이션과 관련된 일을 하고 있다고 가정해 보자. 의료에 대한 기본적인 것을 제외한 배경지식이 전혀 없는 전형적인 사람은 이 일에 대해서 15%의 에러율을 보이곤 한다. 하급의 의사의 경우 10%의 에러율을 보이고, 숙련된 의사의 경우는 5%의 에러율을 보인다. 그리고, 몇몇 소수의 의사들로 이뤄진 팀은 서로 논의하고 토론과정을 거쳐서 2% 정도의 에러율을 성취한다. 이 중 어떤 에러율이 "사람-수즌의 성능"을 정의한다고 볼 수 있는가?

이 경우에 대해서, 나는 2%를 사람-수준의 성능을 대표하는 최적의 에러율을 표현하는데 사용할 것 같다. 앞선 챕터에서 다뤄진 사람-수준의 성능과 비교를 적용하기 위한 3가지 이유 모두에 의거하여 2%를 희망하는 성능 수준으로도 설정 할 수 있겠다:

  • 레이블링을 수행하는 사람들로 부터 데이터를 얻는것의 용이함. 예를 들어서, 사람이 고양이 이미지를 꽤나 잘 인식할 수 있기 때문에, 사람들이 높은 정확도의 레이블을 학습 알고리즘에게 제공하는 것이 복잡하지 않을 것이다.

  • 에러 분석은 사람의 직관력에 의지할 수 있다. 음성 인식 알고리즘이 사람-수준의 인식률보다 나쁜 결과를 보인다고 가정해 보자. 알고리즘이 "This recipe calls for a pear of apples," 라는 오디오 클립에 대하여 실수로 "pair"를 "pear"로 부정확한 음성 기록을 남겼다고 가정해 보자. 사람의 직관력에 의지해서 어떤 정보를 통하여 사람이 올바른 음성 기록을 얻는지를 이해할 수 있고, 이 지식을 통하여 학습 알고리즘을 수정/개선 할 수 있을 것이다.

  • 사람-수준의 성능치를 사용해서 최적의 에러율을 추정해보고, "희망하는 에러율"을 설정할 수 있다. 알고리즘이 특정 작업에 대해서 10%의 에러율을 보이지만, 사람은 동일한 작업에 대해서 2%의 에러율을 보인다고 가정해 보자. 이 경우에 최적의 에러율이 2%나 그 이하라는 것을 알 수 있고, 최소한 8%의 피할 수 있는 편향치가 있다는 것을 알 수 있다. 따라서 편향치를 줄이기 위한 기법을 시도해 봐야 할 것이다.

레이블이 존재하는 데이터를 얻어야 한다면, 시간적 비용이 매우 비싸기 때문에 의사 팀과 모든 이미지에 대해서 토론하는 것을 원하지는 않을 것이다. 아마도 한명의 하급 의사에게 대부분의 경우에 대해서 레이블링을 의뢰하고, 몇몇 소수의 더 어려운 경우에 대해서만 더 숙련된 의사 또는 의사 팀에게 부탁할 것이다.

만약 개발하는 시스템이 현재 40%의 에러율을 가진다면, 데이터에 레이블링 작업을 수행하거나 직관력을 제공받기 위해서 (10% 에러의) 하급 의사를 사용하든지 (5% 에러의) 숙렬된 의사를 사용하든지는 큰 문제가 아니다. 그라나 시스템의 에러율이 10%를 이미 달성한 경우에는 사람-수준의 참고치를 2%로 정의하면 이는 시스템을 지속적으로 향상시키기 위한 더 나은 도구가 되어 줄 것이다.