분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
캐주얼AI드래곤, private 1위(0.95722)
공동작성자
먼저 재밌는 대회를 진행해주신 데이콘과 LG관계자분들께 감사드립니다.
대회에 참가하신 분들도 정말 수고하셨습니다.
코드는 해당 깃헙에 ipynb와 py 형식으로 올려두었습니다.
질문이 있으신 분은 댓글 달아주시기 바랍니다.
(https://github.com/siwooyong/LG-AI-Challenge-for-Plant-Classification)
저희 팀의 방식을 간략하게 소개드리자면
1. 데이터
1) 이미지 : augmentation (flip, contrast, cutmix..)
2) 시퀀스 : 중복된 시간을 가지는 데이터의 경우 "sequence[::2] , sequence[1::2]"중 random으로 골라서 max_length 가 300이하가 되도록 했습니다.
2. 모델
- convnext, efficientnet, vit등 다양한 모델을 사용하였으나 resnext50_32x4d의 성능이 가장 좋아 해당 모델을 5fold 앙상블 하여 사용했습니다.
3. 훈련
1) optimizer로는 AdamW, 스케줄러로는 cosine_schedule_with_warmup을 사용하였습니다.
1) 5 fold로 5개의 모델을 훈련시켰고, 모두 25epoch 중 가장 좋은 validation score 를 가진 모델의weight를 각각 저장했습니다.
2) cutmix는 25epoch중 15epoch까지만 적용하였습니다.
4. 추론
- 5개의 모델의 output을 단순 평균하여 사용했습니다.
좋은 질문 감사합니다.
kaggle대회에서 진행된 [Cassava Leaf Disease Classification](https://www.kaggle.com/c/cassava-leaf-disease-classification/discussion/220788) 에서 높은 순위를 기록한 분이 마지막 3개의 epoch때는 cutmix augmentation을 사용하지 않았습니다.
저희 팀도 이 글을 보고 cutmix를 traininig 후반부에 사용하지 않는 것이 과연 성능에 큰 차이를 만드는 지 궁금하여
1) cutmix 중지 여부 2) cutmix 종료 epoch
등과 관련하여 다양한 실험을 해봤는데, 실제로 성능향상이 존재했기 때문에 cutmix를 training 후반부에 종료시켰습니다.
또 다른 이유는 직관적이긴하지만 , '수능을 보기 전에 평가원 기출문제'를 중심적으로 보는 것처럼 후반 training때는 augmentation을 최소화하고자 cutmix사용을 중지했습니다. 다른 데이터셋에도 적용이 되는 것인지는 추가적인 실험이 필요할 것 같습니다.
'optimizer로는 AdamW, 스케줄러로는 cosine_schedule_with_warmup'는 (cutmix와는 관계없이) 다양한 optimizer, 스케줄러 조합중에 모델 들의 성능 평균이 가장 높았기때문에 사용했습니다.
저희 팀이 optimizer과 스케줄러를 고정한 후 cutmix 실험을 진행했기 때문에 cutmix와 lr의 관계는 모르겠네요. 추가적인 실험이 필요할 것 같습니다.
감사합니다.
답변 감사합니다!
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
혹시 2) cutmix는 25epoch중 15epoch까지만 적용하였습니다.
이렇게 적용하신 이유가 있으신가요?
1) optimizer로는 AdamW, 스케줄러로는 cosine_schedule_with_warmup를 사용했다고 하셨는데,
사용함으로 인해 수 epoch 뒤의 LR이 줄어듦으로 초기의 학습에(높은 학습 강도(?))를 가질 때 유의미적인 학습을 도와주기 위해 사용했다.
이렇게 이해가 되는 듯 한데, 그럼 반대로 cutMix는 낮은 LR일때는 학습에 별로 좋지 않은 영향을 미치는 Augmentation인지?
지나가다 혹시 들리신다면 궁금합니다! 감사합니다!