%3C/text%3E%3C/svg%3E">
💻
💻 IT·개발

학습률 스케줄 계산기 (워밍업 + 코사인)

입력하면 바로 계산됩니다.

입력값

학습률 스케줄 계산기 쉽게 이해하기 — 개념과 원리

이 계산기는 딥러닝에서 널리 쓰이는 "선형 웜업 + 코사인 감쇠" 스케줄에서 특정 학습 단계의 학습률을 구합니다. 지금 옵티마이저가 실제로 어떤 학습률을 쓰고 있는지 확인하거나, 체크포인트에서 학습을 이어 갈 때, 긴 학습을 시작하기 전에 스케줄을 비교할 때 유용합니다.

웜업 + 코사인 감쇠 학습률 스케줄학습률은 2,000단계 동안 3e-4까지 오른 뒤 코사인을 따라 3e-5까지 내려갑니다. 50,000단계의 배율은 0.564로 1.69e-4입니다.천천히 올라간 뒤 코사인 언덕을 내려오기최대 3e-4웜업 2,000단계바닥 3e-550,000단계0100,00050,000p = 0.49048,000 ÷ 98,000→0.1 + 0.9 × 0.516 = 0.564배율 (코사인 부분 0.516)LR = 3e-4 × 0.564 ≈ 1.69e-4= 0.000169327
짧은 웜업 뒤 부드러운 코사인 하강입니다. 50,000단계는 중간을 조금 앞둔 지점으로 1.69e-4입니다.

계산 방법

m은 최소 학습률을 최대값에 대한 비율로 나타낸 값입니다. 단계는 에포크가 아니라 가중치를 한 번 갱신하는 횟수입니다.

원리

학습 초기에는 가중치가 무작위이고 Adam 같은 적응형 옵티마이저의 기울기 통계도 불안정해서, 처음부터 큰 보폭으로 움직이면 학습이 발산하기 쉽습니다. 웜업은 보폭이 작은 동안 이 통계가 자리 잡게 해 줍니다. 그 뒤에는 큰 학습률로 빠르게 탐색하고, 점차 줄여 좋은 최솟값 근처에 안착하게 합니다. 0.5 × (1 + cos(πp))는 p가 0에서 1로 갈 때 1에서 0으로 부드럽게 줄어드는데, 처음과 끝은 완만하고 중간에서 가장 빠르게 감소합니다. m은 바닥값을 두어 학습률이 0이 되지 않게 합니다. 이 모양은 SGDR(Loshchilov와 Hutter)에서 재시작 없이 가져온 것입니다.

예제 풀이

  1. 입력값: 최대 학습률 3e-4, 웜업 2,000, 전체 100,000, 현재 단계 50,000, 최소 비율 0.1입니다.
  2. 50,000은 웜업 이후이므로 코사인 식을 씁니다.
  3. p = 48,000 ÷ 98,000 ≈ 0.48980입니다.
  4. cos(π × 0.48980) ≈ 0.03205이므로 0.5 × (1 + 0.03205) ≈ 0.51603입니다.
  5. 배율 = 0.1 + 0.9 × 0.51603 ≈ 0.56442입니다.
  6. 학습률 = 3e-4 × 0.56442 ≈ 0.000169327(약 1.69e-4)입니다.
최대 학습률 값에 따른 해당 스텝의 학습률 변화최대 학습률 값에 따른 해당 스텝의 학습률 변화00.00010.00020.00030.00047.5e-050.000150.0002250.00030.0003750.000450.0006예제 값: 0.000169327최대 학습률
다른 값은 그대로 두고 “최대 학습률”만 바꿔 계산기를 다시 돌린 결과입니다. 금색 점이 예제 값이며, 위에 값을 입력하면 내 값으로 다시 그려집니다.
최대 학습률해당 스텝의 학습률
7.5e-050.0000423317
0.000150.0000846635
0.0002250.0001269952
0.00030.000169327
0.0003750.0002116587
0.000450.0002539904
0.00060.0003386539

결과 해석

배율은 웜업이 끝난 시점에 1.0, 최소 비율이 0.1일 때 감쇠 구간의 정확한 중간에서 0.55, 마지막 단계에서 m이 됩니다. 예제의 50,000단계는 웜업 2,000단계 때문에 감쇠 구간의 중간보다 조금 앞이어서 0.55보다 약간 큽니다. 웜업은 전체의 1~5% 정도, 바닥값은 최대값의 0~0.1배로 두는 경우가 많습니다.

흔한 실수

주의: 이 결과는 특정 스케줄 하나를 보여 줍니다. 프레임워크마다 단계를 0부터 세는지, 웜업 시작값이 0인지 등 세부가 다르므로 정확한 값은 사용하는 라이브러리의 스케줄러 코드로 확인하십시오.

자주 묻는 질문

학습률이 왜 0에서 시작하나요?

0단계에서는 최대값 × 0 ÷ 웜업 = 0이 됩니다. 일부 구현은 0 대신 작은 비율에서 시작하기도 합니다.

전체 단계를 넘기면 어떻게 되나요?

이 식에서는 p가 1을 넘어 코사인 값이 다시 커집니다. 실제 스케줄러는 보통 최소값에서 멈추므로 입력한 전체 단계보다 오래 학습하지 않도록 하십시오.

코사인 감쇠가 선형 감쇠보다 항상 좋은가요?

그렇지 않습니다. 설정할 값이 적고 부드럽게 줄어 널리 쓰일 뿐, 잘 조정한 선형 감쇠도 비슷한 성능을 내는 경우가 많습니다.

출처: I. Loshchilov and F. Hutter, "SGDR: Stochastic Gradient Descent with Warm Restarts", ICLR 2017 · P. Goyal et al., "Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour", arXiv:1706.02677 (2017)

2026년 11월 8일 확인. 표준 공식과 RFC/IEEE 정의를 사용해 브라우저 안에서만 계산합니다. 입력한 내용은 어디에도 전송되지 않습니다.

💻 IT·개발 계산기 전체 →🏠 홍라이프 계산기 홈 →