머신러닝&딥러닝/기초정리

경사하강법 이해(2) - Learning Rate란?

Like_Me 2020. 3. 28. 16:42

  이번에는 경사하강법을 이용해 최적화를 할 때 Learning Rate(학습률)을 사용하는 이유를 알아 볼 것이다.

  경사하강법은 이전 글에서 작성한 것처럼 Loss값을 줄이는 과정으로 파라미터를 업데이트하는 과정인데 이를 수식으로 작성하면 다음처럼 표현할 수 있다.  $L(\theta+\Delta \theta) < L(\theta)$

위의 조건의 만족되면 Loss가 계속 줄어가는 것이니 학습이 잘 되는 것이다. $L(\theta+\Delta \theta)$ 를 Taylor 정리를 사용하면 다음과 같이 나타낼 수 있다. $$L(\theta+\Delta \theta) = L(\theta) + \bigtriangledown L * \Delta \theta + \frac{1} {2}\bigtriangledown^{2} L * \Delta \theta^{2} ...$$

위의 식은 무한대 항까지 가지므로 1차 미분항까지만 근사해서 Second Derivative항부터는 고려하지 않고 사용한다. 그럼 다음과 같은 식이 된다. 

$$L(\theta+\Delta \theta) \approx  L(\theta) + \bigtriangledown L * \Delta \theta$$

$$L(\theta+\Delta \theta) - L(\theta) = \Delta L = \bigtriangledown L * \Delta\theta$$

$\Delta L$ 이 음수가 되어야 Loss가 줄어들게 된다. $\Delta\theta = -\bigtriangledown L$ 이면  $\Delta L = - \left \| \bigtriangledown L \right \|^{2} $ 을 만족하여 Loss를 줄일 수 있게 된다.

 

이때, Taylor 정리의 First Derivative까지 만을 고려하였으므로 실제 함수와 근사하였을 뿐이라는 것을 고려하여야 한다. (예를 들어 y=Sin(x)는 y=x에 대해 0에서 근사하지만 0을 조금만 벗어나면 그 오차가 굉장히 커지게 되는 것과 같다.) 그러므로 아주 좁은 영역에서만 감소 방향이 정확하기 때문에 Learning Rate을 사용하여 조금씩 파라미터 값을 바꾸는 것이다!

따라서 위의 수식을 다음과 같이 쓸 수 있다.  $$\Delta L = -\eta \left \| \bigtriangledown L \right \|^{2}$$ $$\Delta\theta = \theta_{k+1} - \theta_{k} = - \eta \bigtriangledown L(\theta_{k} , D) $$

 ($\eta$ 가 Learning Rate)

이러한 이유로 Learning Rate가 너무 크면 근사치를 많이 벗어날 수 있어 학습이 잘 안될 수가 있다.