부스트캠프 AI Tech 1기 [T1209 최보미]/P stage-1 (이미지분류)

Day4 학습정리 - Training & Inference

B1001101 2021. 4. 1. 23:56

1. 오늘의 목표

  • 각종 loss function과 optimizer 적용해보기
  • f1 스코어 계산하는 코드 추가하기

 

2. 목표를 달성하기 위해 한 행동

강의에서 언급된 Focal loss, label smoothing, f1 loss 코드를 검색해서 가져왔는데 Focal loss랑 f1 loss는 에러가 나서 못 했고 label smoothing만 성공했다. 첫 번째 시도할 때는 결과가 안 좋았는데 다른 코드를 가져와서 써봤더니 최고 점수를 갱신했다.

optimizer는 Adam보다 SGD가 더 좋다는 말이 있어서 한번 바꿔봤는데 시간도 훨씬 오래 걸리고 결과도 처참해서 그냥 계속 Adam을 쓰기로 했다. 그리고 강의에서 언급된 lr scheduler 중에서 ReduceLROnPlateau가 가장 많이 쓰인다고 하길래 적용해보려고 했는데 사용법을 잘 몰라서 포기했다.

sklearn.metrics.f1_score 함수를 사용해서 f1 score를 계산하는 코드를 추가했다. 처음에는 output tensor를 그대로 함수에 넣어서 에러가 났는데 prediction값을 넣으니까 에러 없이 잘 동작했다.

 

3. 회고

loss function이나 optimizer는 어제 적용해보려고 생각만 했었던 건데 마침 오늘 강의에 나와있어서 바로 시도해봤다. 여러가지 이것저것 시도해본 것 같은데 정작 성공한 건 label smoothing이랑 f1 score밖에 없었다. 그래도 리더보드 순위가 약간 올라가서 좋았다. 에러가 나거나 사용법을 몰라서 못 했던 것들은 내일이나 주말에 다시 해봐야겠다.

오늘 오피스아워에서 멘토님이 말씀하신 것처럼 이번 주에는 resnet 모델을 사용해서 빨리빨리 여러 번 돌려보고 다음주에는 resnext 등 다른 무거운 모델들로 바꿔서 돌려본 다음 지식증류법같은 기법들도 사용해볼 예정이다.

'부스트캠프 AI Tech 1기 [T1209 최보미] > P stage-1 (이미지분류)' 카테고리의 다른 글

Day6 학습정리  (0) 2021.04.05
Day5 학습정리  (0) 2021.04.02
Day3 학습정리 - Model  (0) 2021.03.31
Day2 학습정리 - Data Feeding  (0) 2021.03.30
Day1 학습정리 - EDA  (0) 2021.03.29