머신 러닝과 통계학에서 학습률(learning rate)은 최적화 알고리즘의 튜닝 매개변수로, 손실 함수의 최솟값을 향해 이동하는 각 반복 단계에서의 스텝 크기를 결정한다. 학습률은 새로 획득한 정보가 기존 정보를 얼마나 덮어쓰는지에 영향을 미치므로, 머신 러닝 모델이 "학습하는" 속도를 은유적으로 나타낸다. 적응 제어 문헌에서는 학습률을 흔히 이득(gain)이라고 부른다.
학습률을 설정하는 것은 수렴 속도와 오버슈팅 사이의 절충을 수반한다. 하강 방향은 일반적으로 손실 함수의 기울기로 결정되지만, 학습률은 그 방향으로 얼마나 큰 스텝을 취할지 결정한다. 학습률이 너무 높으면 학습이 최솟값을 뛰어넘을 수 있고, 너무 낮으면 수렴하는 데 너무 오래 걸리거나 바람직하지 않은 국소 최솟값에 갇힐 수 있다. 더 빠른 수렴을 달성하고, 진동을 방지하며, 바람직하지 않은 국소 최솟값에 갇히는 것을 피하기 위해, 학습률은 훈련 중에 학습률 스케줄에 따라 또는 적응형 학습률을 사용하여 종종 변화된다. 학습률과 그 조정은 매개변수마다 다를 수도 있으며, 이 경우 이는 대각 행렬로 뉴턴 방법에서 헤세 행렬의 역행렬에 대한 근사로 해석될 수 있다. 학습률은 준뉴턴 방법 및 관련 최적화 알고리즘에서 부정확한 선탐색에 의해 결정되는 스텝 길이와 관련이 있다.
학습률 스케줄
초기 학습률은 시스템 기본값으로 남겨두거나 다양한 기법을 사용하여 선택할 수 있다. 학습률 스케줄은 학습 중에 학습률을 변경하며, 대부분 에폭 또는 반복 사이에 변경된다. 이는 주로 감쇠(decay)와 모멘텀(momentum)이라는 두 매개변수로 수행된다. 다양한 학습률 스케줄이 있지만, 가장 일반적인 것은 시간 기반, 단계 기반, 지수 기반이다.
감쇠는 학습을 적절한 지점에 안정시키고 진동을 피하는 역할을 하며, 이는 너무 높은 일정한 학습률이 학습을 최솟값 위에서 앞뒤로 뛰게 하는 상황에서 발생할 수 있다. 감쇠는 하이퍼파라미터에 의해 제어된다.
모멘텀은 언덕을 굴러 내려가는 공에 비유된다. 목표는 공이 언덕의 가장 낮은 지점(가장 낮은 오차에 해당)에 정착하는 것이다. 모멘텀은 오차 비용 기울기가 오랫동안 같은 방향으로 향할 때 학습을 가속화하고(학습률 증가), 작은 범프를 '굴러 넘어' 국소 최솟값을 피한다. 모멘텀은 공의 질량에 비유되는 하이퍼파라미터에 의해 제어되며, 이는 수동으로 선택해야 한다 - 너무 높으면 찾고자 하는 최솟값을 넘어 굴러가고, 너무 낮으면 목적을 달성하지 못한다. 모멘텀을 반영하는 공식은 감쇠보다 더 복잡하지만, Keras와 같은 딥 러닝 라이브러리에 대부분 내장되어 있다.
시간 기반 학습률 스케줄은 이전 시간 반복의 학습률에 따라 학습률을 변경한다. 감쇠를 반영한 수학적 공식은 다음과 같다:
η_{n+1} = η₀ / (1 + d n)
여기서 η는 학습률, η₀는 원래 학습률, d는 감쇠 매개변수, n은 반복 단계이다.
단계 기반 학습률 스케줄은 사전 정의된 단계에 따라 학습률을 변경한다. 감쇠 적용 공식은 다음과 같이 정의된다:
η_n = η₀ d^(⌊(1+n)/r⌋)
여기서 η_n은 반복 n에서의 학습률, η₀는 초기 학습률, d는 각 감소 시 학습률이 얼마나 변해야 하는지(0.5는 절반 감소에 해당), r은 감소율 또는 학습률이 감소되는 빈도(10은 10회 반복마다 감소에 해당)를 나타낸다. 바닥 함수(⌊…⌋)는 입력 값을 1보다 작은 모든 값에 대해 0으로 떨어뜨린다.
지수 기반 학습률 스케줄은 단계 기반과 유사하지만, 단계 대신 감소하는 지수 함수를 사용한다. 감쇠를 반영한 수학적 공식은 다음과 같다:
η_n = η₀ e^(−d n)
여기서 d는 감쇠 매개변수이다.
적응형 학습률
학습률 스케줄의 문제는 모두 각 학습 세션에 대해 수동으로 선택해야 하고 문제나 사용된 모델에 따라 크게 달라질 수 있는 하이퍼파라미터에 의존한다는 점이다. 이를 해결하기 위해 Adagrad, Adadelta, RMSprop, Adam과 같은 다양한 유형의 적응형 경사 하강 알고리즘이 있으며, 이는 일반적으로 Keras와 같은 딥 러닝 라이브러리에 내장되어 있다.
딥 러닝에서의 역할
학습률 스케줄러는 현대 신경망, 딥 러닝 모델 및 대규모 언어 모델을 훈련하는 데 중요한 구성 요소이다. 실제로 TensorFlow 및 PyTorch와 같은 프레임워크는 내장된 스케줄러 구현을 제공한다. 예를 들어, OpenAI와 Anthropic은 트랜스포머 기반 모델을 훈련할 때 안정적인 수렴을 보장하기 위해 정교한 스케줄링 기법을 사용한다. 마찬가지로 Google DeepMind와 Meta AI는 대규모 훈련 실행을 위해 맞춤형 스케줄러를 사용한다.
실용적 고려 사항
적절한 학습률 스케줄을 선택하는 것은 종종 실험을 수반한다. 일반적인 관행에는 작은 값에서 학습률을 선형적으로 증가시키는 워밍업 단계를 사용한 후 감쇠 단계를 따르는 것이 포함된다. 이 접근 방식은 초기 반복에서 훈련을 안정화하는 데 도움이 된다. 또한 코사인 어닐링 및 주기적 학습률과 같은 일부 스케줄러는 날카로운 최솟값을 벗어나는 능력으로 인해 인기를 얻었다.