미누에요

[Machine Learning] 경사하강법(Gradient Descent, GD) 본문

AI

[Machine Learning] 경사하강법(Gradient Descent, GD)

미누라니까요 2025. 1. 3. 15:14
728x90
반응형
SMALL

이번 포스팅부터는 모델의 Loss Function의 최소값을 찾아 성능을 향상시키는 최적화(Optimization) 알고리즘에 대해서 설명하겠다.

 

경사하강법(Gradient Descent)

가장 기본적인 최적화 알고리즘이다.

gradient, 즉 기울기를 사용하여 함수의 최솟값을 찾아가는 방법이다.

출처 - https://miro.medium.com/v2/resize:fit:577/1*EZiBCBstS5malFC38HGKig.jpeg

위 사진처럼 Loss Function이 있다고 하자. (Loss Function은 꼭 2차곡선의 형태는 아님, 대부분이 아님)

Loss가 적을수록 손실이 적다는 것이므로 Loss Function의 값이 최소인 곳을 찾아야한다.

 

이 Loss Function의 최솟값을 찾기 위해 우리는 미분을 활용한다.

 

근본적인 개념은 아래와 같다.

 

미분을 하면 접선의 기울기를 얻을 수 있다.
그리고 그 접선이 해당 점에서의 가장 가파른 기울기가 된다.
따라서 그 접선의 방향으로 이동하면, 최솟값의 방향으로 이동할 수 있다.

 

 

정확히는 미분을 통해 만들어낸 접선의 반대방향으로 이동하게 된다.

그리고 우리는 아래 두 가지 개념을 알아야한다.

  • 학습률(Learning Rate)
  • 반복횟수(iteration)

 


학습률(Learning Rate)

아무튼, 이렇게 미분을 통해 방향을 정했다면 얼마나 이동할건지를 정해야한다.

 

이 한번에 이동하는 양을 Learning Rate라고 한다.

 

출처 - https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.javatpoint.com%2Fgradient-descent-in-machine-learning&psig=AOvVaw2V_Wx_rJ30SXJZTt3pOw5y&ust=1735969837832000&source=images&cd=vfe&opi=89978449&ved=0CBcQjhxqFwoTCPjDy9_t2IoDFQAAAAAdAAAAABAQ

 

위 이미지처럼 너무 Learning Rate를 크게 잡는다면 지그재그로 이동하여 최소값 근처에서 머물게 될수도 있고,

반면에 너무 작게 이동하면 너무 오래걸릴 것이다.

 

따라서 적절한 학습률(Learning Rate)를 정하는 게 최적화 성능에 영향을 미친다.

 

 


반복 횟수(iteration)

출처 - https://www.google.com/url?sa=i&url=https%3A%2F%2Ftowardsdatascience.com%2Funderstanding-gradient-descent-for-machine-learning-246e324c229&psig=AOvVaw1SnT8QzpNTBvyZ72K6CEim&ust=1735970859608000&source=images&cd=vfe&opi=89978449&ved=0CBcQjhxqFwoTCODs58bx2IoDFQAAAAAdAAAAABAn

 

말 그대로 계산된 방향과 Learning Rate를 가지고 몇번 이동할지를 말한다.

 

반복 횟수(iteration)이 너무 크면, 최솟값을 지나칠 수 있고, 너무 작다면 최솟값 이전에 머물게 될 것이다.

 


경사하강법의 한계(Limitations of gradient descent)

이렇게 방향과 이동할 횟수를 가지고 있다면 무조건 최솟값을 잘 찾아낼 거 같지만, 현실에서는 전혀 그렇지 않다.

출처 - https://process-mining.tistory.com/175

 

 

실제로 현업에서의 Loss Function은 일반적인 2차원 곡선의 예쁜 형태가 아니다.

훨씬 많은 구덩이들로 이루어져 있고, 사진에서 보이는 Local Optima를 찾는 게 아니라 Global Optimum을 찾아야하는 것이 과제이다.

 Gradient Descent는 이런 Local Optima에 잘 빠져, 쉽게 나오지 못한다는 단점이 존재한다.

 

따라서 이러한 단점을 보완하고, Global Optimum을 찾아가기 위한 여정이 시작된다.

 

 

아직까지 100% Global Optimum을 찾을 수 있는 최적화 알고리즘은 존재하지 않는다.

 

다음 포스팅부터는 나머지 개선된 최적화 알고리즘들에 대해서 설명해보겠다.

728x90
반응형
LIST