왜 전이학습이 기본값일까
사전학습된 백본은 수백만 개의 예시를 보며 '이미지가 어떻게 작동하는지' 이미 배웠어. 반면 직접 풀어야 할 후속 과제는 라벨이 붙은 예시 5000개로 새 7종을 분류하는 정도지. 이미지 5000개만으로 CNN을 처음부터 학습하면 심하게 과적합돼. 전이학습을 쓰면 백본이 이미 익힌 내용을 재사용하고, 과제에 맞는 작은 헤드만 학습할 수 있어.
방법은 3가지야. 동결된 백본은 헤드만 학습하므로 가장 저렴하면서도 의외로 자주 경쟁력 있는 성능을 내. 전체 미세 조정은 모든 층을 학습해 가장 높은 정확도를 노리지만 연산량이 더 많아. 부분 동결 해제는 헤드와 마지막 몇 개 층만 학습하는 중간 방식이야.
미세 조정 학습률 요령
전체 미세 조정에는 처음부터 학습할 때보다 훨씬 작은 학습률을 써. 1e-3 대신 1e-4 또는 1e-5가 적절해. 새 헤드에는 사전학습된 백본보다 높은 학습률을 따로 적용할 수도 있어. 헤드는 무작위 상태에서 시작해 더 많은 갱신이 필요하지만, 백본은 이미 잘 학습되어 있어서 큰 갱신을 가하면 성능이 손상될 수 있거든.
데이터 전처리를 맞춰라
백본을 학습할 때 사용한 전처리 방식에 맞춰야 해. ImageNet 사전학습 모델은 정해진 정규화 값인 mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]와 정해진 입력 크기인 보통 224×224를 기대해. torchvision은 weights.transforms()를 통해 올바른 변환을 제공해. 그걸 쓰고 직접 다시 만들지 마.