3-3. 경사 하강법 (Gradient Descent)

경사 하강법의 개념

  • $ax+b$의 식에서 $a,\space b$를 무작위로 먼저 정한다.
  • 이후 $L$ 즉, 손실 값을 최소화 하는 방향으로 나아가자.

손실 값이 최소인 방향은?

  • 그라디언트는 항상 가장 가파른 방향으로 나아간다는 것을 기억하자.
  • 즉, 손실 함수에 대한 편미분을 구하고 그의 반대 방향으로 나아가면 된다.
    • $\nabla L = \begin{bmatrix}\dfrac{\partial L}{\partial a} \ \dfrac{\partial L}{\partial b}\end{bmatrix}\bigg\rvert_{a = a_k, b = b_k}$→ 무작위로 정한 $a$와 $b$의 값이 $a_k$와 $b_k$이다.
    • $\begin{bmatrix}a_{k+1}\b_{k+1}\end{bmatrix} = \begin{bmatrix}a_{k}\b_{k}\end{bmatrix} - \nabla L$ → 이런 식으로 차차 나아가면서 최적의 값을 찾는 것.

학습률 (Learning Rate)

  • 그라디언트에서 제시하는 크기가 생각보다 크기 때문에 최적점을 못 찾을 수도 있다.
  • 그래서 그라디언트의 크기를 조절하기 위해 학습률을 추가한다.
    • $\begin{bmatrix}a_{k+1}\b_{k+1}\end{bmatrix} = \begin{bmatrix}a_{k}\b_{k}\end{bmatrix} - \alpha\nabla L$
  • 학습률은 상수로 놔둬도 이상이 없다.
    • 그 이유는 최적점에 도달할수록 경사가 낮아지기에 그라디언트의 크기가 알아서 줄어들기 때문이다.
  • 하지만 학습률을 변수로 놔두면 안된다는 건 아니다.
    • 학습률을 변수로 두는 것을 스케줄링(Scheduling)이라고 한다.
    • 점차 학습률을 줄어나가는 것인데 이에 대한 방법은 다양하다.

경사 하강법의 단점

  • 너무 신중하게 방향을 정한다.
    • 모든 손실 값에 따라 방향을 정하기 때문에 속도가 너무 느리다.
  • Local Minimum에 빠져서 그곳을 Global Maximum이라고 착각할수도 있다.

Updated: