티스토리 뷰

 많은 머신러닝 시스템은 인간이 잘하는 것들을 자동화하는데 목적을 두고 있다. 예를 들어 이미지 인식이나, 음성 인식, 스팸 메일 분류같은 것이 거기에 속한다. 학습 알고리즘은 많이 발전되어서 이제는 인간이 하는 것보다 더 뛰어난 성능을 보여주고 있다.

 게다가, 머신러닝 시스템을 만드는 것이 인간이 잘하는 일을 하는 것보다 쉬운 몇가지 이유가 있다.

 1. 사람이 라벨링해주는 것으로부터 데이터를 얻어내기 용이해졌다.
 : 예를 들어 사람이 고양이 이미지를 잘 인식하기 때문에, 사람한테는 학습 알고리즘한테 정확성을 높일 수 있는 라벨을 제공하는 것이 조금더 직관적이다.

 2. 오류 분석에 인간의 직감을 가미해본다.
 : 가령 음성 인식 알고리즘이 사람이 인식하는 것보다 안좋게 동작한다고 가정해보자. "This recipe calls for a pear of apples" 라는 녹음에서 "pear"를 "pair"라고 잘못 인식되는 경우를 보자. 인간의 직감을 사용해서 맞는 정보를 얻기 위해서 어떤 정보가 필요한지 이해하려 노력해보고 이런 것을 학습 알고리즘 개선에 활용해본다.

 3. 이상적인 오류율과 "적당한 오류율"을 구하는데 있어 인간이 낼 수 있는 성능을 활용한다.
 : 현재의 학습 알고리즘이 해당 작업내에서 10%의 오류를 얻고, 인간은 2%의 오류를 얻는다고 해보자. 그러면 우리는 이상적인 오류율은 2%나 그 미만이 되어야 하고, avoidable bias는 적어도 8% 정도 되어야 한다는 것을 알 수 있다. 그렇기 때문에 여기서는 bias를 줄이는 방법을 시도해봐야 한다.

세번째 언급한 내용이 그렇게 중요하지 않은 것처럼 들릴지라도, 합리적이고, 획득 가능한 목표 오류율을 설정하는 것이 팀의 진척을 높힐 수 있다는 사실을 발견했다. 알고리즘에 대해서 이해하는 것을 통해서 높은 avoidable bias가 매우 가치가 있고, 이를 통해 시도해볼 수 있는 여러 옵션이 생기는 것을 알 수 있다.

 물론 인간이 잘 못하는 몇가지 일들이 있다. 예를 들어 당신에 추천해줄 책을 선정한다던가 혹은 웹사이트 상에서 사용자에게 보여줄 광고를 선정한다던가, 아니면 주식 시장을 예측한다던지 말이다. 이때는 컴퓨터가 인간에 비해서 이미 뛰어난 성능을 보여줬다. 이런 케이스에 대해서는 몇가지 문제에 직면하게 된다.

 - 이런 문제는 라벨을 얻기 힘들다.
 : 예를 들어 "이상적인" 책 추천을 위해서 사용자의 데이터 베이스에 라벨링을 하는 것은 어려운 일이다. 만약 책을 파는데 있어 웹사이트나 앱을 운영한다면, 사용자에게 책을 보여주거나 사용자가 구입하는 책을 보면서 데이터를 얻을 수 있다. 만약 그런 사이트를 운영하지 않는다면, 데이터를 얻는데 있어 조금더 창의적인 방법을 찾아봐야 한다.

 - 이런 문제는 인간의 직감으로도 해결하기 어렵다.
 : 예를 들어 주식시장을 예측하는 것보다 어려운 것도 없다. 만약 찍어서 맞추는 것보다 주식 예측 알고리즘이 잘 동작하지 않는다면, 개선점을 찾기가 어렵다.

 - 이런 문제는 이상적 오류율이 합리적으로 충족할 수 있는 오류율을 알기가 어렵다.
 : 만약 잘 동작하는 책 추천 시스템을 가지고 있다고 가정해보자. 인간에 대한 기준없이 이를 얼마나 향상시킬 수 있을지 알 수 있을까?

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

댓글