C.W.K.
Stream
Lesson 06 of 07 · published

Fine-tuning recipe

~8 min · transfer

Level 0Keras 도제
0 XP0/97 lessons0/20 achievements
0/120 XP to next level120 XP to go0% complete

두 phase 레시피, 단계별로

지난 세 lesson 이 부품을 줬으면, 이번엔 그걸 *어떤 순서로* 쓰느냐야. 검증된 흐름은 두 phase 를 순서대로:

  1. base freeze. base_model.trainable = False — 새 head 만 배우게.
  2. head 학습 ~5–10 epoch, 보통 learning rate (~1e-3). 이게 feature-extraction baseline.
  3. base 위쪽 layer unfreeze — 보통 마지막 block 또는 마지막 ~20 layer — 하고 재 compile.
  4. trainable 전부 fine-tune, 아주 낮은 learning rate (~1e-5), ~10–20 epoch 더.
  5. 비교하고 결정. phase 2 가 validation 에서 phase 1 을 진짜 이겼나? 아니면 더 단순한 feature-extraction 모델 출시.

왜 순서를 못 바꾸나

이 순서는 catastrophic forgetting 막으려고 있어. 새 head 는 random weight 로 시작해. base 를 처음부터 풀고 학습하면, 그 random head 가 초반에 큰 gradient 를 뿜고 — 그 gradient 가 pretrained layer 로 거꾸로 흘러서 재활용하러 온 바로 그 feature 를 망가뜨려. head 를 *먼저* 학습하면 합리적 상태가 되니까, base 를 풀 때쯤엔 거기 도달하는 gradient 가 작고 얌전해. phase 2 의 작은 learning rate 가 같은 위험에 대한 두 번째 안전장치야.

External links

Exercise

binary classifier (1000 image) 에 5 단계 레시피 실행. 단계마다 validation accuracy 기록. 추이 그래프. 어느 단계가 가장 큰 이득인지 식별.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.