본문 바로가기

DeepLearning Specialization(Andrew Ng)/Structuring Machine Learning Projects

[Week 1] 3. Comparing to human-level performance

728x90
Comparing to human-level performance
1. Why human-level performance?
2. Avoid Bias
3. Understanding human-level performance
4. Surpassing human-level performance
5. Improving your model performance

1. Why human-level performance?

- Bayes Optimal error(Bayes error)는 ML의 성능이 절대 도달할 수 없는 영역이다. 그 이유는 data 자체가 판별불가능한 경우가 있기 때문인데, 예를 들어 판별불가능한 오디오, 너무 흐릿한 사진 등이 있다. 이에 대해서는 ML도 정확한 예측을 할 수 없기 때문.

 

- 위와 같이 ML의 성능은 시간이 갈 수록 향상되지만 인간의 performance 레벨를 넘으면서 그 향상속도가 매우 느려진다. 그 이유는 ML이 인간의 성능보다 좋지 않을 때, 우리가 여러 전략들을 이용해 성능향상을 가능케할 수 있기 때문.  

 

- 인간이 활용할 수 있는 전략은 위와 같다. 

 


2. Avoid Bias

 

- 위와 같이 Human-level performance(1)와 training error(2)의 차이를 avoidable bias라 하고 training error(2)와 dev error(3)의 차이를 variance라 한다(bias와 variance의 기본 개념과 연관). 

 

- (1)과 (2)의 차이가 (2)와 (3)의 차이보다 크다면 bias 문제와 연관되므로 bias를 줄이는 데 집중.

반대의 경우라면, Variance를 줄이는데 집중.

 

- 참고로 고양이 분류와 같은 사진분류에서는 인간의 능력이 거의 bayes error와 비슷함. 그만큼 잘한다는 뜻.

 


3. Understanding human-level performance

 

human level-performance는 무엇을 기준으로 하느냐에 따라 다르다. 일반인을 기준으로 할지, 해당 분야의 전문가를 기준으로 할지에 따라 performance가 달라지기 때문. bayes error를 추정하기 위한 목적이면 가장 작은 error를 보여주는 (d)를 선택하는 것이 맞고, 그 외로 단지 human-level을 설정하기 위함이라면 (b)가 적당할 듯.

하지만, human level을 설정하는 목적이 bayes error(한계가 어디까지 인가)를 추정(proxy)하기 위한 경우가 많아 (d)를 선택하는 듯.

 

 앞의 2가지 경우에는 human level 설정에 따른 차이가 두드러지지 않지만, 마지막 경우에는(ML의 성능이 향상될대로 향상되었을 때) human level을 어떻게 설정하느냐에 따라 bias를 줄일지 variance를 줄일지에 대한 전략이 달라진다. 

 

 이처럼 Training error를 0%와 얼마나 떨어져있느냐를 기준으로 삼는 것이 아니라 human-level performance(bayes error 추정치로서의)와 얼마나 떨어져있느냐를 기준으로 한다면 좀 더 체계적이고 효율적인 접근이 가능하다. bayes error가 0%가 아닌 경우, 백날 붙잡고 있어봐야 training error는 0%에 가까워지기 힘들다는 말.

 

 따라서 우리가 설정한 human-level performance을 training error가 능가하면( 성능이 더 좋아하지면 ) bayes error가 무엇인지 예측할 수가 없다(한계가 어디까지인지 모르게 됨). 즉, 성능이 너무 좋아져서 더 좋게 만들기 위해 무엇을 해야할지 알기 힘들어짐. 

 


4. Surpassing human-level performance

 

- online 광고, 추천시스템, 대출 완납가능성 추정 등의 분야에서는 ML이 쉽게 인간의 능력을 능가할 수 있다. 이런 분야들은 데이터가 많고, 구조화되어 있으며 인간의 자연적인 인식(시각, 청각 등)과는 많이 다르기 때문이다. ML이 더 많은 데이터를 학습할 수 있고, 패턴을 찾을 수 있음.

 

- 전통적으로 vision, audio 분야는 ML이 인간의 능력을 따라잡기 힘들다고 평가되나 이제는 따라잡을 수도 있음. 

 


5. Improving your model performance

 

- 좋은 모델을 위해서는 위와 같은 2가지 전제가 필요하다.

- 당연한 얘기다. training error가 최소화되어 bias가 충분히 작아야하고, 이것이 dev/test set에도 잘 일반화되어 dev/test set의 error도 작아야한다. 

 

bias와 variance를 피하기 위한 전략들이다. 

 

 

 

 

비판과 질문은 언제나 환영입니다. 많이 꾸짖어주세요.

 

 

 

 

728x90