해당 포스팅은 네이버 부스트캠프 P-stage를 위해 개인 학습 내용을 정리했습니다.
학습정리를 따로 적지 못해서 한 포스팅에 모두 작성했습니다.
1. 목표
- Efficientnet-B7 결과 및 최적의 모델 찾기
- 최적의 augmentation 찾기
- TTA 적용하기
2. 진행 내용
1) Efficientnet-B7 결과 및 최적의 모델 찾기
Efficientnet-B7을 Deeplabv3+에 적용시켜서 학습해보니, 1에폭 당 많은시간이 소요되었습니다. 이를 public에 넣었을 때, 0.6의 mIoU값을 얻었습니다. 이 모델을 계속 활용하게 되면, 많은 실험을 해보지 못하기 때문에 해당 모델은 활용하지 않았습니다. 그나마 성능은 괜찮으면서 빠르게 학습할 수 있었던 se-resnext101_32x4d라는 모델을 활용했습니다. augmentation과 같은 작은 test에 대해서는 Mobilenet_v2 모델을 활용했습니다.
2) 최적의 augmentation 찾기
최적의 augmentation을 찾기 위해서 augmentation하지 않은 mobilenet_v2 valid_miou를 기준으로 좋은 augmentation을 추렸습니다. 약 20개의 augmentation을 적용해본 결과 CLAHE와 HorizontalFlip에서 좋은 성능을 보였고, 이외에는 생각보다 좋은 성능을 보이지는 않았습니다. 특히, verticalFlip은 확실히 좋지 않은 것을 알 수 있었습니다.
3) TTA 적용하기
TTA는 Test time augmentation으로 이미지를 다양하게 transform을 시킨 뒤에 해당 이미지에 대해 prediction하고 deconvolution을 진행해서 정보들을 평균내서 클래스를 정하는 방식입니다. 적용해본 결과 미세하지만 좋은 성능은 있었습니다. 앙상블에 적용했을 때에는 생각보다 public에서 월등한 성능을 보여주지는 못했습니다.
3. 회고
CRF를 통해 후처리를 했으면 더 성능이 좋았을 것 같지만, 아쉽습니다. 같은 조원분의 이야기를 들어보니, CRF 처리를 했을 때, 0.04정도의 상승이 있었다고 합니다. 모델링에만 신경쓰기보다는 후처리 방식에 대한 고민도 많이 필요할 것 같습니다.