Comparing to Human-level Performance
Why Human-level performance?
Deep learning의 발전에 따라, 컴퓨터의 성능은 인간레벨의 성능과 견주어도 지지않을 정도로 실효성이 입증되었다.
이에 따라 자연스럽게 사람과 컴퓨터간의 비교도 당연시 되었고, 연구도 진행되었다.
위의 그래프는 시간에 따라 사람과 컴퓨터의 정확도 추이를 나타낸 것이다.
보라색 선인 컴퓨터는 인간의 수준에 도달하기 까지는 빠른 속도로 정확도가 올라간다.
하지만 인간의 수준을 넘은 시점부터는 그 성장 속도가 점점 줄어들고, 무엇보다 Bayes optimal error에는 절대 능가하지 못한다.(Bayes optimal error 는 이론적으로 도달할 수 있는 최소의 error이다.)
컴퓨터가 인간의 수준을 넘어선 부터는 성능 향상이 저조해 지는 이유는 크게 두가지로 생각해 볼 수 있다.
첫째는 인간의 수준이 이미 Bayes error에 가깝기 때문이다. 실제로 사람은 오디오를 듣고 문자화 하거나 이미지를 보고 무엇인지 분류하는 능력이 매우 뛰어나다. 그렇기 때문에 인간의 수준을 넘은 시점에서는 더이상의 발전할 수 있는 여지가 남아있지 않을 수 있다.
둘째는 컴퓨터가 아직 인간 수준의 성능까지 도달하지 못했을 경우, 인간이 여러가지 방법을 써서 빠르게 끌어올릴 수 있다는 점이다.
예를 들어 사람이 labeling한 데이터를 더 주입시켜준다던지, 사람과 컴퓨터의 차이점을 분석하여 문제점을 찾는다던지, 편향(bias)/분산(variance) 를 분석할 수 있기 때문이다.
하지만 인간의 수준을 뛰어 넘었을 경우, 위의 방법들을 적용시킬 수 없으므로 성능 향상 속도가 떨어지는 것은 당연하다.
Avoidable Bias
예를 들어 위와 같은 성능을 가진 고양이 사진을 판별하는 Model 있다고 가정하자.
만약 사람이 고양이 사진을 판별할 때 Error가 약 1%라면, 해당 모델은 좋은 모델이라고 할 수 없다.
사람과 Error의 차이가 크기 때문에, 우리는 Bias를 줄이려고 노력할 것이다.
하지만 사람의 Error가 7.5%라고 해보자. 그렇다면 Training Error를 줄일 수 있는 여지보다 Dev error와 Training error 차이를 줄일 수 있는 여지가 더 많다. 따라서 우리는 Variance를 줄이려고 노력할 것이다.
여기서 주목해야할 점은, 사물 인식과 같은 분야에서 Human-level의 performance가 Bayes error와 거의 근접하기 때문에 우리는 이것을 사용하여 Model의 개선 방향을 정할 수 있다는 것이다. 그리고 이 사이의 간격을 Avoidable Bias 라고 부른다.
더불어 우리가 모델을 평가할 때, 단순히 Training error를 지표(Metric)로 쓰는 것 보다는 Bayes error와의 차이를 지표로 쓰는 것이 더 정확한 표현이 될 수 있다.
Understanding Human-level Performance
만약 사람이 x-ray 사진을 판별한다고 할 때 그사람이 일반인이냐, 의사냐, 의사집단이냐에 따라서 판별 정확도가 달라진다. 그럼 우리는 어떤 것을 Human-level performance로 선택해야 할까?
만약 Bayes error로서 Human-level performance를 원한다면 Bayes error는전문가 의사 집단의 수준인 0.5% 이하일 것이다.
또는 이 시스템을 현장에 도입시키는게 목적이라고 하면 일반적인 의사 (1%) 이상의 성능이면 충분히 좋은 목표라고 할 수 있다.
X-ray를 분석하는 모델 A,B,C가 다음과 같이 존재한다고 생각해보자.
첫번째 모델은 우리가 앞의 일반의사 이상의 Human-level performance중 어떠한 것을 Bayes error로 선택했더라도 Variance보단 Bias를 줄어야 하는것이 명백하다.
두번째 모델 또한 어떤것을 Bayes error로 선택했더라도 Variance를 줄여야 한다.
하지만 세번째 모델은 어떨까? 이 경우에는 Bayes error를 선택하는 것이 매우 중요하다.
만약 1%, 0.7%를 Bayes error로 설정하는 것은 직관적으로도 잘못됬다고 알 수 있다. 하지만 0.5%를 설정하였다고 해도 Bias를 줄여야 하는것은 알지만 Bayes error에 매우 가깝기 때문에 0.2%의 bias와 0.1%의 variance중 그 어느것도 줄이기 쉽지 않을 것이다.
이 세번째 예시가 왜 Human-level performance에 가까워 질 수록 모델을 더욱 발전시키기 어려운지에 대해 보여준다.
정리하자면 우리가 Human-level performance를 정확히 알수록, Bayes error의 예상 값을 잘 알 수 있고 거기에 맞춰 Bias/Variance중 어떠한 것은 줄일지 의사 결정에 도움이 될 것이다. (인간의 성능을 넘기 전까지)
Significantly surpasses Human-level Performance
이미 Deep learning 모델이 Human-level Performance를 뛰어 넘은 분야는 많이 존재한다. 대표적인 예를 들자면
- Online 광고
- 제품추천
- 음성인식
- 의학분야
이 밖에도 수많은 분야가 존재하고, 생겨날 수 있다.
이러한 분야의 공통점은 바로 '자연적 인식'이 불가능한 영역이라는 것이다. 사람은 오감을 사용한 자연적 인식에 매우 뛰어나지만, 위의 분야들은 그렇지 않다.
컴퓨터는 대게로 저런 분야의 학습에 있어 구조화되어 있는 엄청나게 큰 규모의 데이터를 학습한다.
이러한 분야의 경우, Deep learning 모델이 인간의 성능을 뛰어넘을 가능성이 클 것이다.