티스토리 뷰
2. Neural Networks / L3. Training Neural Networks - Training Optimization
chrisysl 2018. 7. 13. 13:41Training Optimization
- deep neural network를 구현하는 방법과, 우리의 데이터에 가장 fit하게 들어맞게 학습하는 방법에 대해 알아본다.
- 여러 조건에 의해 예를들면, 데이터의 분포가 too noisy한다던지, 나쁜 모델을 선택했다던지 등의 변수에 의해
- 최초에 의도한대로 설계한 네트워크가 한번에 구현되는것은 매우 어려운 일이다.
- 따라서 최적의 모델을 찾아가는 과정에 대해 알아보자.
Testing
- 좌, 우 모델중 우리가 이상적으로 생각하는 모델은 우측이다.
- 그러나 이번엔 조금 다른 개념을 도입하여 모델을 분류해보려한다.
- 데이터를 Training point와 Testing point로 나눠서 모델을 평가하려한다.
- Training set을 바탕으로 모델을 만들고, Testing set으로 이 모델을 평가하는것이다.
- 이 경우, 좌측 모델은 실수(mistake)가 하나지만, 우측 모델은 실수가 두개이다.
- 따라서 좌측 모델이 더 나은 결과를 제시하고 있는것으로 결론을 도출해 내게 된다.
- 이것이 머신러닝의 데이터 모델 설계의 큰 흐름중 하나이다.
Overfitting and Underfitting
- 파리채로 공룡을 잡거나, 반대로 파리를 바주카로 잡으려는경우 둘다 뭔가 잘못되었다.
- 왼쪽의 경우, 타겟에 적절하지 못한 너무 간단한 모델을 사용하여 최종 목표에 도달하려한 것
- 오른쪽의 경우, 타겟에 적절하지 못한 너무 복잡한 모델을 사용하여 최종 목표에 도달하려 한 것
- 머신러닝에서는 이러한 경우를 Underfitting / Overfitting 이라 칭한다.
- 위의 분류를 살펴보자. 만약 분류를 NOT DOGS / DOGS 로 분류한다면 적절하겠지만
- NOT ANIMALS / ANIMALS 로 분류하게되면 고양이가 좌측에 포함되어 있으므로
- 부적합한 모델이 된다. 즉, 이러한 분류는 머신러닝에서 너무 간단한 분류 다시말해
- Underfitting 모델이라 칭한다. error due to bias 라고도 불림.
- 다음으로 위의 조건대로 분류를 하는 모델이 있다고 해보자.
- 강아지인데 노랑 주황 회색인 강아지만을 우측으로 분류하므로
- 보라 강아지는 해당 모델이 좌측으로 분류할것이다.
- 근데 이러면 결국 잘못 분류한 모델이 되기때문에, 너무 복잡한 제약조건을 걸은것이다.
- 이것을 머신러닝에서는 Overfitting 이라 부른다. error due to variance 라고도 부름.
- 마찬가지로 다른 예시로 조금 더 부연설명하자면,
- 학교에서 시험을 보는 상황으로 가정하였을때
- underfitting 한 모델은 공부를 덜해서 시험에서 fail한 경우이다.
- 적절한 모델은 해당 시험에 잘 준비하였고 결과도 잘 나온 경우이다.
- overfitting 한 모델은 공부를 밤새고 너무 많이한 나머지 너무 준비한게 많아 서술하다가 끝까지 제출하지 못하여
- 공부량 대비 결과가 좋지 못한경우라 할 수 있겠다.
- 이를 모델을 들어 설명을 다시 하자면
- 좌측 모델은 너무 간단하여 제대로 된 모델이 아닌게 된다.
- 가운데 모델은 적절한 일반화로 머신러닝에서 생각하는 이상적인 모델이 된다.
- 우측 모델은 필요 이상으로 너무 복잡하게 연산을 처리하는 모델이 된다.
- 근데 문제는 우리가 이상적으로 생각하는 완벽한 모델은 찾기 거의 힘들다는것이다.
- 항상 underfitting 하거나 overfitting한 모델로 끝나게 되는데, 그럼 우리는 차라리 어느방향을 추구하는게 나을까?
- 이는 옷에 비유할 수 있다. 너무 작은옷은 말그대로 너무 작아 아예 입지를 못한다.
- 근데 살짝 큰 옷은 벨트를 착용하거나 하는 방향으로 입을 수는 있게 된다.
- 따라서 just right한 모델을 찾는것이 어렵다면 차라리 overfitting한 방향을 선택하는 방향으로
- 우리는 모델을 설계해 나가도록 하자.
- 머신러닝에서도 이와 마찬가지의 개념으로 적절한 모델을 찾아나간다.