Cross Validation으로 Stratified K-fold를 시행했다.
문제는 validation set으로 나눌 때 Transforms를 한 가지 종류밖에 적용시키지 못한다는 것이었다.
5epoch, 5folds로 32batch size로 먼저 validation에 적용했던 transform를 적용시켜 학습했다. 여기서 cross validation된 결과를 soft voting하여 제출했을 때 f1 score가 0.6915로 나오는 것을 확인했다.
1. 5-fold Cross Validation
2. Transform 최소화
3. 이전에 학습시켰던 (제출 평가가 좋았던) 모델을 불러왔다.
4. 5 epoch
5. 32 batch size
그 위에서 나온 모델을 저장해서 이번에는 Transformation을 여러개 적용시킨 학습과정을 거쳤다.
15 epoch, 5folds로 32 batch size로 진행했다.
학습을 하면 할수록 결과 기록이 정말 중요하다고 생각했다. 이제야 log를 남기고 적절한 위치에서 save를 시키도록 코드를 만들어서 어느때에 확인할 수 있도록 할 수 있게 되었다. 이때까지 크게 중요하지 않을거라 생각했던게 착오였다.
현재 목표는 매 fold마다 결과를 저장하고, 이름에 best_val_acc와 f1을 기록해서 남길 예정이다.
4 batch size로 epoch 수 50, early stopping을 적용해서 모델을 학습할 계획이다.
또한 모델을 불러올 때 마지막 Weight 초기화도 시켜보면 좋을 것 같다.