본문 바로가기

Naver AI Boost Camp/캠퍼 기록

[P stage] 오늘의 회고 : 끝나기 직전에 그래도 원인을 찾았다!

반응형

 

 

 

안녕하세요~!

27년차 진로탐색꾼 조녁입니다.

 

이제야 감이 오고 스코어가 오르는데 끝이라니 너무 아쉽네요.. 특히 제가 뭘 틀려서 점수가 낮았는 지 알아버렸습니다..

몇가지 요인이 있었는데, 정말 사소한 것들이라 허무하면서도 지금이라도 알게되서 참 감사합니다.

 

1. 점수가 잘 안나왔던 이유 & 해결 방안

  • resize & input size: 사용하는 모델마다 사전학습될때 최적화된 값이 있는데 적용을 안시켰었다. 각각 아래 블로그 내용대로 했더니 대폭 향상되었다. 참고로 inference에도 동일하게 resize 해줘야한다! (약 20% 향상) 
  • test dataloader 에도 train과 비슷한 조건(augmentation, crop ..) 을 맞춰줬다. facenet으로 crop한 이미지로 학습했으니, 비슷하게 centercrop(320,256)을 줬다. (약 15% 향상) 핑계를 대자면 test dataloader 건드는건 치팅인줄 알았다..
  • validation batch size 를 default 값 1000으로 사용하다가 125로 줄여주니 신뢰할만한 val-score 확인 및 early stopping 가능해졌다.

 

+ 그 외에 향상 요인

 

  • f1-score 확인하면서 f1-loss 사용함 , 결정하게 된 이유로는 이미 augmentation 을 통해 어느정도 데이터를 늘렸으니 불균형을 잡아주는 focal loss 대신 f1 loss를 사용해보기로 함 
  • 짜내기 : 배치사이즈 줄이고 , lr 낮춰줌. (덕분에 resize도 크게할 수 있었음)
  • 앙상블은 OOF를 돌려봤지만 흠.. 소폭 감소했다.. (잘한건지 확인해보고 싶은데 너무 오래걸려서 다시 돌리면 대회가 끝날것같다 ㅠ )

 

결론적으로, 새로운 기법만 가져다 쓸게 아니라, 정말 간단한 것들이지만 놓치고 있던 것들부터 잡는게 우선이었다.. 특정 부분에서 잘 못맞춰서 그런줄 알았는데 생각해보니 다른 팀들의 점수는 "그래도" 더 높다는 것에서 출발해 회고하며 찾을 수 있었다.(출발은 "왜" 부터였다.)

 

 

2. 오늘 시도한 것들

- 스크립트 파일을 이용한 학습 (캠퍼분이 올려주셨는데, 간편함)

- early stopping 적용 (patience 2)

- best_acc 대신 best_f1 기준으로 모델 저장하도록 함 

- OOF 앙상블 사용 , 학습된 모델 불러올 때 아래 공식문서 참고함.

https://tutorials.pytorch.kr/beginner/saving_loading_models.html 

 

모델 저장하기 & 불러오기 — PyTorch Tutorials 1.9.0+cu102 documentation

Note Click here to download the full example code 모델 저장하기 & 불러오기 Author: Matthew Inkawhich 번역: 박정환 이 문서에서는 PyTorch 모델을 저장하고 불러오는 다양한 방법을 제공합니다. 이 문서 전체를 다

tutorials.pytorch.kr

 

 

3. 내일 해볼만한 것들

- 사실 지금 K-fold 추가해서 모델 돌려놓고 자지만, 내일 아마 한번은 더 돌려볼 수 있을 것 같다.

그래도 한개 더 해볼 수 있다면, 오 레이블링 된것들에 대해서 고쳐보고 싶다. 

시간이 안된다면, optimizer(AdamW) , loss func(focal) 로 작은 에폭 돌려서 seed만 바꿔서 OOF 돌려봐야겠다.

 

 

4. 회고 : 유종의 미를 거둘 수 있었다..

결과를 보고 놀랐다. 이렇게 사소한 부분에서 놓쳤던 것이 전체에 이렇게 크게 영향을 끼치다니! 큰 액션을 취해야만 점수를 올릴 수 있는 것이 아니라, 그 원인에 대해 계속해서 고민하는 자세가 필요함을 느낄 수 있었다.

 

또한, 꼭 점수가 잘나와야만 공유하는 것이 아니더라도, 게시판에 많이 공유할수록 내가 틀린점을 발견하고 보완할 수 있겠다는 생각도 들었다. 다음 P stage때는 공유가 아니더라도 토론 등 게시판에 글을 자주쓰는것을 목표로 해야겠다.

 

딱 한주만 더하면 진짜 잘할거같은데 라는 느낌도 들지만, 그래도 끝나기전에 찾아서 다행이고 마지막까지 최선을 다해야겠다!

 

 

 

 

반응형