6.43 SVD를 이용한 의사 역행렬 계산
1. 도입
행렬의 역행렬은 정사각이고 가역인 행렬에 대해서만 정의된다. 그러나 실제 응용에서는 직사각 행렬이나 특이 행렬에 대한 역의 개념이 필요한 경우가 빈번하게 발생한다. 이러한 요구를 충족하는 일반화된 개념이 무어-펜로즈 의사 역행렬(Moore-Penrose pseudoinverse)이다. 의사 역행렬은 임의의 직사각 행렬에 대하여 항상 존재하며, 유일하게 결정되고, 통상의 역행렬을 자연스럽게 일반화한다. 또한 특이값 분해는 의사 역행렬을 명시적으로 구성하는 가장 안정적이고 일반적인 방법을 제공한다.
2. 의사 역행렬의 정의
정의 (무어-펜로즈 의사 역행렬). 행렬 A \in \mathbb{R}^{m \times n}의 무어-펜로즈 의사 역행렬은 다음의 네 조건을 모두 만족하는 유일한 행렬 A^+ \in \mathbb{R}^{n \times m}이다.
- A A^+ A = A
- A^+ A A^+ = A^+
- (A A^+)^\top = A A^+
- (A^+ A)^\top = A^+ A
이 네 조건을 펜로즈 조건(Penrose conditions)이라 하며, 이들은 의사 역행렬을 유일하게 결정한다. 첫 번째 조건은 A^+가 A의 약한 의미의 역할을 함을 나타내며, 두 번째 조건은 그 역할이 양방향임을 나타낸다. 세 번째와 네 번째 조건은 곱 AA^+와 A^+A가 대칭임을 요구한다.
3. 의사 역행렬의 존재성과 유일성
정리. 임의의 행렬 A \in \mathbb{R}^{m \times n}에 대하여 무어-펜로즈 의사 역행렬 A^+가 존재하며, 유일하다.
존재성은 특이값 분해를 통하여 직접 구성함으로써 증명할 수 있다. 유일성은 두 행렬이 모두 펜로즈 조건을 만족한다고 가정하고 그 차이가 영임을 보이는 방식으로 증명된다.
4. SVD를 통한 의사 역행렬의 구성
정리. A \in \mathbb{R}^{m \times n}의 특이값 분해를 A = U\Sigma V^\top이라 하자. 여기서 U \in \mathbb{R}^{m \times m}와 V \in \mathbb{R}^{n \times n}은 직교 행렬이며, \Sigma \in \mathbb{R}^{m \times n}는 \sigma_1 \geq \sigma_2 \geq \cdots \geq \sigma_r > 0를 양의 대각 성분으로 가지는 직사각 대각 행렬이다 (r = \mathrm{rank}(A)). 그러면 A의 의사 역행렬은 다음과 같이 주어진다.
A^+ = V \Sigma^+ U^\top
여기서 \Sigma^+ \in \mathbb{R}^{n \times m}는 다음과 같이 정의되는 직사각 대각 행렬이다.
\Sigma^+_{ij} = \begin{cases} 1/\sigma_i & i = j, \quad 1 \leq i \leq r \\ 0 & \text{기타} \end{cases}
즉, \Sigma^+는 \Sigma의 양의 대각 성분의 역수를 취하고 영 대각 성분은 그대로 영으로 두며, 동시에 행렬의 차원을 전치한 형태이다.
5. 펜로즈 조건의 검증
위의 구성이 펜로즈 조건을 만족함을 확인하자. A = U\Sigma V^\top, A^+ = V\Sigma^+ U^\top에 대하여
A A^+ = U\Sigma V^\top V \Sigma^+ U^\top = U \Sigma \Sigma^+ U^\top
\Sigma \Sigma^+ \in \mathbb{R}^{m \times m}는 처음 r개의 대각 성분이 1이고 나머지가 0인 대각 행렬이며, 이는 명백히 대칭이다. 마찬가지로
A^+ A = V \Sigma^+ \Sigma V^\top
이고 \Sigma^+ \Sigma는 대각 행렬이므로 A^+A도 대칭이다. 따라서 세 번째와 네 번째 조건이 성립한다.
또한
A A^+ A = U \Sigma \Sigma^+ \Sigma V^\top = U \Sigma V^\top = A
이고
A^+ A A^+ = V \Sigma^+ \Sigma \Sigma^+ U^\top = V \Sigma^+ U^\top = A^+
이므로 첫 번째와 두 번째 조건도 성립한다. \blacksquare
6. 외적 합 형식
축소 SVD를 활용한 의사 역행렬의 외적 합 표현은 다음과 같다.
A^+ = \sum_{i=1}^{r} \frac{1}{\sigma_i} \mathbf{v}_i \mathbf{u}_i^\top
이 표현은 의사 역행렬의 본질적인 구조를 명확하게 드러낸다. 좌특이벡터와 우특이벡터의 역할이 의사 역행렬에서 서로 바뀌며, 각 항의 계수는 대응 특이값의 역수가 된다.
7. 통상의 역행렬과의 관계
행렬 A가 정사각이고 가역인 경우, 의사 역행렬은 통상의 역행렬과 일치한다. 즉, A \in \mathbb{R}^{n \times n}, \det A \neq 0이면
A^+ = A^{-1}
이 성립한다. 이는 의사 역행렬이 통상의 역행렬을 일반화한 개념임을 보여 준다. 가역 행렬의 모든 특이값은 양수이므로 \Sigma가 가역이고, 따라서 \Sigma^+ = \Sigma^{-1}이며 A^+ = V\Sigma^{-1}U^\top = (U\Sigma V^\top)^{-1} = A^{-1}이 된다.
8. 만랭크 행렬의 특수한 경우
행렬 A가 만랭크인 경우 의사 역행렬은 더 단순한 형태로 표현될 수 있다.
열 만랭크의 경우 (\mathrm{rank}(A) = n \leq m): A^\top A가 가역이며
A^+ = (A^\top A)^{-1} A^\top
이 성립한다. 이는 좌역행렬(left inverse)이라 불리며, A^+ A = I_n을 만족한다.
행 만랭크의 경우 (\mathrm{rank}(A) = m \leq n): A A^\top가 가역이며
A^+ = A^\top (A A^\top)^{-1}
이 성립한다. 이는 우역행렬(right inverse)이라 불리며, A A^+ = I_m을 만족한다.
이 두 공식은 정규 방정식의 형태로서 직관적이지만, 수치적으로는 SVD를 통한 계산이 더 안정적이다. 그 이유는 A^\top A의 조건수가 A의 조건수의 제곱이 되어 수치 오차가 증폭되기 때문이다.
9. 의사 역행렬의 핵심 성질
의사 역행렬은 다음의 성질들을 가진다.
- 이중 의사 역행렬: (A^+)^+ = A
- 전치와의 가환성: (A^\top)^+ = (A^+)^\top
- 랭크 보존: \mathrm{rank}(A^+) = \mathrm{rank}(A)
- 사영 성질: AA^+는 A의 열 공간 위로의 직교 사영 행렬이고, A^+A는 A의 행 공간 위로의 직교 사영 행렬이다.
- 노름과의 관계: \|A^+\|_2 = 1/\sigma_r (가장 작은 양의 특이값의 역수)
곱셈에 대해서는 (AB)^+ = B^+ A^+가 일반적으로 성립하지 않는다는 점에 유의하여야 한다. 이 등식은 특정 조건(예를 들어 A가 열 만랭크이고 B가 행 만랭크)에서만 성립한다.
10. 최소 제곱 해와의 관계
의사 역행렬의 가장 중요한 응용은 선형 시스템 A\mathbf{x} = \mathbf{b}의 최소 제곱 해를 표현하는 것이다.
정리. 임의의 A \in \mathbb{R}^{m \times n}와 \mathbf{b} \in \mathbb{R}^m에 대하여 다음의 최적화 문제
\min_{\mathbf{x} \in \mathbb{R}^n} \|A\mathbf{x} - \mathbf{b}\|_2
의 해 중에서 가장 작은 노름 \|\mathbf{x}\|를 가지는 해는 유일하며, \mathbf{x}^* = A^+ \mathbf{b}로 주어진다.
이 정리는 다음과 같이 해석된다.
- 해가 유일한 경우: A가 열 만랭크이고 \mathbf{b}가 A의 열 공간에 속하면, A\mathbf{x} = \mathbf{b}의 해가 유일하게 존재하며, 이 해는 A^+\mathbf{b}이다.
- 해가 무수히 많은 경우: A가 열 만랭크가 아니면 일반적으로 해는 무수히 많으며, 그 중에서 노름이 최소인 해가 A^+\mathbf{b}이다.
- 해가 존재하지 않는 경우: \mathbf{b}가 A의 열 공간에 속하지 않으면 정확한 해는 존재하지 않으며, 잔차의 노름을 최소화하는 의미에서의 해(최소 제곱 해)가 의사 역행렬을 통하여 주어진다. 여러 최소 제곱 해 중에서도 노름이 최소인 해가 A^+\mathbf{b}이다.
11. 수치적 정규화: 절단 SVD와 티호노프 정규화
작은 특이값에 대한 역수가 매우 큰 값이 되어 수치적으로 불안정한 경우가 흔하다. 이를 해결하기 위한 두 가지 정규화 기법이 있다.
11.1 절단 SVD 의사 역행렬
특이값 중 임계값보다 작은 것들을 영으로 처리한다. 즉, 임계값 \tau > 0에 대하여
A^+_\tau = \sum_{i: \sigma_i > \tau} \frac{1}{\sigma_i} \mathbf{v}_i \mathbf{u}_i^\top
로 정의한다. 이 접근법은 작은 특이값에 의한 잡음 증폭을 차단하면서 큰 특이값에 의한 본질적 정보는 보존한다.
11.2 티호노프 정규화
특이값의 역수에 댐핑 항을 추가한다.
A^+_\lambda = \sum_{i=1}^{r} \frac{\sigma_i}{\sigma_i^2 + \lambda^2} \mathbf{v}_i \mathbf{u}_i^\top
이는 정규 방정식 (A^\top A + \lambda^2 I)\mathbf{x} = A^\top \mathbf{b}의 해로부터 자연스럽게 유도되며, 댐핑 매개 변수 \lambda를 통하여 정규화의 강도를 조절할 수 있다.
두 기법은 모두 작은 특이값으로 인한 수치 불안정성을 완화하지만, 그 대가로 정확한 의사 역행렬과의 편차가 발생한다.
12. 의사 역행렬의 계산 알고리듬
SVD를 이용한 의사 역행렬 계산의 표준 절차는 다음과 같다.
- 행렬 A의 SVD A = U\Sigma V^\top를 계산한다. 일반적으로 얇은 SVD가 사용된다.
- 임계값 \tau를 결정한다. 예를 들어 \tau = \max(m, n) \cdot \sigma_1 \cdot \epsilon_{\text{machine}}와 같은 식이 사용된다.
- 각 특이값에 대하여, \sigma_i > \tau이면 1/\sigma_i로 대체하고 그렇지 않으면 영으로 처리한다.
- A^+ = V \Sigma^+ U^\top를 계산한다.
이 절차는 LAPACK의 gelss, gelsd, gelsy 등의 루틴에 구현되어 있으며, 다양한 변형이 효율성과 정확도를 위하여 제공된다.
13. 행렬의 직교 사영과의 관계
의사 역행렬은 사영 행렬과 밀접한 관계를 가진다.
- P_{\mathcal{R}(A)} = AA^+: A의 열 공간 위로의 직교 사영
- P_{\mathcal{N}(A^\top)} = I - AA^+: A^\top의 영 공간 위로의 직교 사영
- P_{\mathcal{R}(A^\top)} = A^+A: A^\top의 열 공간(즉 A의 행 공간) 위로의 직교 사영
- P_{\mathcal{N}(A)} = I - A^+A: A의 영 공간 위로의 직교 사영
이러한 사영 행렬들은 임의의 벡터를 행렬과 관련된 네 가지 부분 공간으로 분해하는 도구를 제공하며, 제약 조건이 있는 운동 계획과 영 공간 투영에 활용된다.
14. 로봇공학에서의 응용
14.1 매니퓰레이터 역기구학
작업 공간의 원하는 속도 \dot{\mathbf{x}}_d를 관절 속도 \dot{\mathbf{q}}로 사상하는 역기구학 문제는 자코비안 방정식
J(\mathbf{q}) \dot{\mathbf{q}} = \dot{\mathbf{x}}_d
로 표현된다. 자코비안의 의사 역행렬을 사용하면 일반적인 해
\dot{\mathbf{q}} = J^+(\mathbf{q}) \dot{\mathbf{x}}_d + (I - J^+ J)\mathbf{z}
가 얻어지며, 여기서 첫 번째 항은 작업을 수행하는 최소 노름 해이고, 두 번째 항은 영 공간 성분을 통한 부차 목표를 표현한다. 여유 자유도 로봇의 동작 계획에서 이 분해는 핵심적이다.
14.2 특이점 회피와 댐핑 의사 역행렬
자코비안이 특이 형상에 가까울 때 통상의 의사 역행렬은 매우 큰 관절 속도를 산출하여 위험할 수 있다. 댐핑 의사 역행렬(damped pseudoinverse)은 작은 특이값에 의한 증폭을 제한함으로써 이 문제를 해결한다.
J^+_\lambda = \sum_{i=1}^{r} \frac{\sigma_i}{\sigma_i^2 + \lambda^2} \mathbf{v}_i \mathbf{u}_i^\top
이는 특이점 부근에서 정확도와 안정성 사이의 절충을 제공한다.
14.3 매개 변수 식별과 보정
로봇의 운동학적 매개 변수와 동역학적 매개 변수를 식별하기 위한 회귀 행렬은 일반적으로 직사각이며 측정 잡음을 포함한다. 의사 역행렬을 통한 최소 제곱 해는 실험 데이터로부터 매개 변수를 추정하는 표준적인 방법이다.
14.4 카메라 보정과 호모그래피 추정
카메라 내부 매개 변수 보정과 호모그래피 행렬 추정은 일반적으로 과결정 시스템으로 정식화되며, 의사 역행렬을 통한 최소 제곱 해를 제공한다. 이 추정에서 SVD 기반 의사 역행렬은 수치적 안정성을 보장한다.
14.5 점 구름의 강체 변환 추정
두 점 집합 사이의 최적 강체 변환을 구하는 문제에서 의사 역행렬은 변환 매개 변수의 추정에 직접 활용된다. 카브쉬 알고리듬과 같은 표준 알고리듬은 의사 역행렬과 SVD를 결합한 형태로 구현된다.
14.6 칼만 필터의 갱신 단계
확장 칼만 필터의 갱신 단계에서 칼만 이득의 계산은 본질적으로 의사 역행렬과 동등한 구조를 가진다. 측정 자코비안의 특이값 분해를 활용하면 수치적으로 안정한 갱신을 구현할 수 있다.
참고문헌
- Penrose, R. (1955). A generalized inverse for matrices. Mathematical Proceedings of the Cambridge Philosophical Society, 51(3), 406-413.
- Golub, G. H., & Van Loan, C. F. (2013). Matrix Computations (4th ed.). Johns Hopkins University Press.
- Trefethen, L. N., & Bau, D. (2022). Numerical Linear Algebra (25th Anniversary ed.). SIAM.
- Ben-Israel, A., & Greville, T. N. E. (2003). Generalized Inverses: Theory and Applications (2nd ed.). Springer.
- Spong, M. W., Hutchinson, S., & Vidyasagar, M. (2020). Robot Modeling and Control (2nd ed.). Wiley.
- Nakamura, Y. (1991). Advanced Robotics: Redundancy and Optimization. Addison-Wesley.
Version: 1.0