- 모델 아키텍처
VGG19 pretrained model를 사용하였습니다. 모델에 linear 레이어와 relu 활성화함수, dropout 레이어로 구성해주었습니다.
- 하이퍼퍼라미터 튜닝
옵티마이저: Adam 옵티마이저 사용, 학습률은 0.00001로 설정됩니다.
손실 함수: 분류 작업을 위해 Cross-Entropy Loss 사용.
학습률 스케줄러: ReduceLROnPlateau 스케줄러를 사용하여, 검증 손실이 개선되지 않을 때 학습률을 조정합니다.
조기 종료: EarlyStopping 메커니즘으로 학습이 진전되지 않을 때 조기에 학습을 중단합니다.
- 전처리
데이터 변환: transforms.Compose를 사용하여 데이터셋에 RandomResizedCrop, RandomHorizontalFlip, ToTensor, Normalize 등의 변환을 적용하였습니다.
- 후처리
모델 평가: 검증 데이터셋을 사용하여 각 에포크마다 모델의 성능을 평가합니다.
모델 저장: 가장 좋은 성능을 보인 모델을 checkpoint.pth 파일로 저장합니다.
- 소감
사전 훈련된 VGG19 모델을 사용하고 데이터 증강을 통해 일반화 성능을 향상시킬 수 있었습니다. 또한 조기 종료와 학습률 스케줄러를 사용해서 학습 과정을 최적화하였습니다.