최적화

Gradient (기울기)와 행렬 미분 (Matrix Derivatives)

Upright_wing 2025. 3. 3. 03:14

 

최적화에서 기울기(Gradient) 는 중요한 역할을 하며, 특히 경사하강법(Gradient Descent)과 같은 최적화 알고리즘에서 필수적으로 사용된다. 기울기는 다변수 함수에서 특정 지점에서의 변화를 나타내며, 함수의 극값(최대 또는 최소)을 찾는 데 활용된다.

1. 행렬 미분 (Matrix Derivatives)

  • 행렬 미분의 기본적인 미분 공식을 정리하면 다음과 같다.

$$ \begin{array}{|c|c|} \hline y & \frac{\partial y}{\partial x} \\ \hline Ax & A^T \\ x^T A & A \\ x^T x & 2x \\ x^T A x & Ax + A^T x \\ \hline \end{array} $$

 

2. 기울기 (Gradient)와 최적화

기울기는 다변수 함수의 변화율을 나타내며, 함수의 최소값 또는 최대값을 찾는 데 핵심적인 역할을 한다.

  • 기울기 벡터 (Gradient Vector)

$$ \nabla_x f(x) = \frac{\partial f}{\partial x} $$ 

이 벡터는 함수가 가장 빠르게 증가하는 방향을 가리킨다.

  • 함수의 최적점을 찾으려면 기울기가 0이 되는 지점을 찾아야 한다.

3. 기울기를 이용한 최적화: 경사하강법 (Gradient Descent)

많은 경우, 최적화 문제를 해석적으로(Analytically) 풀기는 어렵다. 대신 반복적(Iterative)인 방법을 사용하여 근사해를 찾는다.

 

경사하강법 (Gradient Descent) 은 가장 널리 사용되는 방법 중 하나이며, 다음과 같이 갱신된다.

$$ x \leftarrow x - \alpha \nabla_x f(x) $$

여기서,

  • \( x \) : 최적화를 수행할 변수
  • \( \alpha \) : 학습률 (Step Size), 보통 작은 양수
  • \( \nabla_x f(x) \) : 현재 위치에서의 기울기

이 방법은 기울기의 반대 방향으로 이동하면서 최소값을 찾아간다.

3.1. 수렴 조건

  • Convex 함수에서는 Local MinimumGlobal Minimum 이 된다.
  • Non-Convex 함수에서는 여러 개의 Local Minimum 이 존재할 수 있어, 반드시 Global Minimum이 되지는 않는다

4. 경사하강법의 수렴성 (Convergence of Gradient Descent)

4.1. 볼록 함수(Convex Function)일 경우

  • 전역 최소값(Global Minimum)과 지역 최소값(Local Minimum)이 같기 때문에, 적절한 학습률을 사용하면 수렴한다.
  • 수렴 속도를 높이기 위해 모멘텀(Momentum) 기반 기법이나 적응형 학습률(Adaptive Learning Rate) 기법을 적용할 수 있다.