학습률
1. 개요
학습률은 기계 학습 모델의 학습 과정에서 사용되는 하이퍼파라미터로, 모델의 가중치 업데이트 정도를 결정한다. 학습률 스케줄링은 학습률을 에포크 또는 반복 횟수에 따라 변경하는 기법으로, 감쇠, 모멘텀 등의 매개변수를 활용한다. 학습률 스케줄링에는 시간 기반, 단계 기반, 지수 기반 방식이 있으며, 감쇠는 학습을 안정화시키고 진동을 방지하며, 모멘텀은 학습 속도를 높이고 지역 최소점을 회피하는 역할을 한다. 적응형 학습률 알고리즘은 학습 세션마다 수동으로 학습률을 설정해야 하는 문제를 해결하기 위해 제안되었으며, AdaGrad, Adadelta, RMSProp, Adam 등이 있다.
-
최적화 알고리즘 및 방법 -
신뢰 영역
신뢰 영역 방법은 비선형 최적화에서 함수의 모델을 신뢰할 수 있는 영역 내에서만 사용하여 최적화를 수행하는 방법으로, 다양한 분야에서 전역 최적해를 찾기 위한 도구로 활용된다. -
최적화 알고리즘 및 방법 -
확률적 계획법
확률적 계획법은 불확실한 상황에서 최적의 의사 결정을 내리기 위한 수학적 방법론으로, 다양한 확률적 프로그래밍 기법을 포함하며, 생물학, 경제, 금융 공학 등 여러 분야에 응용된다. -
기계 학습 -
비지도 학습
비지도 학습은 레이블이 없는 데이터를 통해 패턴을 발견하고 데이터 구조를 파악하는 것을 목표로 하며, 주성분 분석, 군집 분석, 차원 축소 등의 방법을 사용한다. -
기계 학습 -
지도 학습
지도 학습은 레이블된 데이터를 사용하여 입력 데이터와 출력 레이블 간의 관계를 학습하는 기계 학습 분야로, 예측 모델 생성, 알고리즘 선택, 모델 최적화, 정확도 평가 단계를 거치며, 회귀 및 분류 문제에 적용되고 다양한 확장 기법과 성능 평가 방법을 활용한다.
2. 학습률 스케줄링
초기 학습률은 시스템 기본값으로 두거나 다양한 기법을 사용하여 선택할 수 있다. 학습률 스케줄은 학습 과정에서 학습률을 변경하며, 대개 에포크/반복 횟수 사이에 변경된다. 이는 주로 '감쇠'와 '모멘텀'의 두 가지 매개변수를 사용하여 수행된다.
모멘텀은 언덕을 굴러 내려가는 공과 유사하게 작동한다. 즉, 오차 비용 기울기가 오랫동안 같은 방향으로 향할 때 학습을 가속화(학습률 증가)하고, 작은 요철을 '넘어감'으로써 지역 최소점을 회피하도록 돕는다. 모멘텀은 공의 질량과 유사한 하이퍼파라미터로 제어되며, 너무 높으면 최소점을 지나치고 너무 낮으면 효과가 없다. 모멘텀을 고려한 공식은 Keras와 같은 딥러닝 라이브러리에 내장되어 있다.
학습률 스케줄에는 시간 기반, 단계 기반, 지수 기반등 여러 종류가 있다.
2.1. 시간 기반 스케줄링
시간 기반 학습 스케줄은 이전 시간 반복의 학습률에 따라 학습률을 변경한다. 감쇠를 고려한 학습률의 수학적 공식은 다음과 같다.
:
여기서 는 학습률, 는 감쇠 매개변수, 은 반복 단계이다.
2.2. 단계 기반 스케줄링
단계 기반 학습 스케줄링은 미리 정의된 단계에 따라 학습률을 변경한다. 감쇠 적용 공식은 다음과 같이 정의된다.
:
여기서 은 반복 에서의 학습률, 는 초기 학습률, 는 각 감소 시 학습률이 얼마나 변경되어야 하는지(0.5는 반으로 줄이는 것에 해당)를 나타내며, 은 '감소율', 즉 학습률을 얼마나 자주 감소시켜야 하는지(10은 10번 반복마다 감소하는 것에 해당)를 나타낸다. 여기서 바닥 함수()는 1보다 작은 모든 값에 대해 입력 값을 0으로 내린다.
2.3. 지수 기반 스케줄링
지수 기반 학습 스케줄링은 단계 기반과 유사하지만, 단계 대신 감소하는 지수 함수가 사용된다. 감쇠를 고려한 수학적 공식은 다음과 같다.
:
여기서 는 감쇠 매개변수이다.
2.4. 감쇠 (Decay)
감쇠는 학습을 안정적인 지점으로 유도하고 진동을 방지하는 역할을 한다. 너무 높은 고정 학습률은 학습이 최소값을 기준으로 앞뒤로 튀어 오르는 상황을 만들 수 있으며, 이는 하이퍼파라미터로 제어된다.
시간 기반 학습 스케줄은 이전 시간 반복의 학습률에 따라 학습률을 변경한다. 감쇠를 고려한 학습률의 수학적 공식은 다음과 같다.
:
여기서 는 학습률, 는 감쇠 매개변수, 은 반복 단계이다.
단계 기반 학습 스케줄은 몇 가지 미리 정의된 단계에 따라 학습률을 변경한다. 감쇠 적용 공식은 다음과 같이 정의된다.
:
여기서 은 반복 에서의 학습률, 는 초기 학습률, 는 각 감소 시 학습률이 얼마나 변경되어야 하는지(0.5는 반으로 줄이는 것에 해당)를 나타내며, 은 '감소율', 즉 학습률을 얼마나 자주 감소시켜야 하는지(10은 10번 반복마다 감소하는 것에 해당)를 나타낸다. 여기서 바닥 함수()는 1보다 작은 모든 값에 대해 입력 값을 0으로 내린다.
지수 기반 학습 스케줄은 단계 기반과 유사하지만, 단계 대신 감소하는 지수 함수가 사용된다. 감쇠를 고려한 수학적 공식은 다음과 같다.
:
여기서 는 감쇠 매개변수이다.
2.5. 모멘텀 (Momentum)
모멘텀은 언덕을 굴러 내려가는 공과 유사하다. 공이 언덕의 가장 낮은 지점(최소 오차에 해당)에 도달하기를 원한다. 모멘텀은 오차 비용 기울기가 오랫동안 같은 방향으로 향할 때 학습을 가속화(학습률 증가)하고, 작은 요철을 '넘어감'으로써 지역 최소점을 회피한다. 모멘텀은 공의 질량과 유사한 하이퍼파라미터로 제어되며, 수동으로 선택해야 한다. 너무 높으면 공이 찾고 싶은 최소점을 넘어갈 것이고, 너무 낮으면 목적을 달성하지 못할 것이다. 모멘텀을 고려한 공식은 감쇠보다 복잡하지만, Keras와 같은 딥러닝 라이브러리에 가장 많이 내장되어 있다.
3. 적응형 학습률
학습률 스케줄의 문제는 학습 세션마다 수동으로 선택해야 하고 문제나 사용된 모델에 따라 크게 달라질 수 있는 하이퍼파라미터에 모두 의존한다는 것이다. 이를 해결하기 위해 적응형 경사 하강 알고리즘에는 Adagrad, Adadelta, RMSprop, Adam과 같은 다양한 유형이 있으며, 일반적으로 케라스(Keras)와 같은 딥 러닝 라이브러리에 내장되어 있다.
3.1. AdaGrad
AdaGrad는 각 매개변수에 대한 학습률을 조정하기 위해 이전 기울기의 제곱 합을 사용한다. Adagrad는 적응형 경사 하강 알고리즘의 한 유형으로, RMSprop, Adam 등과 함께 사용된다. 이러한 알고리즘은 일반적으로 케라스와 같은 딥 러닝 라이브러리에 내장되어 있다.
3.2. Adadelta
Adadelta는 AdaGrad의 학습률 감소 문제를 개선한 방법이다. 적응형 경사 하강 알고리즘에는 Adagrad, Adadelta, RMSprop, Adam과 같은 다양한 유형이 있으며, 일반적으로 케라스(Keras)와 같은 딥 러닝 라이브러리에 내장되어 있다.
3.3. RMSProp
RMSProp은 AdaGrad의 학습률 감소 문제를 해결하기 위해 제안된 방법으로, Adadelta와 유사하다. RMSProp은 적응형 경사 하강 알고리즘의 한 종류이며, 케라스(Keras)와 같은 딥 러닝 라이브러리에 내장되어 있는 경우가 많다.
3.4. Adam
Adam은 RMSProp과 모멘텀을 결합한 방법으로, 현재 가장 널리 사용되는 적응형 학습률 알고리즘 중 하나이다. Adam은 Adagrad, Adadelta, RMSprop와 함께 적응형 경사 하강 알고리즘의 한 유형이며, 케라스(Keras)와 같은 딥 러닝 라이브러리에 내장되어 있는 경우가 일반적이다.