분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
yjunej팀/Private 2위/Private 점수 :0.99848/SE-ResNeXt
Private 2위, 코드 공유드립니다.
Idea
* Class 불균형을 해결하기 위해 class weight loss를 적용하였습니다.
* Colorjitter의 경우 오히려 악영향이 있어 제거하였습니다. (색상으로 병해를 판단)
* 데이터가 적어 Robust한 모델을 만들기 위해 앙상블을 2차례 활용하였습니다.
* 부족한 train data를 보충하기 위해 Pseudo labeling을 적용하였습니다.
* CutMix, Crop 등의 augmentation은 병해를 판단할 수 있는 부분이 잘릴 경우 학습에 악영향을 줄 수 있다고 생각하여 사용하지 않았습니다.
* Mixup을 사용하였습니다.
실험과정
* train.csv 데이터를 5 fold로 나누어 SE-ResNeXt 101d-32x4d 5개의 모델을 학습
* train.csv 데이터를 5 fold로 나누어 SE-ResNeXt 26d-32x4d 5개의 모델을 학습
* 각 fold마다 가장 loss가 낮은 모델의 체크포인트를 불러와 총 5개의 모델을 앙상블
* test 데이터에서 각 클래스에 대한 softmax를 거친 예측값이 0.85 이상일 경우 pseudo-labeling 하여 train data에 추가
* pseudo-labeling 데이터가 추가된 최종데이터를 5fold로 나누어 학습하고 SE-ResNeXt 101d-32x4d 5개의 모델을 학습 후 앙상블
* 최종 모델 완성
env
Ubuntu 18.04
Pytorch lightning
GTX 1080Ti X 1
Python 3.8.10
DACON Co.,Ltd | CEO Kookjin Kim | 699-81-01021
Mail-order-sales Registration Number: 2021-서울영등포-1704
Business Providing Employment Information Number: J1204020250004
#901, Eunhaeng-ro 3, Yeongdeungpo-gu, Seoul 07237
E-mail dacon@dacon.io |
Tel. 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved