27.31 행렬의 계수(Rank)의 정의와 열 공간/행 공간의 관계

27.31 행렬의 계수(Rank)의 정의와 열 공간/행 공간의 관계

1. 행렬의 계수의 정의

행렬 \mathbf{A} \in \mathbb{R}^{m \times n}의 계수(rank)는 여러 동치적 방식으로 정의할 수 있다. 가장 기본적인 정의는 다음과 같다.

정의 1 (열 계수): \text{rank}(\mathbf{A})\mathbf{A}의 열벡터들 중 극대 선형 독립 집합의 크기이다.

정의 2 (행 계수): \text{rank}(\mathbf{A})\mathbf{A}의 행벡터들 중 극대 선형 독립 집합의 크기이다.

행 계수와 열 계수가 항상 일치한다는 것은 선형대수학의 기본 정리 중 하나이다. 이 공통된 값을 행렬의 계수라 한다.

정의 3 (행 사다리꼴 형식): \text{rank}(\mathbf{A})\mathbf{A}를 행 사다리꼴 형식(row echelon form)으로 변환했을 때 영이 아닌 행의 개수이다.

정의 4 (소행렬식): \text{rank}(\mathbf{A})는 0이 아닌 소행렬식을 가지는 최대 부분 정사각 행렬의 크기이다. 즉, \mathbf{A}에서 r \times r 부분 행렬 중 행렬식이 0이 아닌 것이 존재하나 (r+1) \times (r+1) 부분 행렬의 행렬식은 모두 0이면, \text{rank}(\mathbf{A}) = r이다.

\mathbf{A} \in \mathbb{R}^{m \times n}에 대하여 0 \leq \text{rank}(\mathbf{A}) \leq \min(m, n)이다. \text{rank}(\mathbf{A}) = \min(m, n)이면 완전 계수(full rank)라 하고, 그렇지 않으면 계수 부족(rank deficient)이라 한다.

2. 열 공간과 행 공간

열 공간(Column Space): 행렬 \mathbf{A}의 열벡터들이 생성하는 부분 공간을 열 공간이라 하며, \text{Col}(\mathbf{A}) 또는 \mathcal{R}(\mathbf{A})로 표기한다.

\text{Col}(\mathbf{A}) = \text{span}(\mathbf{a}_1, \mathbf{a}_2, \ldots, \mathbf{a}_n) = \{\mathbf{A}\mathbf{x} \mid \mathbf{x} \in \mathbb{R}^n\}

열 공간은 \mathbb{R}^m의 부분 공간이며, 선형 변환 T(\mathbf{x}) = \mathbf{A}\mathbf{x}의 상(image) 또는 치역과 일치한다. 열 공간의 차원이 열 계수이다.

행 공간(Row Space): 행렬 \mathbf{A}의 행벡터들이 생성하는 부분 공간을 행 공간이라 하며, \text{Row}(\mathbf{A})로 표기한다.

\text{Row}(\mathbf{A}) = \text{Col}(\mathbf{A}^\top) = \{\mathbf{A}^\top\mathbf{y} \mid \mathbf{y} \in \mathbb{R}^m\}

행 공간은 \mathbb{R}^n의 부분 공간이며, 그 차원이 행 계수이다.

계수 정리(Rank Theorem): 임의의 행렬에 대하여 열 계수와 행 계수는 동일하다.

\dim(\text{Col}(\mathbf{A})) = \dim(\text{Row}(\mathbf{A})) = \text{rank}(\mathbf{A})

이 정리의 증명은 다음과 같다. 행 사다리꼴 형식으로의 변환은 행 공간을 보존하고(행 연산은 행 공간을 변화시키지 않는다), 피벗 열의 위치는 원래 행렬에서 선형 독립인 열을 식별한다. 행 사다리꼴 형식의 영이 아닌 행의 수(행 계수)와 피벗 열의 수(열 계수)는 동일하므로, 행 계수 = 열 계수가 성립한다.

3. 계수의 성질

행렬의 계수에 관한 주요 성질은 다음과 같다.

전치와 계수: \text{rank}(\mathbf{A}) = \text{rank}(\mathbf{A}^\top). 이는 행 계수와 열 계수의 동치성으로부터 직접 도출된다.

곱과 계수: \mathbf{A} \in \mathbb{R}^{m \times p}, \mathbf{B} \in \mathbb{R}^{p \times n}에 대하여,

\text{rank}(\mathbf{A}\mathbf{B}) \leq \min(\text{rank}(\mathbf{A}), \text{rank}(\mathbf{B}))

이는 \text{Col}(\mathbf{A}\mathbf{B}) \subseteq \text{Col}(\mathbf{A})이므로 \text{rank}(\mathbf{AB}) \leq \text{rank}(\mathbf{A})이고, \text{Row}(\mathbf{AB}) \subseteq \text{Row}(\mathbf{B})이므로 \text{rank}(\mathbf{AB}) \leq \text{rank}(\mathbf{B})인 것에서 도출된다.

실베스터 부등식(Sylvester’s Rank Inequality): \mathbf{A} \in \mathbb{R}^{m \times p}, \mathbf{B} \in \mathbb{R}^{p \times n}에 대하여,

\text{rank}(\mathbf{A}) + \text{rank}(\mathbf{B}) - p \leq \text{rank}(\mathbf{A}\mathbf{B})

합의 계수: \text{rank}(\mathbf{A} + \mathbf{B}) \leq \text{rank}(\mathbf{A}) + \text{rank}(\mathbf{B}). 이를 계수의 부등식 삼각 부등식이라 한다.

\mathbf{A}^\top\mathbf{A}의 계수: \text{rank}(\mathbf{A}^\top\mathbf{A}) = \text{rank}(\mathbf{A}\mathbf{A}^\top) = \text{rank}(\mathbf{A}). 이 결과는 \mathbf{A}\mathbf{x} = \mathbf{0}\mathbf{A}^\top\mathbf{A}\mathbf{x} = \mathbf{0}의 해 공간이 동일하다는 사실로부터 증명된다.

4. 계수-무효 정리(Rank-Nullity Theorem)

행렬 \mathbf{A} \in \mathbb{R}^{m \times n}에 대하여, 계수와 영 공간의 차원(무효, nullity) 사이에 다음 관계가 성립한다.

\text{rank}(\mathbf{A}) + \text{nullity}(\mathbf{A}) = n

여기서 \text{nullity}(\mathbf{A}) = \dim(\text{Null}(\mathbf{A}))이고, \text{Null}(\mathbf{A}) = \{\mathbf{x} \in \mathbb{R}^n \mid \mathbf{A}\mathbf{x} = \mathbf{0}\}\mathbf{A}의 영 공간이다.

이 정리는 선형 변환 T: \mathbb{R}^n \to \mathbb{R}^m에 대하여, 정의역의 차원이 상의 차원(계수)과 핵의 차원(무효)의 합과 같다는 것을 의미한다. 직관적으로, 정의역 \mathbb{R}^nn개 자유도 중 \text{rank}(\mathbf{A})개는 상에 기여하고, 나머지 \text{nullity}(\mathbf{A})개는 영 공간에서 소실된다.

5. 행렬의 네 가지 기본 부분 공간

\mathbf{A} \in \mathbb{R}^{m \times n}에 대하여 네 가지 기본 부분 공간(four fundamental subspaces)이 존재하며, r = \text{rank}(\mathbf{A})로 놓으면 그 차원은 다음과 같다.

부분 공간소속 공간차원
열 공간 \text{Col}(\mathbf{A})\mathbb{R}^mr
행 공간 \text{Row}(\mathbf{A})\mathbb{R}^nr
영 공간 \text{Null}(\mathbf{A})\mathbb{R}^nn - r
왼쪽 영 공간 \text{Null}(\mathbf{A}^\top)\mathbb{R}^mm - r

이 네 부분 공간 사이에는 직교 보공간(orthogonal complement) 관계가 성립한다.

\text{Row}(\mathbf{A}) \oplus \text{Null}(\mathbf{A}) = \mathbb{R}^n, \quad \text{Col}(\mathbf{A}) \oplus \text{Null}(\mathbf{A}^\top) = \mathbb{R}^m

여기서 \oplus는 직교 직합(orthogonal direct sum)이다. 행 공간과 영 공간은 \mathbb{R}^n에서 직교 보공간이고, 열 공간과 왼쪽 영 공간은 \mathbb{R}^m에서 직교 보공간이다.

6. 딥러닝에서의 계수와 저순위 구조

딥러닝에서 행렬의 계수 개념은 모델 압축과 효율적 학습에 직결된다.

저순위 근사(Low-Rank Approximation): 에크하르트-영 정리(Eckart-Young-Mirsky theorem)에 의하면, 행렬 \mathbf{A}에 대한 최적 순위 r 근사는 특이값 분해에서 상위 r개의 특이값만 유지한 것이다.

\mathbf{A}_r = \sum_{i=1}^{r} \sigma_i \mathbf{u}_i \mathbf{v}_i^\top

프로베니우스 노름에서의 근사 오차는 \|\mathbf{A} - \mathbf{A}_r\|_F = \sqrt{\sum_{i=r+1}^{\min(m,n)}\sigma_i^2}이다. 가중치 행렬이 낮은 유효 계수(effective rank)를 가질 때, 저순위 근사를 통해 mn 매개변수를 (m+n)r 매개변수로 압축할 수 있다.

LoRA(Low-Rank Adaptation): 대규모 언어 모델의 미세 조정에서, 사전 학습된 가중치 행렬 \mathbf{W}_0에 저순위 갱신 \Delta\mathbf{W} = \mathbf{B}\mathbf{A}를 더한다. \mathbf{B} \in \mathbb{R}^{d \times r}, \mathbf{A} \in \mathbb{R}^{r \times k}에서 r \ll \min(d, k)이므로, 학습 가능한 매개변수 수가 (d + k)r로 대폭 감소한다. 이는 미세 조정에 필요한 갱신이 실제로 저순위 구조를 가진다는 경험적 관찰에 기반한다.

특징 공간의 차원 분석: 신경망 계층의 출력이 이루는 공간의 유효 차원은 가중치 행렬의 계수에 의해 상한이 정해진다. 병목 계층(bottleneck layer)의 설계에서, 가중치 행렬의 계수를 의도적으로 제한하여 정보를 압축하는 구조가 오토인코더(autoencoder)의 핵심 원리이다. 인코더 \mathbf{W}_e \in \mathbb{R}^{d \times D}에서 d < D이면 \text{rank}(\mathbf{W}_e) \leq d이므로, 입력의 D차원 정보가 최대 d차원으로 압축된다.