실제로 효과적인 모델을 생성하는데 필요한 기본적인 기능들을 추가해보겠습니다. 검증(validation) 추가하기 이전 포스팅에서 훈련 데이터를 사용하기 위해 합리적인 훈련 루프를 설정하려 했습니다. 과적함인지 확인하기 위해 실제로는 항상 검증 데이터 셋을 갖고 있어야 합니다. 배치와 과적합 사이에 상관관계를 방지하기 위해 훈련 데이터를 섞는 것은 중요합니다. 반면에 검증 손실은 검증 셋을 섞었는지 안섞었는지 동일합니다. 따라서 데이터를 섞는 것은 추가 시간이 필요하기 때문에, 검증 데이터를 섞을 필요는 없습니다. 훈련 셋의 배치 크기 2배로 검증 셋에 대한 배치 크기를 사용하겠습니다. 검증 셋은 역전파가 필요없기 때문에 적은 메모리를 사용합니다. (기울기를 저장할 필요가 없기 때문입니다.) 큰 배치 크기..