컴퓨터 비전에서 가장 비용 효율적인 트릭
강한 vision model을 처음부터 training하려면 라벨 달린 이미지 수백만 개 필요. 실전 프로젝트에 그런 거 거의 없어. Transfer learning은 ImageNet (1.28M 이미지, 1000 클래스)에 pretrained 된 model에서 시작해서 적은 데이터로 task에 적응시켜 해결.
두 단계, 이 순서대로:
- Feature extraction — backbone 동결, 새 classifier head만 데이터로 training. Pretrained feature가 최종 정확도의 80–90%를 적은 compute로 줘.
- Fine-tuning — backbone (또는 마지막 몇 블록) 해동, 훨씬 작은 learning rate (예: 1/10) 사용, training 계속. Pretrained feature를 특정 task로 살짝 밀어.
해동 전에 항상 동결. 처음부터 모든 weight trainable로 시작하면 랜덤 classifier head가 거대한 gradient 만들어 pretrained backbone weight를 몇 step 만에 망쳐. 항상 feature extraction 먼저, 그 다음 fine-tuning.