27.3 벡터(Vector)의 대수적 정의와 기하학적 해석
1. 벡터의 대수적 정의
벡터(vector)는 체 \mathbb{F} 위의 벡터 공간(vector space)의 원소이다. 딥러닝에서는 대부분 실수체 \mathbb{R} 위에서 작업하므로, n차원 실수 벡터는 n개의 실수를 순서대로 나열한 순서쌍(ordered tuple)으로 정의된다.
\mathbf{v} = \begin{pmatrix} v_1 \\ v_2 \\ \vdots \\ v_n \end{pmatrix} \in \mathbb{R}^n
여기서 v_i \in \mathbb{R}는 벡터 \mathbf{v}의 i번째 성분(component)이다. \mathbb{R}^n은 n차원 실수 벡터 공간을 나타내며, 이 공간의 원소는 n개의 실수로 구성된 열벡터(column vector)이다. 행벡터(row vector)는 열벡터의 전치(transpose)로서 \mathbf{v}^\top = (v_1, v_2, \ldots, v_n)으로 표기한다.
2. 벡터 공간의 공리
벡터 공간 (V, \mathbb{F}, +, \cdot)은 집합 V, 체 \mathbb{F}, 벡터 덧셈 +: V \times V \to V, 스칼라 곱 \cdot: \mathbb{F} \times V \to V로 구성되며, 다음 공리를 만족하여야 한다.
벡터 덧셈에 관한 공리: 임의의 \mathbf{u}, \mathbf{v}, \mathbf{w} \in V에 대하여
- (\mathbf{u} + \mathbf{v}) + \mathbf{w} = \mathbf{u} + (\mathbf{v} + \mathbf{w}) (결합법칙)
- \mathbf{u} + \mathbf{v} = \mathbf{v} + \mathbf{u} (교환법칙)
- \mathbf{u} + \mathbf{0} = \mathbf{u}를 만족하는 영벡터 \mathbf{0} \in V가 존재한다.
- \mathbf{u} + (-\mathbf{u}) = \mathbf{0}을 만족하는 -\mathbf{u} \in V가 존재한다.
스칼라 곱에 관한 공리: 임의의 \alpha, \beta \in \mathbb{F}와 \mathbf{u}, \mathbf{v} \in V에 대하여
- \alpha(\beta \mathbf{u}) = (\alpha \beta) \mathbf{u} (결합법칙)
- 1 \cdot \mathbf{u} = \mathbf{u} (항등원)
- \alpha(\mathbf{u} + \mathbf{v}) = \alpha \mathbf{u} + \alpha \mathbf{v} (분배법칙 1)
- (\alpha + \beta)\mathbf{u} = \alpha \mathbf{u} + \beta \mathbf{u} (분배법칙 2)
이 여덟 가지 공리를 만족하는 대수적 구조가 벡터 공간이며, 그 원소가 벡터이다.
3. 기하학적 해석
\mathbb{R}^n의 벡터는 기하학적으로 두 가지 방식으로 해석할 수 있다.
위치 벡터(position vector): 원점 O에서 점 P = (v_1, v_2, \ldots, v_n)까지의 유향 선분(directed line segment)으로 해석한다. 이 관점에서 벡터는 n차원 공간의 한 점을 지정한다.
자유 벡터(free vector): 크기(magnitude)와 방향(direction)만을 갖는 양으로 해석한다. 시점(starting point)에 무관하게 동일한 크기와 방향을 가지면 같은 벡터로 간주한다.
벡터 \mathbf{v} \in \mathbb{R}^n의 크기는 유클리드 노름(Euclidean norm)으로 측정된다.
\|\mathbf{v}\| = \sqrt{v_1^2 + v_2^2 + \cdots + v_n^2} = \sqrt{\sum_{i=1}^{n} v_i^2}
크기가 1인 벡터를 단위 벡터(unit vector)라 하며, 영벡터가 아닌 임의의 벡터 \mathbf{v}로부터 단위 벡터를 구하는 과정을 정규화(normalization)라 한다.
\hat{\mathbf{v}} = \frac{\mathbf{v}}{\|\mathbf{v}\|}
4. 벡터의 기본 연산
두 벡터 \mathbf{u}, \mathbf{v} \in \mathbb{R}^n에 대하여 덧셈과 스칼라 곱은 성분별(component-wise)로 정의된다.
\mathbf{u} + \mathbf{v} = \begin{pmatrix} u_1 + v_1 \\ u_2 + v_2 \\ \vdots \\ u_n + v_n \end{pmatrix}, \quad \alpha \mathbf{u} = \begin{pmatrix} \alpha u_1 \\ \alpha u_2 \\ \vdots \\ \alpha u_n \end{pmatrix}
기하학적으로 벡터 덧셈은 평행사변형 법칙(parallelogram rule)에 따르며, 스칼라 곱 \alpha \mathbf{u}는 벡터 \mathbf{u}의 크기를 |\alpha|배 신축(scaling)하고, \alpha < 0이면 방향을 반전시킨다.
5. 딥러닝에서의 벡터 표현
딥러닝에서 벡터는 데이터와 매개변수의 기본 표현 단위이다. 입력 특성 벡터(feature vector) \mathbf{x} \in \mathbb{R}^d는 d개의 수치적 속성을 하나의 벡터로 조합한 것이다. 단일 뉴런(neuron)의 연산은 가중치 벡터 \mathbf{w} \in \mathbb{R}^d와 입력 벡터 \mathbf{x}의 내적(inner product)에 편향 b를 더한 아핀 변환(affine transformation)으로 표현된다.
z = \mathbf{w}^\top \mathbf{x} + b = \sum_{i=1}^{d} w_i x_i + b
자연어 처리에서 단어 임베딩(word embedding)은 각 단어를 고정 차원의 실수 벡터로 대응시키는 함수이며, 의미적으로 유사한 단어들이 벡터 공간에서 가까이 위치하도록 학습된다. 이러한 분포 가설(distributional hypothesis)은 벡터의 기하학적 성질을 직접 활용하는 대표적인 사례이다.
6. 표준 기저와 좌표 표현
\mathbb{R}^n의 표준 기저(standard basis)는 n개의 단위 벡터 \{\mathbf{e}_1, \mathbf{e}_2, \ldots, \mathbf{e}_n\}으로 구성된다. 여기서 \mathbf{e}_i는 i번째 성분만 1이고 나머지는 모두 0인 벡터이다.
\mathbf{e}_i = (\underbrace{0, \ldots, 0}_{i-1}, 1, \underbrace{0, \ldots, 0}_{n-i})^\top
임의의 벡터 \mathbf{v} \in \mathbb{R}^n은 표준 기저의 선형 결합(linear combination)으로 유일하게 표현된다.
\mathbf{v} = v_1 \mathbf{e}_1 + v_2 \mathbf{e}_2 + \cdots + v_n \mathbf{e}_n = \sum_{i=1}^{n} v_i \mathbf{e}_i
이 표현에서 각 성분 v_i는 표준 기저에 대한 좌표(coordinate)이다. 기저의 선택에 따라 동일한 벡터의 좌표 표현이 달라지므로, 기저와 좌표의 관계를 명확히 이해하는 것이 선형대수학 전반의 핵심이다.