[부스트캠프 AI Tech 5기] Week 7 정리 및 회고

araseo·2023년 4월 29일
0
post-thumbnail

Week7 요약

Loss

  • Loss Function = Cost Function = Error Function
  • Loss도 사실 nn.Module을 상속받아서 만들 수 있음
  • loss.backword()가 실행되면 모델의 파라미터 grad 값이 업데이트됨
  • required_grad = False인 경우를 제외
  • Focal loss : Class Imbalance가 있는 경우, 맞춘 확률이 높은 class에는 loss를 적게 주고 맞춘 확률이 낮은 class에는 loss를 높게 부여
  • Label Smoothing Loss : 일반화 성능을 높이기 위해 Class target label을 Onehot으로 표현하여 사용하기보다는, soft 하게 사용하는 loss
    ex) [0, 1, 0, 0, 0, ... ] > [0.025, 0.9, 0.025, 0.025, ... ]

Optimizer

  • LR scheduler : Learning rate를 동적으로 조절하기 위한 도구
    • StepLR : 특정 step마다 LR을 감소시킴
    • CosineLR : Cosine 함수를 이용하여 LR을 급격히 변경함
    • ReduceLROnPlateau : 더 이상 성능의 향상이 없을 때 LR을 감소시킴

Metric

  • 데이터의 상태에 따라 적절한 Metric을 선택하는 것이 필요
    • Class 별로 데이터의 양이 비슷한 경우 : Accuracy
    • Class 별로 데이터의 양이 불균형한 경우 : F1-Score

Emsemble

  • 서로 다른 여러 학습 모델을 합쳐서 사용하는 기법으로, 싱글 모델보다 더 나은 성능을 보이기 위해 사용
  • Model Averaging (Voting), Cross Validation, Stractified K-Fold Cross Validation(Stractified split + K-Fold Cross Validation), TTA(Test Time Augmentation) 등의 기법이 있음
  • 성능 향상의 효과는 확실히 있으나, 학습 및 추론 시간이 배로 소모된다는 단점이 존재

Experiment Toolkits & Tips

  • Tensorboard, Weight and Bias(wandb)를 이용하면 쉽게 학습 과정을 기록하고 트래킹 할 수 있음

마스터 클래스 - 김태진 마스터(Doodlin ML Engineer)

  • 사용한 기술들에 대한 결과 혹은 trade-off들을 제대로 이해하고 넘어가자
  • 문제에 대해 제대로 이해하는 것이 정말 중요하다
  • 경진대회 중 해보지 못한 것들, 이해하지 못한 것을 따로 정리해두고, 부족한 부분을 채워나가는 시기에 공부를 꼭 하자

한 주 요약

드디어 부스트캠프에서의 competition을 드디어 마쳤다. 2주 안에 많은 것을 습득함과 동시에 원하는 결과를 내고자 하는 것이 정말 어려웠지만 끝나고 나니 최선을 다한 스스로에게 뿌듯함이 들었다. 당연히 존재할 수밖에 없는 첫 competition에서의 아쉬운 점들을 잘 정리하고 고민하여 다음 competition들에서는 더 의미 있고 좋은 결과를 얻을 수 있도록 해야겠다.

profile
AI를 공부하고 있는 학생입니다:)

0개의 댓글