헤시안 행렬 (Hessian Matrix)

수학
한 줄 정의: 함수가 여러 방향으로 얼마나 휘어져 있는지(곡률)를 변수 쌍마다 정리한 2차 미분값들의 표입니다.
헤시안 행렬헤시안 행렬: 임계점 판정 아래에 극솟값, 극댓값, 안장점.임계점 판정기울기 0인 점의헤시안극솟값고유값 모두 양수극댓값고유값 모두 음수안장점고유값 부호 섞임헤시안 = 변수 쌍마다 2차 미분값을 모은 표, 고유값은 방향별 곡률한계고유값에 0이 섞이면 이 기준만으로는 판정할 수 없음한계변수가 많으면 계산 비용 급증 — 준뉴턴 근사나 1차 미분만 쓰는경사하강법으로 대신헤시안 행렬헤시안 행렬: 임계점 판정 아래에 극솟값, 극댓값, 안장점.임계점 판정기울기 0인 점의 헤시안극솟값고유값 모두 양수극댓값고유값 모두 음수안장점고유값 부호 섞임헤시안 = 변수 쌍마다 2차 미분값을 모은 표, 고유값은방향별 곡률한계고유값에 0이 섞이면 이 기준만으로는 판정할 수없음한계변수가 많으면 계산 비용 급증 — 준뉴턴 근사나1차 미분만 쓰는 경사하강법으로 대신

쉽게 풀면

산의 어느 지점에 서 있다고 해봅시다. 그 지점이 정말 정상(꼭대기)인지, 아니면 골짜기 바닥인지, 혹은 말안장처럼 한쪽은 오르막이고 다른 쪽은 내리막인 지점인지 알고 싶습니다. 기울기(1차 미분)만 봐서는 "평평하다"는 것만 알 수 있고, 어떤 모양인지는 알 수 없습니다.

이때 필요한 것이 헤시안 행렬(Hessian Matrix)입니다. 여러 방향으로 얼마나 볼록하게 또는 오목하게 휘어져 있는지를 2차 미분값들로 정리해 두면, 그 지점이 최댓값인지 최솟값인지 안장점인지 구분할 수 있습니다.

왜 중요한가

헤시안 행렬은 함수의 곡률 정보를 담고 있어, 최적화 문제에서 어떤 지점이 최솟값인지 안장점인지를 판별하거나 더 빠르게 수렴하는 최적화 알고리즘을 설계하는 데 핵심적으로 쓰입니다. 딥러닝의 손실함수처럼 복잡한 비볼록 함수를 다룰 때는 헤시안의 성질을 분석함으로써 학습이 왜 정체되는지, 지역 최솟값과 안장점을 어떻게 구분하는지에 대한 통찰을 얻을 수 있습니다. 이 때문에 최적화 이론뿐 아니라 딥러닝 이론 연구에서도 자주 다뤄집니다.

핵심 정리

스칼라 함수 f(x₁, …, xn)의 헤시안 행렬 H는 2차 편미분을 모은 n×n 행렬이고, 원소는 Hij = ∂²f / ∂xi∂xj입니다. 2차 도함수가 연속이면 ∂²f/∂xi∂xj = ∂²f/∂xj∂xi이므로 H는 대칭 행렬입니다.

헤시안은 곡률 정보를 담고 있어 최적화에서 세 가지로 쓰입니다(Nocedal & Wright, 2006).

예시로 보기

계산 예 1(임계점 판정). f(x, y) = x³ − 3x + y²의 기울기는 (3x² − 3, 2y)이므로 임계점은 (1, 0)과 (−1, 0)입니다. 헤시안은 [[6x, 0], [0, 2]]입니다(코드로 계산).

계산 예 2(뉴턴 방법). 이차함수 f(x, y) = x² + xy + y²의 헤시안은 H = [[2, 1], [1, 2]]이고 한 점 (3, 3)에서 기울기는 (9, 9)입니다. 뉴턴 한 걸음은 (3, 3) − H⁻¹(9, 9) = (0, 0)으로, 이차함수에서는 한 걸음에 최솟값에 도달합니다.

자주 하는 오해

논문에서는 이렇게 쓰입니다

실제 논문에서

이 용어를 직접 쓴 국내 논문 문장을 아직 수집하지 못했습니다. 수집되는 대로 출처와 함께 싣겠습니다.

예시 문장

아래는 용어의 쓰임을 보여 주려고 만든 예시로, 실제 논문에서 가져온 문장이 아닙니다.

"손실함수의 헤시안 행렬(Hessian matrix)이 양의 정부호(positive definite)임을 확인하여 학습 종료 지점이 지역 최솟값임을 검증하였다."

이 문장은 모델 학습이 멈춘 지점에서 손실함수의 곡률을 계산해 보니 모든 방향으로 오목하게 위로 휘어 있어서(양의 정부호), 그 지점이 진짜 최솟값이 맞다는 것을 수학적으로 확인했다는 뜻입니다. 뉴턴 계열의 최적화 방법에서는 경사하강법보다 빠르게 수렴하기 위해 헤시안 행렬을 직접 활용하기도 합니다.

"제안된 준뉴턴 방법은 헤시안 행렬을 직접 계산하는 대신 근사값을 갱신하여 계산 비용을 크게 줄였다."

수치최적화 연구에서 헤시안 전체를 매번 구하는 대신 근사치를 활용해 효율을 높이는 접근이 흔히 쓰인다는 것을 보여주는 문장이다.

"신경망 손실함수의 헤시안 고유값 분포를 분석한 결과, 대부분의 고유값이 0에 가까워 손실 지형이 매우 평탄한 방향을 다수 포함하고 있음을 확인하였다."

딥러닝 이론 연구에서 헤시안의 고유값 분포를 통해 손실 지형의 구조를 분석하는 방식이 사용된다는 것을 보여주는 문장이다.

조금 더 깊게 보면

헤시안 행렬의 고유값은 각 방향으로의 곡률을 나타내며, 모든 고유값이 양수이면 극솟값, 모두 음수이면 극댓값, 부호가 섞여 있으면 안장점임을 시사합니다. 변수 개수가 매우 많을 때는 헤시안 전체를 계산하는 대신 준뉴턴 방법처럼 근사치를 활용하거나, 고유값 중 일부만 추정하는 방식이 흔히 쓰입니다. 논문에서 "헤시안의 조건수" 또는 "고유값 분포"를 언급한다면 최적화 난이도나 손실 지형의 형태를 논하고 있다고 이해하면 됩니다.

주의할 점

헤시안 행렬은 변수 개수가 많아지면 계산 비용이 급격히 커집니다. 그래서 실제 딥러닝처럼 변수가 수백만 개인 경우에는 헤시안 전체를 구하지 않고, 1차 미분값만 쓰는 경사하강법을 주로 사용합니다. 또한 볼록함수인지 판단할 때도 헤시안 행렬의 정부호 여부가 기준으로 쓰입니다.

헷갈리기 쉬운 용어

미분으로 만든 행렬들은 입력과 출력의 모양, 미분의 차수가 서로 다릅니다.

용어함수의 종류무엇을 담나
헤시안 행렬스칼라 함수2차 편미분(곡률)
야코비 행렬벡터 함수1차 편미분(입력 변화에 대한 각 출력의 변화)
양의 정부호 행렬—임계점에서 헤시안이 이 성질이면 극솟값(국소적으로 아래로 볼록)
볼록함수—모든 점에서 헤시안이 양의 준정부호

참고 문헌

  1. Nocedal, J., & Wright, S. J. (2006). Numerical Optimization (2nd ed.). Springer.
  2. Boyd, S., & Vandenberghe, L. (2004). Convex Optimization. Cambridge University Press.
  3. Dauphin, Y. N., Pascanu, R., Gulcehre, C., Cho, K., Ganguli, S., & Bengio, Y. (2014). Identifying and attacking the saddle point problem in high-dimensional non-convex optimization. Advances in Neural Information Processing Systems, 27.

표의 기준값은 위 문헌에 근거한 관례이며, 분야·학술지마다 다른 기준을 쓸 수 있습니다.

관련 용어