27.11 내적(Inner Product)의 공리적 정의와 유클리드 내적

1. 내적의 공리적 정의

실수 벡터 공간 V 위의 내적(inner product)은 함수 \langle \cdot, \cdot \rangle : V \times V \to \mathbb{R}로서, 임의의 \mathbf{u}, \mathbf{v}, \mathbf{w} \in V\alpha \in \mathbb{R}에 대하여 다음 네 가지 공리를 만족한다.

(IP1) 대칭성(symmetry):
\langle \mathbf{u}, \mathbf{v} \rangle = \langle \mathbf{v}, \mathbf{u} \rangle

(IP2) 제1변수에 대한 선형성(linearity in the first argument):
\langle \alpha\mathbf{u} + \mathbf{v}, \mathbf{w} \rangle = \alpha\langle \mathbf{u}, \mathbf{w} \rangle + \langle \mathbf{v}, \mathbf{w} \rangle

(IP3) 양의 정부호성(positive definiteness):
\langle \mathbf{v}, \mathbf{v} \rangle \geq 0

(IP4) 비퇴화 조건(non-degeneracy):
\langle \mathbf{v}, \mathbf{v} \rangle = 0 \iff \mathbf{v} = \mathbf{0}

공리 (IP1)과 (IP2)를 결합하면 제2변수에 대해서도 선형성이 성립한다. 즉 \langle \mathbf{u}, \alpha\mathbf{v} + \mathbf{w} \rangle = \alpha\langle \mathbf{u}, \mathbf{v} \rangle + \langle \mathbf{u}, \mathbf{w} \rangle이다. 이를 쌍선형성(bilinearity)이라 한다.

내적이 정의된 벡터 공간을 내적 공간(inner product space)이라 한다. 내적 공간에서는 길이(노름)와 각도의 개념이 자연스럽게 도출된다.

복소수 벡터 공간의 경우, 대칭성 공리가 켤레 대칭성(conjugate symmetry) \langle \mathbf{u}, \mathbf{v} \rangle = \overline{\langle \mathbf{v}, \mathbf{u} \rangle}으로 대체되며, 이를 에르미트 내적(Hermitian inner product)이라 한다.

2. 유클리드 내적

\mathbb{R}^n에서 가장 표준적인 내적은 유클리드 내적(Euclidean inner product) 또는 점곱(dot product)이다. 두 벡터 \mathbf{u} = (u_1, \ldots, u_n)^\top\mathbf{v} = (v_1, \ldots, v_n)^\top에 대하여

\langle \mathbf{u}, \mathbf{v} \rangle = \mathbf{u}^\top \mathbf{v} = \sum_{i=1}^{n} u_i v_i = u_1 v_1 + u_2 v_2 + \cdots + u_n v_n

로 정의된다. 유클리드 내적이 위의 네 공리를 만족함은 직접 검증할 수 있다.

유클리드 내적은 행렬 표현으로 \langle \mathbf{u}, \mathbf{v} \rangle = \mathbf{u}^\top I \mathbf{v}와 같이 단위 행렬 I를 통하여 표현된다. 보다 일반적으로, 양의 정부호 대칭 행렬(positive definite symmetric matrix) M을 이용하여 \langle \mathbf{u}, \mathbf{v} \rangle_M = \mathbf{u}^\top M \mathbf{v}로 정의하면 이 역시 내적이 된다. 이를 M-내적 또는 가중 내적(weighted inner product)이라 한다.

3. 내적으로부터 유도되는 노름

내적 공간에서 노름(norm)은 내적으로부터 자연스럽게 유도된다.

\|\mathbf{v}\| = \sqrt{\langle \mathbf{v}, \mathbf{v} \rangle}

유클리드 내적의 경우 이는 유클리드 노름(L^2 노름)이 된다.

\|\mathbf{v}\|_2 = \sqrt{\sum_{i=1}^n v_i^2}

이 노름으로 유도되는 거리 함수(metric) d(\mathbf{u}, \mathbf{v}) = \|\mathbf{u} - \mathbf{v}\|는 유클리드 거리이다.

내적과 노름 사이에는 극화 항등식(polarization identity)이 성립한다.

\langle \mathbf{u}, \mathbf{v} \rangle = \frac{1}{4}\left(\|\mathbf{u} + \mathbf{v}\|^2 - \|\mathbf{u} - \mathbf{v}\|^2\right)

이 항등식은 노름으로부터 내적을 복원할 수 있음을 보여준다. 단, 모든 노름이 내적으로부터 유도되는 것은 아니며, 평행사변형 법칙(parallelogram law) \|\mathbf{u} + \mathbf{v}\|^2 + \|\mathbf{u} - \mathbf{v}\|^2 = 2\|\mathbf{u}\|^2 + 2\|\mathbf{v}\|^2을 만족하는 노름만이 내적을 유도한다.

4. 코시-슈바르츠 부등식

내적 공간에서 가장 중요한 부등식은 코시-슈바르츠 부등식(Cauchy-Schwarz inequality)이다.

|\langle \mathbf{u}, \mathbf{v} \rangle| \leq \|\mathbf{u}\| \cdot \|\mathbf{v}\|

등호는 \mathbf{u}\mathbf{v}가 선형 종속일 때, 즉 하나가 다른 하나의 스칼라 배일 때에만 성립한다.

증명: \mathbf{v} = \mathbf{0}이면 양변이 모두 0이므로 자명하다. \mathbf{v} \neq \mathbf{0}일 때, 임의의 t \in \mathbb{R}에 대하여

0 \leq \|\mathbf{u} - t\mathbf{v}\|^2 = \|\mathbf{u}\|^2 - 2t\langle\mathbf{u},\mathbf{v}\rangle + t^2\|\mathbf{v}\|^2

이 부등식은 t에 대한 이차식이므로, 판별식 조건에 의하여 4\langle\mathbf{u},\mathbf{v}\rangle^2 - 4\|\mathbf{u}\|^2\|\mathbf{v}\|^2 \leq 0이 성립한다.

코시-슈바르츠 부등식으로부터 삼각 부등식이 도출된다.

\|\mathbf{u} + \mathbf{v}\| \leq \|\mathbf{u}\| + \|\mathbf{v}\|

5. 벡터 사이의 각도

코시-슈바르츠 부등식에 의하여 -1 \leq \frac{\langle\mathbf{u},\mathbf{v}\rangle}{\|\mathbf{u}\|\|\mathbf{v}\|} \leq 1이므로 (\mathbf{u}, \mathbf{v} \neq \mathbf{0}), 두 벡터 사이의 각도 \theta를 다음과 같이 정의할 수 있다.

\cos\theta = \frac{\langle \mathbf{u}, \mathbf{v} \rangle}{\|\mathbf{u}\| \cdot \|\mathbf{v}\|}, \quad \theta \in [0, \pi]

\theta = \pi/2이면 \langle\mathbf{u},\mathbf{v}\rangle = 0이 되며, 이때 두 벡터는 직교(orthogonal)한다고 한다. \theta = 0이면 같은 방향, \theta = \pi이면 반대 방향을 가리킨다.

6. 딥러닝에서의 내적 활용

딥러닝에서 내적은 유사도 측정과 선형 변환의 기본 연산이다.

코사인 유사도(cosine similarity): 두 벡터의 유사도를 각도의 코사인으로 측정한다.

\text{sim}(\mathbf{u}, \mathbf{v}) = \frac{\mathbf{u}^\top \mathbf{v}}{\|\mathbf{u}\| \cdot \|\mathbf{v}\|}

이 값은 [-1, 1] 범위를 가지며, 1에 가까울수록 유사하고 -1에 가까울수록 반대 방향이다. 문장 임베딩의 의미 유사도 비교, 추천 시스템의 항목 유사도 계산 등에 널리 사용된다.

어텐션 점수(attention score): 트랜스포머의 스케일드 닷-프로덕트 어텐션(scaled dot-product attention)에서, 질의(query)와 키(key) 벡터의 내적이 어텐션 점수를 결정한다.

\text{score}(\mathbf{q}, \mathbf{k}) = \frac{\mathbf{q}^\top \mathbf{k}}{\sqrt{d_k}}

\sqrt{d_k}로 나누는 스케일링은 차원이 커질 때 내적의 분산이 증가하는 현상을 보정하기 위함이다. d_k차원에서 각 성분이 평균 0, 분산 1인 독립 확률 변수이면 내적의 분산은 d_k이므로, \sqrt{d_k}로 나누면 분산이 1로 정규화된다.

뉴런의 활성화: 단일 뉴런의 선형 변환 z = \mathbf{w}^\top\mathbf{x} + b에서 \mathbf{w}^\top\mathbf{x}는 가중치 벡터와 입력 벡터의 내적이다. 이 내적 값이 클수록 입력이 가중치 벡터와 유사한 방향에 있음을 의미하며, 뉴런이 강하게 활성화된다. 따라서 각 뉴런은 입력 공간에서 특정 방향 패턴의 탐지기(detector)로 해석할 수 있다.

대조 학습(contrastive learning): SimCLR, CLIP 등의 대조 학습 프레임워크에서는 양성 쌍(positive pair)의 내적(또는 코사인 유사도)을 최대화하고 음성 쌍(negative pair)의 내적을 최소화하는 목적 함수를 사용한다. InfoNCE 손실은 다음과 같이 정의된다.

\mathcal{L} = -\log \frac{\exp(\text{sim}(\mathbf{z}_i, \mathbf{z}_j)/\tau)}{\sum_{k=1}^{2N} \mathbb{1}_{[k \neq i]} \exp(\text{sim}(\mathbf{z}_i, \mathbf{z}_k)/\tau)}

여기서 \tau는 온도(temperature) 매개변수이다. 이 전체 구조는 내적이 정의하는 유사도 체계 위에 구축된다.