Ch.03
학습률 스케줄링: 때에 따라 속도 줄이기
산 정상에서 골짜기 바닥을 향해 눈을 가린 채 내려가야 한다고 상상해 봅시다. 처음에는 큼직큼직한 걸음으로 빠르게 산을 내려가는 것이 효율적입니다. 하지만 바닥에 거의 다다랐을 때는 어떨까요? 여전히 큰 걸음으로 걷다가는 골짜기 바닥을 훌쩍 건너뛰어 반대편 산등성이로 올라가 버리며 주변을 빙빙 맴돌게 됩니다.
이전 장에서 배운 옵티마이저가 어느 방향으로 걸을지 나침반 역할을 했다면, 이번 장에서 배울 학습률 스케줄러(Learning Rate Scheduler)는 언제 보폭을 좁힐지 결정하는 브레이크와 엑셀 역할을 합니다. 처음엔 넓은 보폭으로 시원하게 지형을 탐색하고, 목적지에 가까워질수록 작은 보폭으로 정밀하게 착지하여 모델의 잠재력을 100% 끌어내는 다양한 실전 속도 조절 전략들을 알아봅니다.
Ch.02 옵티마이저가 방향(나침반)을 정했다면, Ch.03 스케줄러는 보폭(브레이크·엑셀)을 조절합니다. 아래는 에폭에 따른 학습률 곡선 비교입니다.
고정StepCosineWarmup+Cosine
애니메이션이 고정 → Step → Cosine → Warmup+Cosine 순으로 순환합니다. 점이 곡선을 따라 이동하며 지금 보폭이 얼마나 큰지 직관적으로 확인할 수 있습니다.
한 걸음의 순서: 오차 확인 → 걸음 내딛기 → 다음 보폭 정하기
스케줄러는 매 에폭(또는 스텝)마다 옵티마이저에 넘길 다음 보폭을 정해 줍니다
- ① 고정 학습률: 처음부터 끝까지 같은 보폭 — 후반에 목적지를 스쳐 지나칠 수 있음
- ② Step decay: 30·60·90층처럼 정해진 에폭마다 보폭을 덜컹 줄임
- ③ Cosine: 롤러코스터처럼 부드럽게 감속 — 긴 학습·문장 AI에 자주 씀
- ④ Warmup+Cosine: 엔진 예열 후 부드럽게 감속 — Ch.02 옵티마이저와 찰떡
학습률 스케줄링: 때에 따라 속도 줄이기
1. 학습률 스케줄링이란? (고정 보폭의 함정)
개념: Ch.02 옵티마이저가 “어느 방향으로 걸을지” 정했다면, 학습률 스케줄링은 “지금 보폭(학습률 )을 얼마나 크게 둘지”를 학습 진행에 맞춰 바꾸는 기술입니다. 매번 옵티마이저에 넘기는 가 달라지며, 같은 상황이라도 한 걸음의 크기가 시간에 따라 변합니다.
직관적 비유: 등산에서 처음엔 넓은 길로 빠르게 내려가고, 골짜기 바닥에 가까워질수록 발걸음을 줄여 정확히 착지하는 것과 같습니다. 처음부터 끝까지 같은 보폭만 쓰면, 초반엔 너무 느리고 후반엔 최저점을 스쳐 지나치며 영원히 진동할 수 있습니다.
실전 팁: Ch.02에서 방향을 정했다면, Ch.03은 시간에 따른 보폭 설계입니다. 메모에 ‘오늘 보폭·오차’를 같이 적어 두면, “언제 브레이크를 밟았는지”와 “성적이 어떻게 반응했는지”를 한눈에 연결할 수 있습니다.
2. 계단식 감쇠: 덜컹, 브레이크 밟기
개념: 정해진 구간(에폭)마다 학습률을 보통 10분의 1(×0.1, ) 정도로 확 줄입니다. N구간마다 한 번 줄이거나, 30·60·90처럼 여러 시점에서 각각 줄일 수 있습니다.
직관적 비유: 고층 엘리베이터가 30·60·90층을 지날 때마다 속도를 덜컹 줄이는 것과 같습니다. “언제” 줄일지만 정해 두면, 나머지는 스케줄러가 알아서 보폭을 조절합니다.
실전 팁: 사진 분류처럼 오래 학습할 때 자주 쓰는 방법입니다. 를 너무 작게(0.01 등) 또는 너무 일찍 주면 덜 배운 채로 굳을 수 있으니, 감쇠 횟수·시점을 메모해 두세요.
3. 부드러운 감속과 예열 (Cosine & Warmup)
개념: 코사인 감속은 를 계단 없이 부드럽게 줄여, 후반에 미세 조정에 유리합니다. 웜업(예열)은 학습 맨 초반에만 를 0→목표치까지 천천히 올려 큰 보폭 충격을 완화합니다.
직관적 비유: 코사인은 롤러코스터가 정차할 때처럼 매끄럽게 감속하고, 웜업은 추운 아침 엔진 예열—갑자기 엑셀을 밟지 않고 천천히 rpm을 올리는 것과 같습니다.
실전 팁: 문장 AI·이미지 AI처럼 큰 모델을 학습할 때 예열 + 부드러운 감속 조합이 많습니다. 예열 구간은 전체의 5~10% 정도로 두는 경우가 많고, Ch.02 옵티마이저와 짝을 이루면 초반 오차가 튀는 현상을 크게 줄일 수 있습니다.
4. 성적 기반 감속 (Plateau)과 원사이클 (OneCycle)
개념: Plateau는 시계가 아니라 시험 성적(검증 손실·정확도)을 봅니다. patience 구간 동안 성적이 안 오르면 그때 를 factor(예: 0.1)만큼 곱해 줄입니다. OneCycle은 짧은 학습 동안 를 크게 올렸다가 다시 내리는 한 사이클 전략입니다.
직관적 비유: Plateau는 정체 구간에서만 네비가 “속도 줄이세요”라고 말하고, OneCycle은 짧은 질주 코스—출발 직후 가속해 넓게 탐색한 뒤 마지막에 부드럽게 감속합니다.
실전 팁: 데이터·모델 크기를 모를 때 Plateau는 “막혔을 때만” 개입하는 안전한 선택입니다. OneCycle은 짧은 연습·시험에 유리합니다. Ch.02 옵티마이저와 함께 쓰면 “방향 + 속도”가 모두 갖춰집니다.
스케줄러 한눈에 짚기
Step / MultiStep — N 구간(또는 시점)마다 . 는 보통 0.1(10분의 1). 오래 학습할 때 자주 쓰는 계단식 감쇠.
Cosine Annealing — . 롤러코스터처럼 부드럽게 감속, 후반 미세 조정에 유리.
Warmup — 초반 구간 동안 처럼 천천히 올림. 큰 모델 초반 오차가 튀는 것을 완화.
ReduceLROnPlateau — patience 구간 동안 시험 성적 개선 없으면 . “막혔을 때만” 브레이크.
왜 중요한지
1. 같은 학습 시간, 더 좋은 결과
적절한 스케줄링은 같은 시간에도 더 낮은 오차와 높은 정확도를 자주 가져옵니다. 보폭을 줄이지 않으면 후반 마무리 다듬기가 어렵지만, 후반에 보폭을 줄이면 골짜기 바닥에 정밀 착지할 수 있습니다. 일찍 수렴하면 학습 시간·실험 횟수 모두 절약됩니다.
2. Ch.02 옵티마이저의 ‘반쪽’을 완성한다
옵티마이저는 방향과 자리마다 다른 보폭을 잡지만, 시간에 따라 전체 보폭을 줄이는 역할은 스케줄러 몫입니다. 예열 없이 큰 초기 → 오차 폭주; 후반 감쇠 없음 → 최저점 주변 영원한 지그재그. 옵티마이저만 바꿔도 안 되던 실험이, 스케줄 하나 추가로 수렴하는 경우가 많습니다.
3. 성적이 안 오를 때 먼저 볼 그래프
성적이 안 오를 때 보폭(학습률) 그래프를 보면 원인 단서가 바로 나옵니다. 완전히 평평(━) → 스케줄 갱신 누락·타이밍 오류를 의심; 너무 일찍 급감 → 덜 배움; 끝까지 큼 → 후반 진동·미수렴. 스케줄러는 Ch.02의 학습률·옵티마이저와 함께 가장 먼저 확인할 세트입니다.
어떻게 쓰이는지
① 처음·중간·끝 — 보폭은 달라야 합니다
낯선 마을을 돌아볼 때 큰길→골목→문 앞 한 걸음씩, 학습도 탐색 → 수렴 → 착지 3막으로 나누면 이해가 쉽습니다. 초반 큰 로 넓게 훑고, 중반부터 브레이크를 밟아, 후반 작은 로 최적점 근처를 다듬습니다. 스케줄러는 “지금이 1막인지 3막인지” 알려 주는 타이머입니다.
② 스케줄러마다 성격이 다릅니다 — 상황에 맞게 고르기
Step은 정해진 시점마다 확 깎는 엘리베이터식(오래 학습할 때). Cosine은 부드러운 후반 감속(긴 학습·문장 AI). Warmup은 초반만 예열(큰 모델). Plateau는 시험 성적 정체 때만 개입. OneCycle은 짧은 연습·시험용. 정답은 하나가 아니라, 상황에 맞는 운전 스타일을 고르는 일입니다.
③ 한 걸음의 황금 순서 — 순서가 바뀌면 스케줄이 안 먹힙니다
등산 비유로, ① 얼마나 가파른지 확인(오차·손실) → ② 그 방향으로 실제로 한 걸음(Ch.02 옵티마이저) → ③ 다음 걸음의 보폭 정하기(스케줄러). 이 세 단계가 한 세트입니다. Plateau처럼 성적을 보는 스케줄은 시험 점수(검증 손실)가 오르지 않을 때만 브레이크를 밟습니다.
④ 학습률·오차 그래프를 같이 보세요
오차가 맴돌다가 보폭을 줄인 바로 그 순간 곡선이 ‘폭포처럼’ 내려가면 스케줄이 잘 맞은 것입니다. 반대로 너무 일찍 보폭을 줄이면 덜 배운 채로 굳을 수 있습니다.
증상별 첫 대응: 초반 오차 폭주 → 보폭 낮추기 + Warmup; 후반 지그재그·정체 → Cosine/Step/Plateau; 보폭 그래프가 일자(━) → 스케줄 갱신 누락·단위 혼동 확인. 한 번에 변수 하나만 바꾸며 메모하면 학습 리듬 설계가 쌓입니다.
요약
한 줄 요약: 학습률 스케줄링은 보폭()을 학습 진행에 맞춰 조절해, 초반 빠른 탐색과 후반 정밀 착지를 동시에 노리는 필수 기술입니다.
핵심 스케줄러: Step(계단 감쇠), Cosine(부드러운 감속), Warmup(초반 예열), Plateau(성적 정체 시만), OneCycle(짧은 연습) — 상황에 맞게 선택합니다.
실무 점검 (증상 → 우선 확인)
- 초반 오차 폭주: 보폭 낮추기, Warmup
- 후반 지그재그·미수렴: Cosine/Step/Plateau, ·patience
- 보폭 그래프가 평평(━): 스케줄 갱신 누락·구간 단위 혼동
- 시험 성적만 정체: Plateau, 데이터·모델 설정 점검
튜닝 순서: 1) 오차·보폭 메모 확인 → 2) 기본 보폭·Warmup → 3) Ch.02 옵티마이저 → 4) 스케줄 선택 → 5) 한 번에 한 가지만 변경
Ch.02 옵티마이저(나침반) + Ch.03 스케줄러(브레이크·엑셀) = 실무 표준 세트입니다.
문제 풀이를 위한 설명
학습률 스케줄링은 Ch.02 옵티마이저가 정한 방향으로 내딛는 보폭(학습률)을 시간·성적에 따라 바꾸는 과정입니다. Step은 계단식 감쇠, Cosine은 부드럽게 감속, Warmup은 초반에만 보폭을 올려 충격을 완화하며, Plateau는 시험 성적 정체 시만 개입합니다. 한 걸음의 순서는 오차 확인 → 옵티마이저로 이동 → 다음 보폭 갱신이며, Plateau는 검증 성적을 함께 봅니다. 초반 오차 폭주 → Warmup; 후반 지그재그 → Cosine/Step/Plateau; 보폭 그래프가 일자(━) → 스케줄 갱신 누락을 먼저 의심하세요.
예시 (정의)
"계단식 감쇠에서 N구간마다 에 곱하는 계수를 부르는 이름은?
① patience
② gamma
③ beta"
감쇠 계수는 (gamma)이다. → 정답 2
예시 (응용)
"문장 AI 학습 초반 오차가 불안정하다. Ch.02 옵티마이저와 함께 먼저 검토할 조합은?
① 예열 + 부드러운 감속
② 보폭 무한 증가
③ 스케줄러 제거만"
초반 불안정 → 예열 + 부드러운 감속 조합을 우선 검토한다. → 정답 1
예시 (계산)
, , Step decay 2회 적용 후 (×1000, 정수)는?
→ ×1000 = 1. → 정답 1
정의 예시 — "Warmup의 주된 목적은?
① 데이터 증강
② 초반 큰 학습률로 인한 불안정 완화
③ 가중치 0" → Warmup은 초반에 를 천천히 올려 충격을 완화한다. 정답 2
참/거짓 예시 — "Plateau는 검증 성적을 본다." → 맞음. 정답 1
응용 예시 — "검증 손실이 5 에폭 연속 개선되지 않을 때" → Plateau가 검증 정체 시 개입한다. 정답 1
선택 예시 — "후반 부드러운 감속에 더 가까운 것은?
① 계단식만
② Cosine" → Cosine은 부드럽게 감속한다. 정답 2
개념 예시 — "Ch.02 옵티마이저 + Ch.03 스케줄 조합이 흔한 이유?
① 방향과 시간별 보폭이 서로 보완
② 역전파 대체" → 옵티마이저와 스케줄러는 상보 관계이다. 정답 1
계산 예시 — "샘플 128, 배치 32일 때 한 에폭 스텝 수(정수)?" → . 정답 4