안녕하세요~!
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
3. 내일 해볼만한 것들
- 사실 지금 K-fold 추가해서 모델 돌려놓고 자지만, 내일 아마 한번은 더 돌려볼 수 있을 것 같다.
그래도 한개 더 해볼 수 있다면, 오 레이블링 된것들에 대해서 고쳐보고 싶다.
시간이 안된다면, optimizer(AdamW) , loss func(focal) 로 작은 에폭 돌려서 seed만 바꿔서 OOF 돌려봐야겠다.
4. 회고 : 유종의 미를 거둘 수 있었다..
결과를 보고 놀랐다. 이렇게 사소한 부분에서 놓쳤던 것이 전체에 이렇게 크게 영향을 끼치다니! 큰 액션을 취해야만 점수를 올릴 수 있는 것이 아니라, 그 원인에 대해 계속해서 고민하는 자세가 필요함을 느낄 수 있었다.
또한, 꼭 점수가 잘나와야만 공유하는 것이 아니더라도, 게시판에 많이 공유할수록 내가 틀린점을 발견하고 보완할 수 있겠다는 생각도 들었다. 다음 P stage때는 공유가 아니더라도 토론 등 게시판에 글을 자주쓰는것을 목표로 해야겠다.
딱 한주만 더하면 진짜 잘할거같은데 라는 느낌도 들지만, 그래도 끝나기전에 찾아서 다행이고 마지막까지 최선을 다해야겠다!
'Naver AI Boost Camp > 캠퍼 기록' 카테고리의 다른 글
[U-NLP] 1일차 회고 : 노력에 대한 낭만을 믿자. 그리고 기록이 중요하다. (1) | 2021.09.07 |
---|---|
[P stage] 오늘의 회고 : 함께 자란 P stage 였다. (0) | 2021.09.03 |
[P stage] 오늘의 회고 : 생각한 걸 많이 실행한 하루 (0) | 2021.09.01 |
[P stage] 오늘의 회고 : Do it! DeepLearning! (생각난게 있다면 일단 해보자) (0) | 2021.08.31 |
[P stage] 오늘의 회고 : 몰입하기 위해 실력 높이기 & 난이도 낮추기 (0) | 2021.08.24 |