두 단계 절차를 순서대로 적용해
앞의 세 과에서 배운 부품을 다음 순서로 조립해:
- 백본 고정.
base_model.trainable = False로 새 출력 헤드만 학습하게 해. - 출력 헤드 학습. 일반적인 학습률 약 1e-3으로 약 5~10에포크 학습해 특징 추출 기준선을 만든다.
- 백본 위쪽 레이어 해제. 마지막 블록이나 마지막 약 20개 레이어를 풀고 다시 컴파일해.
- 학습 가능한 부분 전체 미세 조정. 약 1e-5의 매우 낮은 학습률로 약 10~20에포크 더 학습해.
- 비교하고 결정. 2단계가 검증 자료에서 1단계를 실제로 이겼는지 확인하고, 그렇지 않다면 더 단순한 특징 추출 모델을 선택해.
이 순서를 지켜야 하는 이유
새 출력 헤드는 무작위 가중치에서 시작해. 백본을 처음부터 풀면 초기의 큰 그래디언트가 사전 학습 레이어까지 거슬러 흘러가 재사용하려던 특징을 망가뜨리는 파국적 망각이 생길 수 있어. 출력 헤드를 먼저 학습하면 백본을 풀 때 전달되는 그래디언트가 작고 안정돼. 두 번째 단계의 낮은 학습률은 같은 위험을 한 번 더 줄이는 안전장치야.