새소식

ML | AI/내용 정리 - 2022.04.26

Gradient Descent(경사 하강법)에서 Learning Rate(학습률)를 작게 설정하는 이유

  • -

이유?

딥러닝은 Loss function의 최적해를 탐색하기 위해서 Gradient Descent(경사 하강법)를 활용한다.

경사 하강법은 반복적으로 $\theta$를 $\theta+\Delta\theta$ 로 수정하며 최적해를 얻는 방법이고,

Loss 함수의 1차 테일러 근사식이기도 하다.

 

근사식의 오차를 줄이기 위해선 Learning Rate(학습률)이 작아야 하고, 이것이 바로 학습률을 작은 값으로 설정하는 이유다.

 

수식으로 확인하기

$\theta+\Delta\theta$ 에서의 Loss는 다음과 같이 표현할 수 있다.

 

$$L(\theta + \Delta\theta)$$

 

테일러 전개의 기본 형태는 $f(x) = \sum_{n=0}^\infty \frac{f^{(n)}(a)}{n!} (x-a)^n$ 이며

적절한 형태로 변형하면 다음과 같다.

 

$$L(\theta+\Delta\theta) = \sum_{n=0}^\infty \frac{L^{(n)}(\theta)}{n!} (\Delta\theta)^n$$

$$L(\theta+\Delta\theta) = L(\theta) + \dot{L(\theta)}\Delta\theta + \frac{\ddot{L(\theta)}(\Delta\theta)^{2}}{2} + \cdots$$

 

경사 하강법은 테일러 전개의 1차항 근사식이다. 따라서 근사식과 실제 식과의 오차가 적으려면 $\Delta\theta$의 크기가 매우 작아야 하며 실제로 $\Delta\theta$가 매우 작다면 오차는 $O(\Delta\theta)^{2}$ 수준 밖에 안될 것이다.

 

이 경우 다음 식을 만족한다.

 

$$L(\theta+\Delta\theta) \simeq L(\theta) + \dot{L(\theta)}\Delta\theta$$

 

이때, Loss의 변화량 $L(\theta+\Delta\theta) - L(\theta) = \Delta L$라고 하면 다음과 같다.

 

$$\Delta L = \dot{L(\theta)}\Delta\theta$$

 

경사 하강법에선 $\Delta L$은 음의 부호(감소)를 가지기 때문에, 우변도 음의 부호를 가져야 한다.

우변이 $\dot{L(\theta)}$ 값과 상관 없이, 음의 부호를 가지기 위해선 $\Delta\theta = -\alpha \dot{L(\theta)}$를 만족해야 한다. 이를 통해 최종적으로 다음 식을 얻을 수 있다.

 

$$\Delta L = -\alpha\dot{L(\theta)}^{2}$$

 

앞서 근사식의 오차를 줄이기 위해서 $\Delta\theta$를 매우 작게 설정했기 때문에 상수인 $\alpha$ 또한 작은 값으로 설정해야 한다. 이는 경사 하강법의 근사가 매우 작은 크기로 $\theta$를 변화 시키는 $\alpha$에서만 가능하다는 것을 의미한다.

 

여기서 $\alpha$는 일반적으로 Learning Rate(학습률)로 불리며 실제로 $1e^{-3}, 1e^{-4}$과 같이 작은 값을 사용한다.


참고

오토 인코더의 모든 것 - 1

 

10.3. Gradient Descent — Dive into Deep Learning 0.7 documentation

 

classic.d2l.ai

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.