27.2 스칼라(Scalar)의 정의와 체(Field) 구조의 기초
1. 스칼라의 정의
선형대수학에서 스칼라(scalar)란 벡터 공간의 기저가 되는 체(field)의 원소를 가리킨다. 직관적으로 스칼라는 크기(magnitude)만을 갖는 양이며, 방향 정보는 포함하지 않는다. 딥러닝에서 다루는 대부분의 계산은 실수체 \mathbb{R} 또는 복소수체 \mathbb{C} 위에서 정의되므로, 스칼라는 하나의 실수값 또는 복소수값에 해당한다.
수학적으로 스칼라를 엄밀하게 다루려면 체의 개념을 먼저 이해해야 한다. 스칼라 \alpha \in \mathbb{F}에서 \mathbb{F}는 체를 의미하며, 벡터 \mathbf{v}에 대한 스칼라 곱 \alpha \mathbf{v}는 벡터 공간의 공리 체계에서 핵심적인 연산이다.
2. 체(Field)의 공리적 정의
체 (\mathbb{F}, +, \cdot)는 집합 \mathbb{F}와 두 이항연산 덧셈(+), 곱셈(\cdot)으로 구성된 대수적 구조로서, 다음의 공리를 만족하여야 한다.
덧셈에 대한 공리:
- 결합법칙(associativity): 임의의 a, b, c \in \mathbb{F}에 대하여 (a + b) + c = a + (b + c)가 성립한다.
- 교환법칙(commutativity): 임의의 a, b \in \mathbb{F}에 대하여 a + b = b + a가 성립한다.
- 항등원(identity element): a + 0 = a를 만족하는 원소 0 \in \mathbb{F}가 존재한다.
- 역원(inverse element): 임의의 a \in \mathbb{F}에 대하여 a + (-a) = 0을 만족하는 -a \in \mathbb{F}가 존재한다.
곱셈에 대한 공리:
- 결합법칙: 임의의 a, b, c \in \mathbb{F}에 대하여 (a \cdot b) \cdot c = a \cdot (b \cdot c)가 성립한다.
- 교환법칙: 임의의 a, b \in \mathbb{F}에 대하여 a \cdot b = b \cdot a가 성립한다.
- 항등원: a \cdot 1 = a를 만족하는 원소 1 \in \mathbb{F}가 존재하며 1 \neq 0이다.
- 역원: 0이 아닌 임의의 a \in \mathbb{F}에 대하여 a \cdot a^{-1} = 1을 만족하는 a^{-1} \in \mathbb{F}가 존재한다.
분배법칙(distributive law):
임의의 a, b, c \in \mathbb{F}에 대하여 a \cdot (b + c) = a \cdot b + a \cdot c가 성립한다.
이러한 공리를 모두 만족하는 대표적인 체로는 유리수체 \mathbb{Q}, 실수체 \mathbb{R}, 복소수체 \mathbb{C}가 있다. 반면 정수 집합 \mathbb{Z}는 곱셈에 대한 역원이 일반적으로 존재하지 않으므로 체가 아니다.
3. 딥러닝에서 사용되는 스칼라 체계
딥러닝의 수치 연산은 주로 실수체 \mathbb{R} 위에서 수행된다. 구체적으로 컴퓨터에서 실수를 표현할 때에는 IEEE 754 부동소수점(floating-point) 표준을 따르며, 주로 사용되는 정밀도는 다음과 같다.
| 형식 | 비트 수 | 유효 자릿수 | 지수 범위 |
|---|---|---|---|
| FP64 (double) | 64 | 약 15–17자리 | \pm 10^{308} |
| FP32 (single) | 32 | 약 6–9자리 | \pm 10^{38} |
| FP16 (half) | 16 | 약 3–4자리 | \pm 10^{4.8} |
| BF16 (bfloat16) | 16 | 약 3자리 | \pm 10^{38} |
부동소수점 수는 엄밀한 의미에서 체의 공리를 완벽하게 만족하지 않는다. 덧셈의 결합법칙이 반올림 오차(rounding error)로 인하여 (a + b) + c \neq a + (b + c)인 경우가 발생할 수 있기 때문이다. 그러나 실용적 관점에서 이러한 오차는 충분히 작으므로, 딥러닝 프레임워크에서는 부동소수점 수를 실수의 근사로 취급한다.
4. 스칼라 연산의 기본 성질
스칼라의 기본 연산은 체의 구조에서 직접 도출된다. 두 스칼라 \alpha, \beta \in \mathbb{R}에 대하여 다음 연산이 정의된다.
\alpha + \beta \in \mathbb{R}, \quad \alpha \cdot \beta \in \mathbb{R}, \quad \alpha - \beta = \alpha + (-\beta) \in \mathbb{R}, \quad \frac{\alpha}{\beta} = \alpha \cdot \beta^{-1} \in \mathbb{R} \; (\beta \neq 0)
이 연산들은 벡터 공간에서의 스칼라 곱 및 선형 결합(linear combination)의 기초가 된다. 벡터 \mathbf{v}_1, \mathbf{v}_2, \ldots, \mathbf{v}_k에 대한 선형 결합은 스칼라 \alpha_1, \alpha_2, \ldots, \alpha_k를 사용하여 다음과 같이 표현된다.
\mathbf{w} = \alpha_1 \mathbf{v}_1 + \alpha_2 \mathbf{v}_2 + \cdots + \alpha_k \mathbf{v}_k = \sum_{i=1}^{k} \alpha_i \mathbf{v}_i
딥러닝에서 신경망의 가중치(weight) w, 편향(bias) b, 학습률(learning rate) \eta, 손실 함수(loss function)의 출력값 \mathcal{L} 등은 모두 스칼라이다. 경사 하강법(gradient descent)에서 매개변수 갱신 규칙인
w \leftarrow w - \eta \frac{\partial \mathcal{L}}{\partial w}
은 본질적으로 스칼라 연산의 조합으로 이루어진다.
5. 순서체와 절댓값
실수체 \mathbb{R}은 체의 공리에 더하여 전순서(total order) 관계 \leq를 갖추고 있으므로 순서체(ordered field)이다. 이 성질로부터 절댓값(absolute value) 함수가 정의된다.
|a| = \begin{cases} a & \text{if } a \geq 0 \\ -a & \text{if } a < 0 \end{cases}
절댓값은 다음의 성질을 만족한다.
- 비음성(non-negativity): |a| \geq 0이며, |a| = 0 \Leftrightarrow a = 0
- 곱셈 보존: |ab| = |a||b|
- 삼각 부등식(triangle inequality): |a + b| \leq |a| + |b|
이 성질들은 노름(norm)의 공리와 직접적으로 대응하며, 스칼라의 절댓값은 \mathbb{R} 위에서 정의된 1차원 노름으로 해석할 수 있다. 딥러닝에서 L^1 정규화(regularization)는 가중치의 절댓값 합을 최소화하는 기법으로, 스칼라 절댓값의 성질을 직접 활용한다.
6. 요약
스칼라는 체의 원소로서 벡터 공간의 구성 요소 가운데 가장 기본적인 대수적 객체이다. 체의 공리 체계는 사칙연산이 자유롭게 가능한 수 체계를 보장하며, 딥러닝에서 사용되는 모든 수치적 연산의 이론적 기반이 된다. 부동소수점 표현의 한계에도 불구하고, 실수체의 대수적 구조는 신경망의 학습과 추론 과정 전반에 걸쳐 핵심적인 역할을 수행한다.