6.115 수치적 안정성을 위한 정규화 기법
1. 개요
로봇공학에서 역기구학, 궤적 계획, 동역학 시뮬레이션 등 다양한 문제는 선형 연립방정식의 풀이로 귀결된다. 이러한 연립방정식이 비정칙(ill-conditioned)하거나 특이(singular)할 때, 직접 풀이는 수치적으로 불안정하다. 정규화(regularization) 기법은 원래 문제에 적절한 제약이나 보정 항을 추가하여 수치적 안정성을 확보하는 방법이다. 본 절에서는 로봇공학에서 널리 사용되는 다양한 정규화 기법의 수학적 기초와 적용 방법을 다룬다.
2. 비정칙 문제의 정의
선형 연립방정식 \mathbf{A}\mathbf{x} = \mathbf{b}에서 행렬 \mathbf{A}의 조건수 \kappa(\mathbf{A})가 매우 클 때, 이 문제를 비정칙 문제(ill-conditioned problem)라 한다. 비정칙 문제의 해는 입력 데이터의 미세한 변동에 극도로 민감하다.
\frac{\|\delta\mathbf{x}\|}{\|\mathbf{x}\|} \leq \kappa(\mathbf{A}) \cdot \frac{\|\delta\mathbf{b}\|}{\|\mathbf{b}\|}
로봇공학에서 비정칙 문제가 발생하는 대표적인 상황은 다음과 같다.
- 야코비 행렬 기반 역기구학에서 특이점 근방의 계산
- 과결정(overdetermined) 또는 부족결정(underdetermined) 시스템의 최소 제곱 풀이
- 동역학 시뮬레이션에서 강성(stiff) 시스템의 수치 적분
- 캘리브레이션 과정에서의 파라미터 추정
3. 티호노프 정규화
3.1 기본 형태
티호노프 정규화(Tikhonov regularization)는 가장 널리 사용되는 정규화 기법이다. 최소 제곱 문제에 정규화 항을 추가하여 다음과 같은 최적화 문제를 풀이한다.
\min_{\mathbf{x}} \left\{ \|\mathbf{A}\mathbf{x} - \mathbf{b}\|^2 + \lambda^2 \|\mathbf{x}\|^2 \right\}
여기서 \lambda > 0는 정규화 매개변수(regularization parameter)이다. 이 최적화 문제의 정규 방정식(normal equation)은 다음과 같다.
(\mathbf{A}^T\mathbf{A} + \lambda^2\mathbf{I})\mathbf{x}_\lambda = \mathbf{A}^T\mathbf{b}
정규화된 해는 다음과 같이 명시적으로 표현할 수 있다.
\mathbf{x}_\lambda = (\mathbf{A}^T\mathbf{A} + \lambda^2\mathbf{I})^{-1}\mathbf{A}^T\mathbf{b}
3.2 SVD를 이용한 해석
\mathbf{A}의 특이값 분해를 \mathbf{A} = \mathbf{U}\boldsymbol{\Sigma}\mathbf{V}^T라 하면, 정규화된 해는 다음과 같다.
\mathbf{x}_\lambda = \sum_{i=1}^{r} \frac{\sigma_i}{\sigma_i^2 + \lambda^2} (\mathbf{u}_i^T \mathbf{b})\,\mathbf{v}_i
여기서 \sigma_i는 i번째 특이값, \mathbf{u}_i와 \mathbf{v}_i는 각각 좌특이벡터와 우특이벡터이다. 정규화가 없는 최소 노름 해는 다음과 같다.
\mathbf{x}_0 = \sum_{i=1}^{r} \frac{1}{\sigma_i} (\mathbf{u}_i^T \mathbf{b})\,\mathbf{v}_i
정규화의 효과는 필터 인수(filter factor) f_i를 통해 명확히 드러난다.
f_i = \frac{\sigma_i^2}{\sigma_i^2 + \lambda^2}
\sigma_i \gg \lambda이면 f_i \approx 1이므로 해당 성분은 거의 영향을 받지 않는다. \sigma_i \ll \lambda이면 f_i \approx 0이므로 해당 성분은 효과적으로 억제된다.
3.3 일반화된 티호노프 정규화
일반화된 형태에서는 단위 행렬 대신 가중 행렬 \mathbf{L}을 사용한다.
\min_{\mathbf{x}} \left\{ \|\mathbf{A}\mathbf{x} - \mathbf{b}\|^2 + \lambda^2 \|\mathbf{L}\mathbf{x}\|^2 \right\}
가중 행렬 \mathbf{L}은 해의 특정 성질을 제어하는 데 사용한다. 예를 들어 \mathbf{L}이 차분 행렬이면 해의 매끄러움을 증진시킨다.
4. 감쇠 최소 제곱법
4.1 로봇공학에서의 적용
감쇠 최소 제곱법(Damped Least Squares, DLS)은 역기구학 문제에서 야코비 행렬의 역행렬 대신 정규화된 유사역행렬을 사용하는 방법이다. 이는 티호노프 정규화의 로봇공학적 응용이다.
원래 역기구학 문제가 \dot{\mathbf{x}} = \mathbf{J}\dot{\mathbf{q}}일 때, DLS 해는 다음과 같다.
\dot{\mathbf{q}} = \mathbf{J}^T(\mathbf{J}\mathbf{J}^T + \lambda^2\mathbf{I})^{-1}\dot{\mathbf{x}}
이를 감쇠 유사역행렬(damped pseudoinverse)이라 하며, 다음과 같이 표기한다.
\mathbf{J}_\lambda^{\dagger} = \mathbf{J}^T(\mathbf{J}\mathbf{J}^T + \lambda^2\mathbf{I})^{-1}
4.2 감쇠 인수의 선택
감쇠 인수 \lambda의 선택은 정확성과 안정성 사이의 균형에 해당한다.
| \lambda 값 | 효과 | 장점 | 단점 |
|---|---|---|---|
| \lambda = 0 | 정규 유사역행렬 | 최대 정확성 | 특이점 불안정 |
| \lambda 작음 | 약한 정규화 | 높은 정확성 | 부분적 불안정 |
| \lambda 중간 | 적절한 정규화 | 안정성과 정확성 균형 | 트레이드오프 |
| \lambda 큼 | 강한 정규화 | 매우 안정적 | 정확성 저하 |
적응적 감쇠 인수 설정 방법으로, 나카무라와 하나후사(Nakamura and Hanafusa)가 제안한 방법은 최소 특이값 \sigma_{\min}에 기반한다.
\lambda^2 = \begin{cases} 0 & \text{if } \sigma_{\min} \geq \epsilon \\ \lambda_{\max}^2\left(1 - \left(\frac{\sigma_{\min}}{\epsilon}\right)^2\right) & \text{if } \sigma_{\min} < \epsilon \end{cases}
여기서 \epsilon은 임계 특이값이고, \lambda_{\max}는 최대 감쇠 인수이다.
5. 절단 SVD 정규화
5.1 기본 원리
절단 특이값 분해(Truncated SVD, TSVD)는 작은 특이값에 해당하는 성분을 완전히 제거하여 정규화를 수행하는 방법이다.
\mathbf{x}_k = \sum_{i=1}^{k} \frac{1}{\sigma_i}(\mathbf{u}_i^T\mathbf{b})\,\mathbf{v}_i
여기서 k < r은 절단 수준이며, \sigma_1 \geq \sigma_2 \geq \cdots \geq \sigma_k > \sigma_{\text{thresh}}를 만족하는 특이값만 사용한다.
5.2 필터 인수 비교
TSVD의 필터 인수는 다음과 같다.
f_i^{\text{TSVD}} = \begin{cases} 1 & i \leq k \\ 0 & i > k \end{cases}
티호노프 정규화의 필터 인수와 비교하면 TSVD는 날카로운 차단(sharp cutoff) 특성을 보이는 반면, 티호노프 정규화는 부드러운 감쇠(smooth damping) 특성을 보인다.
6. 정규화 매개변수의 선택
정규화 매개변수 \lambda의 적절한 선택은 정규화 기법의 성공에 결정적이다. 대표적인 선택 방법은 다음과 같다.
6.1 L-곡선 방법
L-곡선(L-curve) 방법은 잔차 노름 \|\mathbf{A}\mathbf{x}_\lambda - \mathbf{b}\|과 해 노름 \|\mathbf{x}_\lambda\|를 로그-로그 축에 도시한 것이다. 이 곡선은 일반적으로 L자 형태를 보이며, 최적의 \lambda는 곡선의 꼭짓점(corner)에 해당한다.
6.2 일반화 교차 검증
일반화 교차 검증(Generalized Cross-Validation, GCV)은 다음 함수를 최소화하는 \lambda를 선택한다.
\text{GCV}(\lambda) = \frac{\|\mathbf{A}\mathbf{x}_\lambda - \mathbf{b}\|^2}{\left(\text{trace}(\mathbf{I} - \mathbf{A}(\mathbf{A}^T\mathbf{A} + \lambda^2\mathbf{I})^{-1}\mathbf{A}^T)\right)^2}
6.3 디스크레판시 원리
디스크레판시 원리(discrepancy principle)는 잔차가 노이즈 수준 \delta에 맞도록 \lambda를 선택한다.
\|\mathbf{A}\mathbf{x}_\lambda - \mathbf{b}\| = \tau\delta
여기서 \tau \geq 1은 안전 인수이다.
7. 가중 정규화
로봇 관절마다 물리적 특성(관절 한계, 최대 속도, 관성 등)이 다르므로, 균일한 정규화보다 가중 정규화가 효과적이다.
\min_{\dot{\mathbf{q}}} \left\{ \|\mathbf{J}\dot{\mathbf{q}} - \dot{\mathbf{x}}\|^2_{\mathbf{W}_x} + \lambda^2 \|\dot{\mathbf{q}}\|^2_{\mathbf{W}_q} \right\}
여기서 \|\mathbf{v}\|^2_{\mathbf{W}} = \mathbf{v}^T\mathbf{W}\mathbf{v}이며, \mathbf{W}_x는 작업 공간 가중 행렬, \mathbf{W}_q는 관절 공간 가중 행렬이다.
가중 정규화된 해는 다음과 같다.
\dot{\mathbf{q}} = \mathbf{W}_q^{-1}\mathbf{J}^T(\mathbf{J}\mathbf{W}_q^{-1}\mathbf{J}^T + \lambda^2\mathbf{W}_x^{-1})^{-1}\dot{\mathbf{x}}
관절 한계 근방에서는 해당 관절의 가중치를 증가시켜 관절 운동을 억제할 수 있다.
w_{q,i} = 1 + \alpha \left(\frac{2q_i - q_{i,\max} - q_{i,\min}}{q_{i,\max} - q_{i,\min}}\right)^{2p}
여기서 p는 양의 정수이고, \alpha는 가중 강도이다.
8. 선택적 감쇠
선택적 감쇠(selective damping)는 특이값마다 다른 감쇠를 적용하는 방법이다. 각 특이값에 대해 독립적인 감쇠 인수 \lambda_i를 설정한다.
\dot{\mathbf{q}} = \sum_{i=1}^{r} \frac{\sigma_i}{\sigma_i^2 + \lambda_i^2}(\mathbf{u}_i^T\dot{\mathbf{x}})\,\mathbf{v}_i
여기서 \lambda_i는 해당 특이값의 크기에 따라 설정한다. 예를 들어 다음과 같다.
\lambda_i^2 = \max\left(0, \lambda_{\max}^2\left(1 - \left(\frac{\sigma_i}{\sigma_{\text{thresh}}}\right)^2\right)\right)
이 방법은 큰 특이값에 대해서는 정규화를 적용하지 않고, 작은 특이값에 대해서만 정규화를 적용하므로 정확성의 손실을 최소화한다.
9. 정규화의 수치적 효과
정규화가 조건수에 미치는 영향을 정량적으로 분석한다. 티호노프 정규화의 경우, 정규화된 행렬의 조건수는 다음과 같다.
\kappa(\mathbf{A}^T\mathbf{A} + \lambda^2\mathbf{I}) = \frac{\sigma_1^2 + \lambda^2}{\sigma_r^2 + \lambda^2}
\lambda \gg \sigma_r이면 조건수는 (\sigma_1^2 + \lambda^2)/\lambda^2 \approx 1 + (\sigma_1/\lambda)^2으로 크게 감소한다. 이는 수치적 안정성의 확보를 보장하지만, 동시에 해의 바이어스(bias)를 도입한다.
정규화에 의한 해의 오차는 다음 두 성분으로 구성된다.
\|\mathbf{x}_\lambda - \mathbf{x}_{\text{true}}\| \leq \underbrace{\|\mathbf{x}_\lambda - \mathbf{x}_0\|}_{\text{정규화 바이어스}} + \underbrace{\|\mathbf{x}_0 - \mathbf{x}_{\text{true}}\|}_{\text{노이즈 오차}}
\lambda가 증가하면 정규화 바이어스는 증가하고 노이즈 오차는 감소한다. 최적의 \lambda는 이 두 오차의 합을 최소화하는 값이다.
10. 참고 문헌
- Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.
- Nakamura, Y., & Hanafusa, H. (1986). “Inverse Kinematic Solutions with Singularity Robustness for Robot Manipulator Control.” Journal of Dynamic Systems, Measurement, and Control, 108(3), 163–171.
- Hansen, P. C. (1998). Rank-Deficient and Discrete Ill-Posed Problems: Numerical Aspects of Linear Inversion. SIAM.
- Golub, G. H., & Van Loan, C. F. (2013). Matrix Computations (4th ed.). Johns Hopkins University Press.
- Wampler, C. W. (1986). “Manipulator Inverse Kinematic Solutions Based on Vector Formulations and Damped Least-Squares Methods.” IEEE Transactions on Systems, Man, and Cybernetics, 16(1), 93–101.
- Chiaverini, S. (1997). “Singularity-Robust Task-Priority Redundancy Resolution for Real-Time Kinematic Control of Robot Manipulators.” IEEE Transactions on Robotics and Automation, 13(3), 398–410.
v 0.1