27.19 행렬의 기본 연산: 덧셈, 스칼라 곱, 전치(Transpose)
1. 행렬의 덧셈
같은 크기의 두 행렬 A, B \in \mathbb{R}^{m \times n}의 덧셈은 대응하는 성분끼리 더하는 것으로 정의된다.
(A + B)_{ij} = a_{ij} + b_{ij}, \quad 1 \leq i \leq m, \; 1 \leq j \leq n
크기가 다른 두 행렬의 덧셈은 정의되지 않는다.
행렬 덧셈은 다음 성질을 만족한다. 임의의 A, B, C \in \mathbb{R}^{m \times n}에 대하여,
- 결합법칙: (A + B) + C = A + (B + C)
- 교환법칙: A + B = B + A
- 항등원: A + O = A (영행렬 O)
- 역원: A + (-A) = O ((-A)_{ij} = -a_{ij})
이 네 성질에 의하여 (\mathbb{R}^{m \times n}, +)는 아벨 군을 이룬다. 행렬의 뺄셈은 A - B = A + (-B)로 정의되며, (A - B)_{ij} = a_{ij} - b_{ij}이다.
2. 스칼라 곱
스칼라 \alpha \in \mathbb{R}와 행렬 A \in \mathbb{R}^{m \times n}의 스칼라 곱(scalar multiplication)은 모든 성분에 \alpha를 곱하는 것이다.
(\alpha A)_{ij} = \alpha \cdot a_{ij}
스칼라 곱은 다음 성질을 만족한다. 임의의 \alpha, \beta \in \mathbb{R}와 A, B \in \mathbb{R}^{m \times n}에 대하여,
- \alpha(\beta A) = (\alpha\beta)A
- 1 \cdot A = A
- \alpha(A + B) = \alpha A + \alpha B
- (\alpha + \beta)A = \alpha A + \beta A
행렬 덧셈과 스칼라 곱을 합하면, \mathbb{R}^{m \times n}은 \mathbb{R} 위의 벡터 공간이 된다. 이 벡터 공간의 차원은 mn이며, 표준 기저는 정확히 하나의 성분만 1이고 나머지가 모두 0인 mn개의 행렬로 구성된다.
3. 전치
행렬 A \in \mathbb{R}^{m \times n}의 전치(transpose) A^\top \in \mathbb{R}^{n \times m}은 행과 열을 교환하여 얻는다.
(A^\top)_{ij} = a_{ji}
예를 들어 A = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{pmatrix}이면 A^\top = \begin{pmatrix} 1 & 4 \\ 2 & 5 \\ 3 & 6 \end{pmatrix}이다.
전치의 주요 성질은 다음과 같다.
- (A^\top)^\top = A (이중 전치)
- (A + B)^\top = A^\top + B^\top
- (\alpha A)^\top = \alpha A^\top
- (AB)^\top = B^\top A^\top (곱의 전치는 순서 역전)
- A가 가역이면 (A^{-1})^\top = (A^\top)^{-1}
성질 4는 특히 중요하다. 두 행렬의 곱을 전치하면 각 행렬을 전치한 후 역순으로 곱해야 한다. 이 성질은 세 개 이상의 행렬에 대해서도 (ABC)^\top = C^\top B^\top A^\top으로 일반화된다.
4. 대칭 행렬과 반대칭 행렬
정사각 행렬 A \in \mathbb{R}^{n \times n}이 A^\top = A를 만족하면 대칭 행렬(symmetric matrix)이라 하고, A^\top = -A를 만족하면 반대칭 행렬(skew-symmetric matrix) 또는 교대 행렬이라 한다.
임의의 정사각 행렬은 대칭 부분과 반대칭 부분으로 유일하게 분해된다.
A = \frac{A + A^\top}{2} + \frac{A - A^\top}{2} = S + K
여기서 S = \frac{1}{2}(A + A^\top)는 대칭이고 K = \frac{1}{2}(A - A^\top)는 반대칭이다. S^\top = S와 K^\top = -K는 직접 확인할 수 있다.
대칭 행렬의 중요한 성질은 실수 고유값만을 가지며, 서로 다른 고유값에 대응하는 고유벡터는 직교한다는 것이다. 이는 스펙트럼 정리(spectral theorem)의 핵심 내용이다.
5. 행렬의 대각합(Trace)
정사각 행렬 A \in \mathbb{R}^{n \times n}의 대각합(trace)은 대각 성분의 합으로 정의된다.
\text{tr}(A) = \sum_{i=1}^{n} a_{ii}
대각합의 주요 성질은 다음과 같다.
- \text{tr}(A + B) = \text{tr}(A) + \text{tr}(B)
- \text{tr}(\alpha A) = \alpha \text{tr}(A)
- \text{tr}(A^\top) = \text{tr}(A)
- \text{tr}(AB) = \text{tr}(BA) (순환 성질, A \in \mathbb{R}^{m \times n}, B \in \mathbb{R}^{n \times m})
- \text{tr}(ABC) = \text{tr}(BCA) = \text{tr}(CAB)
성질 4는 크기가 다른 행렬에 대해서도 성립한다는 점에 유의하여야 한다. 이 순환 성질은 딥러닝의 손실 함수와 경사도 계산에서 빈번하게 활용된다.
내적과 대각합의 관계로서, 두 벡터의 내적은 \mathbf{u}^\top\mathbf{v} = \text{tr}(\mathbf{u}\mathbf{v}^\top) = \text{tr}(\mathbf{v}^\top\mathbf{u})로 표현된다. 또한 프로베니우스 내적(Frobenius inner product)은 \langle A, B \rangle_F = \text{tr}(A^\top B) = \sum_{i,j} a_{ij}b_{ij}로 정의된다.
6. 딥러닝에서의 행렬 기본 연산
잔차 연결(residual connection): ResNet의 핵심 구조인 잔차 연결은 행렬(또는 텐서) 수준에서 덧셈으로 구현된다. 층의 입력 X와 출력 F(X)를 더하여 Y = X + F(X)를 계산한다. 이 행렬 덧셈은 경사도가 항등 사상(identity mapping)을 통하여 직접 전파되는 경로를 제공하여, 매우 깊은 신경망의 학습을 가능하게 한다.
학습률에 의한 스칼라 곱: 경사 하강법에서 가중치 행렬의 갱신은 W \leftarrow W - \eta \nabla_W\mathcal{L}로서, 경사도 행렬에 학습률 스칼라를 곱한 후 현재 가중치에서 빼는 연산이다. 이는 행렬의 스칼라 곱과 뺄셈이 결합된 것이다.
전치와 역전파: 역전파(backpropagation)에서 완전 연결층의 가중치 경사도는 \nabla_W\mathcal{L} = \boldsymbol{\delta}\mathbf{x}^\top이고, 입력 경사도는 \nabla_\mathbf{x}\mathcal{L} = W^\top\boldsymbol{\delta}이다. 여기서 W^\top의 등장은 전치의 성질 (AB)^\top = B^\top A^\top에서 직접 도출된다. 순전파에서 W를 사용하였다면 역전파에서는 W^\top이 사용된다는 대응 관계는 행렬 전치의 가장 실용적인 응용이다.
대각합과 손실 함수: 프로베니우스 노름의 제곱은 \|A\|_F^2 = \text{tr}(A^\top A)으로 대각합으로 표현된다. 행렬 분해(factorization) 기반의 추천 시스템에서 손실 함수 \mathcal{L} = \|R - UV^\top\|_F^2 = \text{tr}((R - UV^\top)^\top(R - UV^\top))의 경사도 계산에 대각합의 순환 성질이 반복적으로 활용된다.
브로드캐스팅과 행렬 연산: 딥러닝 프레임워크에서 편향 벡터 \mathbf{b} \in \mathbb{R}^m를 배치 차원에 걸쳐 더하는 연산 Z = XW^\top + \mathbf{1}_N\mathbf{b}^\top은 브로드캐스팅을 통하여 자동으로 처리된다. 수학적으로는 \mathbf{1}_N\mathbf{b}^\top \in \mathbb{R}^{N \times m}이라는 외적(outer product) 행렬의 덧셈에 해당한다.