이유?
딥러닝은 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}$과 같이 작은 값을 사용한다.
참고