[Week4] 이미지 분류 - 김태진 강사 & [Special] Data Viz - 안수빈 강사

[Day15] 이미지 분류 1 ~ 2강 & 시각화 4-1 ~ 4-2강

[Day16] 이미지 분류 3 ~ 4강 & 시각화 4-3강

[Day17] 이미지 분류 5 ~ 6강

[Day18] 이미지 분류 7 ~ 8강

[Day19] 이미지 분류 9 ~ 10강

Week4 피어세션 정리


학습회고

[Day15]

기본적인 EDA를 진행해보고자 하는데 Train Data Image & Test Data Image 시각화 해보고

train_info 데이터를 이용해서 라벨링을 진행했고

Pretrained ResNet Model 을 사용해 학습을 진행하고 있다.

학습진행이 잘 됐으면 좋겠다.

[Day16]

EDA 샘플 코드가 주어졌다.

t-SNE, PCA 분석 등 여러가지를 하던데 저렇게 해서 뭘 얻는지 잘 모르겠다.

생각지도 못했던 이미지에서 라벨링이 잘 못된 데이터가 있는걸 확인했고

일일히 모든 데이터를 확인해봤다.

실제로 남자인데 여자로 라벨링 된 데이터 또는 실제 여자인데 남자로 라벨링 된 데이터

사람의 눈으로 봐도 확인이 어려운 것도 있었다. 임의로 바꿨는데 어떤 역할을 할지 모르겠다.

ResNet 보다 EfficientNet 의 성능이 더 좋다는 얘기를 들었다.

구글링을 통해 EfficientNet-B4 모델을 사용해서 테스트를 진행해 볼 예정이다.

정답 class 간의 불균형을 해결할 방법도 찾아야 할텐데

SMOTE 를 사용할지 생각 해봐야 겠다.

오늘은 데이터 확인하는데 굉장히 많은 시간이 흐른 것 같다.

데이터는 꽤 수정했다고 생각하고 이제 Dataset, DataLoader, Model 관련해서 더 집중해봐야 겠다.

[Day17]

Image augmentation library 인 albumentations 를 사용해보려 구글링을 했다.

이 블로그를 보면서 사용법을 익혔다.

albumentations.pytorch.transforms.ToTensorV2 이거 찾느라 고생했다. 하…

데이터셋 만드는 과정에서 albumentations 를 사용하도록 코드 교체했다.

더 빠르다고 하니 resource를 더 잘 쓸 수 있겠지?

VIT 모델도 사용해보고 있다.

확실히 배치사이즈를 줄여야 돌아가고 num_workers 도 줄여야 돌아간다.

이렇게 모델만 바꾸지 말고 하이퍼파라미터 튜닝도 해야하나 싶다.

다들 어떻게 저렇게 잘 하는지 신기하다.

fine tuning vs feature extractor 이 블로그에서 설명하기를 feature extractor로써 사용하는 방식이 학습은 빠를 수 있으나 클래스가 많은 경우 성능이 안좋을 수 있다고 한다.

성능이 오르기가 쉽지 않은 것 같다.

내가 모르는 방법이 있는 것 같은데 단순히 fine-tuning 으로는 한계가 있는 느낌이다.

더 찾아봐야겠다.

early stopping [Colab] 참고할 클래스 생성 코드 찾았다.

[Day18]

오늘은 tensorboard 를 해보려다가 서버에 접근이 불가한 것 같았다.

어떻게 해야할지 잘 모르겠다.

tqdm 으로 보고 있으니 별 상관은 없는데 배운거 써먹어보려 했는데 좀 어려운 것 같다.

상민 캠퍼님의 조언으로 배치사이즈를 32로 줄여보았다.

그랬더니 지금까지 모델 중 최고 성적이 나왔다.

배치사이즈가 작으면 좋은건지는 한번 더 확인을 해봐야 겠지만

성능이 올랐다는거는 너무 만족한다.

멘토링 시간에 lr_schedule 이 중요하다고 하셔서 CosineAnnealingLR 을 사용해서 테스트 진행 하고 있다.

벌써 10번의 제출을 다 해버려서 아쉽지만 내일 제출을 해봐야겠다.

[Day19]

facenet 을 사용해 얼굴인식을하고 얼굴부분만 Crop 해서 처리하는 Dataset Class를 만들어보려 시도했다.

그런데 엄청난 병목현상이 일어나는 것 같다.

batch_size를 줄였지만 속도가 못따라 주는 느낌이다.

원본 이미지가 들어왔을 때 자동으로 처리가 되길 원했는데 그렇게까지 되지는 않을 것 같다.

미리 Crop한 이미지를 가지고 테스트 해봐야겠다.