I'm Lim

Gradient Descent / Newton Method 본문

Deep Learning/Fundamental

Gradient Descent / Newton Method

imlim 2022. 12. 28. 20:52

Introduction

   딥러닝은 optimizer로 Gradient Descent 기반의 기법을 사용합니다. 그러나, Quasi-Newton Method라는 다른 대안도 있습니다. 이 글에서는 왜 Quasi-Newton Method가 아닌 Gradient Descent을 사용하는지에 대해 알아보려고 합니다.

Gradient Descent

  Gradient Descent의 기본적인 공식은 아래와 같습니다.

 

θ=θηθJ(θ)

 

Gradient Descent은 극소점을 찾는 것이 그 목적입니다. 위 식을 보면 알 수 있듯이, J(θ) 즉, 기울기가 0이 되버리는 순간에는 더 이상 θ가 변하지 않고, 이는 극점을 뜻합니다. 또한, 기울기의 반대방향으로 θ를 업데이트 시킴으로써 극대가 아닌 극소점을 찾아가는 방식입니다. 

Newton Method

  Newton Method은 함수의 기울기가 0이 되는 지점을 찾는 방식입니다. 수식은 아래와 같습니다.

 

xn+1=xn+f(xn)f

 

이를 행렬로 확장시키게 되면 아래와 같습니다.

 

\large {X_{n+1} = X_n + \nabla^2 f(X_n)^{-1} f(X_n)}

 

위 식은 이차미분을 진행해야 된다 큰 문제를 갖습니다 (이는 컴퓨터 계산량을 아주 많이 높이게 됩니다). 따라서, 이 이차미분을 근사화 시키겠다는 것이 Quasi-Newton Method 입니다.

Quasi-Newton Method

  그러면, 이차미분의 문제가 풀렸으니 Quasi-Newton Method 쓰면 되지 않나? 라는 의문이 당연히 생깁니다. 그러나, Loss function이 완벽한 이차함수를 이루지 않는 이상 Quasi-Newton Method는 불안정하다고 합니다 [ 1 ]. 따라서, Loss function 대부분이 이차함수가 아닌 딥러닝에서는 Gradient Descent를 optimizer로 채택한 것 같습니다.


Reference

[ 1 ] https://stats.stackexchange.com/questions/253632/why-is-newtons-method-not-widely-used-in-machine-learning

'Deep Learning > Fundamental' 카테고리의 다른 글

Vanishing gradient / Exploding gradient  (0) 2022.11.29
Activation function / Overfitting problem  (0) 2022.11.28
Global Minima / Local Minima / Saddle Point  (0) 2022.09.18
Multi Layer Perceptron  (0) 2022.08.09
Back Propagation  (0) 2022.08.08
Comments