AI/AI Info
Learning Rate: 너무 빠르면 폭주, 너무 느리면 정체되는 학습의 속도계
HEAD1TON
2025. 6. 16. 19:15
🚦 학습률이란?
학습률(Learning Rate, η)은 Optimizer가 파라미터를 얼마나 크게 업데이트할지를 결정하는 계수입니다.
손실 함수를 따라 내려가야 하는데,
“얼마만큼 한 걸음씩 내딛을 것인가?”를 결정하는 것이 학습률입니다.
🧭 다시 보는 업데이트 식
앞서 본 Optimizer 식을 다시 보면:
scss
복사편집
θ ← θ - η * ∇L(θ)
여기서 η가 바로 학습률입니다.
- 너무 크면? → Loss 지형에서 최저점을 지나쳐서 진동하거나 발산
- 너무 작으면? → 업데이트가 느려서 학습 시간이 너무 길어지거나 정체
📉 학습률이 너무 클 때 / 작을 때
상황증상그래프 형태
너무 큼 | Loss가 발산하거나 진동 | 뾰족한 진동, 학습 실패 |
너무 작음 | Loss가 거의 줄지 않음 | 평평한 감소, 수렴 실패 |
적절함 | Loss가 점진적으로 감소 | 부드럽게 수렴 |
실무에서는 종종 학습률이 잘못 설정되어서 모델이 전혀 학습되지 않는 경우가 많습니다.
🧪 실무 전략: Learning Rate 조정 팁
- 가장 먼저 튜닝해야 할 하이퍼파라미터
- 성능이 안 나올 땐 우선적으로 학습률을 점검하세요.
- Learning Rate Scheduler 활용
- 학습이 진행될수록 η를 점점 줄이는 방식
- Exponential decay, Step decay, Cosine annealing 등 다양함
- Warmup 기법
- 초반 몇 epoch 동안 η를 천천히 키워서 모델이 안정적으로 수렴하게 함
- 특히 Transformer 구조에 중요
- One-cycle Policy (Leslie Smith)
- 학습률을 한 번 올렸다가 천천히 줄이는 스케줄
- 최근 고성능 비전/텍스트 모델에서 널리 사용
📏 Learning Rate 찾는 방법
- Grid Search 또는 Learning Rate Finder (fastai, PyTorch 지원)
- 지수적으로 증가시키며 Loss의 변화를 관찰 →
급격히 줄기 시작하는 구간을 적절한 시작점으로 사용
# PyTorch 예시 (fastai 스타일)
from fastai.callback.schedule import lr_find learn.lr_find()
🔥 실무 예시: GPT Fine-tuning의 경우
- GPT 모델을 파인튜닝할 때 적절한 학습률은 5e-5 ~ 5e-6 수준으로 아주 작습니다.
- 너무 크게 설정하면 언어 능력을 잃고, 의미 없는 출력을 생성하게 됩니다.
✨ 마무리 요약
- Learning Rate는 학습의 보폭을 조절하는 핵심 변수
- 너무 크면 발산, 너무 작으면 정체
- 실무에서는 Scheduler나 Warmup을 통한 동적 조절이 매우 중요
- 잘못된 학습률은 좋은 모델도 학습을 망친다