29.38 선형 변환의 수치적 안정성과 조건수(Condition Number) 분석

29.38 선형 변환의 수치적 안정성과 조건수(Condition Number) 분석

1. 수치적 안정성의 문제

컴퓨터에서 실수는 유한 정밀도의 부동 소수점(floating point)으로 표현되므로, 모든 산술 연산에 반올림 오차(rounding error)가 수반된다. **수치적 안정성(numerical stability)**이란 이러한 오차가 최종 결과에 미치는 영향이 제한적인지의 여부를 나타낸다.

선형 계(linear system) Ax = b의 풀이에서, 입력 데이터(A 또는 b)의 작은 섭동이 해 x에 얼마나 큰 변화를 유발하는가가 수치적 안정성의 핵심 질문이다.

2. 조건수의 정의

n \times n 가역 행렬 A의 **조건수(condition number)**는 다음과 같이 정의된다.

\kappa(A) = \|A\| \cdot \|A^{-1}\|

여기서 \|\cdot\|은 행렬 노름이다. 가장 널리 사용되는 것은 스펙트럼 노름(2-노름)에 기반한 조건수이다.

\kappa_2(A) = \|A\|_2 \cdot \|A^{-1}\|_2 = \frac{\sigma_{\max}(A)}{\sigma_{\min}(A)}

여기서 \sigma_{\max}\sigma_{\min}A의 최대/최소 특이값이다.

조건수는 항상 \kappa(A) \geq 1을 만족한다. \kappa(A) = 1은 직교 행렬에서만 달성된다.

3. 조건수의 물리적 의미

3.1 상대 오차의 증폭

Ax = b에서 b에 섭동 \delta b가 가해져 A(x + \delta x) = b + \delta b가 되면

\frac{\|\delta x\|}{\|x\|} \leq \kappa(A) \frac{\|\delta b\|}{\|b\|}

이 부등식은 입력의 상대 오차가 조건수만큼 증폭되어 출력의 상대 오차가 될 수 있음을 의미한다.

증명. \delta x = A^{-1} \delta b이므로 \|\delta x\| \leq \|A^{-1}\| \|\delta b\|. 또한 \|b\| = \|Ax\| \leq \|A\| \|x\|이므로 \|x\| \geq \|b\|/\|A\|. 따라서

\frac{\|\delta x\|}{\|x\|} \leq \frac{\|A^{-1}\| \|\delta b\|}{\|b\|/\|A\|} = \|A\| \|A^{-1}\| \frac{\|\delta b\|}{\|b\|} = \kappa(A) \frac{\|\delta b\|}{\|b\|}

\blacksquare

3.2 A의 섭동에 대한 민감도

A에 섭동 \delta A가 가해진 경우에도 유사한 부등식이 성립한다.

\frac{\|\delta x\|}{\|x + \delta x\|} \leq \kappa(A) \frac{\|\delta A\|}{\|A\|}

4. 조건수에 따른 분류

조건수 범위분류수치적 의미
\kappa \approx 1잘 조건화(well-conditioned)오차 증폭 거의 없음
\kappa \sim 10^1 \text{--} 10^3양호안정적 계산 가능
\kappa \sim 10^6 \text{--} 10^{10}악조건(ill-conditioned)유효 자릿수 손실 심각
\kappa \to \infty특이(singular)해의 유일성 상실

부동 소수점 단정도(single precision, 약 7자리)에서 \kappa \approx 10^7이면 해의 유효 자릿수가 거의 없다. 배정도(double precision, 약 16자리)에서는 \kappa \approx 10^{16}이 한계이다.

5. 기하학적 해석

조건수 \kappa_2(A) = \sigma_{\max}/\sigma_{\min}A에 의해 단위 구면이 변환된 타원체의 **편심률(eccentricity)**을 측정한다.

  • \kappa = 1: 타원체가 구면(모든 반축 동일). 완벽히 등방적(isotropic).
  • \kappa \gg 1: 타원체가 매우 납작(장반축과 단반축의 비율이 큼). 강한 이방성(anisotropy).

납작한 타원체에서는 미소한 방향 변화가 매우 다른 점으로 투영될 수 있으므로 수치적으로 불안정하다.

6. 조건수의 성질

(1) \kappa(A) \geq 1 (등호는 직교 행렬)

(2) \kappa(\alpha A) = \kappa(A) (\alpha \neq 0, 스케일링 불변)

(3) \kappa(A^T) = \kappa(A)

(4) \kappa(AB) \leq \kappa(A) \kappa(B)

(5) 대칭 양의 정부호 행렬의 경우 \kappa_2(A) = \lambda_{\max}/\lambda_{\min}

7. 조건수 개선 방법

7.1 전처리(Preconditioning)

악조건 행렬 A에 대하여 Ax = b를 직접 풀지 않고, 전처리 행렬(preconditioner) M \approx A^{-1}을 사용하여 MAx = Mb를 풀면 \kappa(MA) \ll \kappa(A)가 되어 수렴이 크게 개선된다.

7.2 정칙화(Regularization)

악조건 또는 비정칙 행렬 A\epsilon I를 더하면

\kappa(A + \epsilon I) = \frac{\sigma_{\max} + \epsilon}{\sigma_{\min} + \epsilon}

\epsilon > 0이면 최소 특이값이 \epsilon 이상이 되어 조건수가 개선된다. 이것이 릿지 회귀(ridge regression)에서 \lambda I를 추가하는 수학적 근거이다.

7.3 직교 변환의 활용

직교 행렬 Q의 조건수는 \kappa(Q) = 1이다. 따라서 QA의 조건수는 A의 조건수와 같거나 같은 범위에 있으며, 직교 변환은 조건수를 악화시키지 않는다. 이것이 QR 분해, 하우스홀더 변환 등 직교 변환 기반 알고리즘이 수치적으로 안정적인 근본적 이유이다.

8. 딥러닝에서의 조건수

8.1 가중치 행렬의 조건수

신경망 가중치 행렬 W의 조건수가 클수록:

  • 순전파에서 특정 방향의 신호가 과도하게 증폭/감쇠된다.
  • 역전파에서 기울기가 특정 방향으로 편향되어 학습이 비효율적이다.
  • 수치적 불안정성으로 인해 학습 과정이 발산할 수 있다.

8.2 손실 함수의 헤시안 조건수

헤시안 H = \nabla^2 L의 조건수 \kappa(H)는 손실 함수의 곡률 구조를 특성화한다. \kappa(H) \gg 1이면 손실 함수의 등고면이 매우 길쭉한 타원이 되어 경사 하강법(gradient descent)의 수렴이 느려진다(지그재그 현상).

아담(Adam), RMSProp 등의 적응적 학습률 방법은 각 매개변수 방향에 독립적 학습률을 적용하여 효과적 조건수를 줄이는 역할을 한다. 이는 대각 전처리와 수학적으로 유사한 원리이다.

8.3 배치 정규화와 조건수

배치 정규화는 각 층의 활성화 분포를 정규화하여 야코비안 행렬의 조건수를 개선한다. 이로써 기울기 전파의 안정성이 향상되고 학습 속도가 개선된다.