Post

[DL Book] 11. Practical Methodologies

단순히 여러 가지 알고리즘을 공부하는 것만으로는 딥러닝을 현실에 적용하기에 충분치 않다. 뛰어난 머신러닝 실무자는 다음과 같은 의문에 답하고 여러 가지 의사결정을 내릴 수 있어야 한다.

  • 주어진 문제에 대해 데이터가 더 필요한가?
  • 주어진 문제에 따라 어떤 알고리즘을 선택할 것인가?
  • 현재의 알고리즘을 어떻게 개선할 것인가?
  • 모델의 수용력을 늘릴 것인가, 줄일 것인가?
  • 정칙화/최적화 알고리즘을 어떻게 조정할 것인가?
  • 등…

이러한 시도들은 모두 시간이라는 귀중한 자원을 소모한다. 따라서 아무렇게나 시도하는 것보다는, 어떤 설정으로 이번 실험을 진행할지에 대해 논리적이고 합리적인 선택을 하는 것이 좋을 것이다.

Simple is best?

이 책의 대부분은 다양한 머신러닝 모델과 학습 알고리즘, 목적함수 등을 설명하는 내용으로 구성되어 있다. 하지만 머신러닝 전문가가 되려면 꼭 방대한 양의 머신러닝 기법을 잘 알고 수학의 대가가 되어야 하는 것은 아니다. 현실에서는 주어진 문제에 적절한 머신러닝 기법을 사용하는 것이 매우 중요하며, 단순한 알고리즘이라도 적절하게 사용한다면 복잡한 알고리즘보다 뛰어난 효과를 발휘하는 경우가 있다.

머신러닝을 통한 문제 해결의 기초 흐름

  1. 목표를 정확히 설정하라.
    • 어떤 오차 지표를 사용할지 결정하라. 그것이 주어진 문제에 적합한지 잘 생각하라.
  2. 최대한 빨리 프로토타입을 완성시켜라.
    • 처음부터 끝까지 동작하는(end-to-end) 파이프라인을 최대한 빠르게 완성하라.
    • 성능 평가에 사용할 지표를 결정하라.
  3. 어떤 부분에서 성능 저하가 일어나는지 확인할 수 있도록 시스템을 구성하라. 성능이 낮은 이유를 알아낼 수 있어야 한다. (e.g. overfitting, underfitting, 데이터 품질 등)
  4. 얻어낸 인사이트를 통해 시스템에 조금씩 변화를 주어라. e.g. 데이터 추가 수집, 알고리즘 변경, 하이퍼파라미터 변경 등.



포스트가 마음에 드셨다면, 좋아요를 남겨주세요!

This post is licensed under CC BY 4.0 by the author.