학습률은 경사하강법에서 「한 번에 파라미터를 얼마만큼 옮길지 정하는 작은 숫자」입니다.
이름은 평범하지만 머신러닝 학습 성공·실패의 가장 큰 변수 중 하나로, 흔히 「딥러닝의 가장 중요한 하이퍼파라미터」로 꼽힙니다.
비유하자면 학습률은 「산을 내려갈 때 한 걸음의 보폭」입니다.
너무 작은 보폭(예: 0.0001)은 안전하지만 골짜기에 도달하기까지 며칠이 걸립니다.
너무 큰 보폭(예: 1.0)은 빠르지만 골짜기를 훌쩍 건너뛰어 다른 산기슭으로 발사되거나 진동만 합니다.
현실에서는 보통 0.001~0.0001 사이의 값으로 시작해 모델이 학습되는 모습을 보고 조정합니다.
손실이 천천히 줄지 않으면 학습률을 키우고, 손실이 크게 진동하거나 NaN(숫자가 발산)이 나오면 학습률을 줄입니다.
더 영리한 방법으로 「학습률 스케줄링(learning rate scheduling)」이 있습니다.
학습 초반에는 보폭을 크게(빠르게 골짜기로 접근), 후반에는 작게(미세 조정) 자동으로 줄여 가는 전략입니다.
「코사인 스케줄」, 「스텝 디케이」 등이 자주 쓰이는 형태입니다.
또 매우 큰 모델 학습에서는 「워밍업(warmup)」이라는 기법도 흔합니다.
학습 초반의 첫 1~10% 스텝 동안에는 학습률을 0에서 시작해 천천히 올리는 방식으로, 큰 모델이 초반에 무너지지 않도록 도와 줍니다.
Transformer 학습에서 표준처럼 쓰입니다.
한 줄 요약
학습률은 경사하강법의 한 걸음 보폭으로, 너무 작으면 학습이 느리고 너무 크면 발산합니다.
스케줄링과 워밍업으로 학습 성공률을 높일 수 있습니다.
더 알아볼 것
- 코사인 학습률 스케줄
- One Cycle Policy
- 적응적 학습률 — Adam·AdamW