27.17 직교 정규 기저(Orthonormal Basis)와 그람-슈미트 과정

27.17 직교 정규 기저(Orthonormal Basis)와 그람-슈미트 과정

1. 직교 정규 기저의 정의와 의의

내적 공간 V의 기저 \{\mathbf{q}_1, \mathbf{q}_2, \ldots, \mathbf{q}_n\}이 직교 정규(orthonormal) 조건

\langle\mathbf{q}_i, \mathbf{q}_j\rangle = \delta_{ij} = \begin{cases} 1 & \text{if } i = j \\ 0 & \text{if } i \neq j \end{cases}

을 만족하면, 이를 직교 정규 기저(orthonormal basis)라 한다.

직교 정규 기저의 존재는 유한 차원 내적 공간에서 항상 보장된다. 임의의 기저로부터 그람-슈미트 과정(Gram-Schmidt process)을 통하여 직교 정규 기저를 구성할 수 있기 때문이다.

직교 정규 기저의 핵심적 이점은 좌표 계산이 내적으로 즉시 수행된다는 것이다.

\mathbf{v} = \sum_{i=1}^n \langle\mathbf{v}, \mathbf{q}_i\rangle \mathbf{q}_i

여기서 계수 c_i = \langle\mathbf{v}, \mathbf{q}_i\rangle\mathbf{v}\mathbf{q}_i 방향 성분이다. 일반 기저에서는 [\mathbf{v}]_\mathcal{B} = B^{-1}\mathbf{v}로 역행렬 계산이 필요하지만, 직교 정규 기저에서는 [\mathbf{v}]_\mathcal{Q} = Q^\top\mathbf{v}로 전치 행렬만으로 충분하다.

2. 직교 행렬

직교 정규 기저 벡터를 열로 나열한 행렬 Q = [\mathbf{q}_1 \; \mathbf{q}_2 \; \cdots \; \mathbf{q}_n] \in \mathbb{R}^{n \times n}을 직교 행렬(orthogonal matrix)이라 한다. 직교 행렬은 다음 성질을 만족한다.

Q^\top Q = Q Q^\top = I, \quad Q^{-1} = Q^\top

직교 행렬에 의한 변환 \mathbf{y} = Q\mathbf{x}는 벡터의 노름과 내적을 보존한다.

\|Q\mathbf{x}\|_2 = \|\mathbf{x}\|_2, \quad \langle Q\mathbf{u}, Q\mathbf{v}\rangle = \langle\mathbf{u}, \mathbf{v}\rangle

기하학적으로 직교 행렬은 회전(rotation) 또는 반사(reflection)를 나타낸다. \det(Q) = 1이면 회전, \det(Q) = -1이면 반사이다.

3. 그람-슈미트 과정

그람-슈미트 과정(Gram-Schmidt process)은 선형 독립인 벡터 집합 \{\mathbf{v}_1, \mathbf{v}_2, \ldots, \mathbf{v}_k\}으로부터 동일한 공간을 생성하는 직교 정규 집합 \{\mathbf{q}_1, \mathbf{q}_2, \ldots, \mathbf{q}_k\}을 구성하는 알고리즘이다.

단계 1: 첫 번째 벡터를 정규화한다.

\mathbf{q}_1 = \frac{\mathbf{v}_1}{\|\mathbf{v}_1\|}

단계 2: \mathbf{v}_2에서 \mathbf{q}_1 방향의 성분을 제거하고 정규화한다.

\tilde{\mathbf{q}}_2 = \mathbf{v}_2 - \langle\mathbf{v}_2, \mathbf{q}_1\rangle\mathbf{q}_1, \quad \mathbf{q}_2 = \frac{\tilde{\mathbf{q}}_2}{\|\tilde{\mathbf{q}}_2\|}

단계 j (j = 2, 3, \ldots, k): \mathbf{v}_j에서 이전에 구한 모든 \mathbf{q}_i 방향의 성분을 제거하고 정규화한다.

\tilde{\mathbf{q}}_j = \mathbf{v}_j - \sum_{i=1}^{j-1} \langle\mathbf{v}_j, \mathbf{q}_i\rangle\mathbf{q}_i, \quad \mathbf{q}_j = \frac{\tilde{\mathbf{q}}_j}{\|\tilde{\mathbf{q}}_j\|}

각 단계에서 \text{span}(\mathbf{q}_1, \ldots, \mathbf{q}_j) = \text{span}(\mathbf{v}_1, \ldots, \mathbf{v}_j)가 보존된다. \tilde{\mathbf{q}}_j\mathbf{v}_j에서 \text{span}(\mathbf{q}_1, \ldots, \mathbf{q}_{j-1}) 위로의 정사영을 뺀 것이므로, 기존 벡터들과 직교한다.

4. QR 분해와의 관계

그람-슈미트 과정은 QR 분해(QR decomposition)와 직접적으로 대응된다. 행렬 A = [\mathbf{v}_1 \; \mathbf{v}_2 \; \cdots \; \mathbf{v}_k] \in \mathbb{R}^{n \times k}의 열에 그람-슈미트 과정을 적용하면

A = QR

를 얻는다. 여기서 Q = [\mathbf{q}_1 \; \mathbf{q}_2 \; \cdots \; \mathbf{q}_k] \in \mathbb{R}^{n \times k}는 직교 정규 열을 갖는 행렬이고, R \in \mathbb{R}^{k \times k}는 상삼각 행렬(upper triangular matrix)이다. R의 성분은

r_{ij} = \begin{cases} \langle\mathbf{v}_j, \mathbf{q}_i\rangle & \text{if } i < j \\ \|\tilde{\mathbf{q}}_j\| & \text{if } i = j \\ 0 & \text{if } i > j \end{cases}

이다.

5. 수치적 안정성: 수정 그람-슈미트

고전적 그람-슈미트(classical Gram-Schmidt, CGS) 과정은 부동소수점 산술에서 수치적으로 불안정할 수 있다. 반복적인 뺄셈에서 상쇄 오차(cancellation error)가 누적되어 결과 벡터들의 직교성이 크게 훼손될 수 있기 때문이다.

수정 그람-슈미트(Modified Gram-Schmidt, MGS) 과정은 이 문제를 완화한다. 핵심 차이는, CGS가 원래 벡터 \mathbf{v}_j에서 모든 사영을 한 번에 빼는 반면, MGS는 각 사영을 순차적으로 빼면서 중간 결과를 갱신한다는 것이다.

\begin{aligned} \mathbf{v}_j^{(1)} &= \mathbf{v}_j - \langle\mathbf{v}_j, \mathbf{q}_1\rangle\mathbf{q}_1 \\ \mathbf{v}_j^{(2)} &= \mathbf{v}_j^{(1)} - \langle\mathbf{v}_j^{(1)}, \mathbf{q}_2\rangle\mathbf{q}_2 \\ &\;\;\vdots \\ \mathbf{v}_j^{(j-1)} &= \mathbf{v}_j^{(j-2)} - \langle\mathbf{v}_j^{(j-2)}, \mathbf{q}_{j-1}\rangle\mathbf{q}_{j-1} \\ \mathbf{q}_j &= \mathbf{v}_j^{(j-1)} / \|\mathbf{v}_j^{(j-1)}\| \end{aligned}

수학적으로 CGS와 MGS는 동일한 결과를 산출하지만, 유한 정밀도 산술에서 MGS가 더 정확한 직교성을 유지한다. 실무에서는 하우스홀더 반사(Householder reflections)를 이용한 QR 분해가 가장 안정적인 방법으로 알려져 있다.

6. 그람-슈미트 과정의 계산 복잡도

n차원 공간에서 k개의 벡터에 대한 그람-슈미트 과정의 계산 복잡도는 O(nk^2)이다. 각 단계 j에서 j-1개의 내적(각각 O(n))과 벡터 뺄셈(각각 O(n))이 필요하므로, 전체 내적 계산은 \sum_{j=1}^k (j-1) = O(k^2)회이고 각 내적이 O(n)이므로 합계 O(nk^2)이다.

7. 딥러닝에서의 응용

직교 가중치 초기화: 가중치 행렬을 직교 행렬로 초기화하면 노름 보존 성질에 의하여 신호의 크기가 층을 통과하면서 유지된다. 실무에서는 임의의 가우시안 행렬에 QR 분해를 적용하여 직교 행렬을 생성한다.

QR 분해를 이용한 학습: 직교 제약(orthogonal constraint) 하에서 행렬을 최적화할 때, QR 분해를 활용한 재투영(reprojection) 또는 카일리 변환(Cayley transform)을 사용한다. 스티펠 다양체(Stiefel manifold) 위에서의 최적화 기법이 이에 해당한다.

특성 백색화(feature whitening): 배치의 특성 벡터에 그람-슈미트 과정(또는 그에 상응하는 행렬 분해)을 적용하여 직교 정규 표현을 얻는 것은 배치 정규화의 일반화로 볼 수 있다. 특성 간의 상관을 제거하고 각 특성의 분산을 1로 만들면 학습 경관이 개선된다.

파싱과 정보 분리: 입력 표현을 직교하는 부분 공간으로 분해하면, 각 부분 공간이 독립적인 정보를 담당하도록 할 수 있다. 이는 디스엔탱글먼트(disentanglement) 학습에서 직교 정규 기저의 역할에 해당한다.