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

Day2 학습정리 - Data Feeding

B1001101 2021. 3. 30. 23:38

1. 오늘의 학습목표

  • Albumentation을 사용해서 augmentation 시간 줄이기
  • 모델 정확도 개선하기

 

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

모델을 돌려보기 위해 경량화 과제 코드를 약간 수정해서 베이스라인 코드를 만들었다. 모델은 resnet50과 efficientnet-b1을 사용하였고 augmentation 시간을 줄이기 위해 torchvision.transform에서 Albumentation 라이브러리로 바꿨다. hoya012.github.io/blog/albumentation_tutorial/을 참고해서 시간을 비교해보니까 확실히 차이가 많이 나는 것을 확인할 수 있었다.

 

3. 회고

모델 성능을 높이기 위해 resnet50에서 efficientnet-b1로 바꿔보기도 하고 augmentation도 resize, grayscale 등 이것저것 시도해봤는데 전부 다 오히려 처음보다 정확도가 떨어졌다. 단순히 모델 종류나 augmentation으로 성능을 높이는 건 여기까지가 한계인 것 같다. 내일부터는 다양한 기법들을 시도해봐야겠다.

예측 결과를 살펴보니까 성별이나 마스크 착용 상태는 잘 구분하는 것 같은데 나이는 잘 구분하지 못하는 것으로 보였다. 실제로 사람도 성별이나 마스크 착용상태는 비교적 쉽게 구별할 수 있는데 나이가 가장 구별하기 애매한 것처럼 AI도 마찬가지 아닐까 싶다. 그리고 성별은 주로 머리카락 길이로 판단하기때문에 상관 없지만 나이는 얼굴로 판단하는데 얼굴이 마스크로 가려져있는 경우가 많아서 더 판단이 어려운 것 같다.

60대 이상이 다른 나이대에 비해 학습 데이터가 현저히 적은 불균형 문제를 해결하는 것이 관건인 것 같다. 피어세션에서도 이 얘기가 나왔는데 한 분이 공유해주신 링크(www.tensorflow.org/tutorials/structured_data/imbalanced_data)에 데이터 불균형 문제를 해결하는 여러 가지 방법들이 있어서 나중에 한번 시도해봐야겠다.