모델이 잘 동작하지 않는 이유는 정말 많다. 정말 많아서 어디서부터 잘못된 것인지 알기가 쉽지 않다. 그래서 모델을 개발하는 사람이라면, 모델을 잘 디버깅하는 전략과 프로세스를 가지고 있는 것이 도움이 된다. 한 번에 완성시키겠다는 생각은 어디서든지 위험한 생각이다(from1). 최대한 잘게 쪼개서 자주 피드백을 받아야 한다. 핵심은 문제가 있을만한 부분을 고립시키고, 그 부분을 빠르게 인지할 수 있어야 한다는 것이다(참고1).
논문과 실제 훈련 결과는 이렇게 차이가 날 수 있다.
사소한 하이퍼파라미터 셋업에 따라 이렇게 많은 차이가 날 수 있다.
정말 다양한 operation 들과 기법들이 존재할텐데, 이미 yolo 같은 경우에는 수많은 operation 들을 끼워 둔 모델들을 모두 제공을 하고 있다. 내가 만들어내는 모델이 off-the-shelf 모델보다 나을 것이라는 생각을 어떻게 빠르게 검증할 수 있는가?
parse me : 언젠가 이 글에 쓰이면 좋을 것 같은 재료들.
None
from : 과거의 어떤 생각이 이 생각을 만들었는가?
- ba2.3. title: 머신러닝 프로젝트에는 코드를 둘러싸고 일어나는 일들이 있다. 예를 들어, 모델링, 데이터 전처리와 버전 관리, 코드 디버깅, 클라우드 프로비저닝, 결과 확인, 모델 배포, 모니터링, 그리고 이들을 지속적으로 반복하는 일이 이에 속한다.
- ‣
supplementary : 어떤 새로운 생각이 이 문서에 작성된 생각을 뒷받침하는가?
- ba2.3.9.1. title:
Start simple, 간단하게 시작하고 완성하라. 최대한 작은 모델, 작은 테크닉, 최대한 적은 데이터, 최대한 적은 코드만 이용해서 동작하는 시스템을 만들어라.
- ba2.3.9.2. title:
Implement and debug, 문제를 풀 수 있는 모델을 제대로 구현하면서, 한 개 배치를 오버피팅시키고, 모델이 돌아가기까지 어떤 이슈들이 있을 수 있는지를 알라.
- ‣