7.20 헤시안 행렬의 정의와 대칭성

1. 헤시안 행렬의 정의

n변수 스칼라 함수 f: \mathbb{R}^n \to \mathbb{R}가 두 번 연속 미분 가능(C^2급)일 때, 헤시안 행렬(Hessian matrix) \mathbf{H}_f(\mathbf{x})f의 모든 이계 편도함수(second-order partial derivative)를 성분으로 가지는 n \times n 행렬로 정의된다.

\mathbf{H}_f(\mathbf{x}) = \nabla^2 f(\mathbf{x}) = \begin{pmatrix} \dfrac{\partial^2 f}{\partial x_1^2} & \dfrac{\partial^2 f}{\partial x_1 \partial x_2} & \cdots & \dfrac{\partial^2 f}{\partial x_1 \partial x_n} \\[10pt] \dfrac{\partial^2 f}{\partial x_2 \partial x_1} & \dfrac{\partial^2 f}{\partial x_2^2} & \cdots & \dfrac{\partial^2 f}{\partial x_2 \partial x_n} \\[10pt] \vdots & \vdots & \ddots & \vdots \\[10pt] \dfrac{\partial^2 f}{\partial x_n \partial x_1} & \dfrac{\partial^2 f}{\partial x_n \partial x_2} & \cdots & \dfrac{\partial^2 f}{\partial x_n^2} \end{pmatrix}

(i, j) 성분은

[\mathbf{H}_f(\mathbf{x})]_{ij} = \frac{\partial^2 f}{\partial x_i \partial x_j}(\mathbf{x})

이다. 헤시안 행렬은 그래디언트 벡터 \nabla f(\mathbf{x})의 야코비 행렬(Jacobian matrix)로도 해석할 수 있다. 즉,

\mathbf{H}_f(\mathbf{x}) = \mathbf{J}_{\nabla f}(\mathbf{x})

이 성립한다.

2. 헤시안 행렬의 대칭성

2.1 클레로 정리에 의한 대칭성

fC^2급, 즉 모든 이계 편도함수가 연속이면, 클레로 정리(Clairaut’s theorem, 또는 슈바르츠 정리 Schwarz’s theorem)에 의해 혼합 편도함수(mixed partial derivative)의 순서를 교환할 수 있다.

\frac{\partial^2 f}{\partial x_i \partial x_j} = \frac{\partial^2 f}{\partial x_j \partial x_i}, \quad \forall\, i, j \in \{1, 2, \dots, n\}

따라서 헤시안 행렬은 대칭 행렬(symmetric matrix)이다.

\mathbf{H}_f(\mathbf{x}) = \mathbf{H}_f^T(\mathbf{x})

이 대칭성은 fC^2급이라는 조건 아래에서 항상 성립하며, 대부분의 로봇공학 응용에서 다루는 함수는 이 조건을 만족한다.

2.2 대칭성의 함의

대칭 실수 행렬은 다음의 중요한 성질을 가진다.

  1. 실수 고유값. 스펙트럼 정리(spectral theorem)에 의해 \mathbf{H}_f의 모든 고유값(eigenvalue) \lambda_1, \lambda_2, \dots, \lambda_n은 실수이다.
  2. 직교 고유 벡터. \mathbf{H}_f는 직교 행렬(orthogonal matrix) \mathbf{Q}에 의해 대각화(diagonalization)가 가능하다.

\mathbf{H}_f = \mathbf{Q} \boldsymbol{\Lambda} \mathbf{Q}^T

여기서 \boldsymbol{\Lambda} = \text{diag}(\lambda_1, \lambda_2, \dots, \lambda_n)이다. 고유 벡터 \mathbf{q}_1, \mathbf{q}_2, \dots, \mathbf{q}_n은 서로 직교하며, 각각 f의 주곡률(principal curvature) 방향에 대응한다.

  1. 이차 형식의 분류. 헤시안 행렬에 의해 정의되는 이차 형식 \mathbf{v}^T \mathbf{H}_f \mathbf{v}의 부호는 고유값의 부호에 의해 완전히 결정된다.

3. 이계 편도함수의 연속성과 대칭성의 관계

클레로 정리의 조건이 위배되는 경우, 즉 이계 편도함수가 불연속인 점에서는 혼합 편도함수의 교환이 성립하지 않을 수 있다. 다음의 반례(counterexample)를 고려하라.

f(x, y) = \begin{cases} \dfrac{xy(x^2 - y^2)}{x^2 + y^2}, & (x, y) \neq (0, 0) \\[8pt] 0, & (x, y) = (0, 0) \end{cases}

이 함수에 대해 원점에서

\frac{\partial^2 f}{\partial x \partial y}(0, 0) = -1, \quad \frac{\partial^2 f}{\partial y \partial x}(0, 0) = 1

이 성립한다(Apostol, 1974). 이계 편도함수가 원점에서 불연속이므로 클레로 정리의 전제 조건이 성립하지 않으며, 결과적으로 헤시안 행렬이 대칭이 아니게 된다.

로봇공학에서 다루는 비용 함수, 에너지 함수, 운동학 함수 등은 일반적으로 해석적(analytic)이거나 충분히 매끄러운 C^\infty급 함수이므로, 헤시안 행렬의 대칭성이 보장된다.

4. 구체적 계산 예시

4.1 이차 함수의 헤시안

이차 함수 f(\mathbf{x}) = \frac{1}{2} \mathbf{x}^T \mathbf{A} \mathbf{x} + \mathbf{b}^T \mathbf{x} + c에서 \mathbf{A}가 대칭 행렬일 때, 그래디언트와 헤시안은

\nabla f(\mathbf{x}) = \mathbf{A} \mathbf{x} + \mathbf{b}

\mathbf{H}_f(\mathbf{x}) = \mathbf{A}

이다. 이차 함수의 헤시안은 상수 행렬로서 위치 \mathbf{x}에 의존하지 않는다. \mathbf{A}가 대칭이 아닌 경우에도, \mathbf{H}_f = \frac{1}{2}(\mathbf{A} + \mathbf{A}^T)로 대칭 부분만 헤시안에 기여한다.

4.2 유클리드 거리 제곱 함수의 헤시안

목표점 \mathbf{x}_g까지의 거리 제곱 함수 f(\mathbf{x}) = \frac{1}{2} \lVert \mathbf{x} - \mathbf{x}_g \rVert^2의 헤시안은

\mathbf{H}_f(\mathbf{x}) = \mathbf{I}_n

로 항등 행렬(identity matrix)이다. 모든 고유값이 1이므로 양정치(positive definite)이며, 이는 f가 모든 방향에서 동일한 곡률을 가지는 볼록 함수(convex function)임을 의미한다.

4.3 합성 함수의 헤시안

f(\mathbf{x}) = g(\mathbf{h}(\mathbf{x}))에서 g: \mathbb{R} \to \mathbb{R}, \mathbf{h}: \mathbb{R}^n \to \mathbb{R}일 때, 연쇄 법칙에 의한 헤시안은

\mathbf{H}_f(\mathbf{x}) = g''(h) \nabla h \, \nabla h^T + g'(h) \mathbf{H}_h(\mathbf{x})

이다. 여기서 h = h(\mathbf{x})이며, \nabla h \, \nabla h^T는 그래디언트의 외적(outer product)으로서 계수 1(rank-1)의 대칭 행렬이다. 이 공식은 로봇공학에서 비용 함수가 거리, 에너지, 각도 등의 중간 변수를 거쳐 정의될 때 헤시안을 효율적으로 계산하는 데 활용된다.

5. 벡터 함수의 헤시안 텐서

벡터값 함수 \mathbf{f}: \mathbb{R}^n \to \mathbb{R}^m의 경우, 각 성분 함수 f_k에 대한 헤시안 행렬 \mathbf{H}_{f_k}를 모으면 3차 텐서(third-order tensor)가 된다.

[\mathcal{H}_{\mathbf{f}}]_{ijk} = \frac{\partial^2 f_k}{\partial x_i \partial x_j}

로봇 기구학의 정기구학(forward kinematics) 함수 \mathbf{f}(\mathbf{q})에 대한 헤시안 텐서는 관절 공간의 곡률 정보를 담고 있으며, 특이점(singularity) 근방에서의 해석이나 이차 미분 기구학(second-order differential kinematics)에서 중요하다.

6. 수치적 헤시안 근사

6.1 유한 차분에 의한 근사

해석적 이계 도함수를 구하기 어려운 경우, 유한 차분(finite difference)으로 헤시안 성분을 근사할 수 있다.

대각 성분:

\frac{\partial^2 f}{\partial x_i^2} \approx \frac{f(\mathbf{x} + h \mathbf{e}_i) - 2f(\mathbf{x}) + f(\mathbf{x} - h \mathbf{e}_i)}{h^2}

비대각 성분:

\frac{\partial^2 f}{\partial x_i \partial x_j} \approx \frac{f(\mathbf{x} + h \mathbf{e}_i + h \mathbf{e}_j) - f(\mathbf{x} + h \mathbf{e}_i - h \mathbf{e}_j) - f(\mathbf{x} - h \mathbf{e}_i + h \mathbf{e}_j) + f(\mathbf{x} - h \mathbf{e}_i - h \mathbf{e}_j)}{4h^2}

여기서 \mathbf{e}_ii번째 표준 기저 벡터이고, h > 0는 차분 간격이다. 완전한 n \times n 헤시안을 계산하기 위해서는 O(n^2)회의 함수 평가가 필요하며, 대칭성을 이용하면 비대각 성분의 계산 횟수를 n(n-1)/2로 줄일 수 있다.

6.2 BFGS 근사

뉴턴 방법이나 준뉴턴 방법(quasi-Newton method)에서는 연속적인 그래디언트 정보를 축적하여 헤시안의 역행렬을 점진적으로 근사하는 BFGS(Broyden-Fletcher-Goldfarb-Shanno) 갱신 공식을 사용한다. 갱신 공식은

\mathbf{B}_{k+1} = \mathbf{B}_k + \frac{\mathbf{y}_k \mathbf{y}_k^T}{\mathbf{y}_k^T \mathbf{s}_k} - \frac{\mathbf{B}_k \mathbf{s}_k \mathbf{s}_k^T \mathbf{B}_k}{\mathbf{s}_k^T \mathbf{B}_k \mathbf{s}_k}

이며, 여기서 \mathbf{s}_k = \mathbf{x}_{k+1} - \mathbf{x}_k, \mathbf{y}_k = \nabla f(\mathbf{x}_{k+1}) - \nabla f(\mathbf{x}_k)이다. 초기 추정 \mathbf{B}_0가 대칭 양정치이고 \mathbf{y}_k^T \mathbf{s}_k > 0이면, \mathbf{B}_{k+1}도 대칭 양정치가 유지된다.

7. 헤시안 행렬의 좌표 변환

변수 변환 \mathbf{x} = \boldsymbol{\psi}(\mathbf{u})에 의해 새로운 좌표 \mathbf{u}에서의 함수 \tilde{f}(\mathbf{u}) = f(\boldsymbol{\psi}(\mathbf{u}))의 헤시안은

\mathbf{H}_{\tilde{f}}(\mathbf{u}) = \mathbf{J}_\psi^T \, \mathbf{H}_f(\boldsymbol{\psi}(\mathbf{u})) \, \mathbf{J}_\psi + \sum_{k=1}^{n} \frac{\partial f}{\partial x_k} \mathbf{H}_{\psi_k}(\mathbf{u})

이다. 여기서 \mathbf{J}_\psi = \partial \boldsymbol{\psi} / \partial \mathbf{u}는 변환의 야코비 행렬이며, \mathbf{H}_{\psi_k}\boldsymbol{\psi}k번째 성분의 헤시안이다. 임계점(\nabla f = \mathbf{0})에서는 두 번째 항이 소거되어

\mathbf{H}_{\tilde{f}} = \mathbf{J}_\psi^T \, \mathbf{H}_f \, \mathbf{J}_\psi

로 단순화된다. 이 변환 법칙은 로봇 기구학에서 작업 공간과 관절 공간 사이의 헤시안 변환에 직접 적용된다.


8. 참고 문헌

  • Apostol, T. M. (1974). Mathematical Analysis. 2nd ed. Addison-Wesley.
  • Magnus, J. R., & Neudecker, H. (2019). Matrix Differential Calculus with Applications in Statistics and Econometrics. 3rd ed. Wiley.
  • Nocedal, J., & Wright, S. J. (2006). Numerical Optimization. 2nd ed. Springer.
  • Boyd, S., & Vandenberghe, L. (2004). Convex Optimization. Cambridge University Press.
  • Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.

v 0.2