28.3 0차 텐서(스칼라), 1차 텐서(벡터), 2차 텐서(행렬)의 구조적 비교
1. 차 텐서: 스칼라
0차 텐서(scalar)는 단일 수 a \in \mathbb{R}(또는 a \in \mathbb{C})로, 인덱스 없이 하나의 값만을 가진다. 형상은 빈 튜플 ()이며, 자유도는 1이다.
스칼라의 변환 특성은 좌표 변환에 대하여 불변(invariant)이라는 것이다. 기저를 바꾸더라도 스칼라의 값은 변하지 않는다. 이는 온도, 질량, 에너지와 같은 물리량이 관측자의 좌표계에 무관한 것과 동일한 원리이다.
대수적으로 스칼라는 체(field) \mathbb{R}의 원소이며, 덧셈과 곱셈에 대한 모든 체 공리를 만족한다. 특히 곱셈의 교환법칙 ab = ba가 성립하며, 이는 고차 텐서의 곱셈과 구별되는 중요한 성질이다.
딥러닝에서 스칼라는 손실 함수 값 \mathcal{L}, 학습률 \eta, 정규화 계수 \lambda, 온도 매개변수 \tau 등에 사용된다. 역전파의 최종 출발점은 손실 함수라는 스칼라이며, \frac{\partial \mathcal{L}}{\partial \mathcal{L}} = 1에서 시작하여 각 매개변수에 대한 기울기를 계산한다.
2. 차 텐서: 벡터
1차 텐서(vector) \mathbf{v} \in \mathbb{R}^n은 하나의 인덱스 i로 원소 v_i를 참조하는 1차원 배열이다. 형상은 (n,)이며, 자유도는 n이다.
벡터는 벡터 공간 V의 원소로서, 덧셈과 스칼라 곱이 정의된다.
(\mathbf{u} + \mathbf{v})_i = u_i + v_i, \quad (c\mathbf{v})_i = cv_i
기하학적으로 벡터는 방향과 크기를 가진 양이다. \mathbb{R}^n에서 벡터는 원점에서 점 (v_1, \ldots, v_n)으로의 화살표로 시각화할 수 있다.
벡터에 대하여 내적이 정의된다. \langle\mathbf{u}, \mathbf{v}\rangle = \sum_{i=1}^{n} u_i v_i = \mathbf{u}^\top\mathbf{v}이다. 이는 2차 텐서(행렬)와의 연결고리가 되며, 내적은 텐서 축약(contraction)의 가장 단순한 경우이다.
좌표 변환에서 벡터의 성분은 기저 변환에 따라 선형적으로 변환된다. 기저 변환 행렬이 \mathbf{P}이면, 벡터의 좌표는 \mathbf{v}' = \mathbf{P}^{-1}\mathbf{v}로 변환된다.
딥러닝에서 벡터는 단어 임베딩 \mathbf{e} \in \mathbb{R}^d, 편향 벡터 \mathbf{b} \in \mathbb{R}^m, 기울기 벡터 \nabla_{\boldsymbol{\theta}}\mathcal{L}, 은닉 상태 \mathbf{h} \in \mathbb{R}^h 등에 사용된다.
3. 차 텐서: 행렬
2차 텐서(matrix) \mathbf{A} \in \mathbb{R}^{m \times n}은 두 인덱스 (i, j)로 원소 a_{ij}를 참조하는 2차원 배열이다. 형상은 (m, n)이며, 자유도는 mn이다.
행렬은 두 벡터 공간 사이의 선형 사상(linear map) T: \mathbb{R}^n \to \mathbb{R}^m을 표현한다. 이는 행렬이 단순한 수의 배열이 아니라, 공간 사이의 관계를 인코딩하는 구조임을 의미한다.
행렬의 대수적 구조는 스칼라와 벡터보다 풍부하다. 행렬 곱셈이 정의되며, 이는 선형 사상의 합성에 대응한다. 곱셈의 결합법칙은 성립하나 교환법칙은 일반적으로 성립하지 않는다. 또한 영인자(zero divisor)가 존재할 수 있어, 행렬 대수는 정수환(integral domain)이 아니다.
좌표 변환에서 행렬의 원소는 두 기저의 변환에 따라 변환된다. 입력 공간의 기저 변환 \mathbf{P}와 출력 공간의 기저 변환 \mathbf{Q}에 대하여 \mathbf{A}' = \mathbf{Q}^{-1}\mathbf{A}\mathbf{P}이다.
4. 구조적 비교 요약
세 유형의 텐서를 여러 관점에서 비교하면 다음과 같다.
| 성질 | 스칼라 (0차) | 벡터 (1차) | 행렬 (2차) |
|---|---|---|---|
| 인덱스 수 | 0 | 1 | 2 |
| 자유도 | 1 | n | mn |
| 기본 연산 | +, \times | +, c\mathbf{v}, \langle\cdot,\cdot\rangle | +, c\mathbf{A}, \mathbf{AB} |
| 곱의 교환법칙 | 성립 | 해당 없음 | 비성립(일반) |
| 좌표 변환 | 불변 | 1개 기저 변환 | 2개 기저 변환 |
| 기하학적 의미 | 크기 | 방향과 크기 | 선형 사상 |
| 딥러닝 예시 | 손실, 학습률 | 임베딩, 기울기 | 가중치, 공분산 |
차수가 증가함에 따라 텐서가 인코딩하는 관계의 복잡성이 높아진다. 스칼라는 양(quantity)을, 벡터는 한 공간 내의 방향을, 행렬은 두 공간 사이의 사상을 표현한다. 3차 이상의 텐서는 세 개 이상의 공간 사이의 다중선형 관계를 표현할 수 있다.
5. 텐서 간의 곱셈 체계
차수별 텐서 간의 곱셈은 다양한 형태로 정의된다.
스칼라-벡터 곱: c\mathbf{v}. 결과는 1차 텐서이다. 차수: 0 + 1 = 1.
스칼라-행렬 곱: c\mathbf{A}. 결과는 2차 텐서이다. 차수: 0 + 2 = 2.
벡터 내적: \mathbf{u}^\top\mathbf{v} = \sum_i u_i v_i. 결과는 0차 텐서(스칼라)이다. 차수: 1 + 1 - 2 = 0.
벡터 외적: \mathbf{u}\mathbf{v}^\top에서 (\mathbf{u}\mathbf{v}^\top)_{ij} = u_i v_j. 결과는 2차 텐서이다. 차수: 1 + 1 = 2.
행렬-벡터 곱: \mathbf{A}\mathbf{v}. 결과는 1차 텐서이다. 차수: 2 + 1 - 2 = 1.
행렬 곱: \mathbf{A}\mathbf{B}에서 (\mathbf{AB})_{ij} = \sum_k a_{ik}b_{kj}. 결과는 2차 텐서이다. 차수: 2 + 2 - 2 = 2.
이 패턴을 일반화하면, 텐서곱은 차수를 더하고 축약(contraction)은 차수를 2씩 줄인다. p차 텐서와 q차 텐서를 c개의 인덱스에 대해 축약하면 결과는 (p + q - 2c)차 텐서이다.
6. 딥러닝에서의 실용적 함의
신경망의 순전파에서 각 계층의 연산은 위 곱셈 체계의 조합이다. 완전 연결 계층에서 \mathbf{h} = \sigma(\mathbf{W}\mathbf{x} + \mathbf{b})는 행렬-벡터 곱(2차 \times 1차 \to 1차), 벡터 덧셈(1차 + 1차 \to 1차), 원소별 비선형 함수(1차 \to 1차)의 조합이다. 배치 처리에서는 차수가 하나씩 증가하여, \mathbf{H} = \sigma(\mathbf{X}\mathbf{W}^\top + \mathbf{b})가 행렬-행렬 곱(2차 \times 2차 \to 2차)이 된다.
어텐션 메커니즘에서 \text{Attention}(\mathbf{Q}, \mathbf{K}, \mathbf{V}) = \text{softmax}(\mathbf{Q}\mathbf{K}^\top / \sqrt{d_k})\mathbf{V}는 행렬 곱셈의 연쇄이며, 다중 헤드 어텐션에서는 3차 텐서 간의 연산으로 확장된다. 이처럼 딥러닝 모델의 복잡한 연산은 0차, 1차, 2차 텐서 간의 기본 연산들의 체계적 조합으로 이해할 수 있다.