[Boostcamp AI Tech] 4주차 Day 2 학습 기록

bluegun·2021년 8월 24일
0

AI Tech 2기 활동

목록 보기
16/87

학습 내용

data 전처리의 중요성과 dataset, dataloader를 쓸 때 고려해야 할 사항들을 몇 가지 짚어주셨다.

대회 진행

  • 어제에 이어 전체 classification pipeline을 완성하려고 하였다.

  • 계속해서 model이 학습이 잘 안되는 문제가 있었다.

    • 학습을 진행해도 model의 output이 잘 변하지 않았다.
    • 해결 : optimizer에 학습할 파라미터를 지정할 때, 다른 model의 파라미터를 지정해서 생긴 문제였다. 고치니 model의 parameter가 변하는 것을 볼 수 있었다.
  • parameter가 학습을 하지만 여전히 정확도가 현저히 낮은 문제를 보여주었다.

    • 예측을 거의 맞추지 못했고, 제출했더니 accuracy가 3%가 나왔었다..
    • 해결 : model을 resnet18로 했었는데, pretrained=True 로 둬서 resnet의 imageNet에 대한 학습 내용을 가진 채로 시작하였더니 정확도가 확 올라갔다.
      • weight 초기화를 따로 해주지 않았었기 때문에 적은 데이터로는 학습이 제대로 될 수 없었고, 기존 resnet의 Image에서 특징을 뽑아내는 능력을 그대로 가지고 가는게 현재 상황에 적합했기 때문으로 보인다.
      • weight 초기화 및 데이터 수에 따른 기존 parameter 사용 여부가 상당히 중요하다는 것을 알게 되었다.
  • 2일차 최종 accuracy: 56.667, f1: 0.439

피어 세션

  • 각자 무엇을 했는지 발표하였다.

  • 발표를 듣고 성능 향상을 위해 어떤 측면에서 접근해야 할 지 같이 고민하였다.

    • EDA 결과 데이터 불균형이 심하다.
      • 50대 데이터가 상당히 많고, 60대 이후 데이터 수가 현저히 적다.
      • mask를 쓴 데이터와 그렇지 않은 데이터 수 차이가 많이 난다.
    • 나이의 경우 실제 image를 분석한다고 해서 정확히 몇 세 이상, 몇 세 이하인지 구분하기가 굉장히 어려울 것 같다고 느꼈다.(사람이 직접 봐도 모른다)

내일 할 일 또는 참고할 내용

  • EDA와 data augmentation을 정밀하게 하는게 성능 향상에 큰 영향을 미칠 것 같다.
    • 피어 세션 탭에 있는 것처럼, 데이터 불균형과 labeling에 대해 고민해봐야 한다.
  • labeling의 경우, image를 기존 label 기준인 60세 대신 50, 55세 등을 적용해 새로 labeling해서 학습하는 게 더 성능이 좋을 수 있을 것 같다
  • data augmentation을 통해 적절히 Image 수를 balance 있게 늘리는 게 관건일듯

느낀 점

  • 어제 아침부터 에너지드링크 먹고 의욕적으로 해선지, 잠을 제대로 못 들고 일어나서도 두통과 약간의 번아웃 느낌을 받아, 오늘 그다지 대회 진행을 많이 하지 못했다. 컨디션 관리랑 그날의 목표 설정이 언제나 중요

  • 예쁘게 module화 된 pipeline은 아니지만, 일단 전체 코드를 구현해봤고 어느정도 성능이 나온다는 것을 확인했으니, 이제 모듈 및 함수화와 성능 향상 기법을 섞어가면서 내 model을 다듬는 걸 목표로 해야겠다. 이 편이 조금 덜 지치면서 꾸준히 할 수 있는 게 아닐까..

0개의 댓글