효과적인 augmentation test를 위해서는 어떻게 해야할까

한량·2021년 10월 27일
0

1. FCN, resnet 50으로 aug test

-> overfitting 발생: train mIOU는 1에 가까운데, val mIOU는 안 높아지거나 비슷비슷
-> epoch이 부족해서 그런걸까? 하고 20 -> 40으로 변경했으나 overfitting만 심해짐
-> 모델이 너무 가벼워서 그런걸까?
-> DeeplabV3+, se_renext_101로 변경

2. 동일 조건에서도 성능이 다르게 나옴

(run 1번만으로 모든걸 판단하려 하지 말고 몇 번 해보는게 좋을듯 하다라는 멘토님 조언)
LB score가 0.609 - 0.630으로 꽤 많이 차이남
-> 왜???

3. vanilla, aug간 차이가 별로 안 보임

이건 epoch이 부족해서인가??????
처음에는 극명한 차이를 보기 위해 p=1.0으로 실험했으나, augmentation을 하는 이유는 dataset 분포에 약간의 변화를 줘서 test dataset에 근접한 분포를 찾기 위함이기 때문에 p=0.1 ~ 0.05가 보통이라는 조원의 말을 들어 p=0.1로 실험해보는 중

4. 각 backbone, architecture별로 효과적인 aug가 다를 경우

General하게 좋은 augment가 있을까? 아님 각 model별로 다를까?

5. 해결 방안?

  1. (너무 작지 않은) model 선정
  2. vanilla로 여러번 돌려보면서 train/val dataset이 test dataset과 비슷한 분포를 띄는지, 제출마다 LB가 달라지지 않는지 검증
  3. 적당히 수렴하는거 같으면 epoch 더이상 늘리지 말것
  4. 적어도 2번씩은 실험해서 평균 LB를 갖고 추정할것
profile
놀고 먹으면서 개발하기

0개의 댓글