호기심 많은 분석가
[BoostCamp] Week5_Day21. 실수를 통한 발전 본문
🕵🏻♂️마스크착용_분류_대회
- Imbalanced한 데이터에 적합한 loss인 focal_loss를 이용해서 작업
- 뛰어난 효과를 보임
- crop된 데이터가 원본 데이터의 2배였던 실수가 있어서 제대로 작업한 뒤 원본 test set에 대한 결과와 crop한 test set에 대한 결과 2가지를 도출함
- 위의 실수 때문에 떠오른 아이디어로써 원본 데이터에 crop된 데이터를 추가해서 focal_loss로 학습시켜봄 → focal_loss와 결합되니 f1_score가 0.02점이나 높아짐
- Test 데이터 중 일부 Crop이 되지 않는 데이터가 있었는데 새로운 model로 Crop시키는 방향을 고민 중
- RetinaFace를 통해 Test set중 Crop이 되지 않은 데이터도 Crop했지만 성능적으로 좋아지진 않아서 Pass
- 모델(pickle) 파일을 다른 분들한테 보내주면서 안 사실인데 압축 프로그램이 달라서 그런 것인지 정확한 이유는 모르겠지만 pickle이 깨져서 load가 안되는 일이 종종 발생한다.
- 그래서 압축 파일이 아닌 pickle 자체를 공유하면 무리 없이 공유가 잘 이루어진다.
- 같은 알집으로 압축하니 load 된다. 사용하는 압축 프로그램이 달라서 그런 것일 가능성이 높다.
- 저장된 폴더가 다를 때 .py를 import하기 위해서
- data_split에서 utils 폴더에 있는 util.py를 import하고자 한다면?
- import에서는 상대경로가 사용될 수 없기 때문에 절대 경로를 지정해야하지만, data_preprocessing이 있는 폴더가 최상위 폴더가 아닐 경우 오류가 뜬다.
- 그래서 sys.path.append를 통해서 내가 있는 폴더의 위치를 추가시켜줘야 함
- data_split에서 utils 폴더에 있는 util.py를 import하고자 한다면?
👨👨👦👦피어세션
굿모닝세션😄
- 원상 : label smoothing을 해주기 위해 age를 regression해주는 방향으로 진행해봤다.
- 60세들 데이터에 5살씩 더해주니 잘 못맞추길래 10을 더해줄 예정
- 주영 : 랜덤하게 더해주다가, scale을 고려해서 더해줄 예정, 모델을 2개로 나눠서 따로 작업해볼 것이다. → MAE를 Metric으로 사용, 나이를 조금 적게 예측하는 것 같다
- 현동 : 작업하다가 에러나서 그거 고치는 중이다. 그래서 작업 진행이 어려움
- 정훈 : crop 오류나서 다시, focal_loss, ensemble 시도했음
- 성민 : grayscale 적용해봤지만 성능이 뛰어나진 않았음, 과적합이 많이 되었다.
- 준혁 : 외부 데이터 추가하기 위한 전처리 작업 중, 어제 오피스아워에서 나왔던 내용처럼 아예 패러다임을 바꿔서 시도해보겠음
굿에프터눈세션😏
- https://wikidocs.net/61375에서 ReLU의 경우에는 Xavier Initialization보다 He 초기화가 좋다고 하는 데 ResNet은 ReLU와 Xavier를 사용한다. BatchNorm을 사용해주기 때문에 괜찮은건가요?
- Pretrained시킬 때 그렇게 한 것이니까 그 후 layer를 쌓을 때는 He로 초기화해보는건 어떨까요?
- 나이 데이터만 Regression하는 문제와 CutMix에 대해 대화를 좀 나누고 남은 시간은 각자 코딩
✍🏻학습회고
대회 막바지로 다가가는 지금, 다행이도 새로운 아이디어들이 좋은 성능을 기록하고 있다.
우선 수업 중 소개되었던 imbalanced한 데이터에 적합한 loss인 focal_loss를 사용하면서 성능을 높혔고, 두 번째로는 이것도 우연히 떠오른 아이디어였는데 Crop만 2배로한 데이터를 학습시킨 걸 보고 Original Data와 Crop Data를 함께 학습시켜보자는 아이디어였는데 굉장히 좋은 결과를 낳았다.
Crop후 Resize로 키워줌으로써 얼굴에 있는 특징들을 강조하는 것을 물론, 기존 사진의 옷, 배경까지 함께 학습시키면서 스코어를 상승시킨 것으로 판단된다.
하지만 Test set중 일부 Crop이 불가능한 데이터를 RetinaFace로 통해 Crop해줬는데 오히려 성능이 나빠진 것은 조금 당황스러웠다. 오류 데이터를 고쳤을 때도 오히려 성능이 나빠져서 당황스러웠는데 대회를 진행하다보면 내 생각과 다른 경우도 꽤 있다
이번 대회 기간 내내 대회에만 시간을 쏟았는데 다행이도 여러가지 시도들이 좋은 결과를 내서 더욱 힘을 낼 수 있었다. 아직까지는 1등과의 격차가 있는데 Private에서 역전하길 바란다. 오히려 Private에서 떨어지지만 않았으면 좋겠다. 🤣
'Coding > BoostCamp' 카테고리의 다른 글
[BoostCamp] Week5_Day23&24. 대회를 마무리하며 (0) | 2021.09.05 |
---|---|
[BoostCamp] Week5_Day22. 끝을 향해 달려가는 (0) | 2021.09.03 |
[BoostCamp] Week5_Day20. 6일만의 상승 (6) | 2021.09.01 |
[BoostCamp] Week4_Day19. 팀 병합의 날 (0) | 2021.09.01 |
[BoostCamp] Week4_Day18. 여러가지 실험들 (0) | 2021.08.31 |