Why Human-level Performance?
- 빠르게 개선되다가, 인간 레벨을 능가하고 나면 개선 속도가 느려짐 (slope)
- 왜? 인간 능력은 bayes optimal error와 크게 멀지 않음
- 뛰어넘을 수 없는 이론적 한계 존재 --> "Bayes Optimal Error"
- 성능이 인간 레벨보다 낮을 때:
Avoidable Bias
you want your algorithm to do not too well
training error를 더 낮춰야 할 경우 --> bias 에 집중
이번에는 동일한 에러율에, 인간 레벨이 7.5%라고 해본다
이 경우 training set에는 제법 잘 학습되는 거로 생각할 수 있음
단 dev error와 격차가 있으므로 variance 를 줄이는 데 집중 (regularization 이라든가 ..)
인간 레벨이 bayes error의 추정치(proxy/estimate)라고 상정해보자
요컨대 Human error($\approx$ Bayes error)에 따라 동일한 에러율에도 어떤 전략(bias? variance?)을 취할지 달라진다
training error와 (approx) bayes error의 차이를 "avoidable bias"라고,
training error와 dev error의 차이를 "a measure of the variance"라고 부르기로 함
avoidable bias가 더 큰지, a measure of the variance가 더 큰지 파악하여 전략 수립
bayes error보다 에러율을 낮추기는 불가능함
Understanding Human-level Performance
[Human-level error as a proxy for Bayes error]
이중에 무엇을 인간 레벨로 정의할 것인가? bayes error의 proxy 관점에서는 Team of experienced doctors.
만약 Team of experienced doctors를 택하여 인간 레벨을 0.5%로 설정한다면, Bayes Error는 0.5%보다 낮아짐
그러나 배포 관점에 따라 달라질 수 있음 - typical doctor 수준으로도 충분히 성능이 괜찮다고 말할 수도 있음
위 같은 경우, 인간 레벨을 어떤 것으로 설정하든 avoidable bias는 약 4%, variance는 1% --> 인간 레벨이 무엇이든 bias 감소 전략을 펼쳐야
여기서 만약 training error가 1%이고, dev error가 5% 였으면 variance 감소 전략 택해야 함
만약 training error가 0.7% 이고, dev error가 0.8%이면 인간 레벨은 0.5%로 택해야 함
0.7%로 하면 avoidable bias가 0이 되어버림
기존에는 에러율을 0%와 비교했는데, 인간 레벨/bayes error 개념을 가져옴으로써 보다 맥락을 부여할 수 있었음
Surpassing Human-level Performance
여기서 avoidable bias 는? 0.1%
variance 는 0.2%
이 경우 avoidable bias 를 알기 어려움
bias를 줄여야 할지 variance를 줄여야 할지 판단하기엔 정보가 부족함
일단 0.5%을 넘었다면 무엇을 해야 할까?
모두 structured data로부터 학습됨 - natural perception problem이 아님 (NLP, CV ...)
인간이 받아들일 수 있는 양보다 훨씬 큰 크기의 데이터를 처리하였음
+ some speech recognition, some image recognition, medical tasks , ...
Improving your Model Performance
지도학습 모델에 대한 근본적인 가정
1. training set에 잘 fit할 것이다 --> low avoidable bias
2. 잘 일반화할 것이다 --> low variance
이 두 가지를 직교하는(orthogonal) 문제로 볼 수 있음
'인공지능 > DLS' 카테고리의 다른 글
[3.2.] Mismatched Training and Dev/Test Set (0) | 2022.07.20 |
---|---|
[3.2.] Error Analysis (0) | 2022.07.18 |
[3.1.] Setting Up your Goal (0) | 2022.07.17 |
[3.1.] Introduction to ML Strategy (0) | 2022.07.17 |
[2.3.] Introduction to Programming Frameworks (0) | 2022.07.13 |