이번에는 경사하강법을 이용해 최적화를 할 때 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가 너무 크면 근사치를 많이 벗어날 수 있어 학습이 잘 안될 수가 있다.
'머신러닝&딥러닝 > 기초정리' 카테고리의 다른 글
KL-divergence with Gaussian distribution 증명 (0) | 2020.11.26 |
---|---|
Auto Encoder란? - Manifold와 차원 축소 (0) | 2020.03.29 |
Mean Squared Error VS Cross Entropy Error (3) | 2020.03.28 |
Convolution Neural Network 원리와 구조 이해 (0) | 2020.01.03 |
경사하강법 이해(1) (0) | 2019.12.30 |