Gradient

정의 및 표현

  • 그래디언트(Gradient)는 다변수 함수와 편미분에서 스칼라 함수의 모든 1차 편미분을 하나의 벡터로 모은 것으로, 각 축 방향의 기울기를 하나의 벡터로 표현한 것이다.
  • Nabla () 기호를 사용하여 표현하며, 함수 의 그래디언트는 다음과 같다.
  • 예를 들어, 다음 이변수 함수 에 대한 그래디언트는 다음과 같다.

Gradient의 기하학적 의미

  • (Gradient 벡터의 방향) Gradient 의 방향은 함수 가장 빠르게 증가하는 방향을 가리키며, 반대로 는 가장 빨리 감소하는 방향을 가리킨다.
  • (Gradient 벡터의 크기) Gradient 의 크기 는 함수 증가율(Magnitude)을 나타낸다.
  • 예를 들어, 함수일 때, Gradient는 다음과 같다.
  • 여기서, 현재 위치에서 방향으로 이동할수록 함수값 가 가장 빠르게 증가한다.
  • 또한 Gradient 벡터의 크기는 그 방향으로의 증가율을 의미한다.
  • 만약 현재 위치가 이라면 이고, 현재 위치를 기준으로 방향으로, 즉 를 가리키는 방향으로 증가할 수록 값이 가장 크게 증가한다.
  • 다음은 함수 의 각 위치에서의 Gradient 벡터의 방향 및 증가율을 표현한 것이다. +full

Gradient의 역할

  • Gradient는 어떤 함수를 최적화하기 위한 가장 기본적인 도구로써, 현재 위치에서 함수가 어떻게 변하는지 알려주는 벡터라 할 수 있다.
  • (딥러닝) Gradient Descent 방법은 손실함수 Loss를 최소화하기 위해 현재 위치에서 손실함수가 가장 빨리 감소하는 방향 으로 값을 조정한다.
  • 딥러닝에서는 모든 가중치(Weight)에 대해 Gradient를 계산하고, Gradient Descent를 이용해 가중치를 업데이트 한다.
  • (컴퓨터 비전) 영상 에서 Gradient를 표현하면 가 되고, 이 Gradient가 크면 밝기가 급격히 변하며 edge 성분을 검출할 수 있다.
  • 엣지 검출 및 밝기 분석 등 다양한 영상처리 분야에서 Gradient가 사용된다.
  • (최적화) 로보틱스, SLAM, 다변수 함수 테일러 근사, Newton Method 등 매우 다양한 최적화 문제에서 오류 및 비용을 최소화하는 도구로써 널리 사용된다.

Jacobian

정의 및 표현

  • Jacobian(야코비안)은 모든 벡터들의 1차 편미분값으로 구성된 행렬이다.
  • Gradient는 다변수 스칼라 함수에 대한 1차 편미분값인 반면, Jacobian은 다변수 벡터 함수 (vector-valued multivariable function) 일 때의 미분값으로 정의된다.
  • 즉, 다변수 함수에 대해 Gradient는 출력이 하나인 스칼라 함수를 다루는 반면, Jacobian은 출력이 n개인 함수를 다룬다.
  • 함수 에 대한 Jacobian 행렬 는 다음과 같다.
  • 예를 들어, 다음 다변수 벡터 함수 에 대한 Jacobian 행렬은 다음과 같다.

Jacobian의 기하학적 의미

  • Jacobian은 다변수 벡터 함수가 국소적으로 어떻게 동작하는지, 즉 입력 공간의 변화가 출력 공간의 변화로 어떻게 매핑되는지를 선형적으로 설명하는 도구이다.
  • (선형 근사) Jacobian 행렬은 다변수 벡터 함수 의 한 지점에서의 최적 선형 근사를 나타낸다. 즉, 주어진 점에서 함수가 어떻게 변화하는지를 선형 변환으로 설명한다.
    • 함수 가 점 근처에서 어떻게 변하는지 다음과 같이 근사할 수 있다.
- 이는 입력 공간의 작은 변화량 $\Delta x$가 출력 공간에서 $J_{f}(a)\Delta x$로 변환됨을 의미한다.
  • (공간 변환) Jacobian은 입력 공간의 작은 벡터나 미소 영역이 함수에 의해 출력 공간에서 어떻게 확대, 축소, 회전 또는 변형되는지를 설명한다.
  • (야코비안 행렬식 - Jacobian Determinant) 입력과 출력의 차원이 같은 경우, Jacobian 행렬식 ()은 함수가 해당 지점에서 넓이 또는 부피를 얼마나 스케일링하는지를 나타내는 국소적인 스케일링 인자이다.
  • 이는 다중 적분에서 변수 변환을 할 때 중요한 역할을 한다.
  • 또한, Gradient 역시 Jacobian의 하나의 종류라 볼 수 있으며, 스칼라 함수에 대해 Jacobian의 성질을 포함한다.

  • 예를 들어, 다음 다변수 벡터 함수 에 대한 Jacobian은 아래와 같다.
  • 여기서 입력값 에서의 함수값과 Jacobian 값을 각각 구하면 다음과 같다.
  • 즉 입력이 의 차이 만큼 변화할 때, 실제 출력은 만큼 변화 했다.
  • Jacobian은 입력의 변화에 대한 출력 변화를 선형으로 근사하기 때문에 다음 식을 계산하면,
  • 비선형 함수 에서 오차가 크게 발생하였으며, 입력 변화 가 작아질 수록 오차가 Jacobian 근사는 정확해진다.

Jacobian의 역할

  • Jacobian은 다변수 벡터 함수의 미분 정보를 담고 있어 다양한 분야에서 중요한 역할을 한다.
  • (다변수 연쇄 법칙) 딥러닝의 역전파와 같이 여러 함수가 합성된 경우, 최종 함수의 미분을 각 함수의 Jacobian 행렬의 곱으로 표현하여 연쇄 법칙을 일반화한다.
  • (변수 변환) 다중 적분에서 변수 변환을 할 때, 새로운 좌표계에서 미소 부피(또는 넓이) 요소가 어떻게 스케일링되는지를 나타내는 Jacobian 행렬식이 사용된다. 극좌표계나 구면 좌표계로 변환하여 적분할 때 필수적.
  • (최적화) 뉴턴-랩슨(Newton-Raphson) 방법과 같은 비선형 방정식 시스템을 풀거나 다변수 함수의 최적화 문제에서 해를 반복적으로 근사하는 데 활용된다.

Hessian

정의 및 표현

  • Hessian(헤시안) 행렬은 다변수 스칼라 함수의 모든 2차 편미분값으로 구성된 정방 행렬이다.
  • 함수 의 Hessian 행렬 는 다음과 같이 정의된다.
  • 만약 함수 가 연속적인 2차 편미분을 가진다면, 클레로의 정리(Clairaut’s Theorem)에 의해 교차 편미분 항은 같아진다. 즉 이므로 , Hessian 행렬은 대칭 행렬이 된다.
  • 예를 들어, 다음 이변수 함수 에 대한 Hessian 행렬은 다음과 같다.
  • 1차 편미분 (Gradient) :
  • 2차 편미분 (Hessian) :

Hessian의 기하학적 의미

  • (함수의 곡률) 헤시안 행렬은 다변수 함수의 곡률(Curvature) 에 대한 정보를 제공한다. 즉, 함수 그래프가 특정 지점에서 얼마나 휘어져 있는지, 그리고 어떤 방향으로 휘어져 있는지를 나타낸다.
  • Gradient가 함수가 가장 빠르게 증가하는 방향이었다면, Hessian은 기울기의 변화량(Gradient가 얼마나 빨리 변하는지)을 알려준다.
    • 비선형 함수 의 기울기 이며, 이므로 기울기가 2만큼 계속 커진다 (가속도) = 곡선이 위로 휘어있다.
    • 직선 함수 의 기울기 이며, 이므로 곡률이 없다.
  • (최적화 지점 분류) Hessian 행렬의 고유값(eigenvalues)을 활용하여 다변수 함수의 임계점(기울기가 0인 지점)이 극소점(local minimum), 극대점(local maximum), 또는 안장점(saddle point) 인지 판별하는 데 사용된다 (2차 도함수 판정법의 다변수 함수 버전).
    • 양의 정부호(Positive Definite): 헤시안 행렬이 양의 정부호이면, 해당 임계점은 극소점이다. (모든 방향으로 오목하게 위로 볼록한 형태)
    • 음의 정부호(Negative Definite): 헤시안 행렬이 음의 정부호이면, 해당 임계점은 극대점이다. (모든 방향으로 볼록하게 아래로 오목한 형태)
    • 부정부호(Indefinite): 헤시안 행렬이 부정부호이면, 해당 임계점은 안장점이다. (어떤 방향으로는 오목하고 다른 방향으로는 볼록한 형태)
    • 준정부호(Semi-definite): 헤시안 행렬이 준정부호이면, 추가적인 분석이 필요하다.
  • 예를 들어, 함수에서 Gradient는 아래와 같다.
  • 여기서, 모든 1차 편미분 값이 동시에 0이 되는 지점. 즉, 기울기가 0인 임계점은 이 된다.
  • Hessian 행렬 는 상수 행렬이므로, 임계점 에서의 Hessian 행렬도 동일하다.
  • 행렬 의 교유값은 2와 -2가 되며, 교유값 중 양수와 음수가 모두 존재하므로 부정부호(Indefinite)이며, 따라서 임계점 은 안장점(Saddle Point)이 된다.

Hessian의 역할

  • (최적화) 다변수 함수의 최적화 문제에서 극소점, 극대점, 안장점을 찾는 데 핵심적인 역할을 한다.
  • Newton Method와 같은 2차 최적화 알고리즘은 헤시안 행렬(또는 그 역행렬)을 사용하여 최적해로 수렴하는 방향과 스텝 크기를 결정한다. 이는 Gradient Descent보다 더 빠르게 수렴할 수 있다.
  • (딥러닝): 딥러닝에서 2차 최적화 기법(예: Quasi-Newton methods)은 헤시안 행렬의 근사치를 사용하여 가중치 업데이트 방향을 결정한다.
  • (테일러 급수 근사) 다변수 함수의 2차 테일러 급수 전개에서 헤시안 행렬은 함수의 2차 항을 구성하는 데 사용된다. 이를 통해 함수를 특정 지점 근처에서 2차 다항식으로 근사할 수 있다.

Gradient, Jacobian, Hessian 비교

항목GradientJacobianHessian
대상 함수스칼라 함수벡터 함수스칼라 함수
구성1차 편미분1차 편미분2차 편미분
형태벡터행렬행렬
의미함수가 가장 빠르게 증가하는 방향입력 변화에 따른 출력 변화의 선형 근사함수의 곡률(기울기의 변화율)