네이버 AI 부스트캠프 4기 P-stage : Classification 4

nask·2022년 11월 8일

CV 기초대회 6강 - Model 2 - Pretrained Model

Background

  • 모델 일반화를 위해 매번 수 많은 이미지를 학습시키는 것은 까다롭고 비효율적임

  • 좋은 품질, 대용량의 데이터(e.g., ImageNet)로 미리 학습한 모델을 내 목적에 맞게 다듬어서 사용

  • 미리 학습된 좋은 성능이 검증된 모델이 이미 많음

torchvision.models

  • pretrained = True 시 학습된 weight들도 가져옴

timm

  • torchvision보다 모델의 종류가 다양하고 변칙적임

Transfer Learning

  • pretraning할 때 설정했던 문제와 내 문제와의 유사성을 검토해야 함

  • 마지막 출력 부분인 fc layer 등의 수정 필요

Case by Case

1) 학습 데이터 충분

(1) 문제 간 유사도가 높음 : backbone은 freeze하고 classifier만 train featrue extraction

(2) 문제 간 유사도가 낮음 : backbone과 classifier 모두 train(유사도가 낮아도 backbone을 아예 안 쓰는 것보다 수렴 속도나 성능이 개선됨) - fine tuning

2) 학습 데이터 불충분

(1) 문제 간 유사도가 높음 : backbone은 freeze하고 classifier만 train(적은 데이터로도 학습된 weights를 바탕으로 좋은 성능을 낼 수 있음)

(2) 문제 간 유사도가 낮음 : pre-trained된 모델 사용 권장 X

0개의 댓글