1. train/dev/test sets
train/dev/test set을 어떻게 설정할지 선택하는 것은 좋은 성능의 신경망을 찾는 데에 큰 영향을 준다.
data를 train/dev/test set으로 나누어 iteration을 빠르게 하거나, 편향과 분산을 더 효율적으로 측정할 수 있다.
- 전체 데이터가 아닌 일부를 사용하여 빠르게 평가하고 모델을 조정할 수 있다.
- train set으로 훈련한 뒤 dev/test set으로 모델 성능을 평가하면서 모델이 과대적합되었는지(분산이 큰지) 혹은 과소적합되었는지(편향이 큰지) 측정할 수 있다.
- 모델의 성능을 일반화할 수 있다.
ML is a highly iterative process
처음에 모든 하이퍼파라미터의 최적값을 추측하는 것은 거의 불가능하다.
Idea → Code → Experiment 의 반복적인 과정을 통해 최적을 찾아나간다.
- Idea로 시작해서 Code 작성 및 실행해 보고, 얼마나 잘 작동하나 Experiment 하고 결과에 따라 Idea 수정을 반복하며 더 나은 신경망을 찾는 과정
-train 과정의 빠른 진전에 영향을 주는 것-
- 반복 사이클을 얼마나 효율적으로 돌지
- dataset을 얼마나 잘 설정할지 (train/dev/test set)
신경망은 NLP, Vision, Speech, Structured data 등 다양한 영역에 사용되는데, 영역마다 어떤 선택이 좋을지에 대한 직관은 다르게 적용될 수 있다.
- 최적의 선택은 현재 가진 data의 양, input features 개수, CPU/GPU 같은 컴퓨팅 자원 등 다양한 요인에 의해 결정된다. 따라서 반복적인 시도가 중요!
train/dev/test sets
전체 training data는 다음과 같이 나뉜다.