Posts [부스트캠프 AI Tech / P Stage1] Day2 TIL
Post
Cancel

[부스트캠프 AI Tech / P Stage1] Day2 TIL

[P Stage 1 - 이미지 분류] TIL


오늘의 목표

  • submission.csv 구조 파악
  • VGG 11 모델 inference 한 결과, 리더보드에 올리기
  • VGG 11 결과에 대한 분석 필요
  • ResNet 사용해보기
  • 데이터셋 EDA 해보기
    • 데이터셋을 학습한 결과가 뭔지 모르는 상태에서 하는 EDA는 딱히 도움이 안될 것 같아서, 모델 하나 만들어보고 EDA 시작하려고 함
    • EDA에 대한 지식이 거의 없으니까, 맨땅에 헤딩하는 것은 의미가 없을 것 같음
    • 따라서, 모델 학습 후, loss/accuracy 그래프 추이를 확인하며, 부족해보이는 부분을 주로 파보려고 함

나의 노력 & 모델 개선 방식

  • VGG 11 모델을 inference한 결과를 리더보드에 올려보았다.
    • 오늘은 batch size, learning rate, transforms 등을 조작해보는 대신 여러 backbone을 사용해보고 iteration에 따라 변화하는 결과(acc, loss) 추이를 확인했다.
  • ResNet50을 학습시켜, inference한 결과를 리더보드에 올려보았다.
    • VGG11과 거의 비슷한 하이퍼파라미터, 전처리를 해주었다.
    • 마찬가지로, iteration에 따른 loss, acc 추이를 보고, 제출해보기까지만 했다.

→ 추후 분석 과정이 필요하다!

오늘 달성한 것 & 깨달음

  • ResNet이 언제나 VGG보다 좋은 성능을 내는 것은 아니다.
  • 물론 좋은 backbone이 좋은 결과를 얻어주는 것은 맞겠지만, 문제에 따라서 어떤 backbone이 좋은 backbone인지는 모르는 일이다. 따라서 다양한 가정, 실험, 추측을 통해 인사이트를 기르는 것이 무척 중요함을 깨달았다.
  • 일단 계획한대로, 이번주 금요일까지는 backbone을 최대한 다양하게 써보려고 한다.
  • 대신 잘되면 왜 잘되는지, 안되면 왜 안되는지 정확히 정리하고 넘어가야겠다.

어제와 비교해서 오늘 새롭게 시도한 변화 & 효과?

  • 어제는 VGG를 사용했고,
  • 오늘은 ResNet을 사용했다.
  • center crop을 사용해보았다! 성공적!

왜 성공 or 왜 실패?

  • ResNet50 모델 성능 개선의 연이은 실패
    • 오늘 정말 바보같은 실수를 했다
    • train 시, transfroms로 데이터 크롭을 했는데, inference할 때에는 data crop을 하지 않은 상태로 돌렸더니 성능이 VGG보다 안나왔던 것!
    • transforms에 무엇을 넣느냐, 데이터를 어떻게 처리하느냐에 따라 결과가 바뀌는 것을 체감함
    • 내가 만든 방식에 문제가 있는지 확인 해봐야 할 것 같다. 우리 조 다른 사람은 ResNet으로 60 acc을 넘겼다고 하는 것을 보니, 코드를 다시 검토해봐야겠다는 생각이 들었다.

내일의 목표

  • 오전 안에 강의를 듣고, 학습정리 끝내기
  • (월, 화, 수)에 주어진 mission 3개 수행하기
    • 월: 데이터셋 EDA 해보기
      • 1. 직접 Dataset Class 작성해보기
      • 2. torchvision transform 기법 적용해보고 plot 통해 확인해보기, 성능 체크
  • submission.csv 구조 파악
  • 데이터셋 분석 💥 중요 💥
    • 데이터 분포, 특징 확인
  • VGG 11 결과에 대한 분석 필요
    • 분석 리스트 세우기
    • 잘나온 데이터셋, 안나온 데이터셋 show하여 확인하기
  • ResNet 50 결과에 대한 분석 필요
    • 분석 리스트 세우기
    • 잘나온 데이터셋, 안나온 데이터셋 show하여 확인하기
  • 앞으로 만들어질 모델, 결과 등에 대해서 어떻게 정리할지 방법 정하기
  • 실험할 수 있는 요소들의 리스트 작성해보기
  • 구체적인 실험 계획 세우기

느낀점

  • 무작정 이 모델 저 모델 써보는 것이 아닌, 데이터에 대해서 먼저 파악하고 있어야함을 느꼈다.
  • 많은 모델을 사용해보자는 목표가 흐려진 것은 아니지만, 그 전에 데이터 분석이 선행되어야함을 느꼈다.
  • 데이터셋의 imbalance 문제가 꽤 크게 다가왔다.
    • 성능이 잘 안올라서 더 크게 다가왔나?
  • 좀 더 구체적인 실험 계획이 필요하다.
This post is licensed under CC BY 4.0 by the author.