분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
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
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved